어떻게 APT를 없앨 것인가

기술의 발전에 따라 급격히 변하는 IT 환경에서 다양한 기술을 새롭게 활용할 수 있게 되었지만, 그에 따른 보안 위협 역시 증가하고 있다. 그러한 면에서 기업이나 여러 단체에게 가해지는 지능형 지속 위협 (APT: Advanced Persistent Threat)은 단순한 위협으로 끝나지 않고 위기가 될 수 있다. 이에 대해서 지난 10월 23일에 “Stay Confident, We’ve Got Your Back”이라는 주제로 안랩 융합보안전략 컨퍼런스(ISF 2013 : Integrated Security Fair)가 열렸다. 첫 순서로 안랩의 김홍선 대표가 어떻게 지능형 지속 위협을 끝낼 수 있는지에 대한 솔루션을 제시하였다.



우리의 환경은 과거와 많이 달라졌다. 바이러스, 악성코드의 숫자는 급격하게 증가하였고, 2000년대에 만들어진 스마트폰이 현재의 스마트폰과 태블릿으로 이야기되는 모바일 시대를 이루고 있다. 이 기기들은 기계와 의사소통하는 것이 아니라 기술적인 장벽을 없애서 마치 멀리 있는 사람이 가까이 있는 것처럼 만들 수 있는 혁신적인 플랫폼이 되었다. 또한 소셜 네트워크 서비스를 통해 새로운 변화를 일으키고 있다. 과거에 제품을 만들어서 공급하는 산업 혁명의 시스템에서 벗어나 하나의 생태계, 플랫폼이 형성되어 있다. 예를 들어 구글이나 아마존, 애플 등 모두 자신의 플랫폼을 보유하고 있다. 이런 변화를 실현하고 있는 것은 무엇일까? 바로 소프트웨어이다.


이러한 소프트웨어는 크게 3가지 특성을 가지고 있다. 첫번째, 모든 소프트웨어는 사용 친화력이 있어야 한다. 컴퓨터가 워낙 대중화되어 사람들이 불편한 것을 용납하지 않는다. 과거에는 몇 달 동안 배워서 자신의 차례를 기다려야 겨우 사용할 수 있었지만, 지금은 컴퓨터의 성능이 훨씬 좋고, 많은 사람들에게 대중화되어 있다. 그래서 요즘엔 사람들이 받자마자 바로 사용하게 된다. 두번째, 데이터 트래픽이 무척 많아졌다. 환경의 변화에 따라 수많은 기기들이 연결되어 많은 데이터가 모여 엄청난 트래픽을 발생시키고, 클라우드가 형성되고 있다. 그것이 모여 빅데이터의 형태가 되기도 하며, 그것을 어떻게 활용할 것인가에 대한 고민이 생겼다. 세번째, 보안의 문제가 다시 부각된다. 보안이라는 것은 결국 인터넷과 소프트웨어의 취약점에서 발생하게 되기 때문이다.


지금까지 굉장히 많은 보안 사고들이 일어났다. 우리나라 뿐 아니라 선진국도 마찬가지로 많은 공격을 받았다. 점점 복잡해지고 테러, 사기, 절도 등 굉장히 다양하게 나타나고 있다. 게다가 더 많은 사람들이 IT기기를 통해 연결된 상태가 되어 가고 있어서 공개된 취약점이 더 늘어나고 있다. 그에 반해 요즘 해커들은 조직화되어 있고, 지능화되어 있다. 1-2명의 젊은 해커들의 공격으로 끝나는 것이 아니라 나름의 생태계를 가지고 많은 자본과 치밀한 구성으로 지속적으로 공격을 하게 된다. 그래서 우리는 그 위협의 근본적인 실체, 공격의 주체에 대해 좀 더 생각을 해볼 필요가 있다.


 

