악성코드 분석 관리 프레임워크
바이퍼는 파이썬으로 작성된 악성코드 관리 도구입니다. 수집한 악성코드들을 모아서 저장하고 서로 비교 할 수 있는 장점이 있습니다.
바이퍼를 처음 시작하면 아래와 같은 화면이 나옵니다.
help 명령어를 입력해서 어떤 기능들이 있는지 확인 할 수 있습니다.
pe 모듈에는 어떤 기능이 있는지 -h 옵션으로 확인해보겠습니다.
pe 모듈의 peid 옵션으로 분석하려는 악성코드가 어떤 패커로 패킹되어 있는지 확인합니다.
pe 모듈 헬프 메세지에는 안내되어 있지 않지만 '--scan' 옵션을 더하면 저장되어 있는 모든 악성코드들을 대상으로 비교 조회 할 수 있습니다.
오늘 이 글을 쓴 목적은 '--scan' 옵션을 소개하기 위함입니다. 헬프 메세지에는 안내되어 있지 않지만 사실 바이퍼를 사용하는 가장 큰 이유가 되는 기능이라고 생각합니다. 비슷한 메타 데이터를 공유하는 악성코드라면 어느 정도 동일한 단체나 개인이 작성했다고 판단 할 수 있을 것입니다.
바이퍼는 오픈소스로 깃허브에 모든 소스가 공개되어 있고 현재 1.2버전까지 릴리즈되었으며 1.3버전이 개발중에 있습니다. 안정적인 버전을 이용하시려면 1.2버전을 사용하시고 새로운 기능을 빨리 맛보고 싶으신 분들은 1.3버전을 사용하시면 됩니다. 다만 1.3버전은 말 그대로 개발중이기 때문에 제대로 동작하지 않는 부분이 있습니다. 또한 바이러스토탈 조회 부분도 1.3버전에서는 개인키를 넣도록 변경되었기 때문에 불편한 점이 있습니다.
바이퍼는 사용자가 원하는 기능을 직접 구현해서 정식 버전에 포함시켜달라고 제작자에게 요청을 할 수가 있습니다.
바이퍼 제작자는 바이퍼를 일종의 사회적 실험으로 생각하고 기획했습니다. Bithub라고 해서 비트코인과 깃허브를 조합하는 생각인데 마치 주식처럼 깃허브에 코드를 기여하는 모든 사람들에게 바이퍼가 받은 비트코인 기부금을 공유 할 수 있도록 하는 것 같습니다.
자신이 만든 코드가 다른 사람들에게 도움이 된다는 것은 기분 좋은 일입니다. 이런 멋진 프로젝트를 기획한 바이퍼 제작자에게 감사를 드리며 저도 언젠가는 도움이 되는 모듈을 작성하고 싶습니다.