ICS 겨냥한 Triton 추가 공격 탐지
ICS 겨냥한 Triton 추가 공격 탐지
  • 오현식 기자
  • 승인 2019.04.17 12:59
  • 댓글 0
이 기사를 공유합니다

파이어아이, Triton 메커니즘 공개
주요 인프라에 대한 Triton 공격 ‘현재진행형’
ICS 보안 정책 강화 ‘필수’

2017년 12월 발견된 Triton은 산업 보안의 화두로 단숨에 떠올랐다. 산업제어시스템ICS : Industrial Control System을 공격하는 특성 때문이다. Triton을 최초로 발견한 글로벌 보안 파이어아이는 4월 여러 주요 인프라 시설에서 추가적인 Triton 공격이 발견됐다고 밝히면서 주의를 당부했다.

Triton은 제로데이 취약점을 악용하여 중요한 인프라 시설에서 ICS을 조작하고, 프로세스를 종료시켜 피해를 일으키는 사용자 지정 공격 프레임워크이다. Triton이 발견된 지 1년이 넘었지만, 아직까지도 공격 방식에 대한 많은 수수께끼를 갖고 있는 공격으로 침입 전술, 침입 기술과 절차TTP : Tactics, Techniques, and Procedures 등의 정보가 알려지지 않고 있는 것이다.

최초 발견 이후 파이어아이는 여러 Triton 공격 사고를 통해 축적한 지식을 바탕을 Triton 공격 메커니즘을 공개했다. 파이어아이에 따르면, Triton 공격 그룹은 최소 2014년부터 공격을 준비한 것으로 파악된다. Triton 공격을 준비하기 위해 사용된 것으로 추정되는 Cryptcat 기반 백도어 샘플의 흔적이 2014년으로 이어지기 때문이다. 이 샘플 파일은 공격자가 테스트 환경에 컴파일하고 업로드한 것으로, 2014년 4월 28일부터 Program Data Updater 및 Network Access Protection Update DB 작업을 사용하여 매일 실행되도록 예약됐으며, 자격 증명 수확과 정찰에 사용되는 SecHack.exe는 2014년 10월 23일에 컴파일됐다.

이에 비춰 볼 때 공격자는 목표물의 산업 프로세스에 대해 배우고 사용자 정의 도구를 만들기 위해 오랜 기간 준비했음을 알 수 있다. 실제로 한 사례에서는 1년 동안 대상 네트워크에 잠복한 흔적도 발견됐다.

또한 공격자들은 보안 모니터링을 회피하면서 정보 수집을 진행하기 위해 여러 기법을 사용했다.

대표적인 방법이 합법적인 관리자 활동을 모방하는 표준 도구의 활용으로, KB77846376.exe와 같이 정상 Microsoft 업데이트 파일처럼 보이도록 파일 이름을 변경해 사용하거나 Outlook Exchange 서버의 flogon.js 혹은 logoff.aspx 파일을 수정해 사용한 것이다. 이와 함께 키로거 등 눈에 띄는 정보 수집 활동보다 네트워크 정찰 등 부수적 정보 수집에 활동을 주로 수행하면서 탐지를 피했다.

그리고 암호화된 SSH 기반 터널을 사용해 공격 도구를 전송하고, 원격 명령을 실행했으며, 합법적인 사용자나 프로세스가 자주 사용하지 않는 디렉터리 여러 개를 공격 준비 폴더로 사용하여 준비된 공격 파일을 실행하고, 완료 후에 삭제했다.

파이어아이 측은 “Triton 공격에 대한 연구에서는 Triton 공격자들이 커스텀 툴링에 대한 강력한 개발 능력을 보유하고 있음을 알게 한다”면서 “이러한 정교한 공격을 방어하기 위해서는 OT뿐 아니라 IT까지 모두 포괄하여 모니터링함으로써 시스템 전반의 보안 수준을 높여야 한다”고 말했다.

이어 파이어아이는 Triton 공격 탐지를 위한 몇 가지 방안을 제시했다. 오랜 기간 잠복하면서 정보를 수집하는 특성으로 인해 공격자는 시스템· 곳곳에서 흔적을 남기는데, 이를 통해 공격 초기 Triton을 탐지하고, 차단할 수 있다는 설명이다.

<표> Triton 공격 기법 및 특징과 탐지 팁이다.

