뉴스 목록
Help Net Security2026. 09. 16.

DeepZero: 취약한 Windows 드라이버를 찾는 오픈소스 탐색 엔진

한 줄 요약

DeepZero는 취약한 Windows 커널 드라이버를 자동으로 찾아주는 오픈소스 도구입니다. 이 도구는 'BYOVD(정식 서명된 취약 드라이버를 악용해 커널 권한을 획득하는 공격)'를 탐지하는 데 초점을 맞추고 있습니다. 바이너리 파싱, 정적 분석, AI 평가 등 7단계 파이프라인을 거쳐 악용 가능한 드라이버 후보를 자동으로 추려냅니다. 이미 Snappy Driver Installer 드라이버 모음에서 실제 취약점 여러 개를 발견했으며, 일부는 아직 공개 전 취약점 제보 절차가 진행 중입니다. GitHub에서 무료로 사용할 수 있어 보안 연구자와 레드팀 모두 활용할 수 있습니다.

사건

오픈소스 도구 DeepZero가 공개됐으며, Windows 커널 드라이버에서 BYOVD 공격에 악용될 수 있는 취약점을 자동으로 탐색하는 7단계 파이프라인을 제공한다. 실제로 Snappy Driver Installer 드라이버 corpus에서 검증된 취약점 여러 개를 발견했다.

영향

취약한 드라이버가 발견될 경우 공격자가 서명된 드라이버를 이용해 커널 수준 권한을 획득(BYOVD)할 수 있으며, 이는 EDR 우회·시스템 완전 장악으로 이어질 수 있다.

원인

합법적으로 서명된 드라이버에 존재하는 취약점이 사전에 식별되지 않은 채 배포되고, 기존 loldrivers.io 목록에도 등재되지 않아 방어 도구에서 걸러지지 않는 경우가 있다.

대응

DeepZero를 활용해 사내 환경에 배포된 드라이버를 사전 점검하거나, loldrivers.io 차단 목록을 지속적으로 업데이트하고 BYOVD 탐지 룰을 강화하는 것이 권고된다.

실무 포인트

도구 자체는 취약점 탐색 자동화에 유용하지만, 플러그앤플레이 방식으로 디바이스 객체를 생성하는 드라이버는 실제 하드웨어 없이는 취약점 확인이 불가하므로 탐지 결과 해석 시 이 점을 고려해야 한다.

본문

DeepZero는 악용 가능한 Windows 커널 드라이버 탐색을 자동화하는 오픈소스 엔진입니다. 바이너리가 담긴 폴더를 지정하면 파싱, 분해, 스캔을 거쳐 대부분을 걸러낸 뒤, 살아남은 대상에 대해 언어 모델이 공격 가능 여부를 판단합니다. 파이프라인은 YAML로 작성되며, 코드는 Python 3.11 이상을 요구합니다.

프로젝트 관리자인 Rehman Ahmadzai는 DeepZero가 "Snappy Driver Installer corpus의 일부 드라이버에서 검증된 취약점 여러 개를 발견했으며, 일부는 아직 공개 전 취약점 제보 절차가 진행 중"이라고 밝혔습니다. 기본 제공 파이프라인은 BYOVD(Bring Your Own Vulnerable Driver, 취약점이 포함된 정식 서명 드라이버를 로드해 커널에 접근하는 공격 기법)를 대상으로 합니다.

파이프라인의 동작 방식

총 7단계가 순서대로 실행됩니다. 첫 번째 단계는 PE 헤더를 파싱합니다. 두 번째 단계는 사용자 공간이 드라이버에 명령을 전달하는 제어 코드인 IOCTL 인터페이스를 노출하는 커널 모드 드라이버만 남깁니다. 세 번째 단계는 방어 도구가 차단하는 공개 목록인 loldrivers.io에 이미 등재된 드라이버를 제외합니다. 이후 Ghidra가 남은 대상에 대해 헤드리스 모드로 실행되고, Semgrep 룰이 내보낸 C 소스를 스캔하며, pick_top_10이라는 축소 단계에서 상위 후보군으로 압축한 뒤, 최종적으로 모델이 악용 가능성을 평가합니다.

모델이 검토하는 대상은 모두 세 번째 필터를 통과한 것들입니다.

Ahmadzai는 Help Net Security에 이렇게 말했습니다. "AI 평가 단계를 마지막에 배치한 이유는, 앞선 단계들이 바이너리 디컴파일, 기존에 알려진 취약 드라이버나 지원되지 않는/32비트 바이너리 필터링 같은 컨텍스트를 수집하고, 이를 AI 단계에서 종합 평가할 수 있도록 하기 위해서입니다."

물리 하드웨어가 필요할 수도 있는 경우

많은 드라이버는 해당 하드웨어가 열거(enumeration)될 때만 디바이스 객체를 생성합니다. 해당 디바이스가 없는 머신이나 VM에서는 경로가 열리지 않아 드라이버가 노출하는 기능에 접근할 수 없으며, 보고서만 봐서는 문제가 없는 드라이버와 구별이 되지 않습니다. 디컴파일 단계는 IoCreateDevice를 호출하는 함수와 그 함수가 DriverEntry인지, 아니면 DriverEntry가 호출하는 함수인지를 기록합니다. 값이 true이면 드라이버를 로드하는 모든 머신에서 디바이스가 나타난다는 뜻이므로 해당 드라이버에 대한 발견은 확인이 가능합니다. false는 대개 플러그앤플레이 콜백이 디바이스를 생성함을 의미하며, 이 경우 확인을 위해 실제 하드웨어가 필요합니다. IoCreateDevice가 전혀 발견되지 않으면 추측 없이 값을 기록하지 않습니다.

Ahmadzai는 "DeepZero의 기반 엔진은 이미 특정 대상에 종속되지 않는 파이프라인 오케스트레이터로 설계되어 있습니다. 포함된 loldrivers 연구 파이프라인은 Windows 커널 드라이버에 특화되어 있지만, 프레임워크 자체는 단일 아키텍처나 바이너리 유형에 제한되지 않습니다"라고 말했습니다.

DeepZero는 GitHub에서 무료로 사용할 수 있습니다.

필독 자료:

  • 팀의 대비 태세를 유지하는 20가지 오픈소스 사이버보안 도구
  • GitHub CISO의 보안 전략 및 오픈소스 커뮤니티와의 협업
출처
Help Net Security · helpnetsecurity.com
원문 보기

분야별 뉴스

관심 분야의 보안 이슈를 모아 보세요.

TORUN SECURITY

투런이 제공하는 보안 솔루션

공격 표면 관리부터 엔드포인트·내부정보 보호까지, 기업 환경에 맞는 보안 솔루션을 투런이 함께 설계합니다.