기대감 지나치면 진짜 가치 살리지 못할 수도 있어...현실적 기대감 중요
[보안뉴스 문가용 기자] 치솟고 있는 인공지능과 머신 러닝, 혹은 딥 러닝의 인기 때문인지 생각보다 많은 보안 담당자들이 인공지능만 등장하면 만사가 해결될 것이라고 믿게 됐다. 인공지능은 그런 이들에게 마법과 같은 해결책이자 메시야다. 아쉽지만 인공지능이고 딥러닝이고, 전부 하나의 보안 툴일 뿐이다. 지금도 우리가 사용하고 있는 그런 툴들 말이다.

[이미지 = iclickart]
일단 이번 기고글에서 본인은 ‘인공지능’이라는 말 대신 ‘머신 러닝’이란 말을 사용할 예정이다. 아직 ‘인공지능’이라는 표현이 붙을만한 기술은 존재하지 않기 때문이다. 현 시점에서 인류가 보유한 기술을 가장 정직하게 표현하는 말은 ‘머신 러닝’이라고 생각한다.
그 마법과 같은 AI는 지금 어디 즈음 있을까? 아니, 인공지능이 아니라 머신 러닝. 이를 파악하기 위해선 먼저 보안 업계가 설정한 목표부터 봐야 한다. 우리는 머신 러닝을 왜 원하는가? 악의적인 행위와 행위자들을 보다 잘 찾아내기 위해서다. 즉, 우리가 정상이라고 생각하는 것들에서 벗어나는, 비정상적인 것들을 찾아내는 데에 우리의 기대치는 존재한다.
그런데 머신 러닝의 발전 여부와 상관없이 반드시 알아둬야 할 것이 있는데, 우리는 아직 ‘정상’이 무엇인지 확실히 정의하지 못하고 있다는 것이다. 이는 역사적으로 풀기 어려운 문제 중 하나였다. 우리가 매일처럼 사용하는 노트북은 어떻게 해야 정상이고, 어떻게 해야 비정상일까? 새로운 애플리케이션을 설치하게 되면, 그건 어제의 정상 상태에 비해 비정상이 되는 걸까? 어제가 정상이었다고, 우린 무슨 근거를 가지고 말할 수 있을까? 머신 러닝이라는 기술이 도입되어야 할 자리부터 단단한 토양을 갖추고 있지 못하다.
이번에는 머신 러닝이라는 분야 자체를 한 번 보자. 크게 두 가지로 나뉜다. 지도 학습(supervised learning)과 자율 학습(unsupervised learning)이다. 지도 학습의 경우 데이터를 항목화하는 데에 뛰어나다. 좋다와 나쁘다를 가늠하는 것에 특화되어 있다는 것이다. 물론 대량의 데이터를 학습해야 결과들이 보다 정확해진다. 이 대량의 데이터는 누군가 선별하고 다듬어 컴퓨터에게 제공한 것들이다.
자율 학습에 기반을 둔 머신 러닝은 대량의 데이터를 분석하기 좋게 만드는 데 강점을 가지고 있다. 산더미 같은 데이터를 이해하기 쉽게 만들어주는 건데, 아쉽게도 정상과 비정상을 구분하는 데에 큰 재주는 없다. 머신 러닝의 이러한 학습법들을 조금 더 세분화시켜보자.
지도 학습
사실 사이버 보안이 머신 러닝에 대해 기대한다고 했을 때, 대부분 지도 학습 기반 머신 러닝을 뜻한다. 활용 사례 중 대표적인 것을 꼽으라고 한다면 멀웨어 식별과 스팸 탐지가 있다. 사실 오늘 날의 멀웨어 식별 개념은 딥러닝 기술로부터 큰 도움을 받을 수 있다. 이미 오탐 및 잘못된 경보의 비율을 크게 떨어트리고 있기도 하다. 한 마디로 멀웨어 탐지와 머신 러닝은 궁합이 좋다.
왜 그럴까? 단순하다. 알고리즘이 학습할 데이터가 많기 때문이다. 멀웨어 샘플도 풍부하고 정상이라고 분류되는 애플리케이션 샘플은 더더욱 넘쳐난다. 훈련할 재료가 바다처럼 많다보니 알고리즘이 빠르게 학습하고 정확해지는 것이다. 스팸 탐지와 머신 러닝의 궁합이 잘 맞는 것도 비슷한 이유에서다.
하지만 사이버 보안의 다른 분야는 머신 러닝 알고리즘에 풍부한 훈련 교재를 제공할 수 없다. 예를 들어 네트워크 트래픽으로부터 공격자를 탐지해내는 것은 머신 러닝으로 해결하기 힘든 분야다. 아직도 이 부분에 대한 정형화된 데이터를 우린 끌어내지 못하고 있다. 적어도 20년 동안은 실패만 거듭했다. 그러므로 머신 러닝 알고리즘에 줄 수 있는 게 애칭밖에 없다.
자율 학습
데이터를 탐험한다는 면에 있어서는 자율 학습이 두각을 나타낸다. 관찰해야 하는 데이터의 차원(dimension)과 필드(field)를 줄여주거나 적절히 선택하고 묶어주는 데 특화되어 있다. 하지만 비정상 행위나 공격을 탐지해내는 데 있어서는 매우 제한적이다. 물론 클러스터링(clustering)이라고 불리는 데이터 ‘묶어내기’ 기술로 이를 보완하는 방법을 개발 중에 있긴 하다. 하지만 아직 도착점에서는 상당히 멀어 보인다. 특히 알고리즘의 ‘클러스터링’ 기준을 아직 아무도 설명할 수 없기에, 이를 상용화하려는 시도는 먼 훗날의 얘기다.
맥락과 전문 지식
위에서 언급한 문제를 전부 해결했다손 치더라도 많은 과제들이 남아있다. 머신 러닝 알고리즘 주위에 우린 뭔가를 더 쌓고 보완하고 추가해야 하나의 ‘서비스’ 혹은 ‘상품’이 된다. 그 첫 번째가 바로 ‘맥락’이다. 맥락이란, 데이터 내 어떤 요소를 더 깊이 이해할 수 있도록 도와주는, 그 요소와 관련된 정보들을 말한다. 예를 들어 기기의 ‘맥락적 정보’라고 한다면 기기의 쓰임새, 위치, 사용자 등이 있다. 해당 기기의 네트워크 트래픽 로그만 보다가 맥락 정보를 더하면 이해가 훨씬 빠르고 정확해진다. 머신 러닝 기술은 맥락 정보와 함께 전달됐을 때 훨씬 더 높은 효과를 보인다.
보안 전문가 머신 러닝을 만들기 위해 두 번째로 덧입혀야 할 것은 전문 지식이다. 이건 알고리즘에 훈련용 데이터를 제공하는 것과 상당히 다른 문제다. 멀웨어 데이터와 정상 애플리케이션 데이터를 알고리즘에 던져주고 그 결과를 지켜보는 게 보통 우리가 머신 러닝 알고리즘을 훈련시키는 방법인데, 전문 지식을 입력해주려면 어떻게 해야 할까? 아직 여러 이론들이 등장하고 있다. 그 중 최근 흥미를 끄는 것은 베이지언망(Bayesian belief network)라는 것이다. 아직 필자도 이에 대해 지켜보고만 있는 중이라 더 쓸 말은 없다. 독자분들도 함께 이 기술을 알아보면 좋을 거 같아 이름만 언급한다.
머신 러닝을 최고의 보안 솔루션으로 만드는 것도 좋지만, 인간 분석가들을 최대한 도울 수 있는 툴의 개발로서 머신 러닝을 다뤄도 좋을 것 같다. 이미 이런 식의 접근법도 존재하며, 특히 시각화 기술 개발에 머신 러닝이 많이 적용되고 있다. 인간 데이터 분석가에게 수천, 수만 건의 데이터를 쥐어주느니, 머신 러닝이 한 번 똑똑하게 걸러낸 걸 제공할 수 있다면 얼마나 보안이 더 좋아질까. 어쩌면 머신 러닝의 궁극적인 도달점은 여기일 수도 있다.
글 : 라파엘 마티(Rafael Marty), Sophos
[국제부 문가용 기자(globoan@boannews.com)]
Copyrighted 2015. UBM-Tech. 117153:0515BC
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>