카테고리 없음

An in-depth analysis of Android malware using hybrid techniques 리뷰

KUO88 2018. 4. 30. 22:06

Summary Review

  • Related work에 malware detection을 위한 다양한 criterion들을 잘 정리해놓음 (Static / Dynamic 분석 방법에 대한 개념 파악 정도에는 도움이 될 수도)
  • 제시한 criterion들에 대해 단순하게 통계 수치 비교 정도만 하였고, 제안한 탐지 방법의 정확도를 확인할 수가 없음 (다른 기법들과의 비교 실험이 없음)
  • 평점 : ★★☆☆☆ (리뷰 글만 읽어도 됨)

Detail

Digital Investigation
Volume 24, March 2018, Pages 25-33
https://www.sciencedirect.com/science/article/pii/S1742287617303183

안드로이드 malware를 분석하는 새로운 방법론을 제시하는 논문이다.

스마트폰을 이용한 사이버범죄는 대부분 악성앱을 이용해서 발생하는데, 안드로이드에서 앱을 설치할 때 APK (Android application package) 파일이 필요하다. 정상앱 (benign application)도 마찬가지.

일반적으로 구글 스토어(Google Store)에서 어플리케이션을 설치하는 방법은 1) 스토어에서 앱을 검색한 후 2) 설치버튼을 클릭하면 서버로부터 APK 파일을 스마트폰으로 다운받고, 3) APK파일을 실행하여 앱을 설치한다. (앱에 따라 설치 후 APK를 삭제하기도, 그렇지 않기도 하다)

APK 파일은 ZIP 포맷과 동일하여 내부의 파일들을 확인할 수 있고 (아래와 같이)

dex 파일을 jar로 변환하여 Decompile하면 java 소스코드를 확인할 수 있다.
여기서 잠깐 사담을 하자면, 애써 앱을 만들어서 출시했는데 소스코드 그대로 노출이 되기 때문에 개발자 입장에서는 꽤나 불쾌한 일이 아닐 수 없다. 따라서 소스코드의 해석을 어렵게 하는 camouflage techniques(대표적으로 obfuscation 난독화)을 사용하곤 한다. 난독화 기법이 하나의 솔루션으로 판매될 만큼 이 분야의 시장성도 있는 편이다.

각설하고 악성앱이 설치되는 일을 방지하려면 신뢰할 수 없는 APK는 실행하지 않는 것이 이상적이다(구글 스토어같은 공식적인 앱 스토어가 아닌 곳은 특히나 악성앱일 가능성이 높음). 그러나 세상 모든 일이 그렇듯 이상은 이상이라 사용자의 부주의로 악성앱이 설치되고 유포되고 있는게 현실이다. 아마 악성앱을 통한 사이버 범죄는 사라지지 않을 것이다.

그렇다면 현실적인 방법으로 설치가 되기 이전에 malware APK를 탐지하면 되지 않을까? 라는 생각으로 많은 연구자들이 다양한 방법론을 제시하였고, 본 논문도 그 중 하나라고 보면 된다.

APK를 분석하는 방법은 크게 static과 dynamic으로 나눌 수 있다. static은 앱을 실행시키지 않고(without executing the application) 분석하는 방법이고 dynamic은 앱을 실행하여 모니터링하는 방식(monitoring the application in real-time)을 의미한다.

논문에서는 mad4a라고 명명한 새로운 접근법을 제시하였는데, static과 dynamic의 hybrid 개념으로 각 방법의 단점을 보완한다고 주장하고 있다. 악성앱과 정상앱을 구분하기 위한 요소로 static 방법으로 permission, over-privileged, API method call과 관련된 permission category를 dynamic 방법으로 네트워크 로그 기록을 선정하였다.

아래 그림은 /proc/UID/net/xt_qtaguid/stats 네트워크 로그 예시 (Dynamic 분석 결과, Fig. 3.)

In my opinion...

hybrid라면 2개의 분석 기법을 조합하든지, 조합을 통한 새로운 feature를 제시하든지 해야하는데 논문에서는 병렬적으로 각각의 분석 결과에서 유의미한 정보를 제시하는 수준이다.
예를 들어 static만으로는 탐지할 수 없는 것을 hybrid 기법을 적용하면 탐지할 수 있다든지, static과 dynamic 각각의 기법으로 분석하면 탐지할 수 없으나 통합한 새로운 방법으로는 탐지할 수 있다든지 식의 실험이 뒷바침해줘야 하는데, 실험도 없고 hybrid 기법도 없다. 제목은 거창하나 흡사 과대 광고 문구와 같음.