보안 이슈

AhnLab 보안 전문가의 심층분석! 보안 이슈 정보를 전해드립니다.

왜 보안에 머신 러닝이 필요한가

  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.

  • AhnLab
  • 2017-02-06

구글의 알파고와 이세돌 9단의 바둑 대결은 인공지능이 더 이상 먼 미래에 일이 아님을 보여주었다. 또한 IT 업계의 거물들은 미래 성장 성장 동력으로 ‘인공지능(Artificial Intelligence)’을 정조준하고 있으며, 여러 분야에서 이를 구현한 사례들을 속속 선보이고 있다.

월간’안’에서는 인공지능을 구현하기 접근 방식 중의 하나인 머신 러닝(Machine Learning)이 무엇이며, 보안 분야에서 머신 러닝이 왜 필요한지에 대해 2회에 걸쳐 소개하고자 한다.

 

 

[연재 목차]
1부_머신 러닝이란 (2017년 2월호)
2부_왜 보안 분야에 머신 러닝이 필요한가 (이번 호)

 

지난 호에서는 머신 러닝이 무엇이며, 머신 러닝을 의미 있게 수행하기 위한 고려 사항에 대해 알아보았다. 이번 호에서는 보안 위협을 대비하기 위해 머신 러닝이 왜 필요한지, 그리고 안랩이 머신 러닝을 어떻게 적용하고 있는지를 소개한다.


보안 시스템에 머신 러닝이 도입되어야 하는 이유

[그림 1]은 ASD(AhnLab Smart Defense) 인프라에 2,300일 동안 수집된 실행(Portable Executable) 파일의 개수를 누적 그래프로 나타낸 것이다. 녹색 선은 누적 수집된 개수이며, 붉은색 점선은 녹색 선에 대한 추세선이다.

 

[그림 1] ASD 인프라가 수집한 실행형 파일의 개수 (X축: 일, Y축: 개수, 단위: 백만)

  

[그림 1]에서 n차 다항식으로 추세선을 작성한 경우 적은 오차로 작성이 가능했다. 즉, n차 다항식으로 표현되기 때문에 오늘의 유입 증가량은 어제의 유입 증가량보다 더 많다는 것을 알 수 있다. 이는 악성코드 분석을 위한 인적, 물적 시스템이 이미 구축된 상태에서 최소 어제보다 더 많은 자원이 오늘 필요하며, 그 증가량이 시간이 지날수록 점점 더 늘어난다는 것을 의미한다. 만일 위 그래프에서, 4,000일까지의 경우를 추세선으로 예측하면 [그림 2]와 같다.

 


 

