La foret rouge

혼합 컨텐츠(Mixed Content)

Published on
Published on

HTTPS로 연결한 페이지 안에서 HTTP를 이용해 컨텐츠(이미지, 비디오, css, js 등)를 가져올 때, 이를 혼합 컨텐츠12라고 합니다.

혼합 컨텐츠는 Active와 Passive로 나눌 수 있습니다. 차이점은 man-in-the-middle 공격에 의해 컨텐츠가 변경될 때 위협 수준에 따라 나뉩니다. Passive는 이미지, 오디오, 비디오와 같은 컨텐츠입니다. 이 경우엔 만약 공격을 하더라도 해당 컨텐츠만 바뀔 뿐, 페이지의 다른 부분은 변경하지 못합니다. 하지만 Active는 스크립트, 스타일시트, iframe, fetch() 요청 등을 포함합니다. 이 경우에는 피싱, 악성 사이트로 리디렉션 등 거의 모든 공격으로 이어질 수 있습니다.12

Passive 혼합 컨텐츠의 경우 콘솔에 경고 메시지가 출력됩니다. 만약 브라우저가 자동으로 https URL을 찾을 수 있다면, https를 통해 컨텐츠를 가져오고 메시지를 출력합니다.

반면, Active의 경우는 컨텐츠를 가져오는 것을 막고 경고 메시지를 출력합니다.

해결 방법3은 다음과 같습니다.

  1. 만약 동일 리소스를 https://로도 제공한다면, 간단히 이것만 바꿔주어도 됩니다. 일부 브라우저는 이를 자동으로 확인하고 자동으로 바꿔줍니다.
  2. 해당 호스트에서 해당 리소스을 https://로 제공하지 않는다면, https://로 동일한 리소스를 제공하는 다른 호스트가 있는지 찾아보고 바꿉니다.
  3. 법적으로 문제가 없다면 해당 리소스를 다운로드 받은 후 내 사이트에 직접 추가합니다.
  4. 이 모든 것이 불가능하다면, 그 리소스는 내 사이트에서 제외합니다.
  • 그 외 참고 자료 45

Footnotes

  1. "Mixed content". developer.mozilla.org. https://developer.mozilla.org/en-US/docs/Web/Security/Mixed_content (accessed Mar. 13, 2021). 2

  2. Jo-el van Bergen and Rachel Andrew. "What is mixed content?". web.dev. https://web.dev/what-is-mixed-content/ (accessed Mar. 13, 2021). 2

  3. Jo-el van Bergen and Rachel Andrew. "Fixing mixed content". web.dev. https://web.dev/fixing-mixed-content/ (accessed Mar. 13, 2021).

  4. "Passive mixed content". passive-mixed-content.glitch.me. https://passive-mixed-content.glitch.me/ (accessed Mar. 13, 2021).

  5. "Active mixed content". passive-mixed-content.glitch.me. https://active-mixed-content.glitch.me/ (accessed Mar. 13, 2021).