브라우저 보안 및 혼합 콘텐츠
Google Chrome 및 Mozilla Firefox에서는 보안 페이지에서 참조되는 비보안 콘텐츠를 통해 노출되는 보안 공격으로부터 컴퓨터를 보호하기 위해 혼합 콘텐츠 차단 프로세스를 구현했습니다.
혼합 콘텐츠의 개념과 혼합 콘텐츠가 중요한 이유
사용자명과 비밀번호 같이 중요한 정보를 요청하는 웹사이트에서는 대개 보안(https) 연결을 사용하여 사용자가 사용하는 컴퓨터와 콘텐츠를 송수신합니다. 사용자가 보안 연결을 통해 사이트를 방문하는 경우 Google Chrome과 Firefox에서는 모두 웹 페이지 콘텐츠가 안전하게 전송되었는지 확인합니다. 어느 한 브라우저가 비보안(http) 채널에서 들어오는 특정 유형의 페이지 콘텐츠를 감지하는 경우 브라우저는 자동으로 콘텐츠가 로드되지 않도록 차단하며 주소 표시줄에는 방패 아이콘이 나타납니다.
콘텐츠 및 보안 공백 발생 가능성을 차단함으로써 Chrome 및 Firefox는 페이지의 정보가 악의적인 사용자에게 유입되지 않도록 보호합니다.
혼합 콘텐츠 유형
혼합 콘텐츠의 맥락에서 웹 페이지를 보는 사용자 환경에 영향을 주는 콘텐츠 유형에는 두 가지가 있으며 각각 다양한 수준의 위험을 지니고 있습니다.
- 혼합 패시브 콘텐츠 또는 표시 콘텐츠
- 혼합 액티브 콘텐츠 또는 스크립트 콘텐츠
혼합 패시브 콘텐츠 또는 표시 콘텐츠
혼합 패시브 콘텐츠는 HTTPS 웹사이트에서 웹 페이지의 DOM(Document Object Model)을 변경할 수 없는 HTTP 콘텐츠입니다. 좀더 간단히 말해, 패시브 HTTP 콘텐츠가 HTTPS 웹사이트에 미치는 효과는 제한적입니다. 예를 들면 공격자는 HTTP를 통해 제공되는 이미지를, 부적절한 이미지 또는 잘못된 메시지로 대체하여 사용자에게 보낼 수 있습니다. 그러나 공격자는 이미지가 로드되는 페이지 섹션에만 영향을 미치며 나머지 웹 페이지에는 영향을 미치지 못합니다.
공격자는 사용자에게 제공되는 이미지를 관찰하고 조회한 페이지를 유추하는 방식으로 사용자 검색 활동에 대한 정보를 추론할 수 있습니다. 또한 공격자는 이미지를 검색 및 전달하기 위해 전송된 HTTP 헤더를 관찰함으로써 사용자 에이전트 문자열 및 이미지가 요청된 도메인과 연결된 모든 쿠키를 볼 수 있습니다. 콘텐츠가 동일한 도메인에서 기본 웹 페이지로 제공되는 경우 HTTPS가 사용자 계정에 제공하는 보호 기능을 우회하여 세션 정보가 잠재적으로 노출될 수 있습니다.
패시브 콘텐츠의 예로는 이미지, 오디오 및 비디오 로드가 있습니다.
혼합 액티브 콘텐츠 또는 스크립트 콘텐츠
액티브 콘텐츠란 HTTPS 페이지에 접근할 수 있으며 DOM(Document Object Model)의 전부 또는 일부에 영향을 줄 수 있는 콘텐츠를 의미합니다. 이 혼합 콘텐츠 유형은 HTTPS 페이지의 동작을 변경할 수 있으며 사용자로부터 잠재적으로 중요한 데이터를 도용할 수 있습니다. 위의 혼합 패시브 콘텐츠에서 이미 설명한 위험 이외에, 혼합 액티브 콘텐츠는 다수의 잠재적 공격 벡터에도 노출될 수 있습니다.
예: 메시지 가로채기(MITM) 공격자는 HTTP 액티브 콘텐츠에 대한 요청을 가로챌 수 있습니다. 그런 다음 공격자는 악성 JavaScript 코드를 넣어 응답을 다시 작성할 수 있습니다. 악성 스크립트는 사용자가 설치한 취약한 플러그인을 이용하는 등의 방식으로 사용자의 자격 증명을 도용하거나, 사용자에 대한 중요한 데이터를 취득하거나, 사용자 시스템에 맬웨어를 설치할 수 있습니다.
액티브 콘텐츠의 예로는 JavaScript, CSS, 객체, xhr 요청, iframe 및 글꼴이 있습니다.
사용자가 브라우저를 컨트롤해야 하는 필요성 해소
사용자 환경을 개선하고 사용자가 브라우저 설정을 조정할 필요가 없도록 하려면 모든 콘텐츠가 HTTPS를 통해 제공되어야 합니다.
혼합 콘텐츠의 브라우저 관리
Mozilla 웹 사이트의 예시를 검토해 보면, 혼합 콘텐츠가 사용자 검색 환경에 미치는 영향을 확인하고 브라우저 설정이 페이지 렌더링에 미치는 영향을 이해할 수 있습니다.
혼합 콘텐츠 차단 개념은 전체 브라우저에서 유사하며 혼합 콘텐츠 차단을 지원하는 브라우저 간의 주된 차이는 접근 관리 및 정보 레벨입니다.
HTTPS를 통해 제공되는 보안 웹 페이지에 사용자 정보를 공격에 취약한 상태로 둘 수 있는 비보안 요소가 있을 수 있습니다. 페이지에 보안 요소 및 비보안 요소가 모두 있는 경우, 이를 혼합 콘텐츠라고 합니다.
Mozilla Firefox는 혼합 콘텐츠와 관련된 위험에서 사용자를 보호하기 위해 비보안 콘텐츠가 달리 보안 페이지에 표시되지 않도록 차단합니다. 비보안 요소가 포함된 페이지를 탐색해도 괜찮다면, 몇 가지 단계를 통해 이 콘텐츠가 표시되도록 선택할 수 있습니다. 이 문서에서는 Mozilla Firefox 브라우저 v23 및 그 이후 버전의 혼합 콘텐츠에 접근하기 위해 브라우저 컨트롤을 관리하는 방법에 대해 설명합니다.
차단된 콘텐츠 설정 관리
Firefox에서 혼합 콘텐츠가 있는 페이지를 방문할 때는 위치 표시줄에 방패 모양이 나타납니다. 이는 일부 콘텐츠가 차단되었음을 나타냅니다. 일시적으로 이 보안 기능을 비활성화하고 비보안 콘텐츠를 보려면 이 아이콘을 선택하십시오.
이 콘텐츠를 보려면 지금은 보호 비활성화를 선택하십시오. 페이지가 다시 로드되고 빨간색 줄이 쳐진 방패 아이콘 및 노란색 삼각형 안의 느낌표 아이콘이 위치 표시줄에 나타납니다. 이러한 아이콘은 페이지의 일부 콘텐츠로 인해 사용자의 정보가 유출될 위험이 있음을 알리기 위해 표시되는 것입니다.
Firefox: 혼합 콘텐츠 차단
Mozilla Firefox는 혼합 콘텐츠 차단을 사용하여 사용자의 정보를 보호하지만, 혼합 액티브 콘텐츠를 표시할지를 선택할 수도 있습니다. 이 유형의 콘텐츠는 전체 페이지의 동작 방식을 변경하여 사용자의 중요한 데이터를 도용할 가능성이 있습니다. 그러나 혼합 패시브 콘텐츠의 경우 전체 페이지의 동작 방식은 변경할 수 없고 HTTP(비보안) 콘텐츠 자체만 변경할 수 있습니다.
온라인에서는 혼합 패시브 콘텐츠가 일반적이며, 이러한 콘텐츠로는 이미지, 오디오 및 동영상과 같은 웹 페이지 요소 등이 있습니다. Firefox에서는 이 유형의 콘텐츠를 자동으로 차단하지 않습니다. 그러면 수많은 웹 페이지가 깨지고 사용자 환경이 나빠지게 되기 때문입니다. 그러나 브라우저의 구성을 수정하여 혼합 패시브 콘텐츠를 차단하는 방법이 있습니다.
기타 읽기 자료
혼합 콘텐츠에 대한 자세한 내용은 Mozilla 웹 사이트의 다음 문서에 나와 있습니다.
- 안전하지 않은 콘텐츠가 나에게 미치는 영향 - Mozilla 지원
- Firefox 23에서의 혼합 콘텐츠 차단 사용 - Tanvi의 블로그, Mozilla의 보안 엔지니어링