본문 바로가기
정보보안/안드로이드해킹

안드로이드 모의해킹) 안전하지 않은 로깅 메커니즘

by _miiiiiin_zzang_ 2020. 9. 8.

로그 : 서버에서 운영되는 서비스들이 실행되는 상태나 특정 프로그램을 사용한 사용자의 행위나 흔적을 파일 또는 출력을 통해 남기는 행동

검색 기록 같은 경우는 중요하진 않지만 로그에 중요 정보가 남게 되면 정보가 유출되는

 

안전하지 않은 로깅 메커니즘은 민감 데이터나 노출되면 정보들을 로그로 남길 경우에 발생하는 취약점(사용자의 ID/PW, 카드 정보 )

 

안드로이드 로그 관리법

커널 로거라는 커널 드라이브는 main, radio, event, system 네가지 버퍼 관리

사용자 공간에 있는 앱들은 보안 정책에 의해 커널의 버퍼에 접근할 없기 떄문에 /dev 리눅스 디바이스 노드들을 제공하여 관리

main

메인 로그,  앱이나 플랫폼 내부에서 android.util.Log 클래스로 기록된 로그

event

시스템에서 발생하는 이벤트 정보를 위한 로그

radio

이동통신망과 관련된 이벤트 정보

system

안드로이드 플랫폼 내부의 하위 레벨에 있는 시스템이나 디버깅을 위한 로그

 

ADB 통한 로그 확인

logcat [옵션] [필터값]

logcat 실행 명령어

-c

모든 로그를 지운 종료

-d

지정된 로그를 화면에 덤프하고 종료

-f [file name]

로그를 지정 파일로 저장, 없으면 표준 출력

-g

로그 버퍼 크기 출력 종료

-b

main/radio/event 버퍼 선택

-r

지정된 용량만큼 로그 파일 생성, 디폴트 16kbytes, -f 옵션 필요

-s

기본 필터 조건을 silent 등급으로 지정

-v 포맷

사용자가 출력할 로그의 포맷을 지정

 

DDMS 통한 로그 확인

안드로이드 스튜디오는 GUI 환경을 통해 로그캣 로그를 확인할 있도록 DDMS 기능을 포함

안드로이드 sdk에서 지원하는 DDMS 도구로 확인할 있음

메모리 사용량을 확인하거나 메모리 덤프, 특정 에러를 구체적으로 확인하기 위해 쓰임

? 뭔데 실습불가,,,

 

  1. 취약점  진단 과정
    • adb 확인
    • 엄청 많이 나오는데 하나하나 봐야하나,,,,,일단 보라니까 본다….
    • 그냥 보면 힘드니까 메모장에 복사에서 옮겨서 보기
    • account= : 로그인 계정 정보가 평문으로 노출되는 것을 확인 가능
    • 멍청이 로그캣 저장 명령어 쓰면 쉽게 하는 일일이 복사했닿ㅎㅎㅎㅎ이래서 사람이 배워야해
    • 생각보다 오래걸리니 오늘 공부는 여기까지. 하는 방법만 알면 되지머
  2. 취약점 대응 방안
    • 노출되는 중요 정보들의 실제 소스 코드에 어느 부분에서 발생되는지 확인한 출력되지 않도록 지우고 컴파일
    • .DoLogin 소스 코드 확인 필요
    • DoLogin.java 소스 파일에서 로그에 남지 않게 지워버리기
    • sysgem.out 함수도 같은 내용이니 지워버리기

댓글