바로가기 메뉴
본문 바로가기
대메뉴 바로가기

TECH M

'쫓는자와 쫓기는자'의 영원한 숨바꼭질

악성코드 탐지 회피기술은 어떻게 진화해왔나

2017-09-08강진규 기자
악성코드 탐지 회피기술은 어떻게 진화해왔나

 

악성코드와 그 악성코드를 잡기 위한 보안 기술이 숨바꼭질을 계속하고 있다. 악성코드는 정보를 빼내거나 시스템을 무력화하는 것이 목적인데, 탐지가 되면 이런 시도가 무력화될 수 있다. 보안 전문가들은 탐지를 위해 매진하고 있고, 반대로 공격자들은 회피 방법을 찾고 있는 것이다.

1980년대 악성코드의 탐지 회피 기술이 출현한 뒤 악성코드가 진화를 거듭하고 있다. 최근에는 행위 기반 탐지 기술을 회피하기 위한 수법이 등장하고 있으며, 탐지 회피에 전문화 된 툴(Tool)을 판매하는 암시장도 조성되고 있다. 전문가들은 앞으로는 머신러닝 기술이 악성코드에 적용돼 탐지를 회피할 가능성이 높다고 보고 있다. 이에 진화하는 악성코드에 맞서는 대응 기술 개발도 서둘러야 한다는 지적이다.

 

[출처: 맥아피]

 

암호화로 시작해 지능화 된 탐지 회피기술

글로벌 보안기업 맥아피는 최근 공개한 ‘맥아피 연구소 위협 보고서’에서 그동안 나타난 악성코드 회피 기법들과 최신 추세를 분석했다. 맥아피 보고서에 따르면, 악성코드 회피 기법은 1980년 처음 등장한 후 갈수록 정교해지고 있다.

맥아피는 안티 멀웨어 제품으로부터 스스로를 방어하려고 시도한 최초의 바이러스가 MS-DOS 바이러스인 ‘캐스케이드(Cascade)’라고 설명했다. 이 바이러스는 자신의 코드를 부분적으로 암호화해 보안 분석가들이 판독할 수 없도록 해 스스로를 방어했다.

 

[출처: 맥아피]

 

1990년대 초에는 다형성(polymorphic) 바이러스로 알려진 ‘카멜레온(Chameleon)’이 등장했다. 카멜레온은 고도로 암호화 돼 있었고 정크 코드가 포함돼 연구자들의 분석을 더 어렵게 만들었다. 정크 코드는 보안 분석가들을 속이거나 시간을 낭비하도록 하기 위해 쓸모없는 코드나 가짜 명령어를 바이너리에 추가한 수법이다.

맥아피 보고서는 과거 안티 멀웨어 제품들이 비교적 간단했기 때문에 초기의 회피 기법들 역시 간단했다고 분석했다. 가령 악성파일에서 비트 하나만 변경해도 보안 제품의 탐지를 우회할 수 있었다는 것이다. 하지만 보안 프로그램들이 정밀하게 악성코드를 분석하고 행위 기반으로 탐지하기 시작하면서 회피 기법도 다양해지고 있다.

대표적인 회피 수법으로는 크립터, 패커, 바인더, 펌퍼 등이 꼽히고 있다. 크립터(Crypter)는 실행 중에 악성코드를 암호화, 복호화하는 기법으로 백신 소프트웨어(SW) 탐지와 행위 분석을 막는다. 패커(Packer)는 악성코드 파일을 암호화하는 것이 아니라 압축해 탐지를 회피하는 방식이다.

바인더(Binder)는 여러 개의 악성코드 파일을 하나로 연결해 분석을 어렵게 하는 기법이다. 악성코드 제작자들은 보통 악성코드 파일을 정상적인 실행파일(.exe)과 결합하고 있다. 펌퍼(Pumper)는 파일의 사이즈를 증가시켜 악성코드가 안티 멀웨어 엔진을 우회할 수 있도록 하며, 퍼드(FUD)는 악성코드가 실행되기 전에 안티 멀웨어 엔진에 의해 탐지되지 않도록 악성코드 파일을 보호한다. 또 무파일 악성코드(fileless malware)는 메모리에 스스로를 삽입해 시스템을 감염시키며 디스크에 파일을 쓰지 않아 탐지를 어렵게 한다. 또 난독화(obfuscation)는 악성코드를 판독할 수 없도록 악성코드를 만드는 기법이다.

