토요일, 4월 13, 2013

[독서광] 안드로이드 포렌식

최근 스마트폰이 일반에 보급됨에 따라 스미싱과 같은 사회공학적인(이걸 기술적으로 고급 기법이라 부르기는 상당히 민망하다. 스마트폰에도 백신을 강제로 설치해 스미싱을 막아야 한다고 떠드는 언론들을 보면 웃기지도 않다.) 보안 침해 사례가 늘어나고 있다. 불특정 다수에 대한 무차별 공격(?)인지라 심지어 며칠 전 B급 프로그래머의 2G(!) 폰으로도 1355(국민연금)을 가장해 '보험금 미납금 명세서 조회'라는 내용과 함께 URL이 하나 날라올 정도였다. (그래도 명색이 포렌식 책 역자라서) 도대체 무슨 짓거리를 하는지 호기심에 한번 추적을 해봤다.

  • 사람들이 축약된 형태의 URL은 잘 안 누르고 있기 때문에 철자 등을 우체국과 조금 유사하게 만든 URL이 왔기에 도메인 소유권자를 추적해봤다. 음. 역시 중국 친구네? T_T
  • 바로 해당 URL의 IP 주소를 추적해봤더니 중국이 아니라 미국이다. 조금 더 상세히 파고드니 미국 모처의 잘 알려지지 않은 소규모 클라우드 서비스회사였다.
  • PC에서 해당 URL로 접근하니 redirection되어 AWS S3에 담긴 apk 파일이 다운로드 되었다. 귀여운 것들...
  • 해당 apk 파일을 까서 살펴보니 hello, world급 프로그램을 조금 수정한 SMS 탈취 프로그램이었다. 물론 SMS 내용은 해당 URL의 IP 주소로 보내도록 되어 있었다. 표시가 덜 나게 아이콘이나 제대로 좀 만들지... 어익후...
  • URL에 접속했더니 마이크로소프트 윈도우 기반의 운영체제에서 동작하는 PHP 프로그램이 나를 반겼다. 상황 파악을 끝냈으니, 바로 연결을 끊었다.
  • 그나저나, 도대체 국민연금으로 발신자 번호까지 위조해서 이런 메시지를 날리는 상황을 용인하는 이통사와 법 집행 기관은 도대체 뭐하는지? SMS 올 때마다 개인이 일일이 손으로 URL 치고 들어가서 진위 여부를 다 따져봐야 하나? T_T 그나마 신종 금융사기, 구제책 없나?라는 기사를 보니 문제의 심각성을 깨닫고 뭔가 조치를 취하는 모양이다.

뭐 여기까지 조사한 결과를 보면 더 이상 안 봐도 DVD다. SMS 탈취 목적이 뭔지는 다들 잘 아실테고(인증 번호가 2nd channel인 SMS로 날아올 경우 바로 가로챌 수 있다)... 이 경우에는 일반적인 포렌식 기법으로 가볍게 분석을 마쳤는데, 실제 스마트폰에서 사고가 터지고 나서 포렌식을 진행해야 할 경우에는 스마트폰과 관련해 좀더 세부적인 내용을 알고 있어야 한다. 이와 관련해 오늘은 에이콘 출판사에서 보내준 보물 상자에서 꺼낸 3번 타자인 안드로이드 포렌식을 소개하겠다.

간단히 이 책을 요약 정리하자면, 안드로이드 하드웨어와 내장 소프트웨어를 간단히 설명하고 자료 구조와 파일 시스템, 메모리 종류와 저장 방식, 디버깅 기법과 외부 도구를 사용한 분석 방식을 소개하고 있다. 역사와 전통을 자랑하는 일반적인 PC나 서버에 대한 포렌식과는 달리 스마트폰 보급이 시작된지는 얼마 되지 않았기에 스마트폰에 대한 포렌식은 이제 시작 단계라고 봐도 무방하겠다. 하지만 스마트폰만큼 대중화되고 널리 쓰이고 보안에 취약할 수 밖에 없는 장비도 없기에 스마트폰 관련 포렌식은 발등에 불이 떨어진 상황인데 현재까지는 이 책이 스마트폰 관련 국내서/역서로는 유일하기에 나름 출발선으로 가치가 높다.

요렇게 적고 보니 이 책이 안드로이드 포렌식을 거뜬히 도와줄 구세주처럼 들릴지도 모르겠는데, 아쉬운 점도 많다. 1) 이건 이 책의 잘못이 아니라 스마트폰이 워낙 빨리 발전하기에 이 책에서 소개하는 스마트폰은 이미 시중에서 구하기도 어려운 구식 모델이다. 2) 리눅스 명령어 소개가 왜 필요한지 잘 모르겠다(매뉴얼 페이지 덤프한 내용도 나온다. T_T). 3) 안드로이드 내부 구조와 리눅스 내부 구조에 대한 설명은 너무나도 피상적이고 큰 도움이 되지 않는다. 하지만 초반의 실망감을 무릅쓰고 중반 이후로 넘어가면 안드로이드 관련 포렌식 기법들을 차근차근 잘 설명하고 있기에 나름 참고할만한 내용을 건질 수 있을 것이다.

특히 일반적인 PC/서버 환경과는 다른 파일 시스템과 메모리 종류에 대한 설명은 눈여겨 봐놓아야 한다. NAND 플래시를 덤프하는 기법, YAFFS2에서 OOB 대역을 날려서 분석이 용이한 형태로 만드는 기법, Scalpel과 같은 무시무시한 도구를 사용해 YAFFS2 이미지에서 파일 카빙하는 기법 등은 기존 여느 포렌식 책에서 찾아보기 어려운 내용이므로 눈을 크게 뜨고 봐놓아야 할 부분이라고 볼 수 있겠다. (밑줄 쫘~~~악)

결론: 특히 안드로이드 포렌식에 입문한 분들께 추천드리며, 이미 포렌식 기법에 대해 충분히 이해하고 있고 안드로이드 플랫폼을 능수능란하게 다루는 중급 이상 전문가들께는 요약 정리 목적으로 추천드리고 싶다.

EOB

댓글 2개:

  1. 좋은리뷰 감사합니다.
    안그래도 입문서 찾고있었어요! :)

    답글삭제
  2. // cheolgyun yu 님

    안드로이드 이외에 일반적인 PC를 대상으로 하는 포렌식과 멀웨어 관련 서적이 시중에 여럿 나와 있으니 교보 들러서 검토해보시고 하나 고르신 다음에 함께 보시면 좋겠습니다.

    - jrogue

    답글삭제