Project Detail
Browser Runtime Security System
브라우저 런타임 위협 행위 탐지 시스템
Chrome Extension 기반으로 브라우저 내부에서 실행 직전에 발생하는 DOM·링크·폼·네트워크 요청 변조를 탐지하고, 재현 가능한 증거를 수집하는 보안 시스템입니다.
Overview
프로젝트 개요
문제 정의
서버 로그나 WAF는 요청이 서버에 도달한 이후의 흔적을 중심으로 확인하지만, 브라우저 내부에서 실행 직전에 발생하는 DOM 변조, 링크 교체, 폼 변조, 스크립트 주입은 사용자의 실제 화면과 상호작용 흐름에서 먼저 드러납니다.
이 프로젝트는 브라우저 런타임에서 발생하는 위협 행위를 탐지 가능한 이벤트로 수집하고, 분석 가능한 증거 형태로 구조화하는 것을 목표로 했습니다.
내 역할
팀 리더 / 공격 분석 / 탐지 룰 설계 / PoC 구현
- DOM·네트워크·프로토타입 변조 관련 공격 분석 및 탐지 시나리오 설계
- PoC 10개 중 4개 구현 및 악성 PoC 테스트 허브 구축
- 탐지 룰 설계 및 PoC 기반 탐지 검증 수행
Result Screens
실행 화면
Core Implementation
핵심 구현
런타임 이벤트 수집
브라우저 페이지에서 발생하는 DOM 변경, 링크 목적지 변경, 폼 action 변경, 스크립트 삽입 등 사용자 화면 기준의 변조 흔적을 탐지 이벤트로 수집했습니다.
PoC 기반 탐지 검증
공격 시나리오를 재현할 수 있는 PoC Hub를 구성하고, 각 PoC가 탐지 룰에 의해 실제로 이벤트로 기록되는지 확인하는 방식으로 탐지 로직을 검증했습니다.
룰셋 및 스코어링
탐지 이벤트를 단순 로그로 남기는 데 그치지 않고, 이벤트 유형과 위험도를 기준으로 기본 탐지 룰과 스코어링 룰을 설계해 우선순위 판단이 가능하도록 구성했습니다.
증거 중심 분석 흐름
탐지 결과가 단순 경고로 끝나지 않도록, before/after 상태와 발생 위치, 이벤트 유형 등 분석자가 재현 가능한 근거를 확인할 수 있는 구조를 지향했습니다.
Troubleshooting
트러블슈팅
동일 도메인 배포 환경에서 PoC 재현이 깨지는 문제
문제
로컬에서는 공격자 페이지와 피해자 페이지를 분리해 재현되던 cross-site 시나리오가 배포 환경에서는 정상적으로 재현되지 않는 문제가 있었습니다.
원인
PoC를 단일 허브 도메인 안의 경로로만 나누면 브라우저 기준으로 Origin이 동일해져, iframe, clickjacking, third-party script 등 일부 시나리오가 로컬과 다르게 동작했습니다.
해결
PoC Hub를 단순한 페이지 모음이 아니라 공격자/피해자 Origin을 분리하는 구조로 재설계했습니다. 이를 통해 브라우저 보안 정책이 실제 cross-origin 환경처럼 적용되도록 구성했습니다.
결과
배포 환경에서도 iframe, clickjacking, third-party script 기반 시나리오를 안정적으로 재현할 수 있었고, 탐지 룰 검증 과정에서 로컬과 배포 환경의 차이를 줄일 수 있었습니다.
탐지 이벤트가 많아질수록 분석 우선순위가 흐려지는 문제
문제
DOM 변경, 링크 변조, 폼 변조 등 다양한 이벤트를 수집하다 보니 이벤트 수가 늘어날수록 어떤 항목을 먼저 확인해야 하는지 판단하기 어려웠습니다.
원인
탐지 이벤트가 이벤트 유형별로만 누적되고, 위험도나 우선순위 기준이 분리되어 있지 않아 분석자가 이벤트 목록을 수동으로 판단해야 했습니다.
해결
이벤트 유형별 위험도를 분리하고, 탐지 룰과 스코어링 룰을 나눠 설계했습니다. 이를 통해 단순 이벤트 목록이 아니라 위험도 기반으로 분석 우선순위를 확인할 수 있도록 했습니다.
결과
탐지 이벤트를 단순 수집하는 수준에서 벗어나, 어떤 위협이 더 먼저 확인되어야 하는지 판단할 수 있는 분석 흐름을 만들 수 있었습니다.
Tech Stack
사용 기술
주요 담당 기술
프로젝트 전체 스택
※ 백엔드·인프라 구성은 팀 프로젝트 전체 기술 스택 기준입니다.