SlideShare a Scribd company logo
今日からはじめるCSP 
Dahlia* 
@dahlia_cocoa 
1
2
    ___ 
   / \::/\ 
  /。(一)::(一)。 
  |::。゚(_人_)゚| 
  \ ゚ `⌒´/゚ 
  / ⌒ヽ ̄ ̄ヽ゚。 
  / __\ \/\ \ 
 と__)_ヽ_つ ヽ_つ 
3
おしながき 
4 
• CSPとは 
• 制限について 
• 注意点とまとめ
About Me 
• Dahlia*(だりあ) 
• Twitter:@dahlia_cocoa 
• その他:http://moonfire.info 
• seccamp ’14 Web 
5 
• 専門は社会学
CSPとは 
6
CSPとは 
Content Security 
Policy の略称 
7
8
https://developer.mozilla.org/ja/docs/Security/CSP 
9
“Content Security Policy (CSP) は、クロ 
スサイトスクリプティング (XSS) やデータイ 
ンジェクション攻撃を含む、よく知られた種 
類の攻撃を検出して軽減する、セキュリティ 
の追加レイヤーです。これらの攻撃手法は、 
データ窃盗からサイト改変、マルウェア感染 
まで、すべてに使用されます。” 
10
おしまい。 
11
\1分くらいで終了/ 
12
\まだつづくよ/ 
13
CSP #とは 
• Content Security Policyの略 
• XSSやクリックジャッキングなどの攻撃を軽減で 
きる 
• 使うときはレスポンスヘッダにContent- 
Security-Policy:なんたら って追加する。 
• <meta>タグにも記述可能な模様 
• 外部リソースの読み込みや一部の機能に制限が 
発生 
14
CSP #とは 
XSSを仕掛けられて痛い目を見た。 
見つけた穴を塞いでも塞いでもやられ 
てしまう。どうしよう。 
15
CSP #とは 
CSP導入する 
→許可無しにインラインJS/スタイル使 
えない 
→XSSが超難しくなる 
 HTML/JS/CSSの分離が進む(はず) 
→うれしいヽ(・∀・)ノ 
16
CSP #とは 
外部リソース経由でなんか変なモノ仕 
込まれちゃってるんですが。 
ページを開くたびにalert出るんです 
が。 
これはどうすれば。 
17
CSP #とは 
CSP導入する 
→外部のリソースが使えなくなる 
 (必要なものだけ許可する方針で) 
→外部から危ないモノをもらっちゃう心 
配が減る 
→外部リソースにevalとかonclick=“hoge” 
とか書いてあっても止められる 
→きっとうれしい(`・ω・´) 
18
制限について 
19
制限について 
20 
• 外部リソース 
• インラインJavaScript / スタイル 
• eval 
• data: URI
CSPを書くときのキーワード 
• 'self':同一オリジンへの参照 
• 'none':空要素への参照 
21 
• 'unsafe-inline' 
• 'unsafe-eval' 
※シングルクオーテーションマークも必要
CSPのポリシーディレクティブ 
• default-src:デフォルトはここ 
22 
• img-src:画像、Favicon 
• script-src:JavaScriptのコード 
• object-src:<object> <embed> <applet> 
• media-src:<video> <canvas> 
• font-src:@font-face 
• style-src:CSS、Style属性 
• frame-src:iframeとか(非標準?)
外部リソース 
• 許可したいリソースを指定可能 
• たとえば・・・ 
画像やFaviconを全て 
http://img.moonfire.info に置いている場合 
Content-Security-Policy: default-src ‘self’; 
img-src http://img.moonfire.info 
23
eval 
• eval 基本使えない(正確には文字列をスクリプト 
として評価する系のあれこれ) 
• どうしても使いたいときだけ ‘unsafe-eval’ を 
付ける。 
• たとえば・・・ 
JSの中でevalとかを使いたい場合はこんな記述を。 
! Content-Security-Policy: default-src 'self'; 
24 
script-src 'unsafe-eval'
インライン要素 
• <script>alert(1);</script> とか 
<p style=“color:red”> とか onclick=“alert(1);”  
とか使えない。イベントはリスナーで拾うこと。 
• どうしても使いたいときだけ、’unsafe-inline’ と書 
き加える。(外部サービスでどうしても、とか) 
• たとえば・・・どうしても<script>alert(1);</script> 
と書きたいとき。 
! Content-Security-Policy: default-src ‘self’; 
script-src ‘unsafe-inline’ 
25
data: URI 
• data:image/jpeg 等はデフォルトで 
は使用不可 
• どうしても使いたい場合は、該当の 
ポリシーディレクティブにdate: と 
書き加える 
Content-Security-Policy: default-src ‘self’; 
img-src data: 
26
違反レポートの取得 
• ポリシーに違反した場合、json形式 
のレポートを送信することが可能。 
• report-uri [レポートを送信したい 
URI] を書き加えるだけ 
27 
! 
Content-Security-Policy: default-src 'self'; 
report-uri ./report/report.cgi
まとめ 
28
注意点 
• しっかり指定すれば効果テキメン。 
• 外部リソースを許可するとき、 
unsafe-inline や unsafe-evalを使う 
ときは、本当に必要か吟味すべき 
→XSSが成功する可能性ががが 
29
まとめ 
• CSPはいろんな脅威に対抗できる切 
り札のひとつ 
• これまで動いていたものが動かなく 
なる可能性があるので、設定時には 
注意が必要 
• レポート送信の機能を上手に使うと 
さらに◎ 
30
参考資料(もっと詳しく知りたい人へ) 
• CSP policy directives - Security | MDN https://developer.mozilla.org/ja/docs/ 
Security/CSP/CSP_policy_directives 
• Content Security Policy Level 2 http://www.w3.org/TR/CSP2/ 
• IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第8章 マッシュ 
アップ:クライアントサイドマッシュアップ: #4 対策に利用できる技術 http:// 
www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/705.html 
• HASHコンサルティングオフィシャルブログ: 弊社のホームページにContent Security 
Policy(CSP)を導入しました http://blog.hash-c.co.jp/2013/12/Content-Security- 
Policy-CSP.html 
• 同一originにあるフォームを利用してCSPバイパスっぽいことをする話 - 金利0無利息 
キャッシング – キャッシングできます - subtech http://subtech.g.hatena.ne.jp/ 
mala/20140612/1402558716 
• Content Security PolicyでXSSを断ち切る | monoの開発ブログ http:// 
blog.monoweb.info/blog/2012/03/15/content-security-policy/ 
31
今日からはじめるCSP(Kernel/VM@Okinawa)

