김혜영 리버싱랩스코리아 차장

[컴퓨터월드]

▲ 김혜영 리버싱랩스코리아 차장

악성코드 분석 - 지피지기(知彼知己)만으로 충분할까?

‘지피지기(知彼知己)면 백전불태(白戰不殆)’라는 말이 있다. 적을 알고 나를 알면, 백 번을 싸워도 위태롭지 않다는 뜻이다. 병법의 바이블로 또는 사회생활의 노하우로 다양하게 회자되는 이 말은, 언뜻 보면 어디에나 적용될 수 있는 불변의 진리인 듯하다. 그러나 요즘에는 모든 정보를 내주기만 하고 가만히 있는 적은 없다. 한쪽이 상대의 수를 짐작하고 바둑돌을 내려놓으면, 상대는 또다시 예상을 벗어나는 새로운 수로 판세를 뒤흔들기 마련이다.

보안업계의 모습이 이와 같다. 한 단계 더 발전한 분석 솔루션이 출시되면, 곧이어 보다 정교한 방법으로 이를 우회/회피하는 악성코드와 공격기법이 등장한다. 점점 더 날카로워지는 창과 이에 못지않게 견고해지는 방패의 싸움이다.

이렇게 양쪽 모두 서로 잘 알고 있는 상황이라면, 어느 쪽이 승리하게 될까? 아마도 상대를 조금이나마 ‘더 빨리’ 파악하고 대응하는 쪽이 유리할 수밖에 없겠다. 단순한 정보전이 아닌 효율성의 싸움인 것이다. 때문에 이제는 어떠한 단일 솔루션도 다양한 위협으로부터 조직을 완벽하게 보호한다고 믿을 수 없게 되었다. 많은 기업들이 여러 종류의 악성코드 분석 솔루션을 연계해서 사용하는 이유다.


정적분석과 동적분석 - 기술을 먼저 알아야 한다

1. 정적분석과 동적분석의 구분

오늘날 대부분의 악성코드 분석 솔루션은 리버싱엔지니어링 기술에 기초를 둔다. 리버싱엔지니어링은 컴퓨터 프로그램의 구조, 기능, 동작 등을 분석하는 작업으로, 크게 정적분석과 동적분석 2가지로 나뉜다.

동적분석이란, 파일을 실행시키고 그 결과를 토대로 판단을 내리는 것을 말한다. 즉, 실제로 파일이나 프로그램을 ‘실행’해 그 과정에서 이뤄지는 모든 동작을 지켜보겠다는 입장이다. 일반적으로 파일, 레지스트리, 네트워크 등을 관찰하면서 프로그램의 행위를 분석하고, 경우에 따라 디버그를 이용해 프로그램의 내부 구조와 동작 원리를 분석하기도 한다.

정적분석의 특징은 파일을 실행하지 않고 분석함으로써, 이에 필요한 시간과 비용을 즐일 수 있다는 장점이 있다. 정적분석은 각 파일의 소스코드나 기타 해시 값을 기준으로 파일의 속성을 판단한다. 분석 기준이 되는 정보로는 흔히 파일의 종류, 크기, 헤더정보, Import/Export API, 내부 문자열, 실행 압축 여부, 등록정보, 디버깅 정보 등이 있다.

2. 정적/동적분석의 장단점과 상호 보완성

동적분석은 파일 실행 시 나타나는 변화를 모니터링하면서 어떠한 기능이 수행되는지 체크한다. 악성코드가 포함된 파일이 실행될 경우에 대비해 보통 가상 환경에서 분석을 수행한다. 동적분석을 수행할 때는 특히 의심되는 파일과 악성코드의 진행 프로세스를 면밀히 살펴보는 것이 중요하다. 랜섬웨어와 같이 악의적으로 파일이 암호화되거나, 특정 파일이 생성/삭제될 경우 이는 악성코드 행위에 대한 단서가 될 수도 있기 때문에 어떠한 파일에 변화가 생기는지를 놓치지 말고 확인해야 한다.

이와 같이, 동적분석은 파일의 실제 실행 환경에서 다양한 변화를 관찰할 수 있기 때문에 정교한 분석이 가능하다는 장점을 지닌다. 특히 기존에 알려진 악성코드의 경우 탐지 확률을 크게 높일 수 있고, 압축이나 난독화 처리된 파일도 상대적으로 수월한 분석이 가능하다. 그러나 알려지지 않은 악성코드까지 완벽하게 탐지하기는 어렵다. 파일에서 일어나는 변화를 관찰하는 것만으로 악성코드라고 단정 지을 수 없고, 분석 대상의 바이너리가 정확하게 어떤 방식으로 동작하는지 알 수 없거나, 특정 운영체제나 서비스팩, 환경에서만 동작할 경우 원활한 분석이 이뤄지지 않을 수도 있기 때문이다.

특히, 자동화된 동적분석 도구는 파일을 분석함에 있어 특정 패턴이나 기준을 지니기 때문에 악성코드가 이를 우회해 탐지를 피할 수도 있다. 예를 들어 지능화된 악성코드는 언제 가상 환경이 실행 중인지를 판단하고, 해당 구간동안 악성행위를 멈춰 탐지를 피한다. 아래는 자동화된 파일 기반의 동적분석 도구를 우회하는 대표적인 악성코드 기법의 예다.

