[기고] 인공지능으로 공격하고 인공지능으로 막는다 - ITDaily
[기고] 인공지능으로 공격하고 인공지능으로 막는다보안 전문가와 같은 인공지능을 만들기 위한 방법
치밀하게 준비하고 거대해지는 사이버 공격
‘바늘 도둑이 소도둑 된다’라는 얘기가 있다. 조그만 나쁜 짓도 계속하다 보면 점차 커져 결국 큰 죄를 저지르게 됨을 비유적으로 이르는 말이다. 최근 사이버 공격의 양상이 심상치 않다. 바늘 도둑이 소도둑으로 커버리게 된 것일까?
과거 사이버 공격은 자신의 기술을 과시하기 위한 경우가 대부분이었다. 그렇기 때문에 뚜렷한 목적 없이 불특정 다수를 상대로 공격이 이뤄졌다. 그러나 최근 몇 년 사이, 사이버 공격의 형태가 변화했다. 경제적 또는 정치적 의도를 갖고 특정 대상을 공격하는 표적 공격이 크게 증가한 것이다. 또한 전력과 교통, 금융 등 국민의 생명과 재산 또는 사회 경제에 중대한 영향을 미칠 수 있는 국가기반시설까지도 사이버 공격의 대상이 됐다.
이렇게 공격의 범위가 확대된 원인은 크게 두 가지이다. 첫째, 공격 방법이 더욱 진화한 것이다. 과거에 비해 사이버 공격이 조직화됨에 따라 새로운 공격 기법들이 속속히 등장했으며 한 두 번, 단발적으로 진행되는 것이 아니라 오랜 시간에 걸쳐 아주 은밀하고 지속적으로 시도되고 있다.
둘째, 사이버 공격을 할 수 있는 방법이 쉬워졌다. 인터넷을 통해서라면 여러 가지 해킹 툴뿐만 아니라 디도스 공격이 가능한 좀비PC까지 손쉽게 구매할 수 있으며 일부 디도스 공격 툴은 무료로 배포된다. 악의를 가진 해킹이 이제는 더 이상 소수의 실력자들만을 위한 이야기가 아니게 된 것이다.
그래서일까 보안 컨퍼런스 ‘RSA 2016’에서는 100% 보안은 사실상 불가능하다고 지적한 바 있다. 실제로 최신 보안 장비와 솔루션으로 무장하고 오랜 기간 동안 사이버 공격을 막아온 기업 및 국가 기관들조차 날로 진화하는 공격 시도를 제때 막아내지 못해 피해를 입는 사례가 급속히 증가하고 있다. 공격에 대한 탐지, 대응 시간 단축을 위해 많은 데이터를 수집하고 있지만 그만큼 늘어난 다양한 보안 장비의 로그를 빠르게 분석하기엔 어려움이 따르기 때문이다.
이러한 상황에서 보안업계는 최근 인공지능에 큰 관심을 보이고 있다. 인공지능이 보안 전문가가 미처 발견하지 못한 취약점을 발견해줄 것이며 보다 빠르고 정확하게 탐지, 분석, 더 나아가 대응까지 해줄 것이라 기대하고 있는 것이다.
과연 정말 그럴까? 인공지능이 보안 전문가의 역할을 해낼 수 있는지, 그리고 그렇다면 어떤 방식으로 해낼 수 있는지, 이에 대해 살펴보는 시간을 가져보고자 한다.
똑똑한 인공지능을 만드는 머신러닝
지난 해 3월, 이세돌 9단과 세기의 대결을 펼쳤던 인공지능 ‘알파고’는 현존하는 인공지능들 중 가장 뛰어난 것으로 알려져 있다. 하지만 알파고가 처음부터 똑똑했던 것은 아니다. 구글은 알파고에게 바둑 기보(棋譜) 3000만개를 입력해 규칙을 가르친 뒤, 하루에 3만번씩 대국을 진행하고 이를 통해 스스로 학습하고 경험을 쌓도록 철저히 훈련시켰다. 수마다 어떤 결과로 이어지는지를 모두 저장하기 때문에 대국이 진행될수록 알파고는 점점 더 강해진다.
이처럼 똑똑한 인공지능을 만들기 위해서는 머신러닝 기술의 알고리즘을 활용한 효과적인 학습 방법이 필요하다. 우리가 잘 알고 있는 빅데이터를 바탕으로 스스로 학습하여 판단하는 딥 러닝 알고리즘이나, 슈퍼바이저 러닝, 언슈퍼바이저 러닝 역시 수많은 머신러닝의 알고리즘들 중 하나이다.
▲ 머신러닝의 알고리즘 (출처: machinelearningmastery.com)
인공지능 해커의 공격은 정밀하고 빠르다
공격자가 악성코드를 이용해 APT공격을 시도하려고 한다면 공격 성공률을 최대한 높이기 위해 공격 대상 기관이나 기업의 환경 및 특성을 하나하나 따지고 분석해야 할 것이다.
예를 들어 악성코드 형태는 어떤 타입이 효과적인지, 랜섬웨어로 만들 것인지 또는 백도어 형태로 만들 것인지 선택해야 하고 운영체제나 네트워크 정보는 어떤 취약점을 가지고 있고 어떻게 활용할 것인지 또 어떤 취약점들을 이용해야 타깃에게 효과적인지 분석해야 한다. 더 나아가 배포할 때는 이메일을 이용할 것인지 드라이브 바이 다운로드를 이용할 것인지, 악성코드가 실행될 때는 실행파일 형태로 할 것인지 문서 형태로 할 것인지 선택한 후, 최적의 악성코드를 만들고 이를 이용해 공격을 실행할 것이다.
▲ 전통적인 APT 제작방법 (출처: 이글루시큐리티)
이렇듯 실제 APT공격을 실행하기까지 공격자는 많은 시간을 들여 자료를 수집하고 분석해야 하지만 인공지능을 활용한다면 이야기는 크게 달라진다. 이미 머신러닝을 통해서 빅데이터 기반으로 학습된 인공지능은 타겟의 취약한 부분을 이용할 수 있는 악성코드를 신속하게 만들고 최적의 루트를 활용해 공격의 성공률을 한층 높일 수 있기 때문이다.
또 다른 예로서 BEC(BEC Attack Scenario Concept)공격을 머신러닝 기반의 인공지능이 수행하게 된다면 먼저 여러 대상의 정보를 수집하여 학습한 뒤 빅데이터를 통해 비교 분석한 후 공격 성공률이 가장 높은 타겟을 선정해 공격을 시도하게 될 것이다. 실제로 이러한 사회공학적기법까지 사용해가며 약 100여개의 나라에서 30억 원을 탈취한 사례가 있었다. 인공지능을 활용했기 때문에 보다 정밀하고 빠른 공격이 가능했던 것이다.
인공지능과 머신러닝이 만능열쇠는 아니다
그러나 인공지능이 모든 부분에 있어 맹신할 만큼 완벽한 것만은 아니다. 좋은 인공지능은 좋은 지식을 통해 학습돼 올바른 결과를 나타내주지만 때론 올바른 방법으로 학습돼도 의도치 않게 잘못된 결과를 나타나게 하는 오류가 발생하기도 한다.
첫 번째로 오버피팅(Overfitting)오류는 아주 사소한 값의 변화에도 예민하게 반응해 전혀 다른 값으로 도출하며 발생하는 오류이다. 사람의 육안으로 구별한다면 정확한 값을 도출해낼 수 있지만 아래의 그림과 같이 머신러닝을 통해서 학습된 데이터에서는 작은 값의 변화를 과도하게 해석해 전혀 다른 결과를 나타낸 오버피팅 오류가 발생하게 된다.
▲ 머신러닝의 오류 오버피팅(Overfitting) (출처: 이글루시큐리티)
두 번째 오류로는 성향적(Variance)오류가 있다. 머신러닝을 통해 학습되는 데이터가 충분히 존재한다면 정확한 결과를 도출할 수 있지만 학습할 데이터가 충분치 못한 경우, 즉 정확한 결과를 나타내기에 부족한 데이터 탓에 부정확한 결과 값이 도출되는 성향적 오류가 존재한다.
▲ 머신러닝의 성향적 오류 (출처: 이글루시큐리티)
그 밖에 인공지능의 한계를 고스란히 보여줬던 사례로 마이크로소프트(MS)에서 선보인 채팅봇 테이를 들 수 있다. 채팅봇 테이는 SNS인 트위터, 모바일 메신저인 그룹미, 킥을 통해 사람과 대화를 나눌 수 있는 인공지능 서비스이다. 그러나 론칭 16시간만에 운영이 중단되었는데 그 이유는 테이가 욕설이나 인종차별, 성차별적 발언뿐만 아니라 자극적인 정치적 발언까지 하게 되는 사태가 벌어졌기 때문이다. 악의를 가진 사용자들이 옳지 못한 데이터를 입력시켜 인공지능에게 잘못된 학습을 하도록 만든 게 원인이었다.
▲ 인공지능 채팅봇 테이 (출처: Microsoft)
보안 전문가의 역할을 대신할 수 있는 인공지능은 가능한가?
현재의 보안 환경을 살펴보면, 기하급수적으로 늘어나는 악성코드와 날로 지능화되는 사이버 공격을 방어하기 위해 보안 장비 및 솔루션이 매우 다양해졌으며 이에 따라 식별 및 분석이 필요한 보안 데이터 또한 크게 증가했다. 대형 기관 및 기업에서는 SIEM과 같은 빅데이터 분석 시스템을 통해 많은 보안 장비와 솔루션의 데이터를 한 곳에 모아 공격에 대한 탐지 및 대응을 하고 있으며 최근에는 외부의 보안 이슈나 유해 IP, URL, 보안 동향 등을 실시간으로 제공받고 이러한 위협 인텔리전스를 자동으로 적용하여 대응하는 곳도 늘어나고 있다.
앞서 살펴본 것과 같이 인공지능은 완벽하지 않다. 인공지능은 처음부터 모든 것을 다 알지 못하기 때문에 때론 예상치 못한 오류를 범할 수 있고 제대로 된 데이터를 통한 교육이 이뤄지지 않으면 잘못된 방향으로 학습되기도 한다. 따라서 머신러닝을 활용해 사이버 공격에 대응하게 되더라도 외부의 다양한 위협 인텔리전스뿐 아니라 내부의 여러 보안 관련 로그, 그리고 정보 흐름에 대한 시나리오까지 사전에 철저하게 학습시키는 과정이 무엇보다 중요할 것이다. 올바른 데이터를 통해 학습시킨 인공지능만이 적절한 대응을 해낼 수 있기 때문이다.
▲ 내외부 이슈까지 대응하는 SIEM (출처: 이글루시큐리티)
인공지능 보안을 위한 머신러닝의 활용
머신러닝을 보안 프로세스에 적용해 활용할 수 있는 가장 대표적인 경우로는 스피어피싱 메일 탐지를 들 수 있다. 스피어피싱 공격에 대한 대응을 머신러닝 기반의 보안 솔루션을 통해 자동화한다면 사용자가 이메일을 수신한 즉시 인공지능은 메일의 IP, 위치 정보, 송신자 이름, 제목, 본문 내용, 첨부 파일 유무 등을 살펴볼 것이며 빅데이터를 토대로 해당 메일에 악의적인 내용이 존재하는지를 진단해 이를 사전에 탐지 및 차단할 것이다.
또한 네트워크 공격을 탐지해내는데도 머신러닝을 활용할 수 있는데 네트워크의 트래픽에서 IP, 헤더 정보, 트래픽 길이 등을 분석해 시각화하면 보통 표준의 데이터 분포가 형성된다. 이때 분포의 중심을 벗어나는 데이터들은 네트워크 공격으로 쉽게 식별해낼 수 있다.
▲ 악성코드 행위 분석 예시 (출처: Automatic Analysis of Malware Behavior using Machine Learning)
정보보호정책과 같이 법률과 관련되어 문서로 표현되는 영역은 그 의미를 정확하게 판별해내기 힘들고 인간 고유의 직관력까지 요구되기 때문에 머신러닝을 적용하기 힘든 부분 중 하나다. 그러나 복잡하게 나열된 법률 문서를 조금 더 간단하게 확인하고 쉽게 판단할 수 있는 자료로 가공해주는 등의 일은 인공지능을 통해 가능할 것이다.
▲ 정보보호정책의 자동화/ 출처: 이글루시큐리티
앞으로의 보안은 얼마나 정확하게 탐지하고 신속하게 대응하느냐가 관건이다. 그 방안 중 하나로 머신러닝 알고리즘은 여러 보안 프로세스를 자동화해 관리자의 개입을 최소화하고 오탐미탐을 줄여줄 것으로 기대된다. 하지만 그러기 위해서는 먼저 방대한 보안 데이터를 장기간 연계 분석해 온 인간의 경험과 지식을 인공지능이 학습할 수 있도록 해야 하며 이러한 선행 과정을 거친 후에야 새로운 유형의 보안 위협을 보다 효율적으로 탐지하고 기민하게 대응할 수 있을 것이다.
최근에는 보안 전문가와 인공지능의 결합을 통해 오탐을 줄이고 정확도를 향상시킬 수 있는 선순환 구조의 액티브 러닝 아키텍처(Active Learning Architecture)가 개발되고 있다. SIEM과 같은 빅데이터 시스템을 통해서 실시간으로 수집되는 대용량의 보안 이벤트를 머신러닝에 적용하더라도 해당 데이터에 대해 올바른 판단을 해줄 수 있는 보안 전문가의 직관력이 더해진다면 최상의 머신러닝 학습을 만들어낼 수 있기 때문이다.
▲ 액티브 러닝 아키텍처 (출처: 이글루시큐리티)
인공지능 해커와 인공지능 보안 전문가의 전쟁
최근 국내 보안 컨퍼런스의 강연 주제를 살펴보면, 인공지능 또는 머신러닝이 70%이상을 차지하고 있다. 이는 그만큼 현재 보안업계에서 인공지능에 대한 관심이 뜨겁다는 것을 보여주고 있다.
대구 광역시에서는 국가공공사업의 일환으로 인공지능 기반 지능형 보안관제체계(D-Security)를 구축하고 있으며 국내 공공기관 최초로 추진되는 AI 기반 사이버침해대응시스템 구축 사업에는 이글루시큐리티가 총괄 사업자를 맡아 진행하고 있다. 이처럼 더 이상 인공지능을 활용한 보안은 앞으로의 미래 이야기가 아닌 현재의 이야기이며 동시에 지금 우리가 준비하고 대비해야 하는 과제이기도 하다.
그러기 위해서는 무엇보다 인공지능에게 학습할 수 있는 올바른 자료를 구축해주는 것이 중요하다. 각종 보안로그들을 빠짐없이 수집하고 또 그 로그 속에서 중요 정보를 찾아내고 정규화할 수 있는 SIEM 등을 활용해 인공지능에게 학습할 수 있는 충분한 데이터를 제공해줘야 한다. 그리고 더 나아가 올바른 판단을 하도록 검증된 학습자료를 만들 수 있는 보안 전문가의 역량이 필요한 시점이기도 하다. 인공지능이 보안업계에 득이 되느냐, 독이 되느냐는 결국 보안 전문가에게 달려있다.
2017년 08월 01일(화) 10:53:04 오영택 oyt1024@igloosec.com 메일보내기 ㅣ 기자의 다른 기사보기