초기 HTML이 보안 HTTPS 연결을 통해 로드되지만 다른 리소스 (예: 이미지, 동영상, 스타일시트, 스크립트)는 보안되지 않은 HTTP 연결을 통해 로드되는 경우 페이지에 혼합 콘텐츠가 있습니다. 이름은 단일 페이지의 HTTP 및 HTTPS 콘텐츠의 혼합을 나타냅니다.
보안되지 않은 HTTP 프로토콜을 사용하여 하위 리소스를 요청하면 이러한 요청이 공격자가 네트워크 연결을 도청하고 두 당사자 간의 통신을 보거나 수정하는 경로 공격 에 취약하므로 페이지의 보안이 약화됩니다. 이러한 리소스를 사용하여 공격자는 사용자를 추적하고 웹사이트의 콘텐츠를 대체할 수 있으며 활성 혼합 콘텐츠의 경우 보안되지 않은 리소스뿐만 아니라 페이지를 완전히 제어할 수 있습니다.
많은 브라우저에서 사용자에게 혼합 콘텐츠 경고를 보고하지만 보고가 너무 늦는 경우가 많습니다. 보안되지 않은 요청이 이미 실행되었고 페이지의 보안이 손상되었기 때문입니다.
이제 대부분의 브라우저에서 보안상의 이유로 혼합 콘텐츠를 차단합니다. 페이지가 계속 올바르게 로드되도록 보안되지 않은 콘텐츠 요청을 보안 콘텐츠로 변경하세요.
혼합 콘텐츠의 두 가지 유형
혼합 콘텐츠에는 활성 및 수동의 두 가지 유형이 있습니다.
수동 혼합 콘텐츠는 이미지, 동영상, 오디오를 포함하여 페이지의 나머지 부분과 상호작용하지 않으므로 중간자 공격은 해당 콘텐츠를 가로채거나 변경하는 경우 수행할 수 있는 작업이 제한됩니다.
활성 혼합 콘텐츠 는 페이지 전체와 상호작용합니다. 여기에는 스크립트, 스타일시트, iframe, 브라우저에서 다운로드하고 실행할 수 있는 기타 코드가 포함됩니다. 활성 혼합 콘텐츠에 대한 공격을 통해 공격자는 페이지에서 거의 모든 작업을 수행할 수 있습니다.
수동 혼합 콘텐츠
수동 혼합 콘텐츠는 활성 혼합 콘텐츠보다 위험이 적지만 위험은 여전히 존재합니다. 예를 들어 공격자는 다음 작업을 할 수 있습니다.
- 사이트의 이미지에 대한 HTTP 요청을 가로채고 해당 이미지를 바꾸거나 대체합니다.
- 사용자가 버튼의 이미지를 혼동하여 예를 들어 저장하려는 콘텐츠를 삭제하도록 버튼의 이미지를 대체합니다.
- 이미지를 포르노 콘텐츠로 대체하여 사이트를 손상시킵니다.
- 제품 이미지를 다른 광고로 대체합니다.
공격자가 사이트의 콘텐츠를 변경하지 않더라도 혼합 콘텐츠 요청을 통해 사용자를 추적할 수 있습니다. 또한 브라우저에서 로드하는 이미지 또는 기타 리소스를 기반으로 사용자가 방문하는 페이지와 사용자가 보는 제품을 알 수 있습니다.
수동 혼합 콘텐츠가 있는 경우 페이지 자체가 HTTPS를 통해 로드되더라도 대부분의 브라우저에서 주소 표시줄에 페이지가 안전하지 않다고 표시합니다.
최근까지 수동 혼합 콘텐츠를 차단하면 많은 웹사이트가 손상되므로 모든 브라우저에서 수동 혼합 콘텐츠가 로드되었습니다. 이제 변경되기 시작했으므로 사이트의 혼합 콘텐츠 인스턴스를 업데이트하는 것이 중요합니다.
경우에 따라 Chrome에서 수동 혼합 콘텐츠를 자동으로 업그레이드합니다. 즉, 애셋이 HTTP로 하드 코딩되었지만 HTTPS를 통해 사용할 수 있는 경우 브라우저에서 HTTPS 버전을 로드합니다. 보안 버전이 없으면 애셋이 로드되지 않습니다.
Chrome에서 혼합 콘텐츠를 감지하거나 수동 혼합 콘텐츠를 자동으로 업그레이드할 때마다 DevTools의 문제 탭에 자세한 메시지를 기록하여 특정 문제를 해결하는 방법을 안내합니다.
활성 혼합 콘텐츠
활성 혼합 콘텐츠는 수동 혼합 콘텐츠보다 더 큰 위협을 가합니다. 공격자는 활성 콘텐츠를 가로채고 다시 작성하여 페이지 또는 전체 웹사이트를 완전히 제어하는 데 사용할 수 있습니다. 이를 통해 다른 콘텐츠 표시, 사용자 비밀번호 또는 기타 로그인 사용자 인증 정보 도용, 사용자 세션 쿠키 도용, 사용자를 완전히 다른 사이트로 리디렉션 등 페이지의 모든 측면을 변경할 수 있습니다.
활성 혼합 콘텐츠의 위험이 매우 높기 때문에 대부분의 브라우저에서는 사용자를 보호하기 위해 기본적으로 이 유형의 콘텐츠를 차단하지만 브라우저 공급업체와 버전에 따라 동작이 다릅니다. Chrome에서는 DevTools의 문제 탭에서 차단된 콘텐츠를 볼 수 있습니다.
혼합 콘텐츠 사양
브라우저는 혼합 콘텐츠 사양을 따릅니다. 이 사양은 선택적으로 차단 가능한 콘텐츠 및 차단 가능한 콘텐츠 카테고리를 정의합니다.
리소스는 '혼합 콘텐츠로 사용하도록 허용하는 위험이 웹의 상당 부분을 손상시키는 위험보다 클 때' 선택적으로 차단 가능한 콘텐츠로 간주됩니다. 이는 수동 혼합 콘텐츠의 하위 집합입니다.
선택적으로 차단 가능하지 않은 모든 혼합 콘텐츠는 차단 가능한 것으로 간주되며 브라우저에서 차단해야 합니다.
최근 몇 년간 HTTPS 사용이 급격히 증가했으며 웹에서 명확한 기본값이 되었습니다. 이제 브라우저에서 혼합 콘텐츠 사양에 선택적으로 차단 가능으로 정의된 하위 리소스 유형을 포함한 모든 혼합 콘텐츠를 차단하는 것을 고려하는 것이 더 실현 가능합니다.
이전 브라우저
일부 방문자는 이전 브라우저를 사용할 수 있습니다. 공급업체별로 다른 브라우저 버전은 혼합 콘텐츠를 다르게 처리합니다. 최악의 경우 이전 브라우저와 버전은 혼합 콘텐츠를 전혀 차단하지 않으므로 사용자에게 안전하지 않습니다.
모든 리소스를 안전하게 로드하고 혼합 콘텐츠 문제를 해결하면 콘텐츠가 표시되고 이전 브라우저에서 차단하지 않을 수 있는 위험한 콘텐츠로부터 사용자를 보호할 수 있습니다.