IOCTL(Input/Output Control Code) 번호와 타깃 프로세스 정보 탈취해

[보안뉴스 원병철 기자] 최근 마이크로소프트(Microsoft)에서 Microsoft 인증서로 서명된 악성코드가 유포되고 있는 실태에 대해 공개했다. 해당 발표에 따르면 Microsoft의 여러 개발자 계정의 유출로 인해 Windows 하드웨어 개발자 프로그램(Windows Hardware Developer Program)에서 인증한 드라이버가 악용됐으며, 피해를 막기 위해 Microsoft에서는 관련한 계정을 차단하고 보안 업데이트(Microsoft Defender 1.377.987.0 이상)를 적용했다.

[보안뉴스 / 12.18.] 마이크로소프트 인증서로 서명된 악성코드들, 랜섬웨어 유포에 악용 중

[이미지=utoimage]

안랩 ASEC 분석팀은 이번 문제와 관련해 Microsoft 인증서로 서명된 악성코드 유포를 주의해야 한다고 밝혔다. ASEC 분석팀에 따르면 Windows에서는 커널 모드 드라이버를 로드 할 때 보안 위험을 방지하기 위해 서명이 되어 있을 경우에만 로드가 가능하다.

[보안뉴스 / 12.18.] 마이크로소프트 인증서로 서명된 악성코드들, 랜섬웨어 유포에 악용 중

▲프로세스 종료(IOCTL : 0x222094)[자료=ASEC]

만약 서명되어 있지 않을 경우 로드되지 못하고 오류를 발생시킨다. 따라서 이번에 알려진 악성 드라이버의 기능을 하기 위해서는 서명이 필수적으로 필요했을 것이며, 유효한 Microsoft 인증서가 사용되어 사용자들은 악의적으로 제작된 파일임을 쉽게 알기 어려웠을 것으로 보인다.

[보안뉴스 / 12.18.] 마이크로소프트 인증서로 서명된 악성코드들, 랜섬웨어 유포에 악용 중

▲프로세스 일시 중지(IOCTL : 0x22209C)[자료=ASEC]

해당 악성코드들은 센티넬원(SentinelOne), 맨디언트(Mandiant), 소포스(Sophos)가 먼저 발견됐으며, 해당 업체에서는 관련 악성코드에 대한 정보를 공개했다. 악성코드들은 보안 프로그램을 종료하기 위해 제작 및 사용됐으며, 최종적으로는 랜섬웨어 유포를 위한 목적으로 사용된 것으로 추정했다. 공개된 드라이버 파일은 보안 프로그램 무력화 도구로 아래와 같은 기능을 가지고 있다.

[보안뉴스 / 12.18.] 마이크로소프트 인증서로 서명된 악성코드들, 랜섬웨어 유포에 악용 중

▲프로세스 재개(IOCTL : 0x2220A0)[자료=ASEC]

드라이버를 설치한 로더가 해당 드라이버에 값을 전달해 수행되는데, 전달되는 값은 IOCTL(Input/Output Control Code) 번호와 타깃 프로세스 정보다. IOCTL은 유저 모드 애플리케이션과 드라이버간의 통신 인터페이스로, 드라이버에는 기능마다 IOCTL 번호가 부여되어 있다. 로더에서 특정 기능에 맞는 IOCTL 번호와 프로세스 정보를 전달해 동작한다. 소포스에 의하면 종료될 타깃 프로세스는 로더에 명시되어 있으며, 여러 보안 업체의 서비스와 프로세스 이름이 확인된다. 따라서 로더에 명시된 보안 프로그램이 무력화 될 수 있다. 또한, 드라이버 통신 시에는 “\\\\.\\KApcHelperLink1” 이름의 심볼릭 링크가 사용된다.

[보안뉴스 / 12.18.] 마이크로소프트 인증서로 서명된 악성코드들, 랜섬웨어 유포에 악용 중

▲드라이버의 심볼릭 링크[자료=ASEC]

해당 피해를 막기 위해 사용자들은 Windows 보안 업데이트를 최신으로 적용해야 한다. 현재 V3 에서는 해당 악성코드들을 다음과 같이 진단하고 있다.

△파일 진단
Trojan/Win32.Agent.C114064
Trojan/Win.RootkitDrv.C5311744
Trojan/Win.RootkitDrv.C5311748
Trojan/Win.RootkitDrv.C5311745
Trojan/Win.RootkitDrv.C5313281
Trojan/Win.RootkitDrv.C5313299
Trojan/Win.RootkitDrv.C5313267
Trojan/Win.RootkitDrv.C5313273
Trojan/Win.RootkitDrv.C5313261
Trojan/Win.RootkitDrv.C5313014
Trojan/Win.RootkitDrv.C5313271
Trojan/Win.RootkitDrv.C5313304
Trojan/Win.RootkitDrv.C5313297
Trojan/Win.RootkitDrv.C5313257
Trojan/Win.RootkitDrv.C5311743
Trojan/Win.RootkitDrv.C5313262
Trojan/Win.RootkitDrv.C5311747
Trojan/Win.RootkitDrv.C5313269
Trojan/Win.RootkitDrv.C5313259
Trojan/Win.RootkitDrv.C5313278
Trojan/Win.RootkitDrv.C5313296
Trojan/Win.RootkitDrv.C5311742
Trojan/Win.RootkitDrv.C5311746
Trojan/Win.RootkitDrv.C5313303
Trojan/Win.RootkitDrv.C5313265
Trojan/Win.RootkitDrv.C5311749
Trojan/Win.RootkitDrv.C5313295
Trojan/Win.RootkitDrv.C5313263
Trojan/Win.RootkitDrv.C5313260
Trojan/Win.RootkitDrv.C5313302

한편, 맨디언트는 이번 사건과 관련해 센티넬원(SentinelOne)과 협력해 조사를 진행하고 보고서를 발표했다. 맨디언트는 침해사고 대응(Incident Response; IR) 과정에서 마이크로소프트가 서명한 멀웨어 드라이브가 피해 조직 컴퓨터의 엔드포인트 탐지 및 대응(EDR: Endpoint Detection and Response) 에이전트 종료에 사용된 것을 확인했다.

‘인증 서명(Attestation Signing)’으로 알려져 있는 과정에서 여러 공격자와 관련된 다수의 서로 다른 멀웨어 계열의 서명이 이루어졌다. 인증 서명은 기본적으로 윈도우10 시스템에서 마이크로소프트가 해당 드라이버를 신뢰한다는 것을 알려주는데, 이로 인해 사용자가 설치하려는 드라이버는 훨씬 더 높은 수준의 ‘보증’을 받게 된다. 이는 새로운 전술은 아니지만 맨디언트가 이 방법을 사용하는 표적 공격자를 확인한 것은 이번이 처음이라고 밝혔다. 맨디언트는 이 배후에는 공격자들의 멀웨어 서명을 돕는 멀웨어 서명 서비스 그룹이 있다고 추정했다. 그 배경으로, 서명된 멀웨어를 배포한 UNC3944 그룹은 적어도 2022년 5월부터 활동한 금전적 목적의 공격 그룹이라고 설명했다.
[원병철 기자(boanone@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>