지난 수년 간 발견된 유명 악성코드에는 이같은 회피 기법들이 사용되고 있다. 맥아피 연구소는 2014년 은행을 겨냥해 등장한 드리덱스 트로이 목마 악성코드가 회피 기법에 의존하는 악성코드라고 지적했다. 드리덱스는 아톰봄빙(AtomBombing)이라는 회피 기법을 사용했다. 이 기법은 애플리케이션들이 데이터를 저장 및 액세스할 수 있도록 운영체제(OS)가 제공하는 아톰 테이블(Atom Table)을 사용한다. 아톰 테이블은 애플리케이션 간에 데이터를 공유할 때도 사용되는데, 악성코드를 아톰 테이블에 주입하고 정상 애플리케이션이 이 코드를 실행하도록 해 탐지를 회피한 것이다.

니메인(Nymain) 악성코드의 경우는 데이터를 감별하는데 쓰이는 메타 데이터가 정상적인 것처럼 보이도록 속였다. 메타 데이터에는 파일 버전, 회사명, 언어 등 프로그램에 관한 정보가 포함돼 있는데 이를 정상적인 것처럼 속인 것이다.

 

암시장 등장에 안티 샌드박스 기술 확산까지

최근에는 악성코드 탐지 회피를 위한 도구를 판매하는 암시장도 형성되고 있다. 악성코드, 랜섬웨어 도구를 판매하는 것처럼 탐지 회피에 전문화된 프로그램을 거래하고 있는 것이다.

맥아피 연구소는 몇몇 판매자들이 여러 회피 기법들을 하나의 도구로 통합해 암시장에서 정교한 악성코드 제작자들이나 대규모 공격을 지원하기 위해 생성된 악성코드 유포를 담당하는 관계자들에게 판매하고 있다고 분석했다. 범죄 단체와 해커 조직들이 회피 기법에 많은 관심을 갖고 있다는 것이다.

맥아피가 분석한 자료에 따르면, 암시장 거래 회피 도구는 무료 제품에서부터 400달러짜리 제품까지 다양했다. A 툴은 탐지되지 않는 시간을 보장해준다며 1개월에 239달러의 라이선스를 받았고, B 툴은 72개의 프로그램을 묶어 2.99달러에 판매됐다. C 툴은 암호화, 난독화로 분석되지 않도록 하는 SW라며, 157.71달러에 판매됐다.

 

[출처: 맥아피]

 

맥아피와 보안 사이트 바이러스토탈의 분석에 따르면, 악성코드 회피 사례 중 이같은 안티 보안 도구를 이용한 사례가 21.2%를 차지했다.

이밖에도 안티 샌드박스, 코드 주입, 안티 디버깅, 안티 모니터링 등이 최근 회피에 사용되고 있는 것으로 알려졌다. 안티 샌드박스는 23.3%로 최근 가장 많이 사용되고 있었다. 샌드박스는 보호된 영역 안에서 프로그램을 작동시키는 보안 SW와 기법을 뜻한다. 안티 샌드박스 기법은 샌드박스가 가상환경을 사용한다는 점을 고려해 가상환경과 관련된 레지스트리 키, 파일, 프로세스 등의 실행 정보를 악성코드에 알려주는 것이다. 이 정보를 바탕으로 악성코드가 탐지를 회피하게 된다.

또 윈도 등 OS에서 실행 권한을 획득한 후 방화벽, 안티 멀웨어 솔루션, 모니터링 등을 비활성화 하는 수법도 사용되고 있다. 

이런 회피 시도를 막기 위해 머신러닝 등 최신 기술을 악성코드 탐지와 치료에 활용하는 방안이 활발히 논의되고 있다. 하지만 해커들 역시 머신러닝 등을 통해 회피에 나설 가능성도 높다는 지적이다. 맥아피 연구소는 보안 업계뿐 아니라 공격자들도 머신러닝에 대해 많은 관심을 갖고 있다며, 실제로 지난 3월 머신러닝에 기반해 탐지를 회피하는 악성코드가 발견됐다고 밝혔다. 이에 따라 앞으로도 악성코드를 막으려는 측과 이를 회피하려는 측의 끝없는 대결이 더욱 고도화될 것으로 전망된다.

[테크M = 강진규 기자(viper@techm.kr)]

(주)테크엠주소 : 서울시 강남구 테헤란로2길 27, 10층 (역삼동, 비젼타워)대표이사.발행인 : 김현기편집인 : 허준개인정보보호책임자 : 김현기청소년보호책임자 : 허준
사업자등록번호 : 553-81-01725대표전화 : 070-4513-1460보도자료 및 제보 : press@techm.kr