인시큐어뱅크 활용 안드로이드 모의해킹 공부

취약한 로깅 메커니즘

원준킹 2020. 12. 22. 19:34

취약한 로깅 메커니즘

  • 로그(Log)는 프로그램 구동 시 프로그램의 현재 상태, 처리하는 데이터 정보를 말한다.
  • 로그를 통해 관리자나 개발자는 중요한 정보를 제공받을 수 있으며 특히, 프로그램에 버그(취약점)가 있을 때 이를 유지보수 하는데 사용할 수 있다.
  • 취약한 로깅 메커니즘은 이러한 로그에 노출되어서는 안되는 중요한 데이터 또는 민감한 데이터가 로그로 남겨지는 경우를 말한다.

진단방법

  • 로그 수집기를 실행하고 앱의 여러가지 기능 사용
  • 로그 수집기에서 단어 검색을 통한 중요 데이터 또는 민감 데이터 검색
  • 안드로이드 스튜디오에서 제공하는 Logcat을 사용하여 진단
  • 소스코드에서 로그 관련 코드 상세 분석
  • 안드로이드 로그의 등급
     V (Verbose) : 중요하지 않은 정보
     I (Info) : 일반 정보
     D (Debug) : 디버그 정보
     W (Warning) : 경고 정보
     E (Error) : 에러 정보
     F (Fatal) : 중요한 정보
     S (Silent) : 가장 높은 우선순위의 정보

android logfilter 실행

adb shell ps -> 어플리케이션 PID값 알아내기

로그인 정보가 평문으로 노출

 

대응방안

  • 앱 배포시 사용되는 로그관련 코드를 제거한다.

 

  • 로그를 출력하는 유틸리티 클래스를 제작한다.

 

배포 시 DebugMode 를 false로 바꾸면 로그 공개 안됨