2014. 9. 30. 14:18ㆍSecurity ★ Development/안드로이드 모바일 보안
* 틀린 내용이 있을 시 지적 부탁드립니다.
1. 소스코드 내의 정보 노출에대해 보겠습니다. 뱅킹 어플리케이션의 암호화 적용 버전인 BasicEncryptionSolution을 다운로드합니다.
apktool을 이용해 apk파일을 디버그 모드로 바꿉니다.
생성된 out 폴더에서 CryptoTool.smali파일을 보면 적용된 암호화 알고리즘과 키를 확인할 수 있습니다.
이를 통해 암호화가 적용된 대상을 복호화할 수 있게됩니다.
이런 소스코드에 의한 정보 노출은 난독화를 이용해 간단하게 예방할 수 있으니 귀찮더라도 적용해주도록합니다. 단순하지만 쉽게 적용할 수 있는 방법으로 이클립스에서 프로젝트의 project.properties 파일 맨 밑에 'proguard.config=proguard.cfg' 를 적어주기만 하면 됩니다. proguard는 오픈소스 난독화 도구로 단어들을 의미없는 이름으로 바꿔주지만 매개변수 값까지 난독화하지는 않기 때문에 공격자가 시간을 들이면 분석할 수 있습니다. 더 안전한 난독화를 위해선 androidenv같은 상용 난독화 도구를 이용하는 것이 좋습니다.
2. 데이터 전송시의 노출 측면에서 어플리케이션의 안전성을 보겠습니다. 안드로이드 진단 도구와 모의 침투 등 테스트에 필요한 도구들을 제공해주는 가상 이미지인 AppUse를 이용하겠습니다. 또한 AppUse는 가상 모바일 어플리케이션과 서버를 자체적으로 제공해줍니다.
https://appsec-labs.com/AppUse 다운로드
다운로드받고 vmware를 사용해 실행합니다.
바탕화면의 AppUse Dashboard를 실행한 후 Android Device - Launch Emulator를 실행합니다.
잠금화면은 1234로 해제하고 중앙 아래 동그라미 버튼을 눌러서 나오는 어플들 중에 ExploitMe를 실행합니다.
그후 우측 아래 설정 버튼을 클릭 - Preferences를 클릭해서 Bank Service Address는 10.0.2.2, HTTP Port는 7070으로 설정합니다.
그리고 대시보드에서 Vulnerable apps -> ExploitMe - HTTP Server를 눌러 서버와 Tools -> Launch Wireshark를 눌러 와이어샤크를실행합니다.
와이어샤크는 127.0.0.1을 캡쳐하도록 합니다.
ㅈ[출처] 이클립스에서 Proguard(프로가드) 사용하기. apk 패키징시 난독화|작성자 하늘바다를
다시 어플로 돌아와서 우측하단 버튼을 누르고 reset버튼을 클릭합니다.
Username과 Password에 각각 jdoe와 password를 입력해 로그인 합니다.
와이어샤크를 보면 해당 아이디와 비밀번호가 평문으로 전송된 것을 볼 수 있습니다.
'Security ★ Development > 안드로이드 모바일 보안' 카테고리의 다른 글
안드로이드 진단 도구 (0) | 2014.10.05 |
---|---|
안드로이드 어플 진단 4 (0) | 2014.10.01 |
안드로이드 어플 진단 2 (0) | 2014.09.29 |
안드로이드 어플 진단 1 (0) | 2014.09.24 |
단축 URL 체크 (0) | 2014.09.20 |