즉, n차 다항식으로 표현된 추세선은 결국 어느 순간 [그림 2]와 같이 매우 폭발적으로 증가하게 된다. [그림 2]에서 실제 누적 데이터 수를 보여주는 녹색선과 이에 대한 추세를 보여주는 붉은색선 사이의 간극으로 인해 오류가 발생할 수 밖에 없으므로, 위의 예측한 것과 같은 모양으로 수치에 도달하지 않을 수 있다. 하지만 중요한 것은 언젠가는 발생할 여지가 있다는 점이다. 운명의 날 즉, 둠스데이(Doom's day)가 우리를 기다리고 있다.

 

이와 같이 ‘어제 유입량보다 오늘 유입량이 더 많은’ 상황의 문제점은 현재의 패러다임으로 구성된 인적·물적 악성코드 분석 시스템이 과연 언제까지 버틸 수 있냐라는 것이다. 이를 해결하기 위해서는 물리적인 시스템을 최대한 투입하여 인적 자원을 지원하는 것이 더 효율적이다. 물리적인 시스템, 즉 기계적인 방식은 사람의 경험으로 직접 구성한 휴리스틱이 하나의 예라 할 수 있겠지만, 이것 또한 둠스데이 대비를 위해서는 적합하지 않다.

 

이를 해결하기 위한 여러 대안 중 하나가 바로 ‘머신 러닝’이다. 오로지 기계적으로만 생성된 규칙을 활용하고 기계적으로 하기 어려운 높은 수준의 분석 작업에 대해 사람이 직접 연구한 뒤 다시 기계적인 ‘머신 러닝’에 관련 지식을 전달하도록 하는 유연한 시스템이라고 할 수 있다.

 

 

결론으로, “왜 보안 위협을 대처하기 위해 머신 러닝을 해야 하는가?”에 대한 대답은 [표 1]과 같이 정리된다. 즉, 머신 러닝은 아래의 요구 사항을 만족할 수 있는 여러 대안 중 하나로 선택 가능하다는 점이다.​

 

 

 

머신 러닝의 필요성을 알아봤다면, 이제 실제 안랩에서는 머신 러닝을 기술을 어떻게 적용했고, 그 결과를 간략하게 알아보자.

 

안랩의 머신 러닝 시스템

 

안랩에서는 2년여 동안 독자적으로 연구 개발한 머신 러닝 시스템을 운영하고 있다. 이 시스템의 전체 운영 과정은 [표 2]와 같다​.

 

 

 

우선, ASD 시스템을 통해 수집된 PE 파일을 가지고 머닝 러닝 학습 정보를 스캔하여 학습 데이터를 구축한다. 해당 데이터로 머신 러닝을 수행하는데, 이는 [표 2]의 A, B, 그리고 C 과정의 반복으로 구성된다.

 

보통의 머신 러닝 알고리즘은 일정량의 메모리와 CPU(최근에는 GPU까지), 그리고 Disk I/O의 자원을 요구한다. 이러한 컴퓨팅 자원은 ‘무한대’가 아닌 한정된 값이기 때문에 알고리즘을 수행하기 위한 제한 조건이 늘 존재하는데, 그중 하나가 학습 데이터의 규모이다. 현재 안랩 머신 러닝 시스템은 ASD 시스템에 존재하는 약 13.4억개의 PE 파일에 대한 학습을 이미 마친 상태다. 만일 13.4억개의 학습 데이터를 한 번에 학습하려면 웬만한 시스템을 통해서는 이뤄지지 않는다(OUT OF MEMORY). 최근의 빅데이터 처리를 위한 분산 시스템(예: 하둡)이 아무리 발달하더라도 13.4억개를 한꺼번에 학습하는 것은 어려운 일이었다. 그래서 한꺼번에 학습하는 것이 아니라 하루 단위로 유입되는 양에 대해서 부분적으로 학습하고, 모델을 스스로 업데이트하는 증분 학습(Incremental learning) 알고리즘(PLANT)이 개발되었고, 실제 운영까지 성공적으로 완료했다. 이를 통해 기존 머신 러닝의 한계를 넘어설 수 있었으며, 이후 예상되는 학습 장비의 스케일 업/아웃(Scale up/out)에 대한 걱정도 줄일 수 있었다. 이러한 증분 학습이 지원되는 의사 결정 트리 알고리즘은 머신 러닝 분야의 학술적 영역에서도 도전적인 주제인데 안랩에서 개발하고 응용하는데 성공한 것이다.​

 

이러한 안랩 머신 러닝 시스템을 통해 만들어진 엔진은 현재 지능형 위협 대응 시스템인 ‘안랩 MDS’ 에이전트에 적용되어 의심 파일 수집 기능에 활용되고 있다. 또한 향후 MDS 분석 장비까지 지원 범위를 확대하여 머신 러닝의 응용 기술을 지속적으로 확대할 예정이다.

 

글을 마치며 

‘머신 러닝’은 이제 IT 업계의 큰 화두로 떠오르고 있다. 그래서인지 너도 나도 무작정 띄어 들어 겉만 번지르르하게 진행되는 프로젝트들이 우후죽순처럼 생길까 걱정이 앞선다. 왜냐하면 이제서야 겨우 수면 위로 올라온 ‘인공지능’이 거품 붕괴로 또다시 “이제 인공지능은 영원히 죽었다”라는 얘기가 나올까봐 두려워서다.
이와는 달리 안랩의 머신 러닝 시스템은 성급하게 만들어진 결과물이 아닌, 필요성에 의해 2년 전부터 연구되었다. 특히 알려진 유명 오픈 소스를 활용하는 수준이 아닌 직접 인공지능 알고리즘을 설계하고 창조하여 ‘인공지능 연구’에 대한 성과도 함께 달성한 프로젝트로 진행되었으며, 만족스러운 결과를 통해 실제 제품에 탑재할 수 있었다.
마지막 정리를 위해 가벼운 질문을 하나 던져보려고 한다. “인공지능이 사람의 일자리를 뺏을 수 있을까?” 필자의 견해는 “다소 그럴 수는 있다”이다. 그렇지만 사람이 할 일과 기계가 할 일은 분명 나눠질 것이며, 우리는 그 사실을 능동적으로 잘 받아들여야 할 것이다. 어떤 천재가 놀라운 ‘머신 러닝’ 알고리즘을 만들었더라도 그 시스템은 ‘떨어지는 사과’를 보고 절대로 ‘만유 인력 법칙’을 유도해 내지는 못할 것이다. 즉, 직관력을 가진 자는 결국 사람뿐이다. 기계는 오로지 법칙 유도를 위한 계산만 해줄 뿐이다. 그래서 우리가 할 일은 기계가 할 수 없는 부분을 찾아내고, 그 부분에 역량을 집중해야 한다. ​
  • AhnLab 로고
  • MDS개발팀 전진표 책임
  • Facebook에 공유하실 수
    있습니다.

  • Twitter에 공유하실 수
    있습니다.

  • Linked in

    Linked in에 공유하실 수
    있습니다.

  • 붙여넣기

    블로그나 게시판에 붙여넣기 하실
    수 있습니다.

지금 마케팅 안내 수신 동의하고
선물 받아가세요!

이벤트 내용 더 보기
세미나/제품/이벤트 안내

더 알아보기

개인정보 수집 및 이용 동의서

선물 발송을 위해 아래와 같이 개인정보를 수집 및 사용합니다.
동의를 거부할 수 있으나, 동의 거부 시 이벤트 참여가 불가능 합니다.

  1. ㆍ수집 항목 : 이름, 휴대전화번호
  2. ㆍ수집 목적 : 참여자 중복 확인, 공지 발송, 경품 발송
  3. ㆍ보유기간 : 이벤트 종료 후 지체 없이 파기(단, 당첨자의 경우 경품 배송 후 30일)
  4. ㆍ경품 발송 위탁: 쿠프마케팅 (모바일상품권 발송업체)
참여하기
닫기