developer tip

iframe이 위험하고 보안 위험으로 간주되는 이유는 무엇입니까?

optionbox 2020. 8. 7. 08:20
반응형

iframe이 위험하고 보안 위험으로 간주되는 이유는 무엇입니까?


iframe이 위험하고 보안 위험으로 간주되는 이유는 무엇입니까? 누군가 악의적으로 사용될 수있는 사례의 예를 설명 할 수 있습니까?


다른 도메인의 콘텐츠를 표시하자마자 기본적으로 멀웨어를 제공하지 않도록 해당 도메인을 신뢰하게됩니다.

iframe 자체에는 문제가 없습니다. iframe의 콘텐츠를 제어하면 완벽하게 안전합니다.


IFRAME경우 요소는 보안 위험이있을 수 있습니다 귀하의 사이트가 내부에 내장되어 IFRAME적대적인 사이트 . 자세한 내용은 Google "클릭 재킹"을 참조하십시오. 경우 문제가되지 않습니다 당신이 사용 <iframe>여부. 이 공격에 대한 유일한 실제 보호는 HTTP 헤더를 추가 X-Frame-Options: DENY하고 브라우저가 자신의 작업을 알고 있기를 바라는 것입니다.

또한 사이트의 페이지에 악용 될 수있는 XSS 취약점이있는 경우 IFRAME 요소가 보안 위험이 될 수 있습니다 . 이 경우 공격자는 <iframe>XSS 취약성이있는 페이지 내에서로드하도록 설득 할 수있는 동일한 도메인 내의 모든 페이지로 XSS 공격을 확장 할 수 있습니다 . 이는 동일한 출처 (동일한 도메인)의 콘텐츠가 상위 콘텐츠 DOM에 액세스 할 수 있기 때문입니다 (실제로 "호스트"문서에서 JavaScript를 실행). 이 공격에 대한 유일한 실제 보호 방법은 HTTP 헤더를 추가 X-Frame-Options: DENY하거나 항상 사용자가 제출 한 모든 데이터를 올바르게 인코딩하는 것입니다 (즉, 사이트에 XSS 취약성이 전혀 없습니다. 말처럼 쉬운 일이 아닙니다).

이것이 문제의 기술적 측면입니다. 또한 사용자 인터페이스 문제가 있습니다. 사용자가 링크를 클릭 할 때 URL 표시 줄이 변경되지 않는다고 믿도록 가르치면 (예 : 사이트에서 모든 실제 콘텐츠가 포함 된 큰 iframe을 사용함) 실제 보안의 경우에도 사용자는 미래에 아무것도 알아 차리지 못할 것입니다. 취약성. 예를 들어, 공격자가 iframe 내의 적대적인 소스에서 콘텐츠를로드 할 수 있도록하는 사이트 내에 XSS 취약점이있을 수 있습니다. URL 표시 줄이 여전히 이전 동작과 동일하게 보이고 (절대 변경되지 않음) 콘텐츠가 사용자 자격 증명을 요청하는 적대적인 도메인에서 왔음에도 불구하고 유효 해 보이기 때문에 누구도 차이를 구분할 수 없습니다.

누군가 <iframe>귀하의 사이트 에서 요소 를 사용하는 것이 위험하고 보안 위험을 유발 한다고 주장하는 경우 , 그는 <iframe>요소가 어떤 역할을하는지 이해하지 못 하거나 <iframe>브라우저 관련 취약점 가능성에 대해 말하는 것입니다 . <iframe src="...">태그의 보안은 브라우저에 취약점이없는 한 동일 <img src="..."하거나 그 이상 <a href="...">입니다. 그리고 적절한 취약성이 있다면 <iframe>, <img>또는 <a>요소 를 사용하지 않아도 트리거 할 수 있으므로이 문제에 대해 고려할 가치가 없습니다.

그러나의 콘텐츠는 <iframe>기본적으로 최상위 탐색을 시작할 수 있습니다 . 즉,의 콘텐츠 <iframe>는 현재 페이지 위치에 대한 링크를 자동으로 열 수 있습니다 (새 위치는 주소 표시 줄에 표시됨). 이를 방지하는 유일한 방법은 sandbox값없이 속성 을 추가하는 것입니다 allow-top-navigation. 예를 들면 다음과 같습니다 <iframe sandbox="allow-forms allow-scripts" ...>. 불행히도 샌드 박스는 항상 모든 플러그인을 비활성화합니다. 예를 들어 모든 Youtube 콘텐츠를 보려면 Flash 플레이어가 여전히 필요하기 때문에 Youtube 콘텐츠를 샌드 박스 할 수 없습니다. 플러그인 사용과 동시에 최상위 탐색을 허용하지 않는 브라우저는 없습니다.

참고 X-Frame-Options: DENY도 (또한 "로 알려진 내용 출처 간을 읽을 수있는 성능 측면 채널 공격 렌더링에서 보호 픽셀 완벽한 타이밍 공격을 ").


나는 당신이 직접 제어한다면 아마도 위험이 더 낮을 것이기 때문에 교차 도메인 iFrame을 가정하고 있습니다.

  • 사이트가 iframe으로 포함 된 경우 클릭 재킹 이 문제입니다.
  • 손상된 iFrame은 악성 콘텐츠를 표시 할 수 있습니다 (iFrame에 광고 대신 로그인 상자가 표시되는 경우).
  • 포함 된 iframe은 경고 및 프롬프트와 같은 특정 JS 호출을 수행하여 사용자를 짜증나게 할 수 있습니다.
  • 포함 된 iframe은 location.href를 통해 리디렉션 할 수 있습니다 (yikes, bankofamerica.com에서 bankofamerica.fake.com으로 고객을 리디렉션하는 3p 프레임을 상상해보세요)
  • 3p 프레임 (java / flash / activeX) 내부의 악성 코드가 사용자를 감염시킬 수 있습니다.

사람들이 iframe을 언급 할 때 "위험"및 "보안 위험"이 가장 먼저 떠오르는 것은 아니지만 클릭 재킹 공격에 사용될 수 있습니다 .


ifram은 크로스 프레임 스크립팅 " https://www.owasp.org/index.php/Cross_Frame_Scripting " 에 대한 취약성이기도합니다.

참고 URL : https://stackoverflow.com/questions/7289139/why-are-iframes-considered-dangerous-and-a-security-risk

반응형