[머신러닝 보안관제②] 머신러닝, 사람처럼 생각하지 않는다
상태바
[머신러닝 보안관제②] 머신러닝, 사람처럼 생각하지 않는다
  • 데이터넷
  • 승인 2020.10.01 09:00
  • 댓글 0
이 기사를 공유합니다

설명 가능한 AI 기술 개발 가속…적합한 탐지 알고리즘 지속 개선해야
보안관제 효율화 하는 AI…관제 인력, 더 고도화된 위협 분석 집중
<정일옥 이글루시큐리티 관제기술연구팀장>

[데이터넷] 앞선 기고에서 보안관제 영역 중 초동 분석 분야에 적용된 머신러닝(ML) 사례와 머신러닝 적용의 첫걸음인 ‘레이블링 (Labeling)’ 작업 고려 사항에 대해 알아보았다. 이번에는 머신러닝을 적용한 보안 이벤트에 대한 정오탐 예측과 이상행위 탐지 사례, 그리고 머신러닝에 대한 몇 가지 오해에 대해 살펴본다

과거 데이터 학습해 현재 결과 분류

먼저 보안 장비에서 발생한 이벤트의 정탐 여부를 예측하는 사례를 소개하겠다. 침입탐지 시스템에서 발생한 이벤트가 실제로 공격인지 아닌지를 판단하는 ‘초동 분석’ 업무는 보안관제 업무에서 상당한 비중을 차지한다. 오탐과 과탐이 증가할 때 이를 처리하느라 고위험군 이벤트 대응이 지연되고 업무 피로감이 높아지는 문제가 발생할 수 있다. 역으로, 위협으로 발전할 수 있는 이 상행위를 놓쳤을 때 조직에 위험이 될 수 있는 보안 공백이 생겨날 수 있다.

오랜 기간 보안관제 요원들은 공격에 사용되는 문자열을 패턴화 해 탐지하는 스노트(Snort) 기반 시그니처를 토대로 침입탐지 이벤트를 탐지해 왔다. 탐지·분석 과정의 어려움은 비교적 낮은 편이 다. 그러나 지속적인 시그니처 관리와 업데이트가 제때 이뤄지지 않으면, 위협이 아니지만 위협이라고 판단하는 오탐과 위협의 심각도를 실제보다 높게 예측하는 과탐이 발생할 수 있다.

공격 시그니처 유무에 따라 판단하는 시그니처 기반 룰로 찾을 수 없는 위협 역시 문제였다. 침입탐지 이벤트는 크게 출발지와 목적지에 대한 네트워크 정보 및 흐름을 포함하는 헤더(header)와 요청 및 응답에 대한 데이터, 서버·사용자 정보를 포함하는 페이로드(payload)로 구성돼 있다. 보안 담당자들은 공격 시그니처 뿐만 아니라 URL, 사용자 에이전트, 서버 정보 등을 다양한 관점에서 살펴보고 있으나, 헤더가 아닌 페이로드 필드에 숨겨진 위협이 늘어나면서, 이를 찾아내지 못하고 놓치는 경우도 증가하게 됐다.

보안관제 요원들의 역량과 경험, 그날의 집중 상태에 차이가 발생한다는 점 역시 초동 분석의 어려움을 배가시키는 요소였다. 보안관제 요원들은 초동 분석의 정탐률을 높이기 위해 나름의 기준을 세우고 업무를 수행해 왔으나, 담당자에 따라 초동 분석 결과가 다르게 나타나는 경우가 적지 않았다.

학습 데이터 수준, 머신러닝 분석 결과 좌우

만일 보안관제 요원 대신 머신러닝에게 침입 탐지 시스템 이벤트에 대한 초동 분석을 맡긴다면 어떨까? 머신러닝 시스템이 기존 이벤트에 대한 학습을 통해 스스로 판단 기준(모델)을 만들어 새로운 이벤트를 분류하게 된다면, 초동 분석 과정에 투입됐던 시간과 비용을 비약적으로 줄일 수 있게 된다. 정·오탐을 가려내거나 ‘위험한→ 덜 위험한→ 위험하지 않은’ 순으로 이벤트를 선별하는 것이다.