More Related Content

What's hot

安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014Hiroshi Tokumaru
 
Reactjs
ReactjsReactjs
Rubyによるクローラー開発
Rubyによるクローラー開発Rubyによるクローラー開発
Rubyによるクローラー開発
しくみ製作所
 
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
Isao Takaesu
 
いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方
Hiroshi Tokumaru
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIYosuke HASEGAWA
 
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
Yoshihiko Matsuzaki
 
機械学習を使ったハッキング手法
機械学習を使ったハッキング手法機械学習を使ったハッキング手法
機械学習を使ったハッキング手法
Isao Takaesu
 
Capybaraで雑にWebスクレイピング
Capybaraで雑にWebスクレイピングCapybaraで雑にWebスクレイピング
Capybaraで雑にWebスクレイピング
Koji Nakamura
 
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
Takahiro Okumura
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
Takuro Sasaki
 
Webアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかWebアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかHiroshi Tokumaru
 
今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしない
Akihiro Kuwano
 
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
Kouhei Sutou
 
JAWSUG architecture-crowler
JAWSUG architecture-crowlerJAWSUG architecture-crowler
JAWSUG architecture-crowler
Takuro Sasaki
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Terui Masashi
 
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
KageShiron
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムHitoshi Asai
 
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
Mikiya Okuno
 

