무결성이란?
: 정보보호 3요소 중 하나로 영어로 Integrity이며, 정보가 오직 허가된 사람에게만 개방되고 수정될 수 있음을 보장하는 것
- 모바일 애플리케이션에서 의미하는 무결성은 애플리케이션의 개발자가 아닌 타인(악의적인 사용자)이 애플리케이션을 위/변조할 수 있느냐를 판단하는 기준
- 일반적으로 금융앱을 제외하고는 무결성 체크로직을 구현하지 않지만 구현하는 경우에도 우회가 가능한 경우 존재
- 무결성 로직이 미존재하면 정상 애플리케이션을 악의적인 목적으로 위/변조하여 유포 및 재설치를 통해 단말기 정보 및 단말기 내 중요정보 유출 가능
무결성 확인
- 무결성 체크 로직 미존재
* 무결성 체크 로직이 존재하지 않는 경우, 애플리케이션 명을 변경 후 재설치 시 정상적으로 실행되는 지 확인한다.
1) 변경 전 애플리케이션 명 확인 - SIK-C1
2) 애플리케이션 추출 후 디컴파일
자세한 내용은 이전 게시물 참조: http://securitynote.tistory.com/7?category=788948
3) AndroidManifest.xml 파일 열기
4) intet-filter 태그 내에 android:label="@String/app-name" 옵션 변경
@String/app-name 부분을 변경하고자 하는 이름으로 바꾼다.
5) 변조한 앱 재컴파일, 서명 후 설치 시 정상 실행 확인
★ 이렇게 간단한 조작을 통해 무결성 테스트를 진행한다. 이 때, 정상적으로 앱이 실행이 되지 않으면 무결성 체크 로직 우회를 시도한다.
→ 자세한 내용은 다음 포스팅에서...!!
'Hacking > Mobile' 카테고리의 다른 글
[iOS] PHEONIX로 아이폰4s(iOS 9.3.5) 재탈옥 (0) | 2018.04.09 |
---|---|
[Andoird] 안드로이드 취약점 - 메모리 덤프 (0) | 2018.02.28 |
[IOS] 아이폰(IOS) 취약점 점검 환경 (0) | 2018.02.26 |
[Android] 동적 디버깅(dynamic debugging) (0) | 2018.02.26 |
[Android] DirtyCow(더티카우) 취약점 (CVE-2016-5195) - 20200130 수정 (0) | 2018.02.22 |