-->

[인시큐어뱅크] 안전하지 않은 로깅 (Insecure Logging) 취약점

안전하지 않은 로깅 취약점 진단

adb devices로 연결된 디바이스를 확인한 후 < adb shell >로 쉘에 들어간다. 그 후 logcat을 입력하면 발생하는 로그들을 주르르르륵 출력된다. 아니면 처음부터 < adb logcat > 을 수행해도 된다.

 

로그인 수행 시, 아래와 같이 계정정보가 평문으로 로그에 기록되는 것을 볼 수 있다.

 


> adb shell

$ logcat

 

 

 

계좌이체 또한 마찬가지로 계좌이체 정보가 평문으로 로그에 기록된다.

 

 

 

DoLogin 클래스를 확인해보면, 암호화되기 전의 유저네임과 패스워드가 로그로 기록되는 부분을 볼 수 있다. Log.d의 d는 로그 레벨로 Debug를 의미하며 Log.d의 첫번째 인자는 tag이고 두번째 인자가 로그로 출력될 메시지이다.

 

 

 

DoTransfer는 System.out.println을 사용해 계좌정보를 평문으로 콘솔 출력하고 있다.

 

 

 

안전하지 않은 로깅 취약점 진단결과 및 대응방안

  • 인시큐어뱅크(InsecureBankv2) 앱의 경우 계정정보 및 계좌이체 정보 등 중요 정보를 평문으로 로그에 남기고 있다. 이런 경우, 해당 앱을 사용하는 사용자의 단말기가 악성코드에 감염이 되어 로그정보가 공격자에게 넘어가거나 단말기 분실로 로그정보가 타인에게 유출될 수 있기 때문에 취약하다.
  • 개발 중에는 로그캣에 기록이 남도록 사용할 수 있지만 앱 배포전에는 반드시 로그 정보가 남지 않도록 삭제한 후 배포해야 한다.

댓글

Designed by JB FACTORY