최근의 사이버 공격은 전부 악성코드로 이루어진다. 서버, 취약한 PC, 스마트폰을 공격해서 웹사이트, 이메일, 사회학적 기법, USB 등 엔드포인트를 가리지 않고 여러 가지 기법을 통해 파고들어 취약점에 대해 공격을 전개해나간다. 그러한 조직은 돈이 많아서 조직화되어 있고, 서둘러서 현금화할 필요가 없어서 작은 것을 추구하지 않고 오래 기다려서 큰 것을 얻으려고 한다. 즉, 기업에서 가장 가치 있는 것들을 노리고 있다. 이러한 조직화된 범죄 그룹들이 여러 목표를 바꿔가면서 공격하고 목표를 설정하면 쉽게 포기하지 않는다.



과거의 위협은 감기 같은 것이라고 볼 수 있었다. 증상도 바로 나타나고 불특정 다수를 대상으로 이뤄졌다. 사람이 독감주사를 맞듯이 처방 역시 백신을 통해서 했다. 해커들은 공격에서 안 풀리면 대상을 바꾸는 경우가 많았다. 그래서 일단 방어하면 큰 문제가 되지 않았다. 하지만 모든 감기에서 벗어날 수 없었다. 새로운 바이러스가 발생하면 바로 잡지 못 했다.

하지만 요즘 나타나는 APT는 암과 같은 존재라고 볼 수 있다. 증상이 바로 나타나지 않고, 잡았다 하더라도 거기서 끝나지 않는다. 악성코드가 하루에 20만개가 넘게 나오는데 그걸 잡아도 다른 것들이 또 나온다. 또한 취약점에 대해 아무리 잘 대비해놓았다고 하더라도 조직 내에 침투에 숨어있다가 취약점이 새로 나타나기를 기다리기도 한다. 6개월~1년을 기다려서 자신들이 원하는 목표를 달성할 때까지 잠복하고 공격을 한다.

 

그렇다면 우리는 왜 이런 보안사고를 겪게 될까. IPS(Intrusion Prevention Systems: 침입방지시스템) 같은 장비로 막으려고 하지만, 한 가지 원인만 있는 것이 아니다. 일단 접속되는 것들이 매우 많고, 모두 연결되어 있고, 사용자 또한 매우 많아져서 로그가 너무 많다. 또한 각각의 성격이 다 달라서 통합해서 보아야 한다. 게다가 APT의 경우 권한을 탈취해서 관리자처럼 행세하기 때문에 진짜 관리자인지 공격자인지 구분이 되지 않는 경우도 있다. 그래서 기존의 방어시스템이 여전히 필요하지만, 그것만으로는 무력해지게 된다.

우리는 사고가 발생했을 때 포렌식을 해보게 된다. 포렌식만 적절히 할 수 있다면 그것을 통해 알려지지 않은 악성코드가 어떻게 거쳐서 왔는지 확인할 수 있다. 하지만 해커는 똑똑해서 안티-포렌식 과정을 통해 흔적을 없애고 전부 삭제해서 없앤다. 그럼 우리는 다시 안티-안티-포렌식을 통해 다시 복구하고, 접속하는 과정을 거친다. 이처럼 현재의 문제는 악성코드 하나의 싸움이 아니라 큰 그림을 보아야 하는 포렌식 중심으로 바뀌었다. 그래서 우리는 패러다임을 바꿔야할 필요가 있다. 

 

대부분의 보안제품들은 수동적인 방식으로 동작되고 있다. 알려진 공격 방법이나 취약점을 공격할 때 시그니처를 기반으로 막고 있다. 이것도 물론 여전히 유효하지만 지금의 해커들은 전 세계 어느 백신도 탐지하지 못하는 새로운 악성코드를 만들어서 특정 조직에 들어온다. 그럼 백신이 아무리 경험적 접근(Heuristic Approach)을 통해 막으려 해도 어느 한 곳에서 비슷한 형태로라도 발견되어야 잡아낼 수 있다. 그래서 우리는 하나하나의 사건보다는 전체의 흐름을 포렌식 관점으로 보고 선제적(Proactive)으로 대응하는 방법을 세워야 한다. 그렇게 하기 위해서는 사람의 노동에 의지할 수 없고, 지능화된 시스템으로 대응이 되어야 한다.



