Upload
newheart
View
342
Download
0
Embed Size (px)
Citation preview
Android App ReversingNewHeart 전성윤(roland)
Case Study!2013. 8. 27 ~ 2014. 1. 16
5 smishing apps
Goals?
• 안드로이드 앱 설치 파일이 갖는 주요 특징을 이해한다
• Case Study를 통해 앱의 매커니즘과 특히, 스미싱 앱의 목표를 파악해본다
• Case Study를 통해 앱의 분석과정을 논리적으로 이해해본다
• 분석 중에 필요한 프로그램에 대해서 아이디어를 공유한다
APK(Android aPplication pacKage)
• ZIP 압축
• ZIP 압축 포맷을 그대로 따르고 있음
• 확장자만 다른것일뿐….
010 Editor
APK(Android aPplication pacKage)
• META-INF : Manifest, 인증서, 등 리버싱과 no 관련
• AndroidManifest.xml :앱 권한, 구성요소 설정 관련
• class.dex :dex(dalvik executable)
• resources.arsc : 미리 컴파일된 바이너리를 담고있다고 함
APK(Android aPplication pacKage)
• res/drawble : 아이콘, 각종 이미지. 자세한 설명 생략.
• res/layout : 액티비티별 레이아웃(xml)들을 저장
안드로이드 레이아웃 xml파일을 입력으로 주면 렌더링해서 보여주는 stand-
alone 프로그램 개발?
AndroidManifest.xml
AndroidManifest.xml
Dalvik EXacutable
• 소스코드들이 이래 됨
• dex2jar, java decompiler(GUI)
• baksmali, smali
Target?• 지금까지 개인적으로 확보해둔 스미싱 앱들
• up.apk
• 2013. 8. 27 - 모바일 돌잔치 초대장(oa.to/PJazvb)
• cckun.apk
• 2013. 9. 25 - www.667803.com
• aaa.apk
• 2013. 10. 1 - 955.cc
• App.apk
• 2013. 12. 29 - 12월달 교통위반 청구서( ? )
[혐]
up.apk• AndroidManifest.xml
permission
MainActivity
up.apk• res/ * : 우리은행, 국민은행, 농협 이미지
• class.dex : 먼저, dex2jar&jd-gui 시도
up.apk
up.apk
up.apk
up.apk
myThread -> myHandler -> download() -> downloadFile()
up.apk
cckun.apkpermission
MainActivity
cckun.apk
• broadcastreceiver
• permission
cckun.apk
cckun.apk
Emulator check
cckun.apk
cckun.apk
cckun.apk
cckun.apk
체인지업
cckun.apk
cckun.apk
cckun.apk
cckun.apk
cckun.apk
cckun.apk
cckun.apk
cckun.apk
cckun.apk
cckun.apk
aaa.apk• “[주의]APK 암호화 기법을 도입한 스미싱 악성앱 출현”
aaa.apk0000 1000 0000 1001 (Lit.)->0000 1000 0000 1000(Lit.)
aaa.apk
aaa.apkpermission
Main Activity
aaa.apk
aaa.apk
aaa.apk
aaa.apk
App.apk
App.apk
App.apk
App.apk
App.apk
App.apk
App.apk
Conclusion• up.apk
• 무작위 SMS 전송 + wuri.apk, KB.apk, NH.apk 를 받기 위한 드롭퍼(Dropper)
• cckun.apk
• 무작위 SMS 전송 + 드롭퍼 + 보안(?)(에뮬레이터 체크, SMS흔적 삭제)
• aaa.apk
• APK 암호화 기법 + 드롭퍼 + 전화번호부 탈취
• App.apk
• 원격 피 조종 클라이언트(좀비 SmartPhone) + 무작위 SMS 전송
Conclusion
• dex 를 분석하여 클래스 간의 관계도를 UML처럼 그려주는 툴…….
• 은 있었다. ㅠ_ㅠ Google God.
• http://dexter.dexlabs.org
dex분석과 향후전망
• dex2jar - java decompiler : java로 디컴파일. dex에 아무런 난독화 기법이 적용되지 않을 경우 사용 가능.
• baksmali - smali로 디스어셈블. 디스어셈블이기 때문에, 난독화, 암호화 또는 파일 헤더 조작 등으로만 막을 수 있음.
• ART VM - dalvik의 시한부 선고
baksmali 예제
• 시연잼
-END- with dalvik