What's hot (20)

安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014安全なPHPアプリケーションの作り方2014
安全なPHPアプリケーションの作り方2014
 
Reactjs
ReactjsReactjs
Reactjs
 
Rubyによるクローラー開発
Rubyによるクローラー開発Rubyによるクローラー開発
Rubyによるクローラー開発
 
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
機械学習でWebアプリの脆弱性を見つける - Reflected XSS 編 -
 
いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方いまさら聞けないパスワードの取り扱い方
いまさら聞けないパスワードの取り扱い方
 
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript APIHTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
HTML5のセキュリティ もうちょい詳しく- HTML5セキュリティその3 : JavaScript API
 
MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24MySQLの冗長化 2013-01-24
MySQLの冗長化 2013-01-24
 
機械学習を使ったハッキング手法
機械学習を使ったハッキング手法機械学習を使ったハッキング手法
機械学習を使ったハッキング手法
 
Capybaraで雑にWebスクレイピング
Capybaraで雑にWebスクレイピングCapybaraで雑にWebスクレイピング
Capybaraで雑にWebスクレイピング
 
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
MySQL 4.0で9年動き続けたサーバを リプレイスしてバージョンアップした話
 
Rubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピングRubyで始めるWebスクレイピング
Rubyで始めるWebスクレイピング
 
Webアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいかWebアプリでパスワード保護はどこまでやればいいか
Webアプリでパスワード保護はどこまでやればいいか
 
今日はMongoDBの話はしない
今日はMongoDBの話はしない今日はMongoDBの話はしない
今日はMongoDBの話はしない
 
いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!いろいろ考えると日本語の全文検索もMySQLがいいね!
いろいろ考えると日本語の全文検索もMySQLがいいね!
 
Mysql toranomaki
Mysql toranomakiMysql toranomaki
Mysql toranomaki
 
JAWSUG architecture-crowler
JAWSUG architecture-crowlerJAWSUG architecture-crowler
JAWSUG architecture-crowler
 
Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話Mroongaを選んだ理由と
ちょっと嬉しかった話
Mroongaを選んだ理由と
ちょっと嬉しかった話
 
Webセキュリティ入門(xss)
Webセキュリティ入門(xss)Webセキュリティ入門(xss)
Webセキュリティ入門(xss)
 
MongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステムMongoDBではじめるカジュアルなタイムラインシステム
MongoDBではじめるカジュアルなタイムラインシステム
 
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会MySQl 5.6新機能解説@第一回 中国地方DB勉強会
MySQl 5.6新機能解説@第一回 中国地方DB勉強会
 

Viewers also liked

10分で作るオリジナルサイト - CMS/blog/adiary/Wordpress
10分で作るオリジナルサイト -  CMS/blog/adiary/Wordpress10分で作るオリジナルサイト -  CMS/blog/adiary/Wordpress
10分で作るオリジナルサイト - CMS/blog/adiary/Wordpress
nabe-abk
 
Phpのつたえかた (初心者編) #phpstudy
Phpのつたえかた (初心者編) #phpstudyPhpのつたえかた (初心者編) #phpstudy
Phpのつたえかた (初心者編) #phpstudy
cocoa_dahlia
 
Nmapの真実(ゾクゾク)
Nmapの真実(ゾクゾク)Nmapの真実(ゾクゾク)
Nmapの真実(ゾクゾク)
Keigo Yamazaki
 
今日から始めるXSS
今日から始めるXSS今日から始めるXSS
今日から始めるXSS
llamakko_cafe
 
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試みセキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試み
Hiroshi Tokumaru
 
Angular2実践入門
Angular2実践入門Angular2実践入門
Angular2実践入門
Shumpei Shiraishi
 
