Netwrix 1Secure는 데이터와 아이덴티티 전반에 걸쳐 통합된 가시성을 제공합니다 - 14일간 무료로 전체 액세스가 가능합니다.무료 평가판 시작

리소스 센터블로그

DLL 하이재킹이란 무엇이며 새 AI 플러그인이 가장 쉬운 진입 방법일 수 있는 이유

DLL 하이재킹이란 무엇이며 새 AI 플러그인이 가장 쉬운 진입 방법일 수 있는 이유

Aug 26, 2026

DLL 하이재킹은 수십 년 된 Windows 취약점 유형입니다 (Mitre Att@ck T1574) 레거시 데스크톱 앱에 AI 플러그인이 추가되면서 새 생명을 얻고 있습니다. 공격자는 취약한 앱이 실제 DLL 대신 로드할 악성 DLL을 심어 그 앱의 권한을 상속받습니다. 탐지는 쓰기 가능한 폴더에서 이름으로 로드된 DLL을 감시하는 것입니다. 예방은 앱의 로드 순서 로직을 수정하거나 엔드포인트에서 신뢰할 수 없는 DLL을 차단하는 것입니다.

올해 저는 조직들이 AI를 처리하도록 설계되지 않은 도구에 AI를 연결하는 방식을 많이 살펴보았습니다. 대부분의 위험은 데이터 노출이나 모델 동작 측면에서 논의됩니다. 그보다 덜 주목받는 것은 더 기본적인 것, 즉 설치 과정 자체입니다. 팀이 AI 플러그인을 레거시 데스크톱 애플리케이션에 추가할 때, 보통 새로운 실행 파일, 새로운 종속성 세트, 그리고 애플리케이션이 DLL을 로드할 때 Windows가 검색할 새 폴더 세트를 추가합니다. 이는 DLL 하이재킹을 오랫동안 지켜본 사람들에게 익숙한 설정이며, 점점 더 흔해지고 있습니다.

DLL 하이재킹이란

Windows 애플리케이션은 항상 고정되고 신뢰할 수 있는 위치에서 DLL을 로드하지 않습니다. 애플리케이션이 전체 경로가 아닌 이름으로 DLL을 요청할 경우, Windows는 정의된 디렉터리 순서대로 DLL을 찾습니다. 공격자가 해당 검색 순서에서 더 앞선 위치에 올바른 파일 이름의 악성 DLL을 배치할 수 있다면, 애플리케이션은 합법적인 라이브러리 대신 공격자의 코드를 로드하며, 이때 애플리케이션이 가진 권한으로 실행됩니다.

이것은 새로운 기법이 아닙니다. 수년간 문서화된 취약점이며, 특히 오래되었거나 설계가 부실한 많은 데스크톱 애플리케이션이 여전히 전체 경로가 아닌 이름으로 DLL을 로드하기 때문에 계속 작동합니다. 변경된 것은 공격 표면입니다. 레거시 앱에 설치된 모든 플러그인, 애드온 또는 AI 기반 확장은 느슨하게 관리되는 폴더, 서명되지 않은 종속성 또는 검색 경로 내 쓰기 가능한 디렉터리에 대한 새로운 기회를 제공합니다.

DLL 하이재킹 예시

10년 동안 사용되어 온 CAD 애플리케이션을 운영하는 엔지니어링 팀을 상상해 보세요. IT 부서는 사용자에게 도면 위에 스마트 검색 및 요약 계층을 제공하는 AI 플러그인을 추가했습니다. 이 범주의 많은 소프트웨어처럼, CAD 앱은 전체 경로 대신 이름으로 보조 DLL 중 하나를 로드하는데, 이는 눈에 띄는 문제가 없었기 때문에 아무도 의문을 제기하지 않은 설계 결정입니다.

피싱, 계정 탈취 또는 다른 발판을 통해 해당 기기에 제한된 접근 권한만 있어도 공격자는 AI 플러그인 자체를 해킹할 필요가 없습니다. 앱의 검색 순서에서 앞에 위치한 폴더에 같은 파일 이름의 DLL을 넣기만 하면 됩니다. 사용자가 앱을 실행할 때마다 공격자의 DLL이 로드되고, 악성 코드는 CAD 애플리케이션과 동일한 권한으로 실행됩니다. AI 플러그인에 대한 익스플로잇은 필요하지 않습니다. 플러그인이 공격자에게 새로운 작업 폴더를 제공한 셈입니다.

DLL 하이재킹 감지 방법

