콘텐츠 스니핑

Content sniffing

미디어형 스니핑 또는 MIME 스니핑이라고도 하는 콘텐츠 스니핑바이트 스트림의 콘텐츠를 검사하여 그 안에 있는 데이터의 파일 형식을 추론해 보는 관행이다.콘텐츠 스니핑은 일반적으로 파일을 올바르게 해석하는 데 필요한 정확한 메타데이터의 부족을 보완하기 위해 사용된다.콘텐츠 스니핑 기법은 대부분의 파일 형식에서 발견되는 중복성에 의존하는 기법, 즉 파일 서명 및 매직 넘버 찾기, 잘 알려진 대표적인 서브스트링 검색, 바이트 주파수n그램 테이블 사용, 베이시안 추론 등의 휴리스틱스 등을 혼합하여 사용하는 경향이 있다.

MIME(Multipusable Internet Mail Extensions)의 냄새를 맡는 것은 MIME 유형의 웹 콘텐츠 디스플레이를 올바르게 표시하지 않는 웹 사이트를 돕기 위해 마이크로소프트의 Internet Explorer를 포함한 일부 웹 브라우저에 의해 사용되었지만 여전히 사용되고 있다.[1]그러나 이렇게 하면 심각한 보안 취약성이 발생하는데,[2] MIME 스니핑 알고리즘을 혼동하여 브라우저를 조작하여 사이트 운영자나 사용자가 예상하지 못한 작업을 사이트 간 스크립팅과 같이 공격자가 수행할 수 있는 방식으로 데이터를 해석할 수 있다.[3]더욱이 콘텐츠에 MIME 유형을 올바르게 할당하지 않은 사이트들을 해당 브라우저에서 제대로 작동하는 것처럼 보이게 함으로써, 그것은 자료의 올바른 라벨링을 장려하지 못하며, 이는 결국 이러한 사이트들이 작동하는 데 필요한 콘텐츠 냄새를 맡게 함으로써 웹 표준과 보안 모범 사례와 호환되지 않는 악순환을 만들어낸다.

HTML5에서 미디어형 스니핑에 대한 규격이 존재하는데, 이 규격은 MIME형 데이터가 없거나 부정확한 웹 콘텐츠와의 역호환성의 필요성과 보안의 요구 조건의 균형을 맞추려고 시도한다.그것은 구현 전반에 걸쳐 잘 정의되고 결정론적인 단일 행동 집합을 구현하는 데 사용될 수 있는 정밀한 규격을 제공하려고 시도한다.[4]

UNIX 파일 명령은 콘텐츠 스니핑 애플리케이션으로 볼 수 있다.

샤르셋 킁킁거림

수많은 웹 브라우저는 MIME 유형이 이미 알려진 텍스트 파일의 문자 인코딩을 결정하기 위해 보다 제한된 형태의 콘텐츠 스니핑을 사용한다.이 기법은 charset sniffing 또는 codepage sniffing으로 알려져 있으며, 특정 인코딩의 경우 보안 제한을 우회하는 데도 사용될 수 있다.예를 들어, Internet Explorer 7은 브라우저가 HTML 파일이 UTF-7로 인코딩되었다고 추측할 수 있도록 허용함으로써 정책을 우회하여 JScript를 실행하도록 속일 수 있다.[5]이 버그는 동일한 텍스트의 여러 인코딩과 특히 ASCII 문자의 대체 표현을 허용하는 UTF-7 인코딩의 기능에 의해 악화된다.

대부분의 엔코딩은 ASCII 문자의 회피적 표시를 허용하지 않기 때문에 일반적으로 charset snnning은 덜 위험하다. 왜냐하면 스크립팅과 마크업 언어의 ASCII 중심적 특성의 역사적 사고 때문에 ASCII 레퍼토리 외부의 문자는 보안 경계를 우회하기 위해 사용하기 더 어렵고, 잘못 해석하기 때문이다.문자 집합은 모히바케의 표시보다 더 나쁜 결과를 낳지 않는 경향이 있다.

참고 항목

참조

  1. ^ "MIME Type Detection in Windows Internet Explorer". Microsoft. Retrieved 2012-07-14.
  2. ^ Barth, Adam. "Secure Content Sniffing for Web Browsers, or How to Stop Papers from Reviewing Themselves" (PDF).
  3. ^ Henry Sudhof (11 February 2009). "Risky sniffing: MIME sniffing in Internet Explorer enables cross-site scripting attacks". The H. Retrieved 2012-07-14.
  4. ^ Adam Barth, Ian Hickson. "Mime Sniffing". WHATWG. Retrieved 2012-07-14.
  5. ^ "Event 1058 - Codepage Sniffing". Internet Explorer. MSDN. Retrieved 2012-07-14.

외부 링크