피드로 돌아가기
Dev.toSecurity
원문 읽기
Threat Modeling 기반의 다층 방어 체계를 통한 XSS 원천 차단 전략
Web Security Is Everyone's Job: A Developer's Field Guide
AI 요약
Context
보안을 단순한 체크리스트나 사후 추가 기능으로 취급하여 발생하는 구조적 취약점 분석. Frontend, In Transit, Backend의 각 계층에서 발생하는 untrusted data 처리 미흡으로 인한 XSS 및 세션 하이재킹 위험성 증대.
Technical Solution
- Threat Modeling 도입을 통한 시스템 Entry Point 식별 및 공격 표면(Attack Surface)의 선제적 분석
- Validate Early 원칙에 따른 데이터 진입 단계에서의 비즈니스 룰 기반 유효성 검증 수행
- Sanitize Only for Rich Content 전략으로 DOMPurify 라이브러리를 활용한 선택적 HTML 정화
- Store Raw Data 방식을 통한 데이터 손실 방지 및 렌더링 시점의 컨텍스트별 유연한 처리 보장
- Escape Late 설계를 통해 innerHTML 대신 textContent를 사용하여 브라우저의 코드 해석 원천 차단
- CSP(Content Security Policy) HTTP 헤더 적용을 통한 화이트리스트 기반의 최종 안전망 구축
실천 포인트
- 모든 사용자 입력값에 대해 비즈니스 규칙 기반의 Validation 적용 여부 확인 - DB 저장 전 Sanitization을 수행하여 데이터 원본이 손실되고 있는지 검토 - UI 렌더링 시 innerHTML 사용처를 전수 조사하여 textContent로 대체 - 서비스 특성에 맞는 CSP 헤더 정책을 수립하고 화이트리스트 기반 리소스 로드 설정