엔드포인트 보안에서 머신러닝의 역할

최근 엔드포인트 보안이란 용어가 자주 들립니다. 엔드포인트(Endpoint)가 무엇이냐구요? 네트워크의 말단에 접속된 IT 기기라고 생각하면 됩니다. PC, 노트북, 서버용 컴퓨터와 같은 기기들이죠.

엔드포인트를 공격하는 해커들은 사람들이 관심을 가질 만한 내용에 악성코드를 포함하여 이메일을 보냅니다. 물류 담당자에게 운송장, 인사 담당자에게 이력서, 구매 담당자에게 견적서 등을 발송하여 메일과 첨부파일을 열어보도록 유도하는 것이죠. 이메일을 열어 악성코드가 실행되면, 즉 악성코드가 엔드포인트를 침입하면, 그 조직은 사이버 위협에 즉각적으로 노출됩니다.

전통적으로 엔드포인트 보안에는 안티바이러스 솔루션처럼 예방 차원의 보안 기술이 사용되었습니다. 하지만 기업들은 점점 더 정교해지는 멀웨어(Malware) 공격으로부터 엔드포인트를 보호하는데 어려움을 겪고 있습니다. 새로운 공격에 대응하기 위해 엔드포인트에 보안 제품을 추가로 설치하지만, 그로 인해 보안환경은 더욱 복잡해지고 있습니다. 특히, 기업 환경에서 위협 탐지는 상당히 오래 걸리기 때문에 엔드포인트 보안은 새로운 접근 방식이 필요합니다.

‘시스코 2018 아시아 태평양 보안 역량 벤치마크 보고서’

따라서 단순히 알려진 악성코드만 대응하는 방식은 최선이 아니며, 알려지지 않은 위협까지 탐지하고 공격이 활성화되기 전에 신속하게 대응할 필요가 있습니다. 이런 방식을 일컬어 업계에서는 엔드포인트 탐지 및 대응(EDR, Endpoint Detection Response)이란 용어를 사용합니다.

하지만 급변하는 환경에서 새로운 엔드포인트 보안 솔루션을 선택하기란 쉬운 일이 아닙니다. 어떤 보안 솔루션을 사용할지 알아보기 시작하면 머신러닝, 인공지능, 차세대 안티바이러스, 파일리스(Fileless) 멀웨어 탐지, 위협 사냥(Threat Hunting) 등의 용어를 접하며, 이들은 최첨단으로 보입니다.

또, 새로운 보안 솔루션을 위해 조사를 하다보면, 너무 많은 정보가 있고 이해하기 쉽지 않아 기존 제품을 그대로 유지하려는 유혹도 생깁니다.

이 용어들이 어려워 보일지라도 용어들을 잘 살펴보면 솔루션이 가져야 할 기능과 특징이 포함되어 있습니다. 이런 의미와 용도를 모른다면, 필요한 기능을 제공하지 못하는 도구를 선택할 수 있으며, 심지어는 사용도 못할 도구를 구매할 수도 있습니다.

엔드포인트 보안에서 가장 많이 들리는 용어 중 하나가 머신러닝 입니다. 시스코도 머신러닝에 관한 질문을 많이 받습니다. 대부분은 이런 것들이죠. “시스코는 악성코드를 잡는데 머신러닝을 활용하나요?” 그러면 저희는 이렇게 답합니다.

“머신러닝만으로는 멀웨어를 잡을 수 없습니다.”

엔드포인트 보안에서 머신러닝은, 엔드포인트 보안 솔루션을 특별한 알고리즘으로 훈련시키는 것입니다. 과거에 발견된 악성 파일의 특성을 기반으로 새로운 악성 파일과 그 악성코드의 움직임을 발견할 수 있도록 ‘학습’시키는 것입니다. 시스코의 AMP for Endpoints 솔루션이 바로 그런 역할을 합니다.

