한밤중, 현관문을 굳게 닫아놓고도 도둑이 들어오는 경우가 있습니다. 창문도 닫았고, CCTV도 설치했는데 어떻게 들어왔을까요? 도둑이 아예 현관문을 부수고 들어온 게 아니라, 아는 사람을 통해 짐 속에 몰래 숨어 들어왔기 때문입니다. 이것이 바로 HTML Smuggling(HTML 스머글링) 이란 공격 방식의 핵심입니다.
HTML Smuggling 이란 무엇인가요?
HTML Smuggling 은 사용자가 웹사이트를 방문하거나 이메일의 첨부파일을 열었을 때, 브라우저 내부에서 악성코드를 조립해서 실행되도록 유도하는 공격 방식입니다. 즉, 서버에서 악성 파일을 직접 내려받는 대신, 사용자 기기 내부에서 조각난 코드들이 합쳐져 하나의 악성 파일로 완성됩니다.

이 방식은 특히 보안 솔루션이나 이메일 필터링 시스템이 악성 파일을 탐지하지 못하게 우회하는 데 매우 효과적입니다. 이유는 간단합니다. 겉보기에는 단순한 HTML 파일이기 때문입니다.
어떤 방식으로 작동하나요?
- 공격자는 JavaScript가 포함된 HTML 파일을 만듭니다.
- 이 HTML 파일은 사용자의 브라우저에서 실행되며, JavaScript 코드가 Base64 등으로 인코딩된 악성 페이로드를 디코딩합니다.
- 브라우저의 기능을 이용해 로컬에 악성 파일을 자동 생성 및 다운로드하게 만듭니다.
- 이렇게 생성된 악성 파일이 사용자의 클릭이나 자동 실행 등으로 작동하게 되면, 감염이 시작됩니다.
즉, 공격자가 사용자의 브라우저를 공장처럼 활용하는 것입니다. 외부에서 완성품을 들여보내는 대신, 원재료만 들여보내 브라우저 내부에서 조립하는 방식입니다.
왜 탐지하기 어려울까요?
HTML Smuggling은 공격에 필요한 코드가 전부 HTML 파일 안에 숨겨져 있어, 전통적인 보안 솔루션이 놓치기 쉽습니다.
- 이메일 보안 솔루션은 .exe, .zip 같은 파일 확장자를 중심으로 검사하지만, .html 파일은 보통 무해한 것으로 간주합니다.
- URL 필터링도 우회할 수 있습니다. 실제 악성 파일은 네트워크를 통해 전달되지 않기 때문에, 네트워크 상에 흔적이 남지 않습니다.
결국, 사용자의 브라우저가 악성코드의 제조공장이 되어버리는 것입니다.
사실 HTML 파일 내부에 데이터를 숨기는 기술 자체는 원래 정당한 용도로도 사용됩니다. 예를 들어, 오프라인 웹 문서를 만들거나, 파일을 압축하지 않고 직접 전달하기 위해 HTML에 데이터를 삽입하는 경우입니다.
그러나 공격자들은 이 기술을 악용하여, 사용자의 브라우저 안에서 악성코드를 조립하는 방식으로 사용한 것입니다.
실제 사례는 어떤 게 있나요?
공격자는 아래처럼 정교하게 피싱 메일을 보내어 사용자에게 감염시킵니다. ‘학인하러 가기’를 누르는 순간 악성 파일이 생성되어 저장되는 것입니다.
특히 Windows Script Host나 PowerShell 등을 호출하는 방식과 결합되면, 공격의 정교함은 배가됩니다.
블랙쏘세지에서는 HTML Smuggling이 통하지 않습니다
HTML Smuggling의 위협은 “보이는 것보다 더 무서운 것”입니다. 단순한 HTML 파일이 브라우저 내부에서 악성코드를 조립한다는 점에서, 보안의 사각지대를 노린 공격입니다. 블랙쏘세지는 이러한 공격 방식에 대응하기 위해 원격 브라우저 격리 기술(RBI) 을 사용합니다.
HTML 파일이나 의심스러운 링크를 클릭하더라도, 내 기기가 아닌, 원격 서버에서 먼저 실행됩니다. 따라서 공격자가 내 기기의 브라우저 안에서 악성코드를 조립할 기회를 원천 차단할 수 있습니다. 직접 열지 않고 안전하게 내용을 확인하세요.
'보안 > 용어' 카테고리의 다른 글
단 한 번의 클릭, 그 뒤에 숨은 공격자 – ClickOnce 를 악용한 사이버 위협 (0) | 2025.07.09 |
---|---|
클릭 한 번으로 침투하는 악성코드, ‘ClickFix’ 를 들어보셨나요? (0) | 2025.07.02 |
로그인했더니 엉뚱한 사이트로? – 오픈 리디렉션 (0) | 2025.06.24 |
일상 도구를 이용한 공격, LotL 기법 (2) | 2025.06.20 |
내부에서 연결을 건다 — Reverse Shell (0) | 2025.05.23 |