탐지는 일반적으로 합법적인 DLL이 수행해야 하는 동작과 일치하지 않는 행동을 관찰하는 것입니다:

  • 응용 프로그램이 완전한 신뢰할 수 있는 경로 대신 비정상적이거나 사용자 쓰기 가능한 디렉터리에서 이름으로 DLL을 로드함
  • rundll32.exe와 같은 유틸리티를 통해 실행되는 서명되지 않은 DLL, 일반적인 하이재킹 패턴
  • 파일 무결성 모니터링 패치 주기 사이에 변경되어서는 안 되는 DLL 변경 표시
  • 정상적인 상위 프로세스가 표시된 Endpoint 로그 다음에 예상치 못한 또는 서명되지 않은 DLL 로드가 발생함

또 다른 방법은 검색 경로에 있는 모든 DLL(사실 모든 파일)의 무결성을 알려진 정상 소스와 해시 값을 비교하여 확인하는 것입니다.

이 모든 것은 특별한 것이 아닙니다. 보안 팀이 이미 파일 무결성 및 프로세스 모니터링에 적용하는 동일한 규율로, 타사 플러그인과 레거시 앱이 약한 로드 순서 동작을 도입하는 폴더를 구체적으로 겨냥한 것입니다.

DLL 하이재킹 방지 방법

예방은 일반적으로 두 가지 범주로 나뉩니다: 애플리케이션 수정과 endpoint에서 실행이 허용되는 항목 제어.

애플리케이션을 수정하려면 DLL 로드를 위해 완전한 경로를 사용하고, 표준 사용자가 앱이 검색하는 디렉터리에 쓸 수 없도록 폴더 권한을 강화하며, 공급업체 소프트웨어를 최신 상태로 유지해야 합니다. 이것이 올바른 장기적인 해결책이지만, 모든 공급업체가 작업을 수행해야 하며, 이 문제에 가장 노출된 많은 애플리케이션이 빠르게 패치될 가능성이 가장 낮은 애플리케이션입니다.

엔드포인트를 제어한다는 것은 공급업체를 기다리지 않는다는 의미입니다. PolicyPakPolicyPak의 DLL Hijack Protection은 Least Privilege Manager의 일부로 세 가지 모드 중 하나로 작동합니다: 위험한 DLL 로드를 차단하지 않고 기록하는 감사 모드, 팀이 먼저 노출을 평가할 수 있도록; 권한 상승 프로세스에 대해 위험한 DLL 로드를 차단하는 안전 권한 상승 모드; 그리고 Program Files와 같은 보호된 위치에서 실행되는 일반 프로세스에 차단을 확장하는 안티 하이잭 모드입니다. 이는 자격이 없는 이름으로 DLL을 로드하는 애플리케이션과 rundll32.exe와 같은 유틸리티를 통해 실행되는 서명되지 않은 DLL이라는 두 가지 가장 일반적인 하이잭 패턴을 직접 차단합니다. 정당한 DLL이 실수로 차단될 경우, 관리자는 보호 기능을 완전히 끄지 않고도 파일 경로, 디지털 서명 또는 파일 해시로 허용할 수 있습니다.

팀이 이 대화 이전에 만들어진 애플리케이션에 AI 기능을 도입하고 있다면, DLL 하이재킹은 가설이 아니라 해당 플러그인이 설치되는 방식의 단기적 결과로서 위험 등록부에 포함되어야 합니다.

PolicyPak의 DLL Hijack Protection이 엔드포인트 보안 스택에 어떻게 맞는지 확인하세요.

자세히 알아보기

자주 묻는 질문

공유하기

더 알아보기

저자 소개

Dirk schrader

Dirk Schrader

보안 연구 부문 VP

Dirk Schrader는 Netwrix의 레지던트 CISO(EMEA)이며 보안 연구 부문 VP입니다. CISSP (ISC²) 및 CISM (ISACA) 자격증을 보유한 IT 보안 분야 25년 경력의 베테랑으로, 사이버 위협에 대응하는 현대적 접근 방식으로서 사이버 복원력을 발전시키기 위해 노력하고 있습니다. Dirk는 커리어 초기에 기술 및 지원 역할에서 시작해, 이후 대규모 다국적 기업과 소규모 스타트업 모두에서 영업, 마케팅, 제품 관리 직무로 자리를 옮기며 전 세계의 사이버보안 프로젝트에 참여해 왔습니다. 그는 사이버 복원력을 달성하기 위해 변화 관리와 취약점 관리의 필요성을 다룬 수많은 글을 게재해 왔습니다.