미국 국가안보국(NSA)이 자바 기반 역공학 도구 '기드라(GHIDRA)' 공개를 예고했다. 오는 3월초 미국 샌프란시스코에서 열리는 연례 사이버보안컨퍼런스 'RSA컨퍼런스'에서 시연되고 NSA 깃허브 저장소를 통해 오픈소스로 푼다는 계획이다.
기드라는 NSA가 2000년대부터 개발해 온 디스어셈블러(disassembler)다. 디스어셈블러는 컴퓨터 프로그램 실행파일을 사람이 분석할 수 있는 어셈블리 코드로 분해하는 소프트웨어를 뜻한다. 해커와 보안분석가가 활용할 수 있다.
앞서 NSA는 기드라를 개발한 뒤 최근 몇년간 타 정부기관에 나눠줬다. 기드라를 나눠받은 기관은 사이버위협 분석담당조직을 두고 있었다. 각 조직은 악성 소프트웨어 변종이나 수상한 소프트웨어의 내부 동작을 들여다봐야 하는 일을 했다.
최근 미국 지디넷 보도에 따르면 NSA표 역공학 도구의 존재는 2년전부터 알려졌다. 미국을 비롯 각국 기밀정보를 폭로해 온 인터넷 웹사이트 위키리크스가 지난 2017년 3월 일명 '볼트7(Vault7)' 문건에 기드라가 등장했다. [미국 지디넷 보도]
볼트7은 또다른 미국 첩보기관 중앙정보국(CIA) 내부 네트워크에서 탈취한 기밀문서 파일 뭉치를 지칭한다. 이 문건은 CIA라는 첩보기관이 NSA의 기드라 툴을 다룰 수 있는 미국내 타 정부기관 중 하나였음을 시사한다.
10일 현재 온라인을 통해 확인할 수 있는 볼트7 문건은 기드라를 "NSA가 개발한 GOTS 역공학 도구"라고 소개한다. 여기서 GOTS는 '정부가 만든 기성품(government off the shelf)'이란 표현이다. 곧바로 사용할 수 있는 상태로 만들어졌다는 뜻이다.
볼트7 문건은 NSA 내부 개발자 네트워크 파일 저장소에서 기드라 설치 패키지를 내려받을 수 있는 경로를 소개하고 있다. 당시 기드라 패키지 최신 버전은 7.0.2였다. 사용자 기기에 자바 런타임 1.7 버전이 설치돼 있어야 한다. [위키리크스 문서]
문건의 설명을 보면 기드라는 그래픽 사용자 인터페이스(GUI)를 갖췄고 공통패키지를 설치하면 어느 플랫폼에서 구동하든지 바이너리를 분석할 수 있다. 윈도, OS X, 리눅스, 모바일 기기 등 상이한 플랫폼을 분석하는 타 패키지 및 디버깅 툴과 같은 플러그인을 추가할 수 있다.
미국 지디넷은 "기드라는 윈도, 맥, 리눅스, 안드로이드, iOS같은 주요 운영체제(OS)용 바이너리를 모두 분석할 수 있고 필요한 부가기능에 따라서 사용자가 패키지를 추가해 쓸 수 있는 모듈러 아키텍처를 제공한다"고 설명했다.
이어 기드라가 익히 알려져 있으며 인기도 있고 정부 네트워크에서 발견된 악성 소프트웨어를 분석하는 방산분야 협력업체에서 널리 활용된다는 익명의 정부관계자 발언도 인용했다.
반면 해커뉴스, 레딧, 트위터 등에서 기드라를 알고 있으며 써 봤다는 이들의 의견을 종합해 보면, 기드라는 고가의 상용 역공학 도구 '아이다(IDA)'에 비해 느리고 버그가 많다는 게 다수 의견이라고 지적했다.
NSA는 기드라를 오픈소스 커뮤니티에 공개할 전망이다. 과거에도 기술이전프로그램(TTP)의 일환으로 32개 프로젝트를 오픈소스화했다. 최근엔 소스코드 공유 및 버전관리 협업 사이트 깃허브(GitHub) 공식 계정까지 만들었다.
보도에 따르면 NSA는 올해 RSA컨퍼런스에서 기드라를 소개하는 주제강연을 진행한다. 인용된 설명은 기드라가 "고성능 상업용 툴에서 기대할만한 모든 기능을 포함하며 NSA에서 자체 개발된 신기능과 확장기능도 갖추고 있다"는 주장을 담고 있다.
NSA는 이 RSA컨퍼런스에서 기드라 시연을 진행한 다음 깃허브 계정을 통해 그 소스코드를 배포할 것으로 보인다. 오픈소스 커뮤니티 참여자들의 도움을 통해 아이다같은 상용 역공학 도구보다 성능이 떨어지고 버그가 많다는 약점을 극복할 수 있을지 주목된다.
관련기사
- "차세대 바이너리분석엔진 'B2-R2' 오픈소스로 푼다"2019.01.10
- KAIST, 바이너리 취약점 탐지 자동화기술 개발2019.01.10
- NSA는 와이파이 취약점 '크랙(KRACK)' 미리 알았을까2019.01.10
- 랜섬웨어 피해 100개국 확산…한국도 경보2019.01.10
미국 지디넷은 NSA가 내부에서 개발해 오픈소스로 푼 여러 도구 가운데 가장 성공적인 사례로 아파치 나이파이(Apache NiFi)를 꼽았다. 이는 웹애플리케이션간 대규모 데이터 전송을 자동화하는 도구로, 클라우드컴퓨팅 분야에서 인기를 모았다.
한국에서도 조만간 역공학 도구로 활용될 수 있는 바이너리분석엔진 'B2-R2'가 오픈소스로 공개된다. B2-R2는 한국 첩보기관이 아니라 한국과학기술원(KAIST)의 전산학부 차상길 교수가 지난해 12월 발표한 바이너리분석엔진이다. [B2-R2 발표 관련 보도]