머신러닝이 항상 분류를 잘 해낼 수 있는 것은 아니다. 머신러닝은 보안 전문가들이 만든 학습 데이터를 학습해 기준을 만들고 이에 따라 판단하므로, 레이블링 된 양질의 정답지가 반드시 마련돼야 한다. 다시 말해 머신러닝이 학습하는 데이터가 결과물의 수준을 좌우하는 만큼, 양 질의 학습 데이터를 만들어 낼 수 있 는 사람이 반드시 필요하다.

정상을 정의하고 이상행위를 탐지하다

다음으로 머신러닝을 이용해 사용자의 이상행위(Anomaly Detection)를 탐지하는 사례에 대해 알아보겠다. 이상행위 탐지는 이상행위와 공격자 특성 등에 대한 비지도 학습을 수행한 머신러닝 알고리즘이 스스로 만든 판단 기준에 따라 정상 범위를 벗어나는 이상행위를 분류하게 하는 방식으로 이뤄진다.

이상행위를 잘 탐지하기 위해서는 탐지에 앞서 아웃라이어(Outlier), 비정상(Anomaly), 노벨티(novelty) 등 여러 형태의 이상행위에 대한 개념을 명확히 정의할 필요가 있다. <그림>의 예시를 통해 설명하도록 하겠다.

개의 이미지 데이터셋을 수집하고 이를 정상 클래스로 정의했다고 가정해 보자. 이 데이터셋 내 포함되지 않은 개의 이미지 샘플은 노벨(novel) 샘플, 또는 알려지지 않은(Unseen) 샘 플이라고 할 수 있으며, 이러한 샘플을 찾는 방법을 노벨티 탐지라고 한다. 새로운 샘플이 발견됐는데 이 샘플이 개가 아닌 호랑이, 말처럼 전혀 관련이 없는 샘플일 수 있을 것이다. 이 경우 아웃라이어(Outlier) 샘플이라고 칭하고 이러한 샘플을 찾아내는 방법을 아웃라이어 탐지(Outlier Detection) 혹은 비 정상 탐지(Anomaly Detection)라고 부르고 있다.

▲이상행위 용어 정리 예시
▲이상행위 용어 정리 예시

일반적으로 침입탐지 분야에서 이상행위 분석은 정상 데이터와 비정상 데이터가 함께 있는 웹 로그, 방화벽 로그, 네트워크 트래픽 등의 대상에 적용될 수 있다. 해당 트래픽에는 정상적인 사용자와 악의적인 사용자에 대한 모든 기록이 남아 있기 때문이다.

이상행위 탐지 시 다음의 세 가지 사항을 주의해야 한다.

  • 정상 행위에 대한 명확한 정의를 토대로 정상 행위와 이상행위를 구 분해야 한다. 일반적으 로 대표성을 가진 학습 데이터를 통해 정상 행 위를 구분하고 있으나, 높은 대표성을 보유한 학습 데이터를 만드는 것은 쉽지 않다. 업무 시간과 퇴근 후 시간, 평일과 주말의 데이터 분포가 다르듯, 하루나 몇 시간의 데이터가 높은 수준의 대표 성을 가지고 있다고 말하기는 어렵기 때문이다. 이와 같이 탐지를 수행했을 경우 이상행위를 탐지할 확률은 높으나, 과탐 역시 많이 발생할 수 있다.
  • 보안 전문가가 수치적으로, 혹은 시각적으로 이해할 수 있는 형태로 정상 행위와 이상행위에 대한 구분이 이뤄져야 한다. 머신러닝이 이상행위로 분석했다고 할지라도, 보안 전문가가 이를 해석해 설명할 수 없다면 그 활용 가치가 높지 않기 때문이다.
  • 정상적이지 않은 데이터를 특정 형태로 정의하는 것에 대해 주의를 기울여야 한다. 일반적으로 악성 행위가 확실한 데이터가 있다면 이를 비정상으로 정의하고, 이 데이터에 가까운 데이터를 비정상으로 판단하게 된다. 이와 같은 방식 적용 시 탐지 정확도는 높일 수 있으나, 지금까지의 악성 행위와는 다른 악성 행위를 흘려보내는 미탐이 늘어날 여지가 남아 있다.

이와 같은 어려움으로 인해 보안 관점의 이상행위 탐지는 쉽지 않다. 그러나 머신러닝 기반의 이상행위 탐지는 그동안 수많은 이벤트 속에 숨겨져 있어 미처 찾아내지 못했던 위협에 대한 단서를 알려준다. 고도화된 보안 위협 대응에 보다 집중할 수 있도록, 이를 지속적으로 개발해 나갈 필요가 있다.