複雑さに挑む!カンバンによるプロジェクト マネジメント
複雑さに挑む!カンバンによるプロジェクト マネジメント複雑さに挑む!カンバンによるプロジェクト マネジメント
複雑さに挑む!カンバンによるプロジェクト マネジメント
智治 長沢
 

Viewers also liked (8)

Word bonch lt
Word bonch ltWord bonch lt
Word bonch lt
 
10分で作るオリジナルサイト - CMS/blog/adiary/Wordpress
10分で作るオリジナルサイト -  CMS/blog/adiary/Wordpress10分で作るオリジナルサイト -  CMS/blog/adiary/Wordpress
10分で作るオリジナルサイト - CMS/blog/adiary/Wordpress
 
Phpのつたえかた (初心者編) #phpstudy
Phpのつたえかた (初心者編) #phpstudyPhpのつたえかた (初心者編) #phpstudy
Phpのつたえかた (初心者編) #phpstudy
 
Nmapの真実(ゾクゾク)
Nmapの真実(ゾクゾク)Nmapの真実(ゾクゾク)
Nmapの真実(ゾクゾク)
 
今日から始めるXSS
今日から始めるXSS今日から始めるXSS
今日から始めるXSS
 
セキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試みセキュアコーディング方法論再構築の試み
セキュアコーディング方法論再構築の試み
 
Angular2実践入門
Angular2実践入門Angular2実践入門
Angular2実践入門
 
複雑さに挑む!カンバンによるプロジェクト マネジメント
複雑さに挑む!カンバンによるプロジェクト マネジメント複雑さに挑む!カンバンによるプロジェクト マネジメント
複雑さに挑む!カンバンによるプロジェクト マネジメント
 

Similar to 今日からはじめるCSP(Kernel/VM@Okinawa)

ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011Hiroh Satoh
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
Mayu Kimura
 
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎
Takahisa Kishiya
 
アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013
アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013 アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013
アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013
Hiroaki Kuramochi
 
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
Kazumi IWANAGA
 
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
Tomohito Adachi
 
UShareSoft_20130425
UShareSoft_20130425UShareSoft_20130425
UShareSoft_20130425
Satoru Watanabe
 
UShareSoft_20130425
UShareSoft_20130425UShareSoft_20130425
UShareSoft_20130425
Satoru Watanabe
 
Firefox Security Features
Firefox Security FeaturesFirefox Security Features
Firefox Security Features
dynamis
 
情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド
Kumasan, LLC.
 
SOPの話
SOPの話SOPの話
SOPの話
Takao Baba
 
AWSでのセキュリティ運用 ~ IAM,VPCその他
AWSでのセキュリティ運用 ~IAM,VPCその他AWSでのセキュリティ運用 ~IAM,VPCその他
AWSでのセキュリティ運用 ~ IAM,VPCその他
Recruit Technologies
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
Masahiro NAKAYAMA
 
情報セキュリティCAS 第七十五回放送用スライド
情報セキュリティCAS 第七十五回放送用スライド情報セキュリティCAS 第七十五回放送用スライド
情報セキュリティCAS 第七十五回放送用スライド
Kumasan, LLC.
 
2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座
NHN テコラス株式会社
 
20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...
20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...
20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...
Typhon 666
 
New Layers of Web Application Security
New Layers of Web Application SecurityNew Layers of Web Application Security
New Layers of Web Application Security
Shintaro Kobori
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターンHiroyasu Suzuki
 
すぐできるWeb制作時のセキュリティTips
すぐできるWeb制作時のセキュリティTipsすぐできるWeb制作時のセキュリティTips
すぐできるWeb制作時のセキュリティTips
yoshinori matsumoto
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
IIJ
 

Similar to 今日からはじめるCSP(Kernel/VM@Okinawa) (20)

ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく - YAPC Asia 2011
 