머신러닝은 무엇일까?
머신러닝이 악성코드의 탐지율을 높여 여러분의 시간을 절약하는데 사용되기는 하지만, 머신러닝만으로는 악성코드를 잡을 수 없습니다.

엄청난 양의 데이터를 머신러닝 알고리즘에 입력할 수 있습니다. 그러면 기계는 실제 상황에서 최선의 행동을 스스로 결정합니다. 전문가들이 기계 행동의 기준이 되는 규칙을 만드는 것이 아닙니다. 기계는 대상이 되는 사물을 다양한 측면에서 살펴보고 학습합니다.

예를 들어, 고양이와 개의 차이를 학습시키는 경우, 고양이와 개의 앞모습, 뒷모습, 옆모습, 위에서 바라 본 모습 등 다양한 각도의 수많은 사진을 보여주어야 합니다. 머신러닝은 고양이와 개에 대해 가장 많은 ‘데이터’를 확보한 기계가 가장 적절한 구별 방법을 스스로 찾아냅니다.

엔드포인트 보안에서 머신러닝
머신러닝 및 인공지능 분야의 전문가인 앤드류 응(Andrew Ng) 박사는 지도(Supervised) 방식의 머신러닝 알고리즘의 약점에 대해 이렇게 설명합니다.

"이 알고리즘은 엄청난 양의 데이터가 필요합니다. 시스템에게 A와 B의 예시를 아주 많이 보여주어야 합니다. 예를 들어, 사진 태그 시스템을 개발하기 위해서는 수십 장에서 수십만 장의 사진(A)뿐만 아니라 그 사진 속에 사람이 있는지 여부를 나타내는 라벨과 태그(B)도 함께 보여줘야 합니다."

즉, 악성 파일과 그렇지 않은 파일을 정확히 구분할 수 있는 머신러닝 알고리즘을 만들기 위해서는 이미 알려진 멀웨어를 이용해 시스템을 학습시켜야 한다는 말입니다. 머신러닝 알고리즘은 학습한 악성코드가 많을 수록 정확도가 향상됩니다.

하루 200억 건의 보안 위협을 어떻게 막을까?
시스코는 지난 30년 동안 인터넷 백본을 구축해 왔으며 지금도 하루에 200억 건, 연간 7조 건의 위협을 차단하고 있습니다. 이렇게 차단된 위협 사례는 시스코의 머신러닝 엔진에 데이터로 입력되고, 상세하게 분석되어 알고리즘 학습에 사용되고 있습니다.

또한 시스코는 AMP for Endpoints 솔루션을 위해 연구와 유효성 평가를 전담하는 팀을 운영하고 있어, 방대한 양의 데이터를 활용하여 보호 성능을 향상시키고, 탐지 시간을 지속적으로 단축하고 있습니다. 전담 팀의 연구와 연구원들이 분석한 위협의 결과는 머신러닝 알고리즘을 학습하는데 사용되어, 알려지지 않은 새로운 유형의 위협에 더 효과적으로 대응합니다.

머신러닝은 시간이 지나면서 스스로 더 똑똑해진다는 장점이 있으며, 업계 최고의 지식을 지속적으로 머신러닝에 투입한다면, 보안 솔루션의 정확도는 더욱 향상됩니다.

엔드포인트 보안의 기본을 생각해보면 이해하기 더 쉽습니다. 엔드포인트 보안 도구는 파일과 기타 관찰 항목을 다음의 세가지 범주로 분류합니다.

● 본 적이 있고, 안전하다고 확인한 것
● 본 적이 있고, 위험하거나 악의적이라고 확인한 것
● 지금까지 본 적이 없어, 안전하거나 또는 악의가 있는지 확인할 수 없는 것

파일 분류에 머신러닝을 사용하면 솔루션은 파일을 더 신속하고 정확하게 판정할 수 있습니다. 충분히 많은 양질의 데이터로 알고리즘을 학습했다면, 새로운 미지의 위협도 비교적 쉽게 찾을 수 있습니다.

