필요한 것 찾아내는 것에는 능하고, 불필요한 것 걸러내는 건 약해
[보안뉴스 문가용] 정보보안 컨퍼런스 치고 ‘빅데이터’ 이야기 나오지 않는 곳이 없다. 이 빅데이터에 대한 이야기가 조금 더 발전하면 인공지능이나 머신 러닝이라는 개념이 튀어나오기 시작한다. 대부분 빅데이터 시대에 머신 러닝이 있어야 안전한 보안을 꾀할 수 있기 때문이라는 흐름일 것이다.

▲ 안녕, 난 머신이라고 해. 결정을 못하지.
실제로 기업들이나 조직이나 할 것 없이 바다와 같은 정보를 매일처럼 수집하는 건 사실이다. 그러나 정보는 모아서만은 쓰잘머리 없는 법. 그 중에서 옥석을 가려내는 것이 관건이다. 보안으로 따지면 수많은 정보 중에 첩보와 이상 현상을 가려내야만 한다는 것. 이걸 해주는 1세대 툴을 SIEM(security information and event management)이라고 불렀다. SIEM 툴을 가지고 보안 담당자들은 데이터와 사건들을 이어붙이고 의미를 발굴했다. 그것이 좀 더 발전해 강력한 검색기능을 덧입고 분류 기능이 첨가됐다.
검색과 분류는 방대한 데이터를 정리하는 데 큰 도움이 됐다. 그럼에도 두 가지 큰 문제는 여전했다. 가치가 정해지지 않아 버려도 되는지 아닌지 판단을 내릴 수 없는 데이터의 양은 여전히 많았고, 그 많은 데이터 중에 실수로 중요한 첩보가 새나갈 수 있다는 불안감이 바로 그것이었다.
이걸 머신 러닝이 해결해줄 수 있을까? 사소한 첩보 하나라도 놓치지 않도록 해주는 알고리즘이 존재할까? 우리 대신 버려도 되는 데이터와 그렇지 않은 데이터를 구분할 알고리즘이 누군가의 머리에서 탄생할까? 일단 머신 러닝과 가장 비슷한 걸 우리는 구글 검색, 아마존, 넷플릭스(Netflix) 등을 통해 경험할 수 있다. 웹 메일 제공업체들이 자랑하는 강력한 필터기능도 이에 해당한다. 前 시만텍 CTO인 아밋 미탈(Amit Mital)은 “이제 남은 희망은 머신 러닝뿐이다”라고까지 표현한 바 있다.
하지만 지금 벌써 환호를 지르기에는 일러도 너무 이르다. 일단 구글의 검색 데이터를 한데 모아 분석해 보면 감기 등을 비롯한 전염병이 세계적으로 어떻게 진행되고 있는지 파악이 가능하다는 유명한 발견이 있었는데, 알고 보니 이는 매우 부정확하다는 판명이 났다. 게다가 사이버보안이라고 하면 정보의 시그널이 구글의 검색어처럼 분명한 것도 아니다. 오히려 매우 약한 것으로 알려져 있다. 이 분야의 힌트는 거의 항상 작고 미약하다. 작고 약한 시그널을 성공적으로 처리한 머신 러닝이나 인공지능은 아직 존재하지 않는다.
이상은 무엇이며 정상은 무엇인가?
이야기를 더 진행하기에 앞서 한 가지 커다란 명제 하나는 동의하고 싶다. 바로 보안에 있어 만병통치약은 없다는 것이다. 한 방에 모든 걸 해결해줄 알고리즘이나 솔루션, 기기, 심지어 정책도 존재하지 않고, 앞으로도 그럴 것이다. 머신 러닝도 마찬가지다. 희망이 되고는 있지만 그렇다고 그것이 ‘보안의 모든 역사를 정리’해줄 정도로 강력한 건 아닐 것이다. 실제 머신 러닝은 유사점을 찾아내는 데에는 기가 막히지만 ‘정상’ 행위에 대비해 ‘이상 행위’를 짚어내는 데에는 상당히 취약함을 드러낸다.
물론 ‘정상’과 ‘이상’ 혹은 ‘비정상’을 정의한다는 건 그것 자체로 이미 난제에 속한다. 사람의 행동과 사고는 때에 따라, 정권에 따라, 분위기에 따라, 지역에 따라 정상과 비정상의 경계를 바쁘게 오간다. 기술적으로 봤을 때 네트워크 상에서 일어나는 사용자의 행동, 애플리케이션의 작동, 네트워크 트래픽 등은 전부 자동으로 처리되기 때문에 어떤 것이 정상인지 아닌지 가려낸다는 건 불가능에 가깝다. 그래서 공격자들이 숨어들기 좋은 것이다. 오죽하면 보안전문가들은 ‘해커 입장에서 네트워크에 숨어 있는 게 딱히 어렵거나 애써야 할 일이 아니다’라고까지 말할까.
얼마나 배워야 머신 러닝인가?
머신 러닝 시스템이라면 하나도 예외 없이 개발자에 의해 미리 지정되거나 스스로 학습을 해낸 사항들을 기준으로 삼아 행동, 현상, 상황을 분석한다. 사람이 기계를 훈련시킨다는 개념의 머신 러닝은 상당히 괜찮은 아이디어다. 그러나 이는 해커들의 공격 방식이나 경로를 정확하게 예상할 수 없다는 한계를 그대로 가지고 있다. 그렇다면 스스로 학습하는 시스템은 어떨까? 인간의 이해 영역 밖에서 뭔가가 이루어진다는 게 약점이다.
아직 머신 러닝 시스템은 특정 행동이 왜 비정상적인지 설명하지 못하며 또한 다른 행동이나 사건과 어떻게 연결되어 있는지 묘사할 수 없다. 그렇기 때문에 머신 러닝이 발동하여 경보가 발령될 때 사람의 손을 거쳐서 경보가 진짜인지 아닌지 판단을 내려야 한다. 그런 과정을 반복해서 거칠 때 머신 러닝/인공지능은 올바른 판단을 내리기 시작한다. 즉, 사람이 가르치든 스스로 학습을 하든 결국은 올바른 판단을 내릴 수 있을 때까지 해야 한다는 것.
실현 가능한가?
머신 러닝 시스템이 사용자가 좋아하는 영화를 파악해 추천해주는 것과 사용자가 좋아하지 않는 영화를 파악해 걸러내는 것 사이에는 커다란 차이가 있다. 즉 인공 지능은 도움이 되는 정보를 제공하는 것에는 능숙하지만, 어떤 일 처리의 결과물이 전부 ‘타당한 것’ 혹은 ‘유효한 것’이라고 믿을 수는 없다. 그런데 보통 정보를 다루는 산업에서는 후자가 중요하다. 비용과 직결되기 때문이다. 포네몬의 통계에 의하면 대형 회사 하나가 잘못된 경보를 골라내는 데 드는 시간은 일주일에 평균 395시간이다. 이를 돈으로 환산하면 1년에 1백 27만 달러 정도 된다.
아직은 사람이 더 낫다
개인적인 예상이긴 하지만 사이버보안에서는 항상 사람의 힘이 필요할 것이다. 정상의 범주에서 벗어나는 여러 가지 현상들 사이에 있는 미묘한 차이를 사람만큼 기계가 구분해낼 수는 없을 거 같기 때문이다. 그렇기 때문에 어느 정도 선에서는 머신 러닝을 고집하지 않고 사람을 고용하는 것이 비용 절감에 더 도움이 되고 업무 성과도 좋을 것으로 보인다.
엔드포인트 보안에 있어 요즘 엔드포인드 탐지 및 대응(Endpoint Detection & Response, EDR) 툴이 떠오르고 있다. EDR 툴이라고도 하는데, 이는 실시간으로 엔드포인트를 감시할 수 있도록 해주는 게 핵심이다. 여기엔 지속적인 모니터링이라는 개념과 실시간 검색 기능이 절대적인 역할을 하게 된다. 아마 머신 러닝이 발전하면 EDR의 성능이 뛰어나질 것으로 보인다. 그러나 사람을 능가하지는 못할 것이다.
글 : 사이먼 크로스비(Simon Crosby)

Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>