今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ今必要なCSSアーキテクチャ
今必要なCSSアーキテクチャ
 
ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎ライブコーディングとデモで理解するWebセキュリティの基礎
ライブコーディングとデモで理解するWebセキュリティの基礎
 
アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013
アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013 アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013
アスカン2018秋ーカイハツセキュリティ3つのレシピ-20181013
 
ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!ARMテンプレートでサーバーレスに挑む!
ARMテンプレートでサーバーレスに挑む!
 
Webシステム脆弱性LT資料
Webシステム脆弱性LT資料Webシステム脆弱性LT資料
Webシステム脆弱性LT資料
 
UShareSoft_20130425
UShareSoft_20130425UShareSoft_20130425
UShareSoft_20130425
 
UShareSoft_20130425
UShareSoft_20130425UShareSoft_20130425
UShareSoft_20130425
 
Firefox Security Features
Firefox Security FeaturesFirefox Security Features
Firefox Security Features
 
情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド情報セキュリティCAS 第三十六回放送用スライド
情報セキュリティCAS 第三十六回放送用スライド
 
SOPの話
SOPの話SOPの話
SOPの話
 
AWSでのセキュリティ運用 ~ IAM,VPCその他
AWSでのセキュリティ運用 ~IAM,VPCその他AWSでのセキュリティ運用 ~IAM,VPCその他
AWSでのセキュリティ運用 ~ IAM,VPCその他
 
クラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccampクラウドセキュリティ基礎 #seccamp
クラウドセキュリティ基礎 #seccamp
 
情報セキュリティCAS 第七十五回放送用スライド
情報セキュリティCAS 第七十五回放送用スライド情報セキュリティCAS 第七十五回放送用スライド
情報セキュリティCAS 第七十五回放送用スライド
 
2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座2017年のセキュリティ 傾向と対策講座
2017年のセキュリティ 傾向と対策講座
 
20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...
20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...
20181108 Participation record SANS SEC545: Cloud Security Architecture and Op...
 
New Layers of Web Application Security
New Layers of Web Application SecurityNew Layers of Web Application Security
New Layers of Web Application Security
 
実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン実践!AWSクラウドデザインパターン
実践!AWSクラウドデザインパターン
 
すぐできるWeb制作時のセキュリティTips
すぐできるWeb制作時のセキュリティTipsすぐできるWeb制作時のセキュリティTips
すぐできるWeb制作時のセキュリティTips
 
使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!使ってみた!ioMemoryで実現する噂のAtomic write!
使ってみた!ioMemoryで実現する噂のAtomic write!
 

More from cocoa_dahlia

ひよこさんのための
ひよこさんのための ひよこさんのための
ひよこさんのための
cocoa_dahlia
 
Java使いがphp使いにクラスチェンジした話
Java使いがphp使いにクラスチェンジした話Java使いがphp使いにクラスチェンジした話
Java使いがphp使いにクラスチェンジした話
cocoa_dahlia
 
TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)
TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)
TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)
cocoa_dahlia
 
Keynote向けテーマ「あきいろ」作った
Keynote向けテーマ「あきいろ」作ったKeynote向けテーマ「あきいろ」作った
Keynote向けテーマ「あきいろ」作った
cocoa_dahlia
 
Miyazakirb vol0 lt
Miyazakirb vol0 ltMiyazakirb vol0 lt
Miyazakirb vol0 ltcocoa_dahlia
 
OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)
OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)
OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)cocoa_dahlia
 
OSC Tokyo/Spring Lightning Talk
OSC Tokyo/Spring Lightning TalkOSC Tokyo/Spring Lightning Talk
OSC Tokyo/Spring Lightning Talkcocoa_dahlia
 

More from cocoa_dahlia (7)

ひよこさんのための
ひよこさんのための ひよこさんのための
ひよこさんのための
 
