정상적으로 구동 가능하지만 취약점을 가진 드라이버를 공격에 악용하는 ‘BYOVD 방식’
안랩, 일반 사용자 환경에서는 드라이버를 실행(로드) 할 수 없도록 보안정책 설정해야
[보안뉴스 원병철 기자] 북한의 해킹그룹으로 알려진 라자루스(LAZARUS)가 최근 취약점을 가진 드라이버를 이용해 기관 등 조직을 공격한 사례를 상세 분석한 보고서가 발표됐다. 안랩(대표 강석균) ASEC분석팀은 최근 ‘라자루스 공격 그룹의 루트킷 악성코드 분석 보고서’라는 제목의 보고서를 발표했다.
![[보안뉴스 / 9.28.] 北 해커조직 라자루스, 취약한 ‘BYOVD’ 드라이버 이용해 보안 시스템 노렸다](http://www.boannews.com/media/upFiles2/2022/09/468625171_8259.jpg)
[이미지=utoimage]
라자루스는 북한의 해킹그룹으로 잘 알려져 졌으며, 2009년부터 국내를 비롯해 미국과 아시아, 유럽 등 다양한 국가를 대상으로 공격을 수행하고 있다. 특히, 2022년 상반기에는 국내 방산, 금융, 언론, 제약 산업군에 APT(지능형 지속 공격, Advanced Persistent Threat) 공격을 전개했다. APT는 특정 타깃을 목표로 지속적으로 해킹공격을 펼쳐 중요 데이터나 개인정보를 탈취하는 공격이다.
안랩 ASEC분석팀은 최근 라자루스의 ‘Bring Your Own Vulnerable Driver(이하 BYOVD) 기법’을 이용한 공격사례를 분석했다. ‘BYOVD’는 합법적인 서명을 포함하고 있어 윈도우 운영체제에서 정상적으로 구동되지만, 사실은 취약점이 있는 드라이버를 활용해 공격 대상의 시스템에 접근 권한을 얻는 방식의 공격 기법을 뜻한다.
공격자는 먼저 특정 소프트웨어의 보안패치가 미적용된 환경을 노려 피해 시스템에 백도어 악성코드를 설치했다. 이후, 백도어 악성코드를 이용해 공격자의 목적 달성을 위해 필요한 ‘루트킷(Rootkit)’을 피해 시스템에 다운로드했다. 루트킷은 전반적인 시스템에 접근할 수 있는 핵심인 루트(Root) 권한을 쉽게 얻는 데 필요한 프로그램을 모아둔 키트(kit)로, 공격에 필요한 다양한 리소스가 포함되어 있다.
![[보안뉴스 / 9.28.] 北 해커조직 라자루스, 취약한 ‘BYOVD’ 드라이버 이용해 보안 시스템 노렸다](http://www.boannews.com/media/upFiles2/2022/09/468625171_9300.jpg)
▲루트킷 동작 과정[자료=안랩 ASEC 분석팀]
이번 사례에서 공격자는 해당 루트킷 속에 취약점을 포함하고 있지만 합법적으로 서명되어 윈도우에서 정상적으로 구동 가능한 특정 외산 제품의 취약한 드라이버를 포함했다. 해당 드라이버에는 제대로 된 검증 절차 없이도 OS의 커널(Kernel)에 접근할 수 있다는 취약점이 있었다. 공격자는 이 드라이버를 이용해 원래 읽고 쓰기가 불가능한 커널 데이터에 접근권한을 얻었다. 여기서 커널(Kernel)이란 컴퓨터 운영 체제의 핵심이 되는 구성요소로, 응용 프로그램 수행 및 운영 체제 작동의 핵심적인 서비스를 제공한다.
이후 공격자는 시스템 필수 드라이버 파일을 제외한 모든 모니터링 시스템을 종료함으로써 다양한 보안 솔루션이 악성코드 행위를 추적할 수 있는 기능을 차단했다. 공격자는 이후 보안이 무력화된 환경에서 정보탈취, 랜섬웨어 감염 등의 추가 악성행위를 수행할 수 있다.
이번 사례에서 라자루스 그룹이 사용한 취약한 드라이버 모듈은 ‘ENE Technology’에서 제작한 하드웨어 관련 모듈이다. 이 모듈은 1999년 Yariv Kaplan이 개발한 ‘WinIO’라는 오픈소스 라이브러리를 그대로 사용했다. 해당 모듈의 문제점은 오래된 오픈소스를 사용한 것뿐만 아니라, 모듈을 호출하는 프로세스에 대한 검증 조건이 취약해 간단한 우회 과정을 통해 커널 임의의 메모리 영역에 대해서 읽기/쓰기가 가능하다는 점이다. 따라서 공격자는 해당 모듈을 통해 임의의 커널 메모리 영역에 대한 읽기/쓰기를 수행했으며, 파일, 프로세스, 스레드, 레지스트리, 이벤트 필터 등 커널 관련 전역 데이터 수정을 통해 AV를 포함한 시스템 내 모든 모니터링 프로그램을 무력화했다.
이처럼 라자루스 그룹은 APT 공격 과정에서 취약한 드라이버를 이용해 시스템 내부 모니터링 시스템을 모두 무력화했다. 현재까지 확인된 취약한 드라이버는 2개이지만, 정상적으로 서명된 취약한 드라이버는 이보다 훨씬 많아 악용 사례는 더욱 더 늘어날 것으로 보인다.
루트킷 공격은 윈도우 비스타 이상부터 DSE(Driver Signature Enforcement) 정책이 적용된 이후 감소하는 듯 보였으나, 이처럼 BYOVD(Bring Your Own Vulnerable Driver) 공격 사례는 2014년부터 꾸준히 확인되고 있다. 지금까지의 BYOVD 공격은 주로 권한 상승을 위해 악용한 것으로 알려져 있지만, 이번 공격 사례와 같이 과거 윈도우 7부터 최신 운영체제인 윈도우 서버 2022까지 모든 시스템을 무력화하도록 정교하게 설계된 루트킷 공격은 라자루스 그룹이 최초인 것으로 보인다고 보고서는 지적했다.
BYOVD 공격을 대응하기 위해 마이크로소프트에서는 윈도우 10의 하이퍼바이저 코드 무결성(HVCI) 모드와 S모드에서 차단 규칙 기반으로 허용되지 않은 드라이버는 로드되지 않도록 자체 차단하고 있다. 이렇듯 엄격하게 드라이버 로드를 차단하는 것이 현재로서는 이러한 유형의 공격을 예방하기 위한 최선으로 보인다.
한편, 안랩은 이처럼 취약한 드라이버를 악용한 공격을 예방하기 위해 조직 보안담당자는 △일반 사용자 환경에서는 드라이버를 실행(로드) 할 수 없도록 보안 정책 설정 △공격 초도 단계 방어를 위해 백신 등 보안 솔루션 사용 및 업데이트 △SW 보안 패치 즉시 업데이트 실행 등 보안수칙을 준수해야 한다고 조언했다. 아울러 현재 V3 및 지능형 위협 대응 솔루션 ‘안랩 MDS’는 현재 파일 및 행위 기반 진단 기능을 활용해 공격을 초도 단계에서 차단하고 있다고 덧붙였다.
안랩 분석팀 한명욱 주임은 “이번 ‘BYOVD 기법’을 활용한 사례에서 사용된 것과 유사한 정상적으로 서명되었으나 취약점을 포함하고 있는 드라이버가 더 많이 존재할 수 있다”며, “조직 보안담당자는 기본 보안수칙을 준수하는 한편, TI 서비스 등을 이용해 공격 기법의 변화를 파악해야 하며, 이를 바탕으로 조직에 필요한 보안정책을 설정하고 구성원 보안교육 등 다각도로 힘써야 한다”고 말했다.
[원병철 기자(boanone@boannews.com)]
<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>