김영중 책임연구원 사이버 보안 위협이 방대한 자료를 바탕으로 고도화됨에 따라 새롭게 생겨나는 지능적인 사이버 보안 위협에 대해 선제적으로 예측하고 대응할 수 있는 머신러닝(Machine Learning)을 기반으로 한 정보 보안 기술이 각광받고 있습니다. 머신러닝은 전문 인력, 시간, 자원이 부족한 보안 환경에서 지능적인 사이버 보안 위협을 빠르게 분석하고 대응할 수 있는 능력을 제공합니다. 머신러닝을 기반으로 한 정보 보안 기술의 중요성과 그 필요성이 강조되고 있는 것이 현실입니다.
– 목차 – 1. 개요 2. 적용 사례 3. 모니터랩의 머신러닝 4. 결론 |
1.개요
사이버 보안 위협이 방대한 자료를 바탕으로 고도화됨에 따라 새롭게 생겨나는 지능적인 사이버 보안 위협에 대해 선제적으로 예측하고 대응할 수 있는 머신러닝(Machine Learning)을 기반으로 한 정보 보안 기술이 각광받고 있습니다. 머신러닝은 전문 인력, 시간, 자원이 부족한 보안 환경에서 지능적인 사이버 보안 위협을 빠르게 분석하고 대응할 수 있는 능력을 제공합니다. 머신러닝을 기반으로 한 정보 보안 기술의 중요성과 그 필요성이 강조되고 있는 것이 현실입니다.
머신러닝이란 컴퓨터가 데이터를 최대한 활용하여 분석 및 학습할 수 있도록 하는 알고리즘을 기반으로 예측 모델을 생성하여, 입력 데이터에 대한 결과를 예측하는 기술을 연구 개발하는 분야입니다. 즉, 컴퓨터가 스스로 데이터를 분석하고 특정 패턴을 찾아내 학습할 수 있도록 정교한 알고리즘을 만드는 것이 머신러닝의 핵심이라고 볼 수 있습니다.
1-1. 기존 보안 솔루션의 한계
그동안 악성코드 탐지를 위해 시그니쳐 기반 탐지 기술을 주로 사용하였지만, 악성코드가 약간의 변형만 되더라도 탐지가 되지 않는 단점이 있었습니다. 새로운 악성코드가 기존 코드에서 일부만 변형되는 경우가 많다는 점과 악의적인 행위는 점차 증가한다는 점을 통해 머신러닝 기반 악성코드 탐지 기법이 최근 많이 연구되고 있습니다.
1-2. 머신러닝과 정보 보안
머신러닝 기술을 정보 보안 카테고리에 대입할 경우, 진단하고 방어하며 대응하는 능력을 사람이 개입하지 않더라도 시스템이 자발적으로 개선할 여지가 증가합니다. 이때 필요한 조건은 다양한 형태의 보안 위협 데이터를 다량 확보하는 것입니다. 실시간으로 나타나는 지능적인 사이버 위협을 탐지하고 차단까지 실행되려면, 문제가 발생되는 순간 관리자가 개입하여 실시간으로 파악해 대응하더라도 이미 늦습니다. 선제 대응 능력을 사람이 아닌 기계를 대상으로 학습 능력을 배양하는 노력이 중요하다고 할 수 있습니다.
1-3. 모니터랩과 머신러닝
모니터랩에서는 머신러닝 기술 초기부터 지속적으로 꾸준히 연구 개발을 진행하고 있습니다. AICC(Application Insight Cloud Center) 위협 인텔리전스를 통해 방대한 사이버 보안 위협 데이터를 지속적으로 확보하고 있으며, 해당 데이터를 바탕으로 머신러닝 알고리즘 고도화를 진행하고 있습니다.
- 적용 사례
정보 보안 분야에서 머신러닝을 접목하고자 하는 노력은 꾸준히 진행되고 있지만, 생각만큼 그리 쉬운 일은 아닙니다. 사람이 직접 자세히 분석하더라도 문제가 있는지 없는지 파악하기 어려운 경우가 많다는 특성 때문입니다. 정보 보안 분야에서 머신러닝을 어떻게 접목하고, 활용했는지 그 사례들을 살펴보겠습니다.
2-1. 위협 인텔리전스
위협 인텔리전스는 다양한 검색 방법과 정보들을 활용하여 새로운 악성코드나 침해 식별 정보를 수집합니다. 이렇게 수집된 정보들을 기반으로 악성 데이터의 분석을 확장하며, 추가적인 분석을 수행합니다. 수많은 정보들을 체계적으로 이해하고 분석 및 분류하며, 정제된 위협 인텔리전스로 재생산하는 과정은 통합 보안 관제 또는 정보 보안 전문가들의 많은 시간과 노력을 요구하는 일입니다.
머신러닝은 정보 보안 전문가들이 보다 빨리 분석하고 새로운 위협을 식별할 수 있도록 도움을 줍니다. 빅데이터 분석과 함께 수집된 새로운 악성 패턴을 식별함으로써 새로운 형태의 제로데이 공격을 탐지할 수 있도록 합니다. 또한, 제로데이 인텔리전스 기반으로 예측 성공률을 향상시키면, 전 세계적인 위협 인텔리전스를 활용하여 지역적인 위협 동향을 예측할 수 있습니다.
2-2. 통합 보안 관제
통상적으로 보안 관제 센터의 각종 보안 관제 이벤트는 일일 수십억 건 이상 발생한다고 알려져 있습니다. 최근 정보 보안 전문가들이 예상하지 못한 지능적인 사이버 보안 위협이 증가하고 있으며, 이를 막기 위한 전문 인력, 시간, 자원 등을 투입하고 있지만, 디지털 환경의 보안 취약점을 파고드는 다양하고 예측하기 어려운 형태의 신/변종 사이버 공격을 막기에는 많은 제한 사항이 따르고 있는 것이 사실입니다.
머신러닝 기반의 지능형 통합 보안 관제 시스템은 각종 보안 시스템에서 발생하는 디지털 정보를 하나의 플랫폼에서 빅데이터를 활용하여 수집 및 분석하고, 학습을 통해 고위험도 이벤트를 집중 분석하여 관제에 활용함으로써, 실시간 침해 처리, 범위 확대 및 시간 단축을 할 수 있으며, 알려지지 않은 위협을 탐지할 수 있습니다.
2-3. 네트워크 침입 탐지
대부분의 네트워크 침입 탐지 솔루션은 시그니쳐 및 룰 기반의 시나리오에 기반하여 공격을 차단합니다. 이러한 방식은 비교적 높은 정확도를 보여주고 있으며 어느 정도 효율성이 있습니다. 하지만 기존 패턴을 우회하거나 변형된 공격을 감지하기 어려운 단점이 있습니다. 정상적인 네트워크 사용자들에 대한 통계 자료를 만들어 놓고, 그 범위를 벗어나면 침입이 발생했다고 하는 통계적 기반의 비정상 행위 탐지 기법도 사용되고 있지만, 최근 사이버 보안 위협이 고도화, 자동화, 지능화 됨에 따라 네트워크 상에서 발생되는 모든 행위로부터 위협을 식별하고 실시간으로 관리하기에는 한계가 있습니다.
이를 해결하기 위해 머신러닝을 적용하면 정상적인 네트워크 패킷과 각종 비정상적인 네트워크 패킷을 수집하고, 이 패킷에 대해 머신러닝 알고리즘을 적용하여 학습된 모델을 기반으로, 실시간으로 생성되는 패킷들에 대해 정상 및 비정상 여부를 판단할 수 있습니다.
2-4. 악성코드 분석
새로운 악성코드와 이에 대한 변종은 하루에도 수십만 건씩 발생합니다. 이에 대한 악성코드 분석 전문가들의 적절한 대응이 매우 어려운 것이 현실입니다. 분석을 돕기 위한 각종 자동화 도구와 샌드박스 등을 활용하긴 하지만, 이에 대한 회피 기술 또한 발전하여 이에 대한 탐지가 점점 더 어려워지고 있습니다
현재 샌드박스 환경에서 악성코드를 실행하는 동적 분석을 통해 행위 정보를 수집해 악성코드의 특성을 파악하는 방식에 머신러닝을 적용하고 있습니다. 단순히 특정 시스템 콜의 호출 및 작업 수행의 유무로 악성코드를 분류하고 분석하는 것이 아니라 이러한 정보들을 데이터화한 뒤 벡터 공간에 그린 후 그룹화와 분류 기법을 이용해 특성을 분석할 수 있습니다. 그룹화를 통해 판단을 원하는 대상 파일이 대표적인 악성코드의 행위 유형에서 얼마나 벗어나 있는지 판단하거나, 머신러닝을 통해 만들어 둔 악성코드 분류 모델에 대한 대상 파일의 행위 정보를 대입해 악성코드 유형을 판단하는 것도 가능합니다.
- 모니터랩의 머신러닝
우리 모니터랩에서는 AICC 위협 인텔리전스를 통해 방대한 사이버 보안 위협 데이터를 지속적으로 확보하고 있으며, 해당 데이터를 바탕으로 머신러닝 알고리즘 고도화를 진행하고 있습니다.
3-1. AICC 위협 인텔리전스
모니터랩이 자체 개발하고 운영하고 있는 AICC는 클라우드 기반의 위협 인텔리전스 플랫폼으로, 공격자에 대한 정보와 공격 기술에 대한 실시간 위협 인텔리전스를 제공합니다. AICC 위협 인텔리전스는 시그니쳐/평판 탐지, 전체 트래픽 검사, 프로파일링(Profiling) 뿐만 아니라, 실시간 정보 수집 및 공유, 서드파티(Third Party) 연동, 데이터마이닝(Data Mining), 빅데이터(Big Data) 분석 등의 기술이 결합되어 있습니다. 수많은 위협 정보가 실시간으로 AICC에 자동으로 모여지고 분석되고, 다양한 형태로 가공되어 다양한 보안 솔루션과 연결됩니다.
AICC 위협 인텔리전스의 핵심 기술 중에 하나인 머신러닝 기술을 위한 학습 데이터로 활용 가능한 수십억 개의 수집 데이터를 확보하고 있으며, 해당 데이터를 분석하여 악의적인 의도를 나타내는 보안 위협을 식별합니다. 모니터랩의 웹 보안 제품 관련 기술과 데이터가 포함된 상호적 인텔리전스 운영에서 도출한 것입니다. 과거 시그니쳐 기반 안티바이러스 엔진이 알려진 위협만을 탐지할 수 있는 반면 ‘알려지지 않은’ 신/변종 제로데이 공격까지 미리 예측하고 효과적으로 방어할 수 있는 차별화 포인트가 머신러닝의 특징이라고 할 수 있습니다.
[그림] AICC 위협 인텔리전스의 구성
이러한 머신러닝 기반 통합 위협 분석 시스템을 AICC 위협 인텔리전스에 탑재하였으며, 그 기능을 지속적으로 연구 개발 및 고도화하고 있습니다.
[그림] AICC 위협 인텔리전스의 머신러닝
AICC 위협 인텔리전스의 머신러닝 기술과 더불어, 머신러닝 알고리즘 기반의 악성 파일 유사도 분석 시스템(MSA; Malicious Similarity Analysis)을 개발하였습니다.
3-2. MSA Malicious Similarity Analysis) : 악성 파일 유사도 분석
[그림] MSA 악성 파일 유사도 분석의 인터페이스
MSA는 API를 통해 입력된 파일에 대한 유사도 분석을 수행하는 것으로 악성 파일에 대한 그룹화 기능이 탑재되어 있습니다. 악성 파일 간 공통 항목 비교 데이터와 특징 정보를 출력하고 시각화하는 것이 주요 기능이라 할 수 있습니다. 뿐만 아니라 악성코드의 정적 분석, 행위 분석 정보 등 상세 프로파일링 분석 정보를 제공하고, 악성코드 그룹 기본 정보 및 그룹에 포함된 악성코드들의 통계 정보를 제공합니다.
[그림] MSA 악성 파일 유사도 분석의 개념도
- 결론
정보 보안 분야에 머신러닝 기술을 도입하려는 시도는 이미 오래전부터 있었으나, 큰 주목을 받지 못했습니다. 이전에는 지금처럼 악의적인 사이버 보안 위협이 그리 다양하지 않았으며, 패턴 매칭 방식으로 침입 탐지 및 공격 분석 시스템에서 충분히 방어가 가능했기 때문입니다. 하지만 하루가 다르게 새로운 ICT 산업 분야가 생겨나고 그에 따른 사이버 공격은 지능화되고 다각화되는 실정입니다. 이를 효과적으로 대응하기 위해서는 기술적, 관리적으로 다양한 솔루션과 대응 체계가 필요하고, 머신러닝과 정보 보안을 접목한 새로운 기술 도입이 필요합니다.
머신러닝은 오버피팅(Overfitting, 과적합) 오류와 성향적(Variance, 데이터 부족) 오류가 있어 정보 보안 전문가로서 완벽한 역할을 할 수 없습니다. 이를 극복하기 위해서는 먼저 방대한 보안 데이터를 인간의 경험과 지식을 토대로 장기간 분석해 온 분야를 머신러닝이 학습할 수 있도록 해야 하며, 이러한 선행 과정을 거친 후에야 날로 지능화되고 있는 사이버 보안 위협을 보다 효율적으로 빠르게 탐지하고 민첩하게 대응할 수 있을 것입니다. 또한, 여러 보안 프로세스를 자동화하여 인간의 개입을 최소화하고 오탐 및 미탐을 최소화하기 위해 지금까지 방대한 보안 데이터를 장기간 분석해 온 인간의 경험과 지식을 머신러닝이 학습할 수 있도록 환경을 제공해 주어야 합니다. 뿐만 아니라 시그니쳐 분석, 행위 분석 기술 등을 적용하고 머신러닝 기술을 탑재하여 지능적인 공격에 대해서도 자동화된 탐지와 대응을 제공할 수 있도록 해야 할 것입니다.
앞으로도 모니터랩에서는 그동안 축적된 머신러닝 기술을 바탕으로 AICC 위협 인텔리전스를 고도화할 예정입니다. 또한, MSA 악성 파일 유사도 분석뿐만 아니라 표준 웹 로그 기반 위협 예측, URL 카테고리 분류 등 다양한 분야에 머신러닝 기술을 접목시키는 연구 개발도 현재 활발하게 진행 중입니다.
다음에는 모니터랩의 다양한 플랫폼에 적용된 머신러닝 기술에 대한 상세한 내용에 대해 이야기해보겠습니다. 감사합니다.
Reference)
- 모니터랩 Threat Intelligence Platform, AICC : https://www.monitorapp.com/ko/aicc-kr/
- AICC PORTAL : https://aicc.monitorapp.com/
- 머신 러닝을 위한 컴퓨터 보안, 클라렌스 치오