Java使いがphp使いにクラスチェンジした話
Java使いがphp使いにクラスチェンジした話Java使いがphp使いにクラスチェンジした話
Java使いがphp使いにクラスチェンジした話
 
TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)
TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)
TokyoWebLab.のお知らせ(JJUG CCC 懇親会LT)
 
Keynote向けテーマ「あきいろ」作った
Keynote向けテーマ「あきいろ」作ったKeynote向けテーマ「あきいろ」作った
Keynote向けテーマ「あきいろ」作った
 
Miyazakirb vol0 lt
Miyazakirb vol0 ltMiyazakirb vol0 lt
Miyazakirb vol0 lt
 
OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)
OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)
OSC 2014 Tokyo/Spring LT(懇親会での没ネタ)
 
OSC Tokyo/Spring Lightning Talk
OSC Tokyo/Spring Lightning TalkOSC Tokyo/Spring Lightning Talk
OSC Tokyo/Spring Lightning Talk
 

Recently uploaded

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
嶋 是一 (Yoshikazu SHIMA)
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
azuma satoshi
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
tazaki1
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
osamut
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
Osaka University
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 

Recently uploaded (15)

「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
「進化するアプリ イマ×ミライ ~生成AIアプリへ続く道と新時代のアプリとは~」Interop24Tokyo APPS JAPAN B1-01講演
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobodyロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
ロジックから状態を分離する技術/設計ナイト2024 by わいとん @ytnobody
 
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライドHumanoid Virtual Athletics Challenge2024 技術講習会 スライド
Humanoid Virtual Athletics Challenge2024 技術講習会 スライド
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMMハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
ハイブリッドクラウド研究会_Hyper-VとSystem Center Virtual Machine Manager セッションMM
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
生成AIがもたらすコンテンツ経済圏の新時代  The New Era of Content Economy Brought by Generative AI
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 

