Share
Embed
Transcript
35 slides
-
OWASP Night at Mar 5 2018 #owaspjapan t あなたのWebアプリケーション OWASP
TOP 10に 対応できていますか? Yosuke HASEGAWA -
OWASP Night at Mar 5 2018 #owaspjapan t はせがわようすけ ▸OWASP
Kansai チャプターリーダー ▸OWASP Japan アドバイザリボードメンバー -
OWASP Night at Mar 5 2018 #owaspjapan t ▸ 日本語版
昨年末にリリースされました ▸ 日本語版翻訳コントリビューター https://www.owasp.org/images/2/23/OWASP_Top_10-2017%28ja%29.pdf Akitsugu ITO Albert Hsieh Chie TAZAWA Hideko IGARASHI Hiroshi TOKUMARU Naoto KATSUMI Riotaro OKADA Robert DRACEA Satoru TAKAHASHI Sen UENO Shoichi NAKATA Takanori ANDO Takanori NAKANOWATARI Tomohiro SANAE -
OWASP Night at Mar 5 2018 #owaspjapan t ▸ A1:2017
- インジェクション ▸ A2:2017 - 認証の不備 ▸ A3:2017 - 機微な情報の露出 ▸ A4:2017 - XML外部エンティティ参照(XXE) ▸ A5:2017 - アクセス制御の不備 ▸ A6:2017 - 不適切なセキュリティ設定 ▸ A7:2017 - クロスサイトスクリプティング ▸ A8:2017 - 安全でないデシリアライゼーション ▸ A9:2017 - 既知の脆弱性を持つコンポーネントの使用 ▸ A10:2017 - 不十分なロギングとモニタリング -
OWASP Night at Mar 5 2018 #owaspjapan t OWASP TOP
10 実際に体感はしにくい!? -
OWASP Night at Mar 5 2018 #owaspjapan t ▸やられWebアプリはそれなりに色々世の中 になる
▸OWASP BWA ▸OWASP Juice Shop ▸既存やられWebアプリの問題 ▸含まれる脆弱性とOWASP TOP 10との関係性が 整理されていない ▸メンテされていないものも多い ▸動かす環境をつくるのが面倒 ▸多人数での演習に向かない ※上記BWAやJuice Shopがそうだというわけではありません -
OWASP Night at Mar 5 2018 #owaspjapan t ▸BadLibrary http://bit.ly/BadLibrary
▸起動するまでが簡単 ▸Webアプリとしての機能が理解しやすい規模 ▸わかりやすい脆弱性がそこそこの量 ▸多人数でも安心して演習できる ▸含まれる脆弱性を設定で変更可能 % gi t cl one ht t ps: / / gi t hub. com / Secur eSkyTechnol ogy/ BadLi br ar y. gi t % cd sr c % npm i nst al l # 依 存ライブラリ ( SQLi t e3等 ) のインストール % npm st ar t # 8080で W ebアプリが起動 -
OWASP Night at Mar 5 2018 #owaspjapan t ▸含まれる脆弱性の設定 /
/ conf i g. j son { " gl obal " : { " basi c" : " user : pass" / / アプリ自体の BAI SC認証 } , " vul ner abi l i t i es" : { / / 脆弱性の有無の設定 " sql i " : [ " aut h" , " sear ch" , " bl i nd" ] , " xss" : [ " r ef l ect " , " st or ed" , " dom " ] , " sessi on" : [ " no- r ef r esh" , " no- ht t ponl y" , " ser i al " ] , " xxe" : t r ue, " csr f " : t r ue, " expose" : [ " di r i ndex" , " adm i n" , " cont act " ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t aaa /
/ conf i g. j son { " vul ner abi l i t i es" : { " sql i " : [ " aut h" ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " sql i " : [ " sear ch" ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " sql i " : [ " bl i nd" ] } } [email protected] -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " sql i " : [ " bl i nd" ] } } [email protected] [email protected] (存在しないユーザー) -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t セッションIDが「1」 /
/ conf i g. j son { " vul ner abi l i t i es" : { " sessi on" : [ " no- r ef r esh" , " no- ht t ponl y" , " ser i al " ] } } 再発行されていない -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " expose" : [ " di r i ndex" , cont act " ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " xxe" : t r ue, " expose" : [ " adm i n" ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " xxe" : t r ue, " expose" : [ " adm i n" ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " expose" : [ " adm i n" ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " expose" : [ " di r i ndex" , " cont act " ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t / /
conf i g. j son { " vul ner abi l i t i es" : { " xss" : [ " r ef r ect " , " dom " ] } } -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t A1 インジェクション
SQLインジェクション A2 認証の不備 セッションIDが連番、ログイン後の再発 行なし、httponlyなし A3 機微な情報の露出 問い合わせログが閲覧可能 A4 XML外部エンティティ参照(XXE) XXE A5 アクセス制御の不備 管理画面が誰でもアクセス可能 A6 不適切なセキュリティ設定 ディレクトリリスティング A7 クロスサイトスクリプティング 反射型XSS、DOM-based XSS A8 安全でないデシリアライゼーション ― A9 既知の脆弱性を持つコンポーネントの使用 ― A10 不十分なロギングとモニタリング ログを記録していない -
OWASP Night at Mar 5 2018 #owaspjapan t ▸BadLibrary http://bit.ly/BadLibrary
▸起動するまでが簡単 ▸Webアプリとしての機能が理解しやすい規模 ▸わかりやすい脆弱性がそこそこの量 ▸多人数でも安心して演習できる ▸含まれる脆弱性を設定で変更可能 -
OWASP Night at Mar 5 2018 #owaspjapan t ▸脆弱だけど安全 ▸環境を破壊するような脆弱性は含まれていない
▸多人数で1台に対しての演習も可能 ▸不特定多数への公開では ▸お問い合わせログでディスクを消費する → 設定で無効にできる ▸XXEでサーバー上のファイルが漏洩する → 設定で無効にできる ▸長期運用でメモリーリーク セッションオブジェクトのメモリを解放していな い…