컨텐츠 바로가기

05.02 (목)

AI 기반 DDoS 공격, 머신러닝 비지도 학습으로 대응하라

댓글 첫 댓글을 작성해보세요
주소복사가 완료되었습니다
악당들이 인공 지능(AI)을 악용할지 모른다는 생각이 들면 필자는 밤잠을 설친다. AI에 IoT 기반 공격이 갖는 영향력이 결합하면 강력한 파괴력을 지니고, 보안 전문가들도 더 고생하면서 대응해야 할 것이다. AI는 단 몇 초 만에 네트워크와 애플리케이션의 운명을 바꿀 수 있는 더 큰 힘, 중대성, 치명성을 갖고 있다.
AI가 사이버보안 세계에 가져올 힘을 생각할 때, 제대로 대비하지 않으면 우리는 숲 속을 걷는 어린 사슴의 신세가 될 것이다. 지금은 ‘미지의 위험’에 대비할 시기다. 보안 전문가들은 현재 활용되는 기존 방어 메커니즘을 조사해 AI 기반 공격을 방어할 수 있는지 확인해야 한다.

‘준비’하지 않으면 ‘실패’뿐
새로운 기술이 등장하면 보안 위협도 새롭게 발생한다. 미흡한 프로토콜을 다루기 위한 새로운 상품도 출시된다. 현재의 공격 수준을 감안할 때 100% 안전하다고 말할 수 있는 사람은 없다. 대부분은 충분히 안전한 정도로 만족한다. 보안 부서는 보안 위협이 시간 문제라는 가정 아래 작업 한다.

분산형 서비스 거부(DDoS) 공격을 방어할 메커니즘은 정립되어 있다. 경계선을 확장하고, 스크러빙 센터(Scrubbing center)로 오프로딩한다. 그런데 IoT 기반 공격이 등장하면서 기준이 높아졌다. 신뢰도 높은 네트워크도 믿을 수 없게 되었다. 그러나 대역폭에는 제한이 있고, (언론의)헤드라인은 실제 가능성보다 과장된 경우가 많다.

하지만 악성 공격이 AI를 활용할 때 초래되는 영향은 상대적으로 경시되고 있다. AI가 결합될 경우 DDoS 공격은 훨씬 더 강력해진다. 머신은 멈출 줄 모른다. 피로도 모르고, 집중력을 잃지 않는다. 또 허둥대지도 않는다. AI 기반 공격은 방어 메커니즘의 압력 아래에서도 지속적으로 모멘텀을 유지한다.

머신에 맞서 싸울 유일한 도구는 머신이다. 나머지는 쓸모가 없다. 보안 전문가들은 ‘어찌 할 바 모르는 상황’을 피하기 위해, 전통 방어 메커니즘에만 의지하지 않고 AI를 도입하고 적용해야 한다. AI 기반 방어 메커니즘은 비지도(Unsupervised)와 지도 학습 시스템으로 구성된다. 둘 중 더 우수한 방어 메커니즘은 비지도 학습이다. L7Defense는 실시간 공격 방어에 비지도 학습 알고리즘을 사용하기 시작한 ‘선구자’다.

루프 스크립트에서 자동화된 AI 기반 공격으로
DoS 공격은 1974년에 처음 등장했다. 그러다 2000년대 초 등장했으며, 수동 DoS 방법에 기반을 둔 Classical Bots와 함께 메인스트림이 되었다. DoS는 본질적으로 악성 트래픽을 보내 시스템을 무력화하는 공격이다. 당시에는 꽤 기초적인 공격이었다. 도구가 준비되어 있지 않은 경우에도 중간 정도의 기술 전문성을 갖추면 공격을 전개할 수 있었다. 하나의 머신은 하나의 공격 서명을 보낸다. 키보드 수동 입력으로 자동화를 처리한다.

이것은 비효율적인 방법이었다. 그래서 수동 공격은 반수동 방식으로 바뀌었다. 단순한 스크립트에 여러 루프를 결합해 일정한 수준의 자동화를 구현한 것을 예로 들 수 있다. 하지만 스크립트에서 사전 구성할 수 있는 공격 서명의 수가 제한되어 있었고, 하나의 IP 소스만 사용하는 한계가 있었다. 사용할 수 있는 공격 표면과 방향이 제한되어 있었다는 의미다.

이후에는 여러 공격 IP 소스로 구성된 반 자동 공격이 등장했다. C&C(Command & Control) 서버가 등장하면서 DoS가 DDoS로 바뀌었다. C&C 서버는 악성 공격자들이 통제하는 중앙화 머신이다. 명령을 보내고 아웃풋을 받을 수 있다. 당시 C&C 서버는 정교하지 않았지만, 여러 감염된 엔드 호스트 컴퓨터를 제어해 공격 소스를 확산시킬 수 있었다. 이 감염된 컴퓨터가 봇넷(Botnet)이다.

