웹사이트 보안을 공부하다 보면 마주치는 Mixed Content(혼합 콘텐츠), 그중에서도 Passive와 Active의 차이를 아주 쉽게 정리해 보겠습니다.
1. Mixed Content(혼합 콘텐츠)란?
기본적으로 보안이 적용된 HTTPS 사이트 내에서 보안이 적용되지 않은 HTTP를 통해 이미지, 스크립트 등을 불러올 때 발생하는 현상을 말합니다. 브라우저는 이를 '보안이 불완전하다'고 판단하여 경고를 띄우거나 차단하죠.
2. Passive Mixed Content (수동적 혼합 콘텐츠)
"그냥 보여주기만 하는 정적인 콘텐츠"
- 왜 '수동적'인가요?: 이 콘텐츠들은 웹페이지의 다른 부분에 영향을 주거나, 스스로 무언가를 실행할 능력이 없습니다. 브라우저가 주는 데이터를 받아서 '보여짐을 당하는' 역할만 하기 때문에 수동적(Passive)이라고 부릅니다.
- 대표 예시: 이미지(<img>), 오디오(<audio>), 비디오(<video>)
- 위험성: 낮음. 공격자가 이미지를 가짜로 바꿀 수는 있지만, 내 아이디나 비밀번호를 직접 빼가기는 어렵습니다. 하지만 사용자가 어떤 이미지를 보는지 감시당할 수 있는 프라이버시 문제가 있습니다.
3. Active Mixed Content (능동적 혼합 콘텐츠)
"직접 움직이고 제어하는 동적인 콘텐츠"
- 왜 '능동적'인가요?: 이들은 브라우저 내에서 스스로 명령을 내리고 실행될 수 있는 힘이 있습니다. 웹사이트의 구조(DOM)를 마음대로 바꾸거나 사용자의 쿠키 정보를 읽는 등 '능동적으로' 움직이기 때문입니다.
- 대표 예시: 자바스크립트(<script>), CSS 파일(<link>), iframe(<iframe>), API 요청(XHR/Fetch)
- 위험성: 매우 높음. 공격자가 이 스크립트를 조작하면 로그인 정보를 가로채거나 페이지를 통째로 변조할 수 있습니다. 그래서 현대의 크롬이나 엣지 브라우저는 이를 강력하게 차단합니다.
4. 한눈에 비교하기
| 구분 | Passive (수동적) | Active (능동적) |
| 성격 | 정적 (보여주는 용도) | 동적 (실행되는 용도) |
| 주요 태그 | <img>, <video>, <audio> | <script>, <iframe>, <link> |
| 페이지 조작 | 불가능 | 가능 |
| 보안 위험 | 낮음 (프라이버시 노출) | 높음 (데이터 탈취, 변조) |
| 브라우저 대응 | 경고 표시 (자물쇠 깨짐) | 기본적으로 차단 |
마무리하며
결국 **Passive는 '보는 것', Active는 '일하는 것'**이라고 생각하면 이해가 빠릅니다.
외부 리소스를 불러올 때, http:// 주소를 그대로 사용하면 보안 경고가 뜰 수 있으니 항상 https://를 확인하는 습관이 중요합니다!
반응형
'IT관련' 카테고리의 다른 글
| [JS] slice, splice, split 차이점 완벽 정리 (어원과 비유로 한 번에 이해하기) (0) | 2026.01.21 |
|---|---|
| [GitHub] 프로젝트 화면이 바뀌었나요? 'Display options' 메뉴 완벽 정리 (1) | 2026.01.21 |
| HTTP와 HTTPS 간 API 호출 시 동작 정리 (Mixed Content 중심) (0) | 2026.01.20 |
| VSCode에서 Gemini Code Assist 사용법 완벽 정리 (2026년 기준) (0) | 2026.01.19 |
| 가비아 XMS/SMS (서버 모니터링 시스템) 상세 안내 (0) | 2026.01.16 |