▲ 리버싱랩스 정적분석 솔루션과 동적분석 도구의 연동사례(출처: 리버싱랩스코리아)

한편 정적분석은 파일의 실행없이 각 파일이 지닌 고유의 해시나 사용되는 API, 그리고 문자열 등을 바탕으로 파일의 성향(양성 또는 악성)을 유추하기 때문에 위와 같은 악성코드의 우회/회피기술의 영향력에서 어느정도 벗어날 수 있다. 또한 행위 기반의 동적분석 방식과 달리, 파일 속성을 통한 심층분석이 가능해 알려지지 않은 위협에 대한 탐지가 가능하다.

따라서 정적분석은 동적분석의 탐지망을 벗어난 의심스러운 파일을 심층분석 함으로써 악성코드 분석의 완성도를 높여주는 역할을 하기에 용이하다. 파일의 실행 없이 빠른 속도로 대용량의 분석이 가능하기 때문에 동적분석 시 발생하는 시간과 용량에 대한 부담감을 덜어줄 수도 있다.

실제로 기업의 보안담당자가 동적분석 도구를 활용해 특정 파일을 분석하고, 분석결과 중 의심스러운 파일은 ‘리버싱랩스 정적분석 솔루션’으로 심층분석을 진행하는 한층 강화된 방어기술이 활용되고 있다.

먼저 파일 내 해시 값 등 다양한 위협지표를 추출한 후, 해당 지표를 리버싱랩스 자체 파일 인텔리전스 데이터베이스(TiCloud)와 비교한다. 이후 파일이 악성코드의 지표와 동일하거나 유사한 정보를 갖고 있다는 분석결과가 확인되면, 이에 대한 조치를 취하고 해당 내용에 대해 리포팅한다.

▲ 리버싱랩스 정적분석 솔루션과 동적분석 도구의 연동사례(출처: 리버싱랩스코리아)


기업의 부담을 덜어주는 동적분석과 정적분석의 통합관계

악성코드를 활용한 공격형태는 점차 다양해지고, 새로운 악성코드가 발견되는 빈도 역시 점점 늘어나고 있다. 특히 앞서 언급한 것과 같이 파일압축이나 난독화 등의 처리로 파일 내 정보를 확인할 수 없도록 막는 방법은 쉽게 활용되는 공격방법이다. 그 동안은 파일의 자동 압축해제를 지원하는 정적분석 도구가 많지 않았으므로, 이를 동적분석 도구에 의존하는 경우가 많았다. 파일분석에 소요되는 시간이나 가상환경을 지원하는 서버 용량에 부담이 되는 구조였다고 할 수 있다.

일반적인 동적분석의 경우, 그에 앞서 일부 정적분석을 수행하는 것으로 알려져 있다. 그러나 이는 본격적인 동적분석을 진행하기 전 간단한 사전 필터링을 하는 수준에 그치기 마련이며, 실질적인 언노운 위협의 탐지나 효율성 증대에는 거의 영향을 미치지 못한다는 평가를 받는다. 동적분석 후, 전문적인 정적분석 도구를 활용한 심층분석이 수행돼야 하는 이유다.

리버싱랩스 정적분석 솔루션은 360개 이상의 압축계열 파일에 대한 자동 압축해제 기능을 지원한다. 또한 파일 한 개당 5밀리세컨드 초 내로 분석하는 빠른 분석속도를 제공하기 때문에 기존의 동적분석 도구에만 의존해서 발생하는 용량과 시간의 한계를 극복하는 데 도움을 줄 수 있다. 뿐만 아니라, ‘액티브 파일 디콤포지션’이라는 고유의 핵심 기술로 파일 당 3,000개 이상의 위협 인디케이터를 추출해 다양한 정보 및 행위기반의 특징을 도출할 수 있다.

위협 인디케이터를 추출하면, 이를 바탕으로 파일의 기능적 유사성을 판단해 악성코드를 식별하고, 유사 정도에 따라 파일을 단계별로 분류하는 방식이다. 이렇게 심층적인 분석이 가능한 정적분석 도구와 동적분석 도구를 연동할 경우, 기업은 파일 압축해제부터 실행, 분석, 그리고 의심되는 파일에 대한 심층분석과 위협 헌팅까지 악성코드 분석에 필요한 모든 단계를 원스톱 프로세스로 진행할 수 있게 된다.


보안시스템 구축, 완벽함 대신 효율성에 집중하라

오늘날 사이버 공격은 기존 악성코드의 재사용과 수정, 그리고 완전히 새로운 악성코드가 혼재된 양상을 보이고 있다. 이에 따라 하나의 완벽한 보안솔루션을 기대하기는 어려워졌다. 그보다는 서로 다른 솔루션을 연동해 시너지 효과를 이끌어내는 것이 효율적이다. 사이버 전쟁은 변화무쌍하다. 일방적인 싸움이 아니라 양쪽 모두 상대를 파악하며 새로운 계책을 내놓기를 반복하기 때문이다.

완벽한 보안이란 없다. 대신 가능한 효율적으로 상대(=악성코드)를 파악하고, 이에 대응하는 액션을 취하며 ‘한 발 빠르게’ 움직이는 데 집중할 뿐이다. 사이버 전쟁에서의 병법은 백전불태(白戰不殆)의 완벽함을 추구하는 것이 아니라, 늘 최선책을 찾는 것에 있다.

저작권자 © 컴퓨터월드 무단전재 및 재배포 금지