차례:
Android 애플리케이션 시장은 사용자가 앱을 얻는 편리한 방법입니다. 시장은 또한 악의적 인 사람들이 악성 코드를 전달할 수있는 편리한 방법입니다. 마켓 플레이스 소유자는 자신의 신용도에 따라 Google Bouncer와 같은 보안 조치를 사용하여 잘못된 앱을 찾아 내려고합니다. 안타깝게도, 경비원을 포함한 대부분은 임무에 달려 있지 않습니다. 나쁜 녀석들은 에뮬레이션 환경 인 Bouncer가 코드를 테스트 할 때 알 수있는 방법을 거의 즉시 알아 냈습니다. 이전 인터뷰에서 Duo Security의 공동 설립자이자 Google에 문제를 알리는 사람인 Jon Oberheide는 다음과 같이 설명했습니다.
"Bouncer를 효과적으로 사용하려면 실제 사용자의 모바일 장치와 구별 할 수 없어야합니다. 그렇지 않으면 악성 응용 프로그램이 Bouncer와 함께 실행되고 악성 페이로드를 실행하지 않는지 확인할 수 있습니다."
Bouncer를 속이는 나쁜 사람은 논리 폭탄을 사용하는 것입니다. 그들의 역사를 통틀어 논리 폭탄은 컴퓨팅 장치에 혼란을 안겨주었습니다. 이 경우, 악성 폭탄 앱이 실제 모바일 장치에 설치 될 때까지 경비원이 페이로드를 활성화하지 못하는 것처럼 논리 폭탄 코드는 악성 코드 검사기를 조용히 막습니다.
결론은 안드로이드 앱 시장이 앱에서 멀웨어 페이로드를 효율적으로 감지하지 않는 한 실제로 멀웨어의 주요 배포 시스템이라는 것입니다.
오래된 접근법에 대한 새로운 트위스트
Tsung-Hsuan Ho, Daniel Dean, Xiaohui Gu 및 William Enck의 North Carolina State University 연구팀이 해결책을 찾았을 수 있습니다. 연구팀은 PREC : Android 장치 용 실용 루트 익스플로잇 격리 (Prec : Practical Root Exploit Containment for Android Devices)에서 비정상적인 탐지 체계 버전을 소개했습니다. PREC는 두 가지 구성 요소로 구성됩니다. 하나는 앱 스토어의 악성 코드 탐지기와 함께 작동하고 다른 하나는 애플리케이션과 함께 모바일 장치로 다운로드됩니다.
앱 스토어 구성 요소는 연구원들이 "분류 된 시스템 호출 모니터링"이라고 부르는 것을 사용한다는 점에서 독특합니다. 이 방법은 타사 라이브러리 (Android 시스템에는 포함되어 있지 않지만 다운로드 한 응용 프로그램과 함께 제공됨)와 같은 고위험 구성 요소의 시스템 호출을 동적으로 식별 할 수 있습니다. 여기서의 논리는 많은 악성 앱이 자체 라이브러리를 사용한다는 것입니다.
이 모니터링에서 얻은 고위험 타사 코드의 시스템 호출과 앱 스토어 감지 프로세스에서 얻은 데이터를 통해 PREC는 정상적인 행동 모델을 만들 수 있습니다. 모방 공격에 대한 정확성, 오버 헤드 및 견고성을 위해 기존 모델과 비교하여 모델이 PREC 서비스에 업로드됩니다.
그런 다음 업데이트 된 모델은 앱 스토어를 방문하는 누군가가 앱을 요청할 때마다 애플리케이션과 함께 다운로드 할 수 있습니다.
이는 모니터링 단계로 간주됩니다. PREC 모델 및 애플리케이션이 Android 디바이스로 다운로드되면 PREC가 시행 단계 (즉, 이상 감지 및 맬웨어 포함)로 들어갑니다.
이상 감지
앱과 PREC 모델이 Android 장치에 포함되면 PREC는 타사 코드, 특히 시스템 호출을 모니터링합니다. 시스템 호출 시퀀스가 앱 스토어에서 모니터링되는 시퀀스와 다른 경우 PREC는 비정상적인 동작이 악용 가능성을 결정합니다. PREC가 활동이 악의적 인 것으로 판단하면 맬웨어 격리 모드로 이동합니다.멀웨어 억제
올바르게 이해하면 맬웨어 방지 기능이 Android 맬웨어 방지와 관련하여 PREC를 고유하게 만듭니다. Android 운영 체제의 특성상 Android 맬웨어 방지 응용 프로그램은 모든 응용 프로그램이 샌드 박스에 있기 때문에 맬웨어를 제거하거나 격리에 넣을 수 없습니다. 즉, 사용자는 먼저 장치 시스템 관리자의 응용 프로그램 섹션에서 맬웨어를 찾은 다음 맬웨어 앱의 통계 페이지를 열고 "제거"를 눌러 악성 앱을 수동으로 제거해야합니다.
PREC를 독특하게 만드는 것은 연구원들이 "지연 기반의 정밀한 격리 메커니즘"이라고 부르는 것입니다. 일반적인 아이디어는 별도의 스레드 풀을 사용하여 의심스러운 시스템 호출을 느리게하는 것입니다. 이로 인해 악용 시간이 초과되어 "응용 프로그램이 응답하지 않음"상태가되며, 결국 Android 운영 체제에 의해 앱이 종료됩니다.
시스템 호출 스레드를 종료하도록 PREC를 프로그래밍 할 수 있지만 예외 검출기가 실수하면 정상적인 응용 프로그램 작동을 중단 할 수 있습니다. 연구원들은 위험을 감수하는 대신 스레드 실행 중에 지연을 삽입합니다.
"우리의 실험에 따르면 악의적 인 원시 스레드를 특정 지점으로 느리게 한 후에 대부분의 루트 악용이 효과가 없음을 알 수 있습니다. 지연 기반 접근 방식은 양성 응용 프로그램이 일시적인 거짓으로 인한 충돌 또는 종료로 고통받지 않기 때문에 잘못된 경보를보다 우아하게 처리 할 수 있습니다 "알람"이라고 종이에 설명되어 있습니다.
시험 결과
PREC를 평가하기 위해 연구원들은 프로토 타입을 제작하여 140 개의 앱 (기본 코드가있는 80, 기본 코드가없는 60)과 10 개의 앱 (Malware Genome 프로젝트에서 알려진 4 개의 루트 익스플로잇 애플리케이션 및 6 개의 재 패키징 된 루트 익스플로잇 애플리케이션)에 대해 프로토 타입을 빌드하고 테스트했습니다. 악성 코드가 포함되어 있습니다. 이 악성 코드에는 DroidDream, DroidKungFu, GingerMaster, RATC, ZimperLich 및 GingerBreak 버전이 포함되었습니다.
결과 :
- PREC는 테스트 된 모든 루트 익스플로잇을 성공적으로 탐지하고 중지했습니다.
- 네이티브 코드없이 양성 응용 프로그램에서 잘못된 경보를 발생시키지 않았습니다. (전통적인 계획은 응용 프로그램 당 67-92 % 잘못된 경보를 발생시킵니다.)
- PREC는 기존의 이상 탐지 알고리즘보다 원시 코드가있는 양성 응용 프로그램에서 잘못된 경보 속도를 1 배 이상 줄였습니다.
PREC의 장점
테스트에서 잘 수행하고 Android 맬웨어를 포함 할 수있는 실행 가능한 방법을 전달하는 것 외에도 PREC는 오 탐지 및 성능 손실에 대해 결정적으로 더 나은 숫자를 보였습니다. 성능에 관해서는, 이 논문은 PREC의 "분류 된 모니터링 방식은 1 % 미만의 오버 헤드를 부과하고, SOM 이상 탐지 알고리즘은 최대 2 %의 오버 헤드를 부과한다. 전반적으로 PREC는 가벼워 스마트 폰 장치에 실용적이다"고 밝혔다.
앱 스토어에서 사용하는 현재 맬웨어 탐지 시스템은 효과가 없습니다. PREC는 현재 존재하지 않는 높은 수준의 탐지 정확도, 낮은 비율의 오경보 및 맬웨어 억제 기능을 제공합니다.
도전
PREC를 작동시키는 열쇠는 앱 마켓 플레이스에서 구매하는 것입니다. 응용 프로그램이 정상적으로 작동하는 방식을 설명하는 데이터베이스를 작성하기 만하면됩니다. PREC는이를 달성하는 데 사용할 수있는 도구 중 하나입니다. 그런 다음 사용자가 원하는 응용 프로그램을 다운로드하면 성능 정보 (PREC 프로파일)가 앱과 함께 제공되며 Android 장치에 설치되어있는 동안 앱의 동작을 기준으로 사용됩니다.