아마도 이 블로그 글을 보시는 분들 중에서는 CrowdStrike 라는 업체가 생소하실 겁니다. CrowdStrike는 2012년에 사업을 시작한 미국의 신생 보안 업체로서, 스타트업이라고 하기에는 해당 업체의 핵심적인 경영진들의 면모가 범상치 않은 업체입니다.
CrowdStrike의 출발은 FoundStone(이후 McAfee에 인수됩니다.)이라는 침해사고 대응 전문 업체의 창업자이자 CEO인 George Kurtz(국내에서는 Hacking Exposed 시리즈의 저자로 더 유명할 것 같네요)와 인텔(Intel)에 인수 된 맥아피(McAfee)의 CTO인 Dmitri Alperovitch에 의해 시작 되었습니다.
개인적으로 Dmitri Alperovitch와 친분이 있어, 2012년 초에 안랩과 협력을 했으면 좋겠다는 연락을 받는 과정에서 그가 맥아피를 그만두고 창업을 하였다는 것을 알게 되었습니다.
여기까지가 CrowdStrike에 대한 이야기이고, 오늘 이야기 할 주제는 해당 업체에서 개발하여 무료로 배포 중에 있는 CrowdInspect라는 침해 사고가 발생 한 것으로 추정되는 시스템을 분석하기 위한 툴입니다.
CrowdInspect는 올해 2월부터 무료 배포되기 시작하였으며, 툴은 간단하게 EXE 파일(522,376 바이트) 1개입니다. 그리고 32비트와 64비트 윈도우 운영체제를 모두 지원합니다.
최초 해당 파일을 실행하게 되면, 사용에 대한 간략한 설명을 하고 동의를 구하게 됩니다. 동의를 클릭하고 난 다음에는 아래 이미지와 같은 사용자 인터페이스가 실행됩니다. 이러한 인터페이스는 기존의 프로세스 익스플로러나 다음 툴들과 큰 차이가 없어 조작과 적응이 쉬운 편입니다.
기본적으로 CrowdInspect는 Live 모드와 History 모드로 동작하게 됩니다. Live 모드는 말 그대로 현재 실행 중인 모든 프로세스 정보, 오픈든 TCP/UDP 정보들을 보여주며, History 모드는 CrowdInspect가 실행 된 그 시각 이후로 있었던 변화들을 순차적으로 Timeline에 맞추어 표기 해줍니다.
그리고 드라이버(.sys) 파일이 하나 정도 생성해서 이를 이용해 프로세스와 포트 검사를 할 것으로 생각 했는데, 순수하게 유저 모드(User Mode) 에서만 동작하도록 제작되었습니다.
여기까지만 보면 CrowdInspect가 다른 프로세스 익스플로러 형태의 시스템 관리 툴과 큰 차이가 없어 보입니다만, 개인적으로 생각되는 차별화 부분은 3가지로 볼 수가 있습니다.
1) 실행 중 또는 타임라인 상의 특정 파일에 대한 바이러스토탈(VirusTotal) 검사 기능
이 기능은 파일의 HASH인 SHA256을 구하여 단순하게 VirusTotal에 조회를 하도록 VirusTotal의 API를 이용한 것입니다.
2) Team Cymru에서 제공하는 Malware Hash Registry 검사 기능
이 역시 1번과 동일하게 Team Cymru의 DB에 HASH를 조회하여 결과를 리턴하는 것으로 보여집니다.
3) Web of Trust의 DB를 이용한 IP 검사 기능
이 역시 1번과 2번 과 같이 오픈된 포트에서 접속되어 있는 IP를 DB에 조회하는 기능이며, 실제 패킷 덤프에서도 해당 업체의 시스템으로 접속을 한 것을 확인 하였습니다.
이러한 장점을 가지고 있지만은 단점도 몇 가지가 분명히 존재합니다.
1) Timeline 기반의 포렌식 분석 기능 부족
타임라인 기능이라고 하여 다른 포렌식 툴에서 처럼 CrowdInspect가 실행 전의 상황들을 참고 할 수 있는 로그를 보여주리라 기대 했습니다만, CrowdInspect 실행 이후의 로그들만 보여주고 있습니다.
2) 프로세스 리스트 기능의 오류
실제 악성코드 샘플을 이용해 시스템이 악성코드에 감염되었다는 가정하에 테스트를 해보았습니다. 악성코드 감염 이후에 CrowdInspect를 실행 할 경우, 프로세스 익스플로러와 같은 프로세스 뷰어에서는 악성코드의 프로세스가 정상적으로 리스트가 되는 반면 CrowdInspect에서만 정상적으로 리스트화 되지 못하였습니다. 이 부분은 기능상 또는 구현상의 오류로 보여집니다.
3) 보안 위협의 트렌드를 반영하지 못한 기능 설계
현재 악성코드로 인한 보안 위협 트렌드로 보았을 때 CrowdInspect의 위치는 모호한 부분이 많습니다. 포렌식 분석을 위한 툴이라고 하기에는 부족하고, 악성코드 검출을 위한 아티팩트 분석 툴이라고 하기에도 기능들이 부족합니다.
여기까지가 CrowdInspect를 테스트하면서 생각해본 점들이며, 장점보다는 아직은 단점이 많아 보입니다. 하지만, 기존의 다른 침해 사고 시스템 분석 툴들과 다르게 DB 조회(클라우드거나 아니거나 상관 없이) 기능을 추가하여 활용하고 있다는 점은 분명한 장점으로 볼 수 있습니다.
마지막으로 패킷 덤프 분석 과정에서 알아낸 것 중 하나가, CrowdInspect가 실행이 되면 CrowdStrike로 GeoTag 정보가 전송이 되더군요. 아마도 내부적으로 어느 국가에서 많이 실행되는지 데이터 관리를 하는게 아닌가 생각 되네요...
댓글 없음:
댓글 쓰기