머신러닝은 사람처럼 생각하지 않는다

머신러닝을 보안관제에 적용하는 과정에서 가장 어려운 점이 무엇이냐는 질문을 종종 받곤 한다. 필자는 ‘머신러닝을 통해 달성하고자 하는 목표를 정하는 것’이라고 답하고 있다. 현재 머신러닝이 인간의 사고 수준에 도달한 것은 아니므로, 머신러닝 접목을 통해 이루고자 하는 목적을 명확히 정의하고 준비할 때 비로소 기대한 만큼의 성과를 거둘 수 있다고 생각한다.

많은 사람들이 머신러닝에 대해 갖고 있는 몇 가지 오해를 짚어보고자 한다.

  • 많은 이들이 ‘머신러닝은 마치 사람처럼 생각하는 존재’라고 믿고 있다. 하지만 보안관제에 위와 같이 머신러닝 을 적용해 본 결과, ‘머신러닝은 사람과 비슷한 판단을 내릴 수 있도록 모델을 만드는 존재’에 더 가깝지 않나 생각한다.
    보안 전문가가 하나의 문자(탐지명 등)에서 분석을 시작하는 것과 달리 머신러닝은 학습 데이터에서 여러 다양한 공격 특징(feature)을 추출하고 이를 수치화해 기준을 만든 후 어떤 공격인지를 예측하므로, 판단을 내리기까지의 과정은 사뭇 다르다.
  • 머신러닝이 모든 유형의 문제를 해결할 수 있는 만병통치약은 아니다. 또한 해결하고자 하는 문제와 이에 대한 데이터가 다양한 만큼, 이에 부합하는 머신러닝 알고리즘을 사용할 때 원하는 결과를 얻을 수 있다.
    로힛 가이 RSA 대표 역시 2018년 열린 RSA 컨퍼런스에서 ‘모든 문제를 해결해 주는 묘책은 없다(There is no silver bullet)’며 하나의 방법으로 모든 것을 막으려 하기보다는 점진적인 작은 변화를 통해 사이버 공격자에 대항할 것을 강조한 바 있다.
  • 영화 속에 묘사된 것과 달리, 머신러닝은 쉽게 이해할 수 있는 답을 주지 않는다. 명료하고 간단한 시그니처 기반 예측 방식과 달리 머신러닝은 그 나름의 판단 기준을 만들어 예측을 수행하므로 왜 이 결과를 도출했는지 알아내기 어렵다.
    이러한 어려움을 해소하기 위해 이글루 시큐리티를 비롯한 많은 기업들은 머신러닝이 도출한 결과에 대해 사람이 납득할 수 있는 설명을 해주는 ‘설명 가능한 AI(XAI: eXplainable AI)’ 기술 개발에도 속도를 붙이고 있다.
  • 머신러닝은 보안 인력의 일자리를 잠식하는 존재가 아니다. 다시 말해 지금까지는 현재 닥친 보안 이벤트를 처리하는 데 급급해 언젠가는 기업에 위험이 될 수 있는 단서 들을 놓치고 지나갔었지만, 머신러닝을 활용하면 이 단서 들을 능동적으로 찾아내고 심층적으로 분석할 수 있는 시간을 벌 수 있게 된다. 보안관제 요원들은 단순 업무는 머신러닝에게 맡기고 대신 숨겨져 있는 이상행위를 심층 분석함으로써, 보안관제의 범위를 넓힐 수 있게 될 것이다.

지금까지 필자가 보안관제 분야에 머신러닝을 적용하며 느낀 점을 짧게 적어보았다. 머신러닝이 보안관제 분야에서 좋은 성과를 올리기 위해서는 보안 전문가들과 점진적인 발전이 이뤄져야 하지 않을까 생각한다.

머신러닝은 보안 전문가들이 이해하고 동의할 수 있는 결과를 내놓을 수 있어야 하고, 보안 전문가들은 경험 기반 분석에서 나아가 데이터와 알고리즘 기반의 분석을 적극적으로 활용 해야 할 것이다. 이를 통해 보안관제 분야에서의 머신러닝의 비중이 더욱더 높아질 것으로 기대하고 있다.



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.