현재까지 개발된 머신 러닝, APT 방지에 효과 높아

[보안뉴스 문가용] 요즘 이 회사 저 회사에서 머신 러닝(machine learning)이란 말을 사용하고 있다. 누구는 ‘기계가 학습을 할 수 있도록 하는 알고리즘을 만들어냈다’고 하면서 머신 러닝이란 말을 쓰고 누구는 그냥 최신 과학의 발전을 언급할 때 이 말을 쓴다. 그렇지만 머신 러닝을 제대로 이해하고 있는 사람은 굉장히 적은 게 현실이다. 그러므로 현대 정보보안의 역사에서 어쩌면 가장 복잡하고 다루기 힘든 기술이 바로 이 머신 러닝임을 아는 사람도 얼마 없다. 그러니 그렇게 빈번하게 다양한 용도로 이 단어를 사용하는 것이다. 머신 러닝에 대해 설명하려면 인터넷 기사 한 꼭지는 턱없이 부족하기 때문에 가장 중요한 사항 다섯 가지를 짚어보고자 한다. 이를 바탕으로 머신 러닝에 대해 공부를 해나간다면 이해하기가 더 쉬울 것이다.
1. 머신 러닝이란 무엇인가?
WhatIs.com에 의하면 머신 러닝이란 ‘스스로에게 가르치고 배울 줄 알아 새로운 변화에 적응하고 발전할 능력을 갖춘 컴퓨터 프로그램을 만드는 데에 집중하는 것’이다. 머신 러닝 시스템은 정적인 프로그램 명령을 따르는 대신 알고리즘을 사용하여 입력된 대표 데이터를 바탕으로 모델을 구축해 결정을 내리거나 예측을 한다.
머신 러닝 시스템과 가장 비슷한 것은 아마 인간의 뇌 정도밖에 없을 것이다. 뇌의 작용을 한번 생각해보라. 뇌는 정보를 빠르게 수집하고 그것을 자동으로 처리하는데, 그 속도가 보통 꽤나 빨라서 우리는 그 과정을 인지하지 못할 때가 많다. 또한 데이터와 데이터끼리 연결하여 의미를 추출하는 것도 꽤나 빠르게 하고, 지난 경험을 바탕으로 알려지지 않은 정보를 추리하거나 예측할 수도 있다. 그런 과정 속에서 감정이 발산되고 결정이 내려지며 행동을 취하게 된다.
예를 들어 한 번도 가본 적 없는 도시에서 길을 걷고 있다고 하자. 새로운 장소로 들어서자마자 뇌는 곧바로 환경에 대한 정보를 수집하기 시작한다. 그리고 계속 그 방향으로 걸어가는 게 안전한지 안 한지 판단을 내린다. 시간이 몇 시인지, 주위가 밝은지, 수상한 사람이 없는지, 길을 깨끗한지 등이 이 판단의 근거가 된다. 그 모든 정보가 거의 곧바로 뇌 속에서 처리가 되는데, 이걸 흔히들 ‘감’이라고 부른다. 그리고 이런 ‘감’은 무의식의 단계에서 생기는 경우도 많다.
그렇게 길을 가다가 또 다른 코너로 돌아섰다고 하자. 뇌는 또 다시 놀라운 속도로 정보를 수집한다. 아직도 해가 밝지만 하늘이 회색이다. 이 부근 가게들은 문이 닫혀 있고 어쩐지 쓰레기도 더 많이 나뒹군다. 인적도 드물다. 그러면 일일이 생각하지 않아도 뇌는 곧바로 ‘위험할 가능성이 높다’라는 결론을 내리고, 그 사람은 그냥 뒤로 돌아설 가능성이 높아진다.
머신 러닝의 다섯 단계
소프트웨어에 기반을 둔 머신 러닝이란 이러한 뇌의 작동 방식을 그대로 닮고자 하는 걸 목표로 한다. 그렇기에 머신 러닝의 과정은 다음과 같이 다섯 가지로 뇌와 비교하여 구분할 수 있다.
1) 문제의 정의에 있어서
가) 뇌 : 거리를 걸어갈 때 무의식적으로 주변 환경을 보고 안전한지 판단한다
나) 머신 러닝 : 해결해야 하는 문제가 무엇인지 엔지니어들이 정의하고 결정한다. 예) 도메인이 악성인가 정상인가?
2) 정보의 수집에 있어서
가) 뇌 : 주변 환경으로부터 정보를 수집한다
나) 머신 러닝 : 엔지니어들이 하둡 클러스터와 같은 데이터 저장소에 데이터를 모아놓고 분석한다. 이때 최초로 모아놓는 데이터는 거르거나 편집하지 않은 것이다.
3) 비교, 처리, 분석
가) 뇌 : 수집한 정보를 정보화시켜 ‘묘사’한다. 날이 어둡다거나 해가 길다거나, 사람이 많다거나 적다거나 하는 생각이 문득 드는 것을 말한다.
나) 머신 러닝 : 데이터 전문가들과 위협 분석가들이 데이터를 정의하는 여러 가지 항목들을 비교해 차이점과 특징을 도출해낸다. 예) 정상 데이터와 악성 데이터의 구분
4) 모델의 구축과 인증
가) 뇌 : 각각의 요소들에게 ‘비중’을 분산시킨다. 그 비중을 가지고 거리에 인적이 드물다는 정보와 아직 가게들이 많이 열려 있다는 정보를 조합해서 의미를 끌어낸다.
나) 머신 러닝 : 데이터 전문가들이 머신 러닝 시스템을 구축한다. 이 시스템은 여러 가지 특징들을 현실 세계로부터 추출해 통계자료를 만들고 이를 바탕으로 주어진 상황에 대해 묘사할 수 있다.
5) 실제 적용
가) 뇌 : 계속 걸어가야 하는지 아닌지 결정을 내린다. 그 결정은 뇌 속에 저장되어 미래에 생길 또 다른 상황의 판단 근거가 된다.
나) 머신 러닝 : 통계자료가 있으면 보통 결정을 내릴 수 있게 된다. 위에서 만들어진 머신 러닝 시스템을 적용하면 새로운 자료가 덧붙여질 때마다 모델이 진화한다. 그러므로 시간이 쌓이면 쌓일수록 보다 정확한 결정을 내릴 수 있게 된다.
보안에 있어서 머신 러닝이란
머신 러닝은 이미 활발하게 사용되고 있다. 특히 발전된 위협 및 공격을 해결하고 감염된 시스템을 탐지해내는 데에 널리 쓰인다. 예를 들어 한 시스템의 트래픽 출처를 항시 감시할 수 있는데 그렇다고 악성 웹 사이트로부터 온 악성 트래픽 하나 발견했다고 그 시스템의 사용자를 해커라고 하거나 시스템이 감염되었다고 할 수는 없다. 머신 러닝은 ‘자동 탐지’와 달라 이런 경우 해당 트래픽이 발생한 원인과 전체 주변 상황 및 맥락을 여러 주변 데이터를 통해 파악한다.
또, 악성이라고 할 수도 없고 안전하다고도 할 수 없는 웹 사이트에 접속한 경우 머신 러닝 시스템은 그 도메인의 명성을 검토하고 관련 정보를 수집해 ‘회색지대’라는 잠정 결론을 내린다. 그리고 계속해서 그 웹 사이트가 사용되는 현황을 주목한다. 패턴이 생기는지 감시하고 통계를 낸다. 그리고 그 전 데이터와 비교하여 이 패턴 및 통계 데이터가 악성일 가능성이 높은지 낮은지 판단을 내린다. 악성의 비중이 높으면 해당 시스템을 네트워크로부터 강제 분리시키는 등의 조치를 취할 수 있다.
즉 머신 러닝은 사람이 일일이 조사할 수 없는 영역까지 자동으로 안전하게 담당해준다는 건데, 그렇기 때문에 APT 공격을 방지하는 데에 특히 강력하게 기능을 발휘할 전망이다. 물론 머신 러닝이 아직은 초기 단계이기 때문에 앞으로 발전의 양상에 따라 더 많은 사용방식 또한 개발될 것이라 보인다.
글 : 스티븐 뉴먼(Stephen Newman)
Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>