본문 바로가기

블로그

LG CNS 기술블로그 DX Lounge에서 최신 IT 소식을 만나보세요!

보안

AI 보안 요원이 랜섬웨어 공격 잡아낸다(上)

2020.11.09

올해 코로나 키워드를 활용한 랜섬웨어(Ransomware) 공격과 재택근무 환경 확산에 따른 원격 연결 수요가 증가함에 따라 RDP(원격 접속 프로토콜) 취약점을 노린 해킹 공격이 급증했습니다. 다양한 방식으로 진화하는 공격의 징후를 사전에 탐지하고 신속하게 대응하기 위해, 기업 내 정보 보안팀과 보안 관리 서비스 제공 업체(Managed Security Service Provider, MSSP)는 많은 도전에 직면하고 있습니다.

불특정 개인 PC를 대상으로 무차별 감염을 시도했던 랜섬웨어 공격은 점차 특정 조직이나 기업을 목표로 정한 뒤 장기간에 걸쳐 다양한 수단으로 공격하는 방식으로 확대되고 있습니다. 목표 조직 내부로 침투 후 오랜 시간에 걸쳐 시스템을 파괴하거나 기밀정보를 빼내는 형태로 공격을 수행하므로, 침입 흔적이 잘 드러나지 않아 정확한 탐지 및 신속한 대응이 어렵습니다.

이에 악성코드의 공통 패턴과 공격자의 악성 행위를 학습해, 여러 종류의 많은 로그 데이터로부터 정확하고 신속하게 악성 행위를 탐지할 수 있는 인공지능(AI) 기술이 주목받고 있으며, 보안 모니터링 업무에도 활용되는 사례가 증가하고 있습니다.

이번에는 공격 단계 중 가장 탐지하기 어려운 침투•잠입 단계에서의 내부 확산 공격에 대해, AI 기술을 활용한 사례와 보안 솔루션에서 제공하는 탐지 기술에 대해 살펴보도록 하겠습니다.

내부 확산 공격(Lateral Movement)이란?

해커는 통상적으로 공격 목표로 삼은 조직의 보안 경계를 뚫고 내부망으로 침투하는 것을 최우선 과제로 생각합니다. 이를 위해 스피어 피싱(Spear Phishing)이나 워터링 홀(Watering Hole) 등의 수법으로 내부 사용자가 악성코드를 실행하도록 유도합니다. 사용자가 악성코드를 실행하면 추가 악성코드를 설치한 후, 인터넷에 위치한 공격자가 내부망으로 직접적인 공격 명령을 내릴 수 있도록 역 통신(Reverse Connection) 채널을 확보할 수 있습니다.

● 스피어 피싱(Spear Phishing): 특정한 개인이나 회사들을 대상으로 시도하는 피싱 공격으로 전자우편 또는 메신저를 사용해서 신뢰할 수 있는 사람 또는 기업이 보낸 메시지인 것처럼 가장해 정보를 불법 획득하는 사회공학적 공격의 한 종류

● 워터링 홀(Watering Hole): 사자가 먹잇감을 사냥하기 위해 물웅덩이(Watering Hole) 근처에서 매복하는 것을 빗대어 특정한 공격 대상이 방문할 가능성이 있는 웹사이트에 악성코드를 심어서 감염을 유도하는 공격 방식

일단 내부망으로 침입에 성공한 공격자는 스캐닝 등과 같은 추가적인 공격으로 짧게는 며칠 동안, 길게는 몇 주 또는 몇 달간 네트워크 구조를 파악하고, 실제로 시스템에 불법 접근해 내부 정보를 획득하는 데 주력하게 됩니다. 공격 과정에서 내부 방화벽이나 IPS/IDS(침입 탐지 차단)와 같은 보안 장비에 의해 탐지될 수 있어서 이러한 공격은 대부분 느리고, 은밀하게 이루어집니다.

l 내부 확산 공격(Lateral Movement) 개념

