-
SVG 필터를 이용한 새로운 클릭재킹 기법이 제시되며, 기존 단순 클릭 유도 공격을 복잡한 상호작용형 공격으로 확장함
-
feColorMatrix, feDisplacementMap 등 SVG 필터 요소들이 cross-origin iframe에도 적용 가능함이 확인되어, 이를 통해 시각적 조작과 데이터 추출이 가능함
- 필터 조합으로 픽셀 판독, 논리 연산, 조건 기반 UI 조작이 가능해져, 다단계 클릭재킹이나 입력 유도형 공격을 구현할 수 있음
- 실제 사례로 Google Docs 취약점을 이용한 공격이 성공해, 연구자는 Google VRP로부터 $3133.70 보상을 받음
- 이 기법은 브라우저 보안 모델의 새로운 공격면을 드러내며, SVG 필터의 논리적 활용이 보안 위협으로 발전할 수 있음을 보여줌
SVG 클릭재킹의 개요
- 기존 클릭재킹은 iframe을 덮어 사용자가 의도치 않게 클릭하도록 유도하는 단순한 공격 구조
- 새로 제시된 SVG 클릭재킹은 SVG 필터를 이용해 복잡한 상호작용과 데이터 유출을 가능하게 함
-
feColorMatrix와 feDisplacementMap 같은 필터가 cross-origin 문서에도 적용되어, 외부 콘텐츠를 시각적으로 조작할 수 있음
SVG 필터의 구성 요소
- 주요 필터 요소로 <feImage> , <feFlood> , <feOffset> , <feDisplacementMap> , <feGaussianBlur> , <feTile> , <feMorphology> , <feBlend> , <feComposite> , <feColorMatrix> 등이 있음
- 이들은 입력 이미지를 조합·변형해 새로운 이미지를 생성하며, 체인 형태로 연결 가능
- 이러한 조합을 통해 공격자가 시각적 효과, 마스킹, 색상 조작 등을 자유롭게 구현 가능
공격 예시
-
가짜 캡차(fake captcha) : feDisplacementMap을 이용해 텍스트를 왜곡시켜 사용자가 민감한 코드를 입력하도록 유도
-
회색 텍스트 숨기기(grey text hiding) : feComposite와 feMorphology로 입력창의 안내문이나 오류 문구를 제거해 사용자가 공격자가 지정한 비밀번호를 입력하도록 유도
-
픽셀 판독(pixel reading) : 특정 픽셀의 색상을 감지해 필터 동작을 제어함으로써, 버튼 클릭·호버·입력 상태 감지 등 동적 반응형 공격 구현
논리 연산과 복합 공격
-
feBlend와 feComposite를 조합해 AND, OR, XOR, NOT 등의 논리 게이트 구현 가능
- 이를 통해 SVG 필터 내에서 완전한 논리 회로를 구성할 수 있으며, 다단계 클릭재킹 시나리오를 자동화 가능
- 예시로 ‘Securify’ 앱 공격에서는 대화상자 열림, 체크박스 클릭, 버튼 클릭 등 여러 단계를 논리적으로 제어해 사용자를 속이는 구조를 구현
실제 사례: Google Docs 취약점
- Google Docs에서 “Generate Document” 버튼 클릭 후 나타나는 팝업과 입력창을 SVG 필터 기반 논리로 감지·조작
- 입력창의 포커스 상태, 회색 텍스트, 로딩 화면 등을 실시간으로 감지해 공격 흐름을 제어
- 이 공격으로 Google에 보고되어 $3133.70의 버그 바운티 지급
QR 코드 응용
- SVG 필터 내에서 QR 코드 생성 로직을 구현해, 픽셀 데이터를 URL로 인코딩 후 QR 형태로 표시 가능
- 사용자가 QR을 스캔하면 공격자가 제어하는 서버로 데이터가 전송됨
-
feDisplacementMap과 Reed–Solomon 오류 정정을 이용해 스캔 가능한 QR 코드 생성
추가 활용 가능성
-
텍스트 판독, 클릭 기반 데이터 유출, 가짜 마우스 커서 삽입 등 다양한 공격 응용 가능
-
JavaScript 없이 CSS/SVG만으로도 공격 구현 가능해 CSP 우회 가능성 존재
연구적 의의
- SVG 필터를 이용한 논리 연산 기반 클릭재킹은 기존 연구에서 다루지 않은 새로운 공격 기법
- 과거 연구들은 SVG를 단순 시각적 가림 용도로만 언급했으나, 본 연구는 논리 실행과 상호작용 제어를 입증
- 연구자는 이를 새로운 취약점 클래스로 제시하며, 브라우저 보안 체계의 재검토 필요성을 강조
마무리
- 본 연구는 SVG 필터를 프로그래밍 언어처럼 활용한 첫 보안 공격 사례로 평가됨
- 저자는 2025년 말 39c3 및 Disobey 2026에서 관련 발표 예정
- 포스트는 이미지·JS 없이 42kB의 HTML/CSS/SVG만으로 작성, 실험적 보안 연구의 창의성을 보여줌