Post

HTTP protocol에서 x-xss-protection header에 관한 이야기

근래까지 취약점 진단 컨설팅에서 나온 결과를 포함해서 수많은 자동진단 도구에서 나온 결과에서 크로스 사이트 스크립팅(’Cross-site Scripting’) 공격에 대한 보안대책으로 x-xss-protection 헤더를 설정하는 것으로 가이드를 제공하고 있다. 하지만, x-xss-protection 헤더는 더 이상 권장되지 않으며, 사용하지 않는 것이 좋다.

이 헤더는 초기에 ‘Internet Explorer’에서 도입되었지만, 우회하거나 악용할 수 있는 여러 방법이 발견되지만, 이는 오히려 추가적인 보안 위협을 만들 수 있다. 또한, Chrome, Firefox 등 주요 브라우저에서는 이 헤더를 지원하지 않거나 더 이상 사용하지 않습니다. 따라서, 이 헤더를 설정해도 실질적인 보안 기능을 제공하지 않는다.

이를 대신하여 content-security-policy 헤더를 권장하지만, 이는 웹 사이트에서 스크립트를 실행할 수 있는 출처를 제한하여 XSS 공격에 대응할 수 있다.

일부 경우에는 x-xss-protection 헤더는 웹 페이지 로딩 시간에 영향을 미칠 수 있다. 구체적으로, 이 헤더가 활성화되어 있을 경우 브라우저는 웹 페이지를 렌더링할 때 추가적인 XSS 검사가 수행된다. 특히 페이지에 많은 스크립트 또는 동적인 콘텐츠가 포함된 경우 브라우저의 처리 부담을 증가시킨다.

이러한 이유로 x-xss-protection 헤더는 성능 저하를 초래할 수 있는 추가적인 단계도 요구되어서, 최근에는 이를 대신하여 content-security-policy 를 사용하는 것을 권장한다.

This post is licensed under CC BY 4.0 by the author.