공격자는 내부망 내 자유로운 이동을 위해 높은 권한의 관리자 계정 정보가 필요하게 됩니다. AD(Active Directory)나 인증 서버를 공격해 인증 정보를 획득하기 위해 다양한 공격 기법이 사용됩니다. 주요 공격 기법에는 공개된 해킹툴(mimikatz, pwdump)로 획득한 NTLM(NT LAN Manager) 해시값을 이용한 Pass-the-hash 공격, Kerberos 티켓을 불법 이용하는 Pass-the-ticket 공격, 관리자의 패스워드 입력을 훔치는 키로깅(Keylogging) 등이 있습니다.

Admin이나 사용자 인증 정보를 획득한 후에는 내부망 내 다른 시스템으로 접근하기 위해 psexec, net 등의 윈도우의 정상적인 원격 명령어를 주로 사용하게 됩니다. 이 과정에서 보안 탐지를 회피하기 위해 파워쉘(Powershell)이나 WMI(Windows Management Instrumentation)와 같은 정상 서비스를 이용하거나, 실제 공격 스크립트를 난독화하는 등 정교한 공격 수법을 사용하고 있습니다.

내부 확산 공격 탐지가 어려운 이유

한 보안 회사 연구에 따르면 앞서 설명한 내부 확산 공격이 전체 공격 시간 중 가장 긴 시간을 차지하고 있고, 전체 공격 시간 중 약 80%를 차지한다고 합니다.

이러한 공격을 발견하기 어려운 이유는 첫째, 정상적인 행위를 가장한 공격 형태가 대부분이므로 실제 공격 행위에 대한 가시성이 낮습니다.

둘째, 공격 대상이 Endpoint에서부터 DC(Domain Controller) 서버 등 내부 시스템으로 광범위하기 때문에 기존 네트워크 경계상에서의 침입 탐지 위주의 모니터링 체계에서는 공격 징후를 찾아내기 어렵습니다.

셋째, 모니터링해야 할 대상 시스템과 시스템 로그로부터 공격 탐지를 위해서는 많은 자원이 소요됩니다. 실제 공격 행위가 발생하기까지 장시간 내부 확산 공격이 진행되므로 비정상 행위에 대한 지속적인 모니터링이 필요하고, 분석 대상의 데이터가 기존 탐지룰 기반의 보안 로그량보다 많기 때문에 분석 시스템이 없으면, 탐지가 어려운 것이 현실입니다.

l 내부 서버 권한 획득 후 확산 공격

앞서 설명된 이유로 많은 기업에서는 MITRE ATT&CK Framework를 활용한 Threat Hunting 기법을 적용해 내부에서 수집한 대량의 로그에서 내부 확산 공격 징후를 찾고자 합니다. 또한 내부망의 기존 보안 장비에서는 확보할 수 없었던 보안 이벤트나 시스템 로그, 프로세스나 파일 정보 등을 수집합니다. 그리고 외부 TI(Threat Intelligence) 정보를 활용해 공격 시나리오나 가설에 기반해 공격의 징후를 찾는 활동을 진행하고 있으며, 공격 징후에 대한 검색과 분석 업무를 기존 관제 프로세스에 적용하고자 합니다.

●MITRE ATT&CK Framework: MITRE 기관에서 엔터프라이즈 네트워크에 실제 사용되는 해킹 공격 TTPs(tactics, techniques, and procedures)를 정리, 분류한 체계로써 위협 평가, 보안 검증 및 사고 분석 등에 활용됨

그러나 Threat Hunting 기법을 적용하더라도 대용량의 데이터 속에서 의심 정황을 찾고 심층 분석을 할 수 있는 보안 전문가의 반복적인 업무를 요구하므로 기계학습과 같은 AI 기술을 활용하는 요구 사항이 증가하고 있습니다.

기계학습을 활용한 분석 사례: JPCERT/CC

JPCERT/CC(일본 인터넷 침해 사고 대응팀)에서는 해킹 그룹들이 내부 공격 단계(사전 조사→ 내부 정찰→감염 전파→원격 공격→증거 삭제)별로 많이 사용하는 Windows 명령어를 대상으로 기계학습을 시킨 후, 시스템 로그를 대상으로 공격 여부를 자동 판단하는 툴을 개발했습니다.

l 사용 빈도가 높은 공격 명령어(사전 조사, 내부 정찰, 감염 전파)

