관리 메뉴

Information Security

하드코딩 보안 본문

모바일/InsecureBank 분석

하드코딩 보안

HackingPractice 2019. 7. 14. 19:44

정의
- 관리자의 패스워드나 중요 정보 또는 암호화키 등을 주석으러 처리하면 문제점이 발생할 수 있다.

발생 위치
- Changepassword.java, DoLogin.java

영향
- 인시큐어뱅크의 경우 하드코드된 사용자 계정과 암호화키를 노출한다.

진단
Find in Path에 jack@을 입력해 소스 코드에서 주석으로 처리되어 있는지 확인했다.

그림 1-1 jack 검색

“This is the super secret key123”이라는 중요한 AES 암호화 키가 노출된 것을 알수 있다. 대칭키 블록 암호 알고리즘으로 키값을 노출할 경우 복호화가 될 수 있다.

그림 1-2 AES 키 노출

대응방안
- 키 값은 앱에 저장하지 않고 서버에 저장하여 보호한다. 개발 완료 후 주석처리에 주의를 기울여야한다. 암호화키의 경우, 솔트를 사용하여 암호화의 안전성을 높이는 것이 중요하다.

자바 소스 코드를 알아 볼 수 없게 난독화를 적용했다.

그림 1-3 난독화

'모바일 > InsecureBank 분석' 카테고리의 다른 글

사용자 정보 목록화 이슈  (0) 2019.07.14
인자 전달값 조작  (0) 2019.07.14
안전하지 않은 HTTP 통신  (0) 2019.07.14
런타임 조작 취약점  (0) 2019.07.14
안드로이드 백업 취약점  (0) 2019.07.14