신뢰되지 않는 제어 구역의 기능 포함

설명

타사 도메인에서 JavaScript 또는 CSS 소스 파일이 Sub-Resource Integrity (SRI) 없이 포함됩니다. 만약 공격자가 이러한 타사 리소스를 호스팅하는 사이트를 침해한다면, 사용자의 응용 프로그램을 침해하려고 악의적인 스크립트 또는 CSS 데이터를 삽입할 수 있습니다. 그러나 SRI가 적용되어 있고 공격자가 스크립트의 내용을 수정하려고 한다면, 브라우저는 스크립트를 로드하지 않고 응용 프로그램 사용자는 악의적인 변경으로부터 보호받을 것입니다.

복구

모든 식별된 리소스는 대상 응용 프로그램과 동일한 도메인에서 가져와야 합니다. 이게 불가능한 경우, script 태그에 src 값이 구현된 경우 또는 link 태그에 href 값이 구현된 경우 모두 Sub-Resource Integrity를 포함하는 것이 강력히 권장됩니다. SRI 무결성 값을 생성하기 위해 SRI hash 도구를 사용하거나 다음 명령 중 하나를 실행하여야 합니다:

  • cat FILENAME.js | openssl dgst -sha384 -binary | openssl base64 -A
  • shasum -b -a 384 FILENAME.js | awk '{ print $1 }' | xxd -r -p | base64

이 도구들의 출력 값은 integritycrossorigin=anonymous 또는 crossorigin=use-credentials와 같은 추가 속성으로 추가되어야 합니다. 유효한 SRI 보호된 스크립트 태그의 예시는 아래에서 찾을 수 있습니다:

<script src="https://example.com/example-framework.js"
    integrity="sha384-oqVuAfXRKap7fdgcCY5uykM6+R9GqQ8K/uxy9rx7HNQlGYl1kPzQho1wx4JwY8wC"
    crossorigin="anonymous"></script>

세부 정보

ID 집계 CWE 유형 위험
829.1 true 829 수동 낮음

링크