2015/12/22

[html]integrity属性について

bootstrapのサイトを見ているときに以下のような記述がありました。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ==" crossorigin="anonymous">
このintegrity属性ってなんだろうなーっと思ってぐぐったら、以下のようなことらしい。

Subresource Integrityはどういうものか

おそらく、以下のようなもの。
ウェブアプリケーションでCDNをつかって、サブリソースを参照することは当たり前になっている。
しかし参照先のサブリソースが安全であるという保証はない。
もし、CDN経由で参照しているサブリソースが攻撃者により改変された場合、XSSの危険性が生じる。

これは、サブリソースの整合性をチェックする仕組みを導入することで、危険を回避できる。
Subresource Integrityとは、サブリースをSHA256, SHA512などでハッシュ化して、linkタグやscriptタグにintegrity属性として付与することで、整合性を確認できるようにしたもの。
もし、integrity属性がある場合は、ブラウザは読み込み時に整合性をチェックして一致した場合にのみロードされる。

via:Subresource Integrityについて調べた
確かに、google cdnやcloudflare経由でプログラムを使用するケースが増えてきたので、攻撃を受けていないことを担保するものとして重要かもしれません。

0 コメント:

コメントを投稿