재인쇄할 경우 출처를 표시해 주세요. HTML5 보안 공격 및 방어에 대한 자세한 분석의 마지막 장: HTML5의 보안 개선
HTML5는 기존 보안 전략에 많은 추가 기능을 제공합니다.
1. iframe 샌드박스
HTML5는 신뢰할 수 없는 웹 페이지가 상위 페이지의 DOM 액세스, 스크립트 실행, 로컬 저장소 또는 로컬 데이터베이스 액세스 등과 같은 특정 작업을 수행하는 것을 방지하기 위해 iframe 요소에 sandbox 속성을 추가합니다. 그러나 이 보안 전략은 매우 흥미로운 다른 위험을 가져옵니다. 예를 들어 ClickJacking 공격은 JavaScript 스크립트가 JavaScript 방어 방법을 우회하도록 실행되는 것을 방지합니다.
2. CSP 콘텐츠 보안 정책
XSS는 가짜 콘텐츠와 클릭베이팅을 통해 동일 출처 정책을 우회합니다. XSS 공격의 핵심은 브라우저가 스크립트가 제3자에 의해 삽입되었는지 아니면 실제로 애플리케이션의 일부인지 구별할 수 없다는 것입니다. CSP는 서버에서 제공하는 모든 콘텐츠를 맹목적으로 신뢰하는 대신 브라우저가 이러한 소스의 리소스만 실행하고 렌더링하도록 신뢰할 수 있는 소스의 화이트리스트를 생성할 수 있도록 Content-Security-Policy HTTP 헤더를 정의합니다. 공격자가 취약점을 찾아 스크립트를 주입하더라도 해당 소스가 화이트리스트에 포함되어 있지 않기 때문에 스크립트가 실행되지 않습니다.
XSS 공격의 원리
3. XSS 필터
Chrome 및 Safari와 같은 최신 브라우저도 보안 방어 수단을 구축하고 프런트 엔드에 XSS 필터를 제공합니다. 예를 들어, 아래 그림과 같이 http://www.php.cn/;/p><script>alert(1)</script>는 Chrome에서 실행되지 않습니다.
4. 기타
또한 HTML5 애플리케이션은 Flash보다 시스템 리소스에 액세스하는 데 더 제한적입니다.
마지막으로, HTML5 관련 보안 사양은 아직 논의 중입니다. HTML5 사양의 여러 장으로 나누어서 나열하고 싶은 분도 있고, 현재는 웹의 보안뿐만 아니라 별도의 내용이 없기 때문에 따로 나열하고 싶은 분도 계십니다. 앱 개발자도 고려해야 하며, HTML5 지원을 구현하고 표준화하고 안내하는 공급업체도 고려해야 합니다.
개인적으로 HTML5의 보안 사양은 통일된 장에서 설명하고 각 기능 모듈에서 그에 따라 언급할 것이라고 생각합니다.
이상은 HTML5 보안 공격과 방어에 대한 상세 분석의 마지막 장입니다. HTML5의 보안 개선에 대한 자세한 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!