공격 특징 공격 탐지 Tip
XML 트리거로 예약 작업 서명되지 않은 .exe 파일을 참조하는 새롭고 비정상적인 작업이 예약된 XML 트리거 검색
IFEO 주입 레지스트리 키 HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Image 파일 실행 옵션에서 .exe 파일을 참조하는 수정 및 새 항목 검색
하드 코딩된 DNS 서버를 사용한 명령 및 컨트롤 (C2) 8.8.8.8:53으로 DNS 조회를 실행하여 PE 실행 여부 검색(샌드박스 및 기타 맬웨어 처리 기술에 적용 가능)
C2 포트 악용 443, 4444, 8531 및 50501과 같은 일반적인 포트와 일반적인 포트에서 포트 프로토콜 불일치가있는 아웃 바운드 연결 검색
가상 사설 서버(VPS) 인프라 활용 비표준 IP 범위, 특히 OVH 및 UK-2 Limited (uk2.net)와 같은 국제 VPS 공급자와의 인바운드 및 아웃 바운드 연결 검색
하이픈이 있는 C2 도메인 새로 관찰된 2LD 및 3LD 도메인에서의 하이픈 검색
afraid.org의 동적 DNS 도메인을 사용하는 하는 C&C afraid.org에서 소유하거나 등록한 신규 동적 DNS 도메인 검색
vfemail.net 전자 메일 주소로 등록된 C2 도메인 새로 관찰된 도메인 또는 vfemail.net이 포함된 등록자 전자 메일 정보의 도메인에 대한 DNS 확인
PLINK를 사용한 터널링된 RDP

가용 스루풋 및 이벤트 로그, 방화벽 로그 및 레지스트리 키와 비표준 RDP 사용의 존재 검색

 

RDP를 통해 민감한 시스템에 액세스하지 않아야하는 비트 맵 캐시 파일 검색

하드코딩된 SSH 개인키 사용 하드코딩된 OpenSSH 개인 키가 있는 PE 검색
다이렉트 RDP 사용 기본 호스트 정보, 비표준 또는 기타 메타 데이터를 사용한 인바운드 RDP 연결 검색
기본 Windows 호스트 이름의 소스 시스템을 사용 PE 인증서, SSL 및 SSH 인증서 및 RDP 핸드 셰이크의 구조 WIN- [A-Z0-9] {11} (예 : WIN-ABCDEFGH1JK)에 맞는 기본 Windows 호스트 이름 검색
SSH 사용 새롭고 독특하거나 특이한 SSH 세션 및 비표준 포트를 통한 SSH 검색
손상된 VPN 계정

원본 계정 위치, IP 주소 및 호스트 이름 연결과 같은 실행 불가능한 패턴을 기반으로  하는 VPN 로그온 이상 여부 확인

SMS 기반 MFA를 사용하는 경우, 직원이 근무하는 국가 이외의 국가에서 등록된 전화번호 검출

Microsoft Corporation으로 위장 메타 데이터에 "Bitvise"문자열과 "Microsoft Corporation"이 포함된 PE 메타 데이터가 일치하지 않는 PE 및 서명되지 않은 "Microsoft Corporation" 파일 검색
사용자 지정 Bitvise 바이너리 활용 d:\ repos\main\ssh2\와 같은 Bitvise PDB 경로 문자열이있는 PE 검색
사용자 정의된 OpenSSH 바이너리 사용 "Microsoft openSSH client" 컨텐츠를 가진 PE 검색 

사용자 지정 Cryptcat과 기본 암호 사용

Cryptcat 바이너리 삭제 또는 기본 비밀번호 "metallica"와 같은 Cryptcat 문자열 컨텐츠를 포함하는 PE 검색
PowerShell을 통한 Timestomping PowerShell 스크립트 또는 PowerShell 명령 줄 항목에서 ".CreationTime ="와 같은 타임 스탬프 문자열 검색 또는 PE 컴파일 시간 이전 NTFS 생성 시간을 가진 PE 검색

Visual Studio 2010을 사용하여 개발자 워크 스테이션 디버그 정보가 있는 바이너리 배포


다음과 같은 기본 경로 또는 일반 경로가 포함된 PE 검색

 

· \Users\user\Documents\Visual Studio 2010\
· \Documents\Visual Studio 2010\.

맬웨어 패키징을 위해 Thinstall 사용

내용이 "thinstall\modules\boot_loader.pdb"인 PE 또는 "C:\Windows\SysWOW64\config\systemprofil \AppData\Roaming\Thinstall\" 컨텍스트에서 가상화 파일을 만든 Thinstall 바이너리 검색

파일 조작, 스테이징 및 실행 시 선호되는 디렉토리

다음 디렉토리에서 새롭거나 예기치 않은 변형 또는 비정상적인 파일 검색

· C:\Windows\system32\inetsrv\
· C:\Windows\temp\
· C:\Windows\SysWOW64\wbem
· C:\Windows\SysWOW64\drivers
· C:\Windows\SysWOW64
·
C:\Windows\system32\wbem\
· C:\Windows\system32\drivers\
· C:\Windows\system32\
· C:\Windows\
· C:\Users\Public\Libraries\
· C:\Users\administrator\appdata\local\temp\
· C:\ssh\
· C:\perflogs\admin\servermanager\ssh\
· C:\perflogs\admin\servermanager\
· C:\perflogs\admin\
· C:\perflogs\
· C:\cpqsystem\
· C:\hp\hpdiags\
· C:\hp\bin\log\

 


주요기사
이슈포토