2024-03-28 23:20 (목)
페이스북, 서버에 원격코드 실행 취약점 패치...버그바운티로 5천달러 지급
상태바
페이스북, 서버에 원격코드 실행 취약점 패치...버그바운티로 5천달러 지급
  • 길민권 기자
  • 승인 2018.08.30 13:32
이 기사를 공유합니다

face-3.jpg
페이스북 서버에서 원격코드 실행 취약점이 발견되었고 페이스북 측은 이를 빠르게 수정했다.

SCRT 정보보안업체 연구원인 다니엘레갈(Daniel ‘Blaklis’ LeeGall)은 페이스북에 취약점을 알려주고 5천달러의 보상금을 확보했다.

보안권고문에 따르면, 취약점은 페이스북의 서버 중 하나에서 발견되었다고 한다. Blaklis는 페이스북과 연결된 IP범위를 스캔하는 동안 Django 프레임워크로 파이썬으로 작성된 불안정한 Sentry서비스를 발견했다.

그는 “이 응용프로그램은 사용자 암호 재설정 기능과 관련해 종종 크래쉬가 나는 불안정한 부분이 있는 것으로 보였다. Django 디버그 모드가 꺼지지 않아 스택 트레이스가 발생할 때 전체 환경을 출력한다. 그러나 Django는 패스워드, 비밀 키등 중요정보는 잘라내므로 막대한 정보 유출은 피할 수 있다”고 설명했다.

더 자세히 살펴본 결과 Blaklis는 Pickle이라는 세션 쿠키 이름, 옵션 및 시리얼라이저(serializer)을 사용할 수 있음을 알게 되었다. Pickle은 파이썬 객체 구조를 직렬화 해제하는데 사용되는 바이너리 프로토콜이다. 이 시스템은 JSON 또는 YMAL과 달리 클래스와 메소드를 직렬화 해제할 수 있다. Django에서 사용되는 비밀키는 스택트레이스에서 사용할 수 없다.

하지만 Sentry 옵션 리스트에는 잘리지 않은 키가 보함되어 있다. Sentry에 따르면 이 키는 “세션 서명 [..]에 사용되며 이 키가 손상되면 사용자의 세션이 도용되기 쉬우므로 세션을 다시 생성하는 것이 중요하다”며 "이러한 정보들을 이용해 연구원은 Sentry 쿠키를 덮어 쓸 페이로드가 포함된 임의의 Pickle 콘텐츠로 악성쿠키를 위조하는 스크립트를 만들 수 있었다. 쿠키는 임의의 객체로 덮어 씌어졌다. 보안 취약점을 테스트하기 위해 그는 실제 피해가 발생하기보다 30초의 시간 지연을 주고 구현했다. 이 시도는 성공했다"고 설명했다.

위협행위자는 이 보안 허점을 이용해 시스템을 원격에서 도용, 피해를 입히고 서버 데이터를 탈취할 수 있었다. 그러나 Blaklis는 사용자 데이터가 서버에 없었거나 버그 때문에 노출되지 않았다고 강조했다.

그는 연구 결과를 7월 30일 페이스북에 보고 했다. 페이스북은 보안 허점에 대해 신속하게 인정하고 8월 9일 패치가 구현될 때까지 서버를 일시적으로 중지했다. Blaklis는 연구 결과로 5천달러를 받았다.

★정보보안 대표 미디어 데일리시큐!★


■ 보안 사건사고 제보 하기

▷ 이메일 : mkgil@dailysecu.com

▷ 제보 내용 : 보안 관련 어떤 내용이든 제보를 기다립니다!

▷ 광고문의 : jywoo@dailysecu.com

★정보보안 대표 미디어 데일리시큐 / Dailysecu, Korea's leading security media!★