봇넷은 C&C 서버로부터 사전 정의된 명령을 받는다. 그리고 정해진 공격 서명 패턴을 전송한다. 방어 메커니즘의 방어 상태와 상관없이 확정된 서명이다. 봇넷은 정적으로 동작했다. C&C 서버가 각 봇넷에 유사한 명령을 발행하기 때문이다. 공격의 규모가 증가했지만, 지능은 증가하지 않았다. 공격 표면이 더 커졌지만, 지능은 동일했다.

멀웨어 자동화
DDoS 진화의 중요한 전환점은 멀웨어의 자동 확산이었다. 자주 등장하는 단어인 멀웨어는 악성 소프트웨어를 설명하기 위해 사용하는 용어다. 멀웨어 자동 확산은 자동화의 주요 경로이며, 자동화된 DDoS 공격의 1단계로, 사람이 개입하지 않고도 공격 배포와 일정을 증가시킬 수 있게 되었다. 멀웨어를 이용하면 자동으로 수많은 호스트를 감염시킬 수 있다. 수평적 이동 기법을 적용해 특정 네트워크 세그먼트의 감염을 다른 세그먼트로 확산시킬 수 있다. 네트워크 세그먼트 간 이동을 ‘비치헤딩(Beachheading)’이라고 부르는데, 멀웨어를 특정 영역에서 다른 영역으로 ‘비치헤딩’할 수 있게 된다.

하지만 한 가지 단점이 남아있었다. 공격자 입장에서는 아주 큰 단점이었다. 환경이 여전히 정적이라는 단점이었다. 다시 말해, 방어 메커니즘의 대응을 토대로 서명을 동적으로 변경할 수 없다. 봇넷의 동작은 다르지 않았다. C&C 서버가 내린 명령에 따라 동작했을 뿐이다.

앞서 언급했듯, 대역폭에는 한계가 있다. 따라서 이런 종류의 네트워크 공격의 효과성이 떨어지기 시작했다. 악당들은 ‘사이드 스텝’을 밟기 시작했다. 네트워크 인프라 대신 애플리케이션 계층을 표적으로 삼았다. 증폭(Amplification)으로 불리는 강화된 공격 기법과 함께 반사(Reflection) 공격이 등장하기 시작했다. 당시 분산형 반사 서비스 거부 공격이 큰 피해를 줬었다. UDP 서비스 공격에 반사 공격을 사용한다. UDP는 리시버(수신기)가 소스의 IP를 확인하지 않는 비연결형(비접속형) 기술이다. 서비스를 요청한 클라이언트의 주소이다. 확인을 하지 않기 때문에 악당들은 사용자의 IP를 소스로 사용해 사용자로 가장할 수 있다. 이것을 IP 스푸핑이라고 부른다.
IP 주소를 스푸핑 당한 적법한 소스는 UDP 서버가 요청을 다시 반환해 보낼 때 붕괴된다. UDP 서버는 악성 공격의 신원을 숨기는 반사기(리플렉터) 역할을 한다. 증폭 공격은 응답의 크기가 일반적으로 서버 요청의 크기보다 훨씬 더 크다는 점을 악용하는 공격이다. www.network-insight.net으로 전송된 간단한 요청에 수많은 IP 주소의 응답과 추가 정보가 포함될 수 있다. DNS 서버가 요청을 200배 증폭시킬 수 있다면, 증폭과 반사 기법, 100Mbps로 200Gbps의 공격을 생성할 수 있다. 수만 개의 반사기가 있으면 어떤 일이 일어날지 짐작하고도 남을 것이다.

3, 4, 7 계층 공격에 기반을 둔 변종 공격과 즉시 사용할 수 있는 도구들이 등장했다. 그러면서 더 쉽고 저렴하게 공격을 런칭할 수 있게 되었다. 공격 변종 간 주요 차이점은 세션 생성 능력이다. 스택에서 세션 소진(고갈)을 높이는 SSL(Secure Socket Layer) 세션을 예로 들 수 있다. 세션 탈취 시도를 하지 않고, 응답을 기다리지 않은 상태에서 수많은 ICMP(Internet Control Message Protocol)을 전송할 수도 있다.

이런 기법이 결합되어 아주 위험한 3, 4, 7 기반 공격이 개발됐다. 전통적인 볼륨메트릭(Volumetric) 공격이 애플리케이션에 초점이 맞춰진 7 계층 공격과 결합되는 경우가 많았다. 볼륨메트릭은 7 계층 기반 공격을 위장하는 데 사용되었다. 애플리케이션 공격은 악당들의 '온상’이다. 각 웹 애플리케이션마다 공격할 수 있는 영역이 무한대로 많다. 여기에 더해 선택할 수 있는 공격 변종도 많다. 무작위 페이지 공격 생성 도구와 임의화 기법도 무수히 많다. 웹 보안 업체에는 전적으로 불리한 상황이다. 많은 취약점을 스캔해 감지할 능력은 갖췄지만, 무한대의 서명을 감지할 수는 없기 때문이다.

