신뢰되지 않는 제어 영역의 기능 포함
설명
제3 자 웹 사이트로부터 JavaScript 또는 CSS 소스 파일이 서브 리소스 무결성 (SRI) 없이 포함됩니다. 해당하는 제3 자 리소스를 호스팅하는 사이트가 공격자에 의해 침투당하면 애플리케이션 사용자를 compromise하려는 악성 스크립트 또는 CSS 데이터를 삽입할 수 있습니다. 그러나 SRI을 적용하고 공격자가 스크립트 내용을 수정하려고 시도하면 브라우저가 스크립트를로드하지 않으며 애플리케이션 사용자는 악성 수정으로부터 보호됩니다.
복구
확인된 모든 리소스는 대상 애플리케이션과 동일한 도메인에서 가져와야 합니다. 이게 불가능한 경우 ‘src’ 값을 구현하는 ‘script’ 태그 또는 ‘href’ 값을 구현하는 ‘link’ 태그에는 Sub-Resource Integrity가 포함되어야합니다. SRI 무결성 값을 생성하려면 SRI 해시 도구를 사용하거나 다음 명령 중 하나를 실행하여야 합니다:
cat FILENAME.js | openssl dgst -sha384 -binary | openssl base64 -A
shasum -b -a 384 FILENAME.js | awk '{ print $1 }' | xxd -r -p | base64
이러한 도구의 출력은 추가로 integrity
및 crossorigin=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 | 매뉴얼 | 낮음 |