안랩에서는 클라우드 기반의 악성코드 인프라 Ahnlab Smart Defense(ASD)를 만들었다. 여러 디바이스, 소프트웨어에서 실시간으로 커뮤니케이션하는 체제를 갖추고 있다. 먼저 알려진 공격, 알려진 정상파일을 분류하는 걸로 시작하는데 여기서 90%가 걸러진다. 그리고 위협이 탐지되었을 때는 행위를 기반으로 분석하게 되며 로컬에서는 불가능한 클라우드 분석을 통해 IP, C&C(명령 및 제어) 서버 정보 등 여러 정보를 수집한다. 이렇게 로컬에서 불가능한 알려지지 않은 위협의 경우 비율은 굉장히 작지만, 가장 치명적인 부분이다.


 


그래서 안랩에서는 그동안의 서비스 경험과 네트워크 관련 클라우드 기반 시스템을 이용해서 APT 솔루션인 TrusWatcher(해외에서는 MDS(Malware Defense System))를 만들었다. 이 APT솔루션은 크게 4단계로 구성되는데, 김홍선 대표는 이것을 New Horizon of Security라고 언급했다.


먼저 기존의 알려진 위협에 대해 대처한다. 웹, FTP, 이메일, 메신저 등 여러가지 경로로 오는 것들을 검증하게 된다. 어떻게 들어오는지, 악성코드인지 아닌지를 구분하게 되는데 여기서 많은 부분이 걸러지게 된다.

두 번째는 네트워크를 중심으로 한 수직적 보안이다. 수직적으로 들어오고 나가는 파일 중 알려지지 않은 것이 왔을 때 샌드박스(보호된 영역 내에서 프로그램을 동작시키는 것)를 통해 돌려보고 행위 기반으로 탐지하게 된다. 최근에는 최초 공격부터 문서 파일로 위장해서 공격을 하고 있어서 PE(Portable Executable) 파일 뿐만 아니라 문서와 같은 non-PE 파일 모두를 검증하게 된다. 또한 평판 클라우드 기반으로 탐지하여 기존에 알려지지 않은 것에 대해 위험성을 탐지해 낸다.

세 번째로는 내부 네트워크 상에서 대응하는 수평적 보안이다. 수직적 보안이 되어 있다고 해도 내부에 침투할 위협은 여전히 존재한다. 이것에 대응하기 위해 모니터링을 하게 되는데, 단순한 통계만을 보는 것이 아니라 치명적인지 여부와 실제로 공격의 형태인지 아니면 공격을 끌어들이는 유인책인지 등을 분류해서 막게 된다. 네트워크를 통과해서 실행이 됐다고 하더라도 그것을 보류하고(Execution Holding), 만약 암호화된 트래픽이라면 네트워크 장비에서는 볼 수 없는 상태인데, 엔드포인트에서 탐지하여 암호를 해독(Decryption)해서 다시 확인하는 방법으로 검증을 하게 된다.

네 번째로는 위에 언급된 3가지의 방법에 이것을 받쳐주는 보안 서비스이다. 포렌식, 관제 서비스 그리고 보안 컨설팅 등을 통해 APT와 같은 공격에 효과적으로 선제 대응을 할 수 있도록 해준다.



기존에 존재하는 보안 솔루션은 여전히 필요하고 중요하다. 하지만 PC의 숫자는 감소하고 있고 엔드포인트는 다변화하는 등 네트워크 중심의 환경으로 변화하고 있다. 이러한 상황에서 기존의 방어 수단을 유지하면서 네트워크와 에이전트가 함께 다차원적인 분석을 이용하는 것이 중요하다. 또한 수직적인 부분과 수평적인 부분을 동시에 모두 막고, 오히려 선제적인 대응을 하는 것이 APT에 대한 근본적인 대책이 될 수 있을 것이다. 


대학생기자 방기수 / KAIST 항공우주공학전공


지속가능성에 대한 고민을 하고 있습니다.
"우리는 우리가 하는 행동에 의해 우리가 된다." 



gisu.bang@kaist.ac.kr


댓글을 달아 주세요