머신러닝의 성능은 공급되는 데이터의 양에 따라 결정됩니다. 머신러닝 알고리즘이 악성코드를 더 많이 학습할수록, 네트워크에 침입하려는 악성코드를 탐지하는 엔드포인트 보안 솔루션의 성능은 향상됩니다.

또, 이러한 작업은 모두 자동으로 진행되어야 합니다. 머신러닝 도구가 경보를 보내고, 사용자가 파일 처리 방법을 정해야 한다면, 이 도구의 효용성과 효율성이 크지 않다는 의미입니다.

솔루션 자체가 아닌 솔루션의 일부
머신러닝과 이야기에서 미리 밝히고 싶은 것은, 머신러닝이 시스코 솔루션의 위협 탐지 시간, 효율성, 솔루션 효과를 크게 향상시키는 것은 사실이나, 머신러닝이 만능 도구는 아닙니다.

머신러닝은 어디까지나 솔루션의 일부라고 생각해야 합니다. 새로운 악성코드는 늘 등장할 것입니다. 이런 새로운 악성코드가 사용자 환경에 침입을 시도할 때, 머신러닝에만 의존하는 도구는 이를 방어하지 못할 가능성이 큽니다.

이 시점에서 스스로 자문할 필요가 있습니다. 머신러닝이 막지 못한 위협은 어떻게 막을 수 있을까? 악성코드를 확인이나 할 수는 있을까? 일단 사용자 환경으로 보안 위협이 침투하면, 머신러닝은 더 이상 도움이 되지 않습니다. 처음 만나는 악성코드를 식별할 수 있을 정도로 완성도가 높은 포괄적인 보안 도구를 확보하고 있길 바라는 수밖에 없습니다.

파일리스 악성코드는 또 어떤가요? 최근 네트워크를 침입하는데 파일리스 악성코드 사용이 늘고 있는데요, 이유가 있습니다. 머신러닝 알고리즘은 악성파일과 그렇지 않은 파일을 식별할 수 있도록 학습이 가능하지만, 분석할 파일이 아예 없거나 런타임 분석의 대상도 없는 경우에는 별로 도움이 되지 않기 때문이죠.

기존에 없던 악성코드로부터 보호하기 위해선 계층적인 접근 보호, 탐지, 응답이 필요합니다. 만능 솔루션은 없습니다. 최대한 많은 위협을 조기에 막아내는 것이 중요하지만, 단 1%의 허점만 있어도 당할 수 있습니다.

시스코의 접근법
시스코는 특히 엔드포인트 보안에 대해 계층적 보안 접근 방식을 채택하고 있습니다. 차세대 엔드포인트 보안 솔루션인 AMP for Endpoints는 침입을 막기 위해 십여 종류의 탐지 및 보호 기술을 사용하며, 그 중 하나가 머신러닝입니다. 그 외의 탐지 및 보호 기술은 다음과 같습니다.

· 악의적인 활동에 대한 보호: 실행 파일의 행동을 지속적으로 모니터링하고, 유효 여부를 평가하여, 파일에 의해 실행되면 안 되는 프로세스를 종료합니다.
· 공격 방지 엔진: 메모리에서 실행되는 모든 것을 모니터링하고, 올바른 응용프로그램이나 프로세스가 악성코드 배포에 악용되는 일이 없도록 방지합니다.
· AMP 내장 서명 기반 탐지 엔진: 인식된 파일이 악성 파일인지 여부를 신속하게 판단합니다.

계층별 접근 방식을 구성하는 요소는 여기에 머무르지 않습니다. AMP for Endpoints는 머신러닝을 사용하는 시스코의 제품 중 하나일 뿐입니다. Stealthwatch와 Cognitive Threat Analytics에도 머신러닝 기능이 내장되어 있습니다. 시스코의 보안 제품이 정확히 어떤 방식으로 머신러닝을 활용하는지는 다음에 또 소개 드리겠습니다.

Originally Posted at: https://apjc.thecisconetwork.com/site/content/lang/ko/id/9621