Mariana Trench, Facebook의 오픈 소스 정적 코드 분석기

페이스 북 공개 며칠 전에 그는 석방 오픈 소스 정적 분석기 Mariana Trench, Android 애플리케이션 및 Java 프로그램의 취약점을 식별하기 위한 것입니다.

에서 소스코드 없이 프로젝트를 분석할 수 있는 기능 제공, Dalvik 가상 머신의 바이트코드만 사용할 수 있습니다. 또 다른 장점은 매우 빠른 실행 속도(수백만 줄의 코드 분석에 약 10초 소요)로, Mariana Trench를 사용하여 제안된 모든 변경 사항이 도입될 때 이를 확인할 수 있습니다.

분석기 코드 검토 프로세스를 자동화하는 프로젝트의 일부로 개발되었습니다. 모바일 애플리케이션 소스 페이스북, 인스타그램, 왓츠앱.

Android 및 Java 애플리케이션에서 보안 및 개인 정보 오류를 감지하고 방지하는 데 사용하는 도구인 Mariana Trench(MT)에 대한 세부 정보를 공유합니다. 빌딩 자동화를 통해 보안을 확장하려는 노력의 일환으로 최근 Facebook 및 업계 전반의 보안 엔지니어를 지원하기 위해 MT를 개설했습니다.

이 게시물은 우리가 신뢰하는 정적 및 동적 분석 도구에 대한 심층 분석 시리즈 중 세 번째입니다. MT는 각각 Hack 및 Python 코드용으로 구축된 Zoncolan 및 Pysa에 이어 최신 시스템입니다.

2021년 상반기에 Facebook 모바일 애플리케이션의 모든 취약점 중 절반이 자동화된 분석 도구를 사용하여 식별되었습니다. Mariana Trench의 코드는 다른 Facebook 프로젝트와 밀접하게 얽혀 있습니다. 예를 들어 Redex 바이트코드 최적화 작업은 바이트코드를 분석하는 데 사용되며 SPARTA 라이브러리는 결과의 시각적 해석 및 연구에 사용됩니다.정적 분석.

데이터 흐름을 분석하여 잠재적인 취약점 및 보안 문제 식별 응용 프로그램을 실행하는 동안 상황을 식별할 수 있게 해주는 원시 외부 데이터가 SQL 쿼리, 파일 작업 및 외부 프로그램 실행으로 이어지는 호출과 같은 위험한 구조로 처리됩니다.

MT는 대규모 모바일 코드 기반을 스캔하고 풀 리퀘스트가 프로덕션에 들어가기 전에 잠재적인 문제를 정확히 찾아낼 수 있도록 설계되었습니다. Facebook의 보안과 소프트웨어 엔지니어 간의 긴밀한 협력의 결과로 만들어졌습니다. 소프트웨어 엔지니어는 MT가 코드를 보고 코드를 통해 데이터가 흐르는 방식을 분석하도록 교육합니다. 데이터 흐름을 분석하는 것은 많은 보안 및 개인 정보 보호 문제가 그렇지 않은 곳에서 데이터 흐름으로 모델링될 수 있기 때문에 유용합니다.

분석기의 작업은 데이터 소스 및 위험한 호출을 확인하는 것으로 축소됩니다. 원본 데이터를 사용하지 않아야 하는 경우: 파서는 함수 호출 체인을 통해 데이터 전달을 모니터링하고 초기 데이터를 코드의 잠재적으로 위험한 위치에 연결합니다.

MT에서 데이터 흐름은 다음과 같이 설명될 수 있습니다.

  • 출처: 원점. 이것은 'Intent.getData'를 통해 애플리케이션에 진입하는 사용자가 제어하는 ​​문자열일 수 있습니다.
  • 싱크: 목적지. Android에서는 `Log.w` 또는 `Runtime.exec`를 호출할 수 있습니다. 예를 들어 Intent.getData에 대한 호출의 데이터는 모니터링할 소스로 간주되고 Log.w 및 Runtime.exec에 대한 호출은 위험한 사용으로 간주됩니다.

대규모 코드 베이스에는 다양한 유형의 소스와 해당 수신기가 포함될 수 있습니다. 규칙을 정의하여 특정 흐름을 보여주도록 MT에 지시할 수 있습니다.

예를 들어, 규칙은 "사용자 제어" 소스에서 "의도 리디렉션 싱크"까지의 모든 추적을 표시하는 규칙을 정의하여 의도 리디렉션(공격자가 민감한 데이터를 가로챌 수 있는 문제)을 찾도록 지정할 수 있습니다.

최종적으로 그것에 대해 더 많이 알고 싶다면, 당신은 확인할 수 있습니다 다음 링크의 세부 정보.


코멘트를 남겨주세요

귀하의 이메일 주소는 공개되지 않습니다. 필수 필드가 표시되어 있습니다 *

*

*

  1. 데이터 책임자 : Miguel Ángel Gatón
  2. 데이터의 목적 : 스팸 제어, 댓글 관리.
  3. 합법성 : 귀하의 동의
  4. 데이터 전달 : 법적 의무에 의한 경우를 제외하고 데이터는 제 XNUMX 자에게 전달되지 않습니다.
  5. 데이터 저장소 : Occentus Networks (EU)에서 호스팅하는 데이터베이스
  6. 권리 : 귀하는 언제든지 귀하의 정보를 제한, 복구 및 삭제할 수 있습니다.