Paul's Journal

이탈리아 해킹팀 소스 분석 본문

IT

이탈리아 해킹팀 소스 분석

Paul.C 2015. 7. 26. 20:03
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

직접 분석을 하고 싶었으나, 소스가 방대하여 손을 대고 있지 못하다가 외국 백신 업체에서 간단히 리뷰한 내용이 있어서 소개하고자 합니다. 국내업체들은 어떻게 대응하고 있는지 궁금합니다. 그리고 이러한 소스가 풀린만큼, 소스분석이 가능한 사람들이 악의적으로 사용할 가능성이 더 많아지지 않을까 걱정이 앞섭니다. 


내용출처 -  

http://blog.trendmicro.com/trendlabs-security-intelligence/hacking-team-uses-uefi-bios-rootkit-to-keep-rcs-9-agent-in-target-systems/




  • UEFI 바이오스 해킹
이탈리아 해킹팀은 목표 시스템에 프로그램(Remote Control System)을 상주시키기 위해 UEFI 바이오스 루트킷을 사용했습니다. 그런데 이러한 테크닉은 새로운 것이 아닙니다. 제 기억으로는 20년 전쯤에도 동일하게 바이오스를 공격한 사례가 있었습니다. 이런 케케묵은 방법이 여전히 통용되는 것이 놀랍습니다. 

즉, RCS 프로그램이 컴퓨터로 들어오게 되면 하드디스크를 바꾸거나, 포맷을 해도 컴퓨터가 다시 부팅이 되면 프로그램이 다시 살아나게 됩니다. 백신으로 고치거나 아니면 컴퓨터를 바꿔야 RCS 로 부터 자유로워진다는 의미가 됩니다. 그들이 특별히 이용했던 바이오스는 Insyde인데, AMI 바이오스에서도 잘 동작한다고 합니다. 

칩입 경로를 요약하면 다음과 같습니다. 
  1. 타켓 컴퓨터에 칩입을 합니다. 
  2. UEFI 쉘로 리부팅하여 들어갑니다. 
  3. 바이오스를 덤프하고, 바이오스 루트킷을 설치하고, 리플래쉬 한 후에, 재 부팅을 합니다. 

아래 그림과 같은 바이오스 루트킷을 사용하는 유저를 위한 프로그램이 발견이 되었습니다. 



설치 시에, 3개의 모듈이 외부소스에서 변경된 UEFI바이오스의 파일볼륨으로 카피가 됩니다. Ntfs.mod는 UEFI 바이오스가 Ntfs파일을 읽고 쓰게 하고, Rkloader.mod는 UEFI이벤트를 후킹하고, 시스템이 다시 부팅될 때 드랍퍼 펑션(dropper function)을 호출합니다. dropper.mod는 실제 scout.exe와 soldier.exe 파일을 갖고 있는 에이전트입니다. 



즉, 바이오스 루트킷이 설치가 되면, 부팅 때마다 RCS 프로그램이 잘 작동하고 있는지 확인을 하게 됩니다. 하드 디스크가 교체되었거나, 포맷이 되었다면 다시 카피해서 원래 상태로 복원을 하게 됩니다. 


Scout.exe의 설치 경로는 다음과 같습니다 :\Users\[username]\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\6To_60S7K_FU06yjEhjh5dpFw96549UU



이 내용은 이탈리아 해킹팀에서 유출된 수많은 자료 중에 일부분 일 뿐이고, 유출된 자료를 바탕으로 3개의 어도브 플래쉬 지로데이(zero-day) 취약점이 역으로 발견 되었습니다. 소스분석이 진행되면 더 많은 내용이 나올 것으로 보입니다. 백신업체, 마이크로 소프트, 구글, 페이스북, 등등의 IT 업체들이 보안 이슈로 분주한 이유입니다.


  • 대비책
해킹툴이 강력하기는 하지만, 조심하면 예방할 수 있습니다:
  1. UEFI 시큐어플래쉬를 사용하고 있는지 확인합니다. 
  2. 패치가 배포되었는지 확인하여, 바이오스를 업데이트 합니다. 
  3. 바이오스 또는 UEFI 패스워드를 설정합니다. 
  4. 바이오스에 물리적으로 쓰기 방지 장치가 되어 있는 컴퓨터를 구입합니다. 



'IT' 카테고리의 다른 글

비주얼 스튜디오 2015 - iOS, 안드로이드 지원  (0) 2015.07.21
Comments