보안 감시 중국 연구원, 새로운 숨겨진 트로이 안드로이드 공격보고

중국 연구원, 새로운 숨겨진 트로이 안드로이드 공격보고

비디오: [오픈인터뷰]'가상화 스토리지'(IP SAN)에 관한 5가지 궁금증 (십월 2024)

비디오: [오픈인터뷰]'가상화 스토리지'(IP SAN)에 관한 5가지 궁금증 (십월 2024)
Anonim

악성 코드를 추가하여 Android 앱을 트로이 목마로 만드는 것은 엄청나게 간단합니다. 광범위하게 사용 가능한 도구를 사용하면 누구나 APK 파일을 소스 코드로 분해하고 악성 모듈을 추가하며 몇 가지 권한을 조정하고 이전과 같은 새로운 트로이 목마 앱을 재구성 할 수 있습니다. 그러나이 chicanery를 감지하는 것은 앱의 디지털 서명을 확인하는 간단한 문제입니다. 지난주 BlueBox Security의 연구원들은 디지털 서명을 변경하지 않고 앱을 트로이 목마로 만드는 기술인 "마스터 키"취약점을보고했습니다. 이번 주 중국 연구원은 트로이 코드를 숨기는 또 다른 방법을보고합니다.

디지털 서명이 깨지지 않음

문서 나 파일을 디지털로 서명하는 요점은 파일이 수정되지 않았 음을 증명하는 것입니다. 이 프로세스는 일종의 공개 키 암호화를 사용합니다. 개인 키로 파일을 암호화하여 파일에 디지털 서명합니다. 공개 키를 사용하여 암호화 된 파일을 해독 할 수 있다는 사실은 변조가 발생하지 않았다는 증거입니다. BlueBox는 디지털 서명을 변경하지 않고 파일을 실제로 수정하는 방법을 찾았습니다. 이는 전체 암호화 산업에 엄청난 타격을 주었을 것입니다. 그러나 그들은하지 않았다.

BlueBox는 몇 주 안에 Black Hat 컨퍼런스에서 그들의 연구에 대한 자세한 내용을보고 할 것입니다. 그러나 ViaForensics 연구원 인 Pau Oliva Fora는 취해진 접근 방식을 보여주는 개념 증명 코드를 게시했습니다.

사실 매우 간단합니다. APK 파일은 널리 사용되는 ZIP 보관 알고리즘 버전을 사용하여 압축됩니다. 대부분의 ZIP 구현은 하나의 아카이브에서 두 개의 동일한 이름의 파일을 허용하지 않지만 알고리즘 자체는 그러한 가능성을 금지하지 않습니다. 앱의 디지털 서명을 확인할 때 Android OS는 첫 번째 일치하는 파일을 확인하지만 실제로 파일을 실행하고 시작할 때 마지막 파일을 가져옵니다. 앱을 트로이 제이션하려면 앱 내에 이미 존재하는 이름을 사용하여 악성 코드를 코드에 삽입하면됩니다. Fora의 데모는 수십 줄의 Java 코드입니다.

또 다른 구조 공격

안드로이드 시큐리티 스쿼드 (Android Security Squad)라는 한 중국 연구원 블로그는 시연이 흥미롭고 검증 과정을 방해 할 수있는 다른 방법을 찾기 시작했다. 구글 번역 게시물을 읽는 것은 약간 어렵지만, 공격은 Computer Science 101 수준의 개념에 의존하는 것으로 보입니다.

컴퓨터 프로그램은 카운팅 숫자를 고정 된 크기의 비트 모음에 저장합니다. 예를 들어, 8 비트를 사용하면 0에서 255까지의 숫자를 나타낼 수 있습니다. 음수를 나타내야하는 경우 가장 오래된 규칙은 가장 왼쪽의 비트가 음수를 나타내는 것입니다. 8 비트를 사용하면 -128에서 127 사이의 숫자를 나타낼 수도 있습니다. 이진수 11111111은 부호없는 숫자인지 부호있는 숫자인지에 따라 255 또는 -1을 나타냅니다.

Android Security Squad는 APK 파일 헤더 형식을 살펴보고 양의 오프셋으로 가정하지만 부호있는 정수로 저장된 데이터 필드를 찾았습니다. 이 필드를 특정 음수 값으로 설정하면 APK 로더가 이미 확인 된 디지털 서명 코드가 아닌 악성 코드를 실행합니다. 좋습니다. 조금 더 복잡하지만, 그것이 작동하는 방식과 비슷합니다.

구글 플레이와 함께 스틱

이러한 핵 중 어느 것도 실제로 안드로이드 디지털 서명 메커니즘을 파괴하지 않습니다. 오히려 둘 다 APK 구조의 단점을 이용하여 디지털 서명을 무의미하게 만듭니다. 또한 이들 중 어느 것도 트로이 목마 앱이 Google의 분석을 몰래 빠져 나갈 수 없게합니다. Google은 "마스터 키"공격을 사용하여 트로이 목마 앱을 필터링하도록 Google Play를 특별히 업데이트했습니다. 이 단계가 없어도 표준 보안은 두 유형의 트로이 목마 앱을 거의 확실하게 차단합니다.

교훈은 분명하다. 항상 합법적 인 소스에서 앱을 가져오고 항상 개발자 이름이 유효한지 확인하고 "알 수없는 소스"에서 앱을 설치할 수 없도록 휴대폰을 구성하십시오. 앱이 요청하는 권한에주의를 기울이고 의심스러운 설치를 중단 할 준비를하십시오. 네트워크 사업자가 Android 업데이트를 제공하는 경우 항상 설치하십시오. 그냥 상식입니다!

중국 연구원, 새로운 숨겨진 트로이 안드로이드 공격보고