모바일/InsecureBank 분석
하드코딩 보안
HackingPractice
2019. 7. 14. 19:44
정의
- 관리자의 패스워드나 중요 정보 또는 암호화키 등을 주석으러 처리하면 문제점이 발생할 수 있다.
발생 위치
- Changepassword.java, DoLogin.java
영향
- 인시큐어뱅크의 경우 하드코드된 사용자 계정과 암호화키를 노출한다.
진단
Find in Path에 jack@을 입력해 소스 코드에서 주석으로 처리되어 있는지 확인했다.

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

대응방안
- 키 값은 앱에 저장하지 않고 서버에 저장하여 보호한다. 개발 완료 후 주석처리에 주의를 기울여야한다. 암호화키의 경우, 솔트를 사용하여 암호화의 안전성을 높이는 것이 중요하다.
자바 소스 코드를 알아 볼 수 없게 난독화를 적용했다.
