데이터 유출 탐지 예외사항과 해결책에 대해 알아보겠습니다.

1) Content-Type : MIME 타입 검사

※ MIME 타입이란, 클라이언트에게 전송된 문서의 다양성을 알려주기 위한 메커니즘입니다.

– PLURA V5에서는 오직 아래의 타입인 경우에만 동작합니다.

– text

텍스트를 포함하는 모든 문서를 나타내며 이론상으로는 인간이 읽을 수 있어야 합니다.
예시) text/plain, text/html, text/css, text/javascript

– 멀티 타입

멀티파트 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가리킵니다.

 

2) Content-Encoding

– PLURA V5에서는 압축 해제(Disable Compression) 문제로 예외 처리(검사하지 않음)

 

3) charset=UTF-8

※ <meta> 태그의 charset 속성은 해당 HTML 문서의 문자 인코딩 방식을 명시합니다.

– PLURA V5에서는 UTF-8 에서만 동작합니다.(Windows-IIS의 경우)

3-1) 응답본문 선택 시, 만나는 에러 문구

– 필터 탐지는 되었으나 응답본문 내용을 읽을 수 없을 경우, 아래의 문구가 노출됩니다.

3-2) 문제점

– 응답본문 문자 인코딩이 UTF-8 이 아닌, 한글 인코딩과 같이 멀티바이트(multi-byte) 인코딩으로 되어 있을 경우 발생됩니다.


3-3) 해결책

a) 응답본문이 UTF-8 으로 응답할 수 있도록 웹 문서에 아래 태그를 삽입해주세요.

<meta charset=”UTF-8″>

b) 웹 문서 저장시 인코딩을 UTF-8 으로 저장해주세요.

 

▣ MIME 타입 정리

MIME 타입은 개별 타입과 멀티파트 타입으로 구분됩니다.

  • 개별 타입

text/plain
text/html
image/jpeg
image/png
audio/mpeg
audio/ogg
audio/*
video/mp4
application/octet-stream

  • 개별타입은 문서의 카테고리를 가리키며, 다음 중 하나가 될 수 있습니다.

특정 서브타입이 없는 텍스트 문서들에 대해서는 text/plain 이 사용되어야 합니다.
특정 혹은 알려진 서브타입이 없는 이진 문서에 대해서는 유사하게, application/octet-stream이 사용되어야 합니다.

  • 멀티파트 타입

multipart/form-data
multipart/byteranges

멀티파트 타입은 일반적으로 다른 MIME 타입들을 지닌 개별적인 파트들로 나누어지는 문서의 카테고리를 가리킵니다.
즉, 이 타입은 합성된 문서를 나타내는 방법입니다.
HTML Forms 과 POST 메서드의 관계 속에서 사용되는 multipart/form-data, 그리고 전체 문서의 하위 집합만 전송하기 위한 206 Partial Content 상태 메시지와 함께 사용되는 multipart/byteranges 를 제외하고는, HTTP 가 멀티파트 문서를 다룰 수 있는 특정한 방법은 존재하지 않습니다 : 메시지는 브라우저에 간단히 전달됩니다.(문서를 인라인에 어떻게 디스플레이할지 모르기에, ‘다른 이름으로 저장’ 윈도우를 제시할 겁니다.)

▣ 참조 사이트
– 1) Content-Type : MIME 타입 검사 https://mzl.la/327am7k
– 2) Content-Encoding https://bit.ly/31ecOJW
– 3) charset=UTF-8 https://theqoop.tistory.com/266
– 4) Apache 서버에서 HTTP 압축 비활성화 http://blog.plura.io/?p=12015