今日からはじめるCSP(Kernel/VM@Okinawa)

  • 2. 2
  • 3.     ___    / \::/\   /。(一)::(一)。   |::。゚(_人_)゚|   \ ゚ `⌒´/゚   / ⌒ヽ ̄ ̄ヽ゚。   / __\ \/\ \  と__)_ヽ_つ ヽ_つ 3
  • 4. おしながき 4 • CSPとは • 制限について • 注意点とまとめ
  • 5. About Me • Dahlia*(だりあ) • Twitter:@dahlia_cocoa • その他:http://moonfire.info • seccamp ’14 Web 5 • 専門は社会学
  • 7. CSPとは Content Security Policy の略称 7
  • 8. 8
  • 10. “Content Security Policy (CSP) は、クロ スサイトスクリプティング (XSS) やデータイ ンジェクション攻撃を含む、よく知られた種 類の攻撃を検出して軽減する、セキュリティ の追加レイヤーです。これらの攻撃手法は、 データ窃盗からサイト改変、マルウェア感染 まで、すべてに使用されます。” 10
  • 14. CSP #とは • Content Security Policyの略 • XSSやクリックジャッキングなどの攻撃を軽減で きる • 使うときはレスポンスヘッダにContent- Security-Policy:なんたら って追加する。 • <meta>タグにも記述可能な模様 • 外部リソースの読み込みや一部の機能に制限が 発生 14
  • 15. CSP #とは XSSを仕掛けられて痛い目を見た。 見つけた穴を塞いでも塞いでもやられ てしまう。どうしよう。 15
  • 16. CSP #とは CSP導入する →許可無しにインラインJS/スタイル使 えない →XSSが超難しくなる  HTML/JS/CSSの分離が進む(はず) →うれしいヽ(・∀・)ノ 16
  • 17. CSP #とは 外部リソース経由でなんか変なモノ仕 込まれちゃってるんですが。 ページを開くたびにalert出るんです が。 これはどうすれば。 17
  • 18. CSP #とは CSP導入する →外部のリソースが使えなくなる  (必要なものだけ許可する方針で) →外部から危ないモノをもらっちゃう心 配が減る →外部リソースにevalとかonclick=“hoge” とか書いてあっても止められる →きっとうれしい(`・ω・´) 18
  • 20. 制限について 20 • 外部リソース • インラインJavaScript / スタイル • eval • data: URI
  • 21. CSPを書くときのキーワード • 'self':同一オリジンへの参照 • 'none':空要素への参照 21 • 'unsafe-inline' • 'unsafe-eval' ※シングルクオーテーションマークも必要
  • 22. CSPのポリシーディレクティブ • default-src:デフォルトはここ 22 • img-src:画像、Favicon • script-src:JavaScriptのコード • object-src:<object> <embed> <applet> • media-src:<video> <canvas> • font-src:@font-face • style-src:CSS、Style属性 • frame-src:iframeとか(非標準?)
  • 23. 外部リソース • 許可したいリソースを指定可能 • たとえば・・・ 画像やFaviconを全て http://img.moonfire.info に置いている場合 Content-Security-Policy: default-src ‘self’; img-src http://img.moonfire.info 23
  • 24. eval • eval 基本使えない(正確には文字列をスクリプト として評価する系のあれこれ) • どうしても使いたいときだけ ‘unsafe-eval’ を 付ける。 • たとえば・・・ JSの中でevalとかを使いたい場合はこんな記述を。 ! Content-Security-Policy: default-src 'self'; 24 script-src 'unsafe-eval'
  • 25. インライン要素 • <script>alert(1);</script> とか <p style=“color:red”> とか onclick=“alert(1);”  とか使えない。イベントはリスナーで拾うこと。 • どうしても使いたいときだけ、’unsafe-inline’ と書 き加える。(外部サービスでどうしても、とか) • たとえば・・・どうしても<script>alert(1);</script> と書きたいとき。 ! Content-Security-Policy: default-src ‘self’; script-src ‘unsafe-inline’ 25
  • 26. data: URI • data:image/jpeg 等はデフォルトで は使用不可 • どうしても使いたい場合は、該当の ポリシーディレクティブにdate: と 書き加える Content-Security-Policy: default-src ‘self’; img-src data: 26
  • 27. 違反レポートの取得 • ポリシーに違反した場合、json形式 のレポートを送信することが可能。 • report-uri [レポートを送信したい URI] を書き加えるだけ 27 ! Content-Security-Policy: default-src 'self'; report-uri ./report/report.cgi
  • 29. 注意点 • しっかり指定すれば効果テキメン。 • 外部リソースを許可するとき、 unsafe-inline や unsafe-evalを使う ときは、本当に必要か吟味すべき →XSSが成功する可能性ががが 29
  • 30. まとめ • CSPはいろんな脅威に対抗できる切 り札のひとつ • これまで動いていたものが動かなく なる可能性があるので、設定時には 注意が必要 • レポート送信の機能を上手に使うと さらに◎ 30
  • 31. 参考資料(もっと詳しく知りたい人へ) • CSP policy directives - Security | MDN https://developer.mozilla.org/ja/docs/ Security/CSP/CSP_policy_directives • Content Security Policy Level 2 http://www.w3.org/TR/CSP2/ • IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第8章 マッシュ アップ:クライアントサイドマッシュアップ: #4 対策に利用できる技術 http:// www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/705.html • HASHコンサルティングオフィシャルブログ: 弊社のホームページにContent Security Policy(CSP)を導入しました http://blog.hash-c.co.jp/2013/12/Content-Security- Policy-CSP.html • 同一originにあるフォームを利用してCSPバイパスっぽいことをする話 - 金利0無利息 キャッシング – キャッシングできます - subtech http://subtech.g.hatena.ne.jp/ mala/20140612/1402558716 • Content Security PolicyでXSSを断ち切る | monoの開発ブログ http:// blog.monoweb.info/blog/2012/03/15/content-security-policy/ 31