해커들이 자동 멀웨어 확산과 IoT를 결합하기 시작하면서 상황이 더 악화되었다. 이미 대규모 공격이 여러 차례 발생했고 아주 견고한 네트워크까지 붕괴됐다. 기존 C&C는 그렇게 정교하지 않았다. 그러나 ‘빅 브라더’ IoT C&C 서버는 훨씬 더 동적이고, 방어 메커니즘의 응답(대응)을 토대로 몇 초 간격으로 변경되어 최적화 상태를 유지하도록 봇넷을 제어할 수 있다.

전통적인 C&C보다 훨씬 더 지능이 높은 봇넷은 더 이상 정적인 도구가 아니다. 각 봇넷이 각자 동작하고 작업한다. 수많은 소규모 부대가 각자 동일한 표적을 공격할 수 있게 되었다는 의미다.

인공 지능(AI)의 부상
그런데 이제 전혀 다른 형태의 DDoS 공격의 시대로 진입하고 있다. 새로운 시대의 공격은 IoT 기반 공격, 인공 지능, 다양한 피드백 루프, 자동 최적화의 위력을 모두 갖고 있다.

인공 지능은 사람의 개입 없이도 방어 메커니즘의 대응에 맞춰 자동으로 파라미터와 서명을 변경하고, 계속 최적화한다. 하나의 인공 지능에 매달려 보안 전문가들이 날을 새워야 할지도 모른다. 이런 문제를 방지하려면 사전에 미리 대비해야 한다.

AI 기반 방어 메커니즘은 지도 학습과 미지도 학습으로 나눠진다. 교사가 특정 질문과 대답, 사전에 정의된 커리큘럼을 가지고 교육하는 방식이 지도 학습이다. 반면 미지도 학습의 경우 교사도 없고, 한정된 커리큘럼도 없다. 학생의 요구 사항 변화에 맞춰 스스로 커리큘럼을 발전시킨다.

지도 학습의 경우 상황을 극복할 수 있는 '예제(예, 실례, 보기)’를 공급(입력)해야 한다. 예제가 충분할 때는 닫힌 문제가 된다. 그러나 AI 기반 공격에 있어서는 많은 단점이 존재한다. 기존에 입력한 ‘예제’와 다른 멀웨어의 경우 어떻게 될까? 시스템이 이를 식별해 적절히 다룰 수 있을까? 그러지 못할 수도 있다. 이 경우, 긍정 오류가 증가하기 시작한다.

더 우수한 것은 미지도 학습이다. 시스템에 예제를 공급할 필요가 없기 때문이다. 방어 메커니즘의 대응에 따라 계속해서 동작을 바꾸는 머신을 방어할 때도 효과적이다. 미지도 학습은 문제가 바뀔 때 스스로 여기에 맞춰 조정 및 변화하는 능력을 갖고 있기 때문이다. 지도 학습이 갖고 있는 중대한 문제는 특성상 트래픽 패턴을 예측하기 불가능하다는 것이다. 소스와 대상 IP 엔드포인트는 불변 상태로 유지될 수 있지만, 헤더와 메시지 본문은 다양하게 바뀔 수 있다. 지도 학습의 중대한 문제점은 이런 ‘변종'이다.

모든 애플리케이션 트래픽 프로필, 잠재적인 공격 벡터에 대한 예제를 예측해 생성하기란 불가능하다. 모든 영역을 다룰 수 없다. 모든 상황을 다룰 수 있을 정도로 충분한 예제를 지도 머신 학습 시스템에 공급할 수 없다. 따라서 스스로 환경을 분석하고, 사람의 개입 없이도 최상의 방어 경로를 파악하고, 긍정 오류를 최소화시킬 수 있는 시스템이 필요하다. 동적으로 알려진 환경, 알려지지 않은 환경을 학습해 조정을 할 수 있는 시스템이다.

지도 학습이 어느 정도 도움을 줄 수는 있다. 그러나 동적(가변적) 변수가 가득한 환경에 필요한 시스템은 이런 변화에 맞춰 스스로 조정하고, AI 기반의 공격이 가져올 불확실한 미래를 예측할 수 있는 시스템일 것이다.

공격자들은 아주 빠르게 움직인다. 얼음이 녹는 속도와 비교할 수 있다. 얼음은 움직이지 않지만, 지금 우리에게 필요한 것은 얼음을 부술 망치가 아닌, 물을 분석해 독이 있는지 판단하게끔 도와주는 도구다. 다름 아닌 미지도 학습을 도입해 활용해야 하는 이유가 여기에 있다. editor@itworld.co.kr

Matt Conran editor@itworld.co.kr
저작권자 한국IDG & ITWorld, 무단 전재 및 재배포 금지
기사가 속한 카테고리는 언론사가 분류합니다.
언론사는 한 기사를 두 개 이상의 카테고리로 분류할 수 있습니다.