취약한 암호화 구현
-
중요한 데이터가 취약한 암호화 방식으로 저장되어 제3자가 암호화된 데이터를 문제없이 해독 가능한 취약점
-
소스코드에서 초기화 벡터값 추출
- 소스코드에서 대칭키 추출
string 32자리 x 8bit = 256 bit
- 암호화 모드 확인 : EBC / CBC / CFB / OFB
- 암호화 비트 확인 : 128 / 256
- 코드에 인코딩이 되어있는 경우 인코딩 방식 확인
- 암호화/복호화 툴 제작 또는 사이트에서 대칭키로 암호화된 데이터 복호화
Base64 Encode & Decode : https://www.base64decode.org/
AES Tool(전문가) : http://aes.online-domain-tools.com/
AES Tool : http://aesencrryption.net/
기본 암호화 모드 : CBC
벡터값 : 00
복호화시 기본 base64 디코딩 제공
대응방안
- 문제는 대칭키가 노출되는 것이 아닌 모든 단말기에 설치되는 어플리케이션의 대칭키가 같다는 것
- 다른 단말기에 설치된 어플리케이션의 대칭키가 같다면 데이터 유출 시 데이터 복호화가 가능
- 따라서, 단말기마다 고유의 대칭키를 갖도록 한다.
기기의 고유 정보를 결합하여 키 생성
'인시큐어뱅크 활용 안드로이드 모의해킹 공부' 카테고리의 다른 글
안드로이드 페이스트보드 취약점 (0) | 2020.12.22 |
---|---|
취약한 로깅 메커니즘 (0) | 2020.12.22 |
하드코드 된 중요 정보 (0) | 2020.12.22 |
취약한 액티비티 컴포넌트 (0) | 2020.12.22 |
사용자 계정 목록화 (0) | 2020.12.22 |