JPCERT에서는 기계학습을 통한 공격 행위를 분석하기 위해 우선 공격자에 의해 많이 사용하는 명령어를 Blacklist로 정리했습니다. 이러한 명령어 중 net use, schtasks, at 명령어는 Application에서도 사용될 경우, 오탐지가 발생할 수 있기 때문에 이를 방지하기 위해 각 공격 명령어별로 점수표(Score sheet)에 의해 점수를 부여합니다.

이들 명령어가 동시에 사용될 경우, Scoring 작업을 거쳐 공격 여부를 판단하도록 설계했다고 합니다. 즉, 명령어의 조합이 특정 임계치(Threshold) 값 이상이면 공격으로 판단하고, 값 이하이면 정상으로 판단하는 방식으로 구현되어 있습니다.

l 기계학습을 통한 공격 탐지

기계학습을 위한 학습 데이터는 APT10, APT17, Dragon Ok, Blue Termite 등의 실제 해킹 그룹에서 공격에서 사용한 명령어 데이터를 JPCERT에서는 실제 분석했고, 645대의 피해 시스템을 대상으로 14,268개의 Windows 명령어를 추출해 데이터셋으로 사용되었다고 합니다.

l 기계학습용 데이터(해킹 케이스별 공격 명령어)

실험에 사용되었던 알고리즘은 Decision Tree, Random Forest, NN, Bayesian network 등 지도학습 알고리즘으로 사용되었고, 성능 평가 지표인 Recall(실제 공격 중 공격으로 판단한 비율), Precision(공격 판단 중 실제 공격 비율), F-measure(Recall과 Precision 간 조화 평균)의 3가지 항목에서 고른 결과치를 보인 Neural Network를 최종 적용 알고리즘으로 선정했다고 합니다.

l 기계학습 알고리즘 선정

이 툴에서 공격 분석한 이후에는 Level0에서 Level2까지 3가지 경고 레벨로 표현하고 있습니다. Level0은 정상 이벤트, Levle1은 기계학습으로 판단된 공격 행위, Level2는 Level1에서 판단한 공격 명령 중 사용자에 의해 정상으로 피드백 받은 이벤트로 정의하고 있습니다. 각 탐지 이벤트는 ‘ignore flag’ 값을 할당해 분석 모듈에서 ‘공격’으로 판단했을 경우, 사용자에게 명령어를 실행시켰는지의 여부(Y/N)를 직접 입력받아 관리하고 있습니다.

l 분석 후 경고 레벨

다음에는 이번 원고에 이어서 ‘보안 솔루션에서의 기계학습 활용, 성공적인 기계학습 도입을 위한 고려 사항’에 대해 알아보겠습니다.

글 l LG CNS 보안서비스팀

[참고 문헌]

  • Lateral Movement: What It Is and How to Block It (https://malware.news/t/lateral-movement-what-it-is-and-how-to-block-it/30648)
  • Lateral movement: Make it your opportunity for detection (https://blog.f-secure.com/lateral-movement-make-opportunity-detection/)
  • Inside Microsoft Threat Protection: Attack modeling for finding and stopping lateral movement (https://www.microsoft.com/security/blog/2020/06/10/the-science-behind-microsoft-threat-protection-attack-modeling-for-finding-and-stopping-evasive-ransomware/)
  • Finding Cyber Threats with ATT&CK™-Based Analytics (https://www.mitre.org/sites/default/ files/publications/16-3713-finding-cyber-threats%20with%20att%26ck-based-analytics.pdf)
  • Neural Network for Detecting APT Lateral Movement (https://pacsec.jp/psj17/PSJ2017_Shusei_ tomonaga_PacSec_20171026.pdf)
  • JPCERT Coordination Center’s Github (https://github.com/JPCERTCC/DetectLM)
  • How to Augment Security Operations Centers with Artificial Intelligence (https://content. vectra.ai/rs/748-MCE-447/images/WhitePaper_AugmentSOCwithAI.pdf)
  • Detecting Lateral Movement and Credential Switching: Human vs. Machine (https://www. exabeam.com/ueba/detecting-lateral-movement-and-credential-switching-human-vs-machine/)

챗봇과 대화를 할 수 있어요