본문 바로가기

모바일 앱 해킹

취약한 로깅 메커니즘 | 안드로이드 앱 해킹, 인시큐어뱅크 실습

취약한 로깅 메커니즘 

  • 로그 기록에 노출되면 안되는 중요한 데이터가 기록되는 경우
  • 사용자가 입력하는 중요 정보가 노출되면 안됨

 

진단 방법

  • 안드로이드 스튜디오에서 제공하는 로그캣(logcat)을 사용해서 진단
  • 모든 기능을 이용해보면서 로그캣 정보 확인

 

로그캣(Logcat)

  • 안드로이드 운영 체제에서 제공하는 시스템의 로그 메시지를 수집하고 출력하는 도구
  • 이를 통해 개발자는 애플리케이션의 실행 중에 발생하는 정보, 경고, 오류 등 다양한 로그를 확인할 수 있다.

 

로그캣 메시지 유형

메시지 유형 설명
V Verbose. 중요하지 않은 정보
D Debug. 디버그 정보
I Information. 일반 정보
W Warning. 경고 정보
E Error. 에러 정보
F Fatal. 중요한 정보
S Silent. 가장 높은 우선순위의 정보

 

 

인시큐어뱅크 앱을 통한 실습

 

1. 로그인 정보

사용자가 로그인할 때 로그인 정보가 로그에 노출되는지 확인해보자

 

 

dinesh 계정으로 로그인한 후 로그캣 정보를 확인해보니

 

id와 패스워드가 그대로 저장되고 있었다.

 

 

 

2. 패스워드 변경

 

dinesh계정의 패스워드를 Dinesh@123$로 변경한 후 logcat 명령을 통해 저장된 로그를 확인해보면

 

이전 패스워드와 바꾼 패스워드를 친절히 보여준다.

 

 

3. 거래정보

사용자가 거래하는 과정에서 계좌번호, 송금하는 액수 등의 정보가 로그에 저장된다면 이것도 역시 취약하다고 할 수 있다.

 

 

888888888에서 666666666로 백만원을 송금한 후 로그캣 정보를 확인해보자

 

여기서도 아주 친절히 계좌번호, 송금한 금액의 모든 정보를 보여주는 것을 확인했다.

 

 

 

대응방안

  • 앱의 배포시 로깅을 비활성화하거나 제한한다.
  • 로그 정보는 개발 시 log 선언을 하기 때문에 남는다. 따라서 개발자에게 해당 로그 코드를 삭제하도록 알려야 한다.