56
OWASP ASVS Cheat Sheet シリーズ (⽇本語版) ご紹介 JPCERT/CC 情報流通対策グループ ⼾⽥洋三 ([email protected]) OSC2016Hokkaido

OWASP ASVS と Cheat Sheet シリーズ (日本語版) のご紹介 (OSC2016Hokkaido)

Embed Size (px)

Citation preview

OWASP ASVS と Cheat Sheet シリーズ (⽇本語版) のご紹介

JPCERT/CC 情報流通対策グループ⼾⽥洋三 ([email protected])

OSC2016Hokkaido

Copyright©2016JPCERT/CC All rights reserved.

自己紹介

http://www.tomo.gr.jp/root/e9706.html

JPCERT/CC情報流通対策グループリードアナリスト ⼾⽥ 洋三

脆弱性情報分析, セキュアコーディング普及啓発活動……に努めてます

2

Copyright©2016JPCERT/CC All rights reserved.

JPCERT/CCとは

JPCERT Coordination Center

⽇本における情報セキュリティ対策活動の向上に取り組んでいる組織

3

Copyright©2016JPCERT/CC All rights reserved.

JPCERT/CCの主な活動

4

Copyright©2016JPCERT/CC All rights reserved.

過去のOSC参加履歴 (セミナーを⾏ったもの)

5

•OSC2015@Hokkaido•CSRF 脆弱性とその対策について

•OSC2014@Fukuoka•Lessons (to be) Learned from Handling OpenSSL Vulnerabilities

•OSC2013@Kyoto•〜ヒトの振り⾒て我が振り直せ〜脆弱性事例に学ぶJavaセキュアコーディング

•OSC2012@Fukuoka•Androidセキュアコーディング〜安全なAndroidアプリ開発のための⼼得〜

•OSC2011@Nagoya: セキュアコーディングノススメ(JAVA編)•OSC2010@Hokkaido: あなたのコードにセキュアコーディングスタンダード•OSC2009@Fukuoka: セキュアコーディングノススメ•OSC2008@Tokyo/Spring: セキュアコーディングノススメ•OSC2007@Fukuoka: セキュアコーディングノススメ•OSC2007@Niigata: ソフトウェア脆弱性を取り巻く状況と対策•OSC2007@Kansai: ソフトウェア脆弱性情報流通のこれまでとこれから•OSC2005@Tokyo/Fall: ソフトウェア脆弱性情報流通への取り組み

Copyright©2016JPCERT/CC All rights reserved.

JPCERT/CC セキュアコーディングのコンテンツ

6

www.jpcert.or.jp/securecoding/

Copyright©2016JPCERT/CC All rights reserved.

slideshare にも講演資料やセミナコンテンツ置いてます

7

www.slideshare.net/jpcert_securecoding/presentations

Copyright©2016JPCERT/CC All rights reserved.

セキュアコーディングスタンダード

8

⽶国 CMU/SEI の the CERT Secure Coding Initiativeによるコーディングスタンダードシリーズ

https://www.securecoding.cert.org/

現状, 5種類公開されています.

Copyright©2016JPCERT/CC All rights reserved.9

CERT C コーディングスタンダード

CERT C セキュアコーディングスタンダード紹介https://www.jpcert.or.jp/research/materials.html#secure

JPCERT/CC で⽇本語公開中!!https://www.jpcert.or.jp/sc-rules/

Copyright©2016JPCERT/CC All rights reserved.10

CERT Oracle Java コーディングスタンダード

OSC2011@Nagoya で紹介してますhttp://www.ospn.jp/osc2011-nagoya/pdf/osc2011nagoya-JPCERT_CC.pdf

JPCERT/CC で⽇本語公開中!!https://www.jpcert.or.jp/java-rules/

Copyright©2016JPCERT/CC All rights reserved.11

コーディングスタンダード(C++, Perl, Android)

“under development”(開発中)

Copyright©2016JPCERT/CC All rights reserved.

コーディングスタンダードの協⼒者募集中!セキュアコーディングスタンダード⽇本語版の整備に協⼒してくれる⽅を求めています。—Java, Android, C, C++, ……—既存の⽇本語へのコメント、改善案—英語原⽂へのコメント、改善案—さらに編集も…

12

Copyright©2016JPCERT/CC All rights reserved.

本⽇の話題

ü⾃⼰紹介üOWASP とはüASVS とはüCheat Sheet シリーズとはüまとめü参考情報など

13

Copyright©2016JPCERT/CC All rights reserved.

1. OWASP(OPEN WEB APPLICATION SECURITY PROJECT)とは

14

Copyright©2016JPCERT/CC All rights reserved.

OWASP とは

15

https://www.owasp.org/index.php/Main_Page

Copyright©2016JPCERT/CC All rights reserved.

OWASP とは

16

https://www.owasp.org/index.php/Main_Page

OWASPとは、Webをはじめとするソフトウェアのセキュリティ環境の現状、またセキュアなソフトウェア開発を促進する技術・プロセスに関する情報共有と普及啓発を⽬的としたコミュニティです。

https://www.owasp.org/index.php/Japan から引⽤

Copyright©2016JPCERT/CC All rights reserved.

OWASP とは

17

L

M 20S B T

MS A T

MS T

MS B T

O OO k

O05 21 242O

OO nk

O D B BO DD2 B C

O x pi OO

O1 C G I CBG CAO G 2 G 2

O M MO

O3 G BO GG 1 CJ S 1T

i O k

https://speakerdeck.com/owaspjapan/owasp-contents-reference

Copyright©2016JPCERT/CC All rights reserved.

⽇本における OWASP 関連の活動

18

⽇本で設⽴されたチャプター⼀覧•Japan•Fukushima•Kansai•Kyushu•Okinawa•Sendai

https://www.owasp.org/index.php/OWASP_Chapter

Copyright©2016JPCERT/CC All rights reserved.

⽇本における OWASP 関連の活動

19

OWASP 蛇とはしご⽇本語版

脆弱性診断⼠(Webアプリケーション)スキルマップOWASP Cheat Sheet Series ガイドブック

Webシステム/Webアプリケーションセキュリティ要件書2.0

OWASP Top 10 Proactive Controls 2016 Japanese

脆弱性診断⼠(Webアプリケーション)スキルマップ&シラバス脆弱性診断⼠(プラットフォーム)スキルマップ&シラバス

OWASP Japan Blog (http://blog.owaspjapan.org/)

Copyright©2016JPCERT/CC All rights reserved.

OWASPドキュメントの⽇本語訳

20

OWASPっていいドキュメント(英語)いろいろあるじゃん.JPCERT/CCでいちから作るより⽇本語訳して提供した⽅が良さそうだぞ.

Copyright©2016JPCERT/CC All rights reserved.

OWASPドキュメントの⽇本語訳

21

やっちゃいました.

Copyright©2016JPCERT/CC All rights reserved.

OWASPドキュメントの⽇本語訳

22

ベータ版を github に…

まもなくwww.jpcert.or.jp にも掲載します.

https://jpcertcc.github.io/OWASPdocuments/

Copyright©2016JPCERT/CC All rights reserved.

2. ASVS(APPLICATION SECURITY VERIFICATION STANDARD) とは

23

Copyright©2016JPCERT/CC All rights reserved.

OWASP ASVS プロジェクト

24

https://www.owasp.org/index.php/Category:OWASP_Application_Security_Verification_Standard_Project

Copyright©2016JPCERT/CC All rights reserved.

ASVS の⽬標

25

ASVS has two main goals:•to help organizations develop and maintain secure applications•to allow security service, security tools vendors, and consumers to align their requirements and offerings

Copyright©2016JPCERT/CC All rights reserved.

ASVS の⽬標

26

ASVS has two main goals:•to help organizations develop and maintain secure applications•to allow security service, security tools vendors, and consumers to align their requirements and offerings

•組織におけるセキュアなアプリケーション開発と保守を⽀援する•セキュリティサービス・セキュリティツールベンダおよびユーザによる製品やサービスに対するセキュリティ要件を合致させる

Copyright©2016JPCERT/CC All rights reserved.

ASVS の⽬標

27

ASVS has two main goals:•to help organizations develop and maintain secure applications•to allow security service, security tools vendors, and consumers to align their requirements and offerings

•組織におけるセキュアなアプリケーション開発と保守を⽀援する•セキュリティサービス・セキュリティツールベンダおよびユーザが製品やサービスをセキュリティ要件に合致させる

Copyright©2016JPCERT/CC All rights reserved.

ASVS (3.0.1) のセクション⼀覧

28

V1. Architecture, design and threat modellingV2. AuthenticationV3. Session managementV4. Access controlV5. Malicious input handlingV7. Cryptography at restV8. Error handling and loggingV9. Data protectionV10. CommunicationV11. HTTP security configurationV13. Malicious controlsV15. Business logicV16. File and resourcesV17. MobileV18. Web services (NEW for 3.0)V19. Configuration (NEW for 3.0)

Copyright©2016JPCERT/CC All rights reserved.29

V1. Architecture, design and threat modellingV2. AuthenticationV3. Session managementV4. Access controlV5. Malicious input handlingV7. Cryptography at restV8. Error handling and loggingV9. Data protectionV10. CommunicationV11. HTTP security configurationV13. Malicious controlsV15. Business logicV16. File and resourcesV17. MobileV18. Web services (NEW for 3.0)V19. Configuration (NEW for 3.0)

ASVS (3.0.1) のセクション⼀覧(⽇本語)

アーキテクチャ, 設計, 脅威モデリング認証セッション管理アクセス制御悪性⼊⼒の処理暗号化エラー処理とログの保存データ保護通信HTTP に関するセキュリティ設定悪性活動の管理ビジネスロジックファイルとリソースモバイルWeb サービス (3.0 で追加)構成 (3.0 で追加)

V6 は V5 に統合

V12 は V11 に統合

V14 は V13 に統合

Copyright©2016JPCERT/CC All rights reserved.

V2: 認証に関する検査要件(抜粋)

30

2.1: 公開を意図しているものを除き、意図していないすべてのページとリソースがデフォルトで認証を必要とする(完全仲介の原則)。

2.2: すべてのパスワードフィールドについてはユーザーのパスワードがそのまま表⽰されない設定になっている。

2.4: すべての認証の管理がサーバー側で⾏われる。2.6: 攻撃者がログインできないように、認証失敗の場合の安全対策を施して

いる。2.7: パスワード⼊⼒フィールドで、パスフレーズの使⽤を許可または推奨し、

⻑いパスフレーズやきわめて複雑なパスワードの⼊⼒を拒否しない。2.8: …...2.9: パスワード変更機能には、古いパスワード、新しいパスワード、パス

ワードの確認が含まれている。2.12: …...

Copyright©2016JPCERT/CC All rights reserved.

V5: 悪性⼊⼒の処理に関する検査要件(抜粋)

31

5.1: ランタイム環境がバッファオーバーフローの影響を受けにくい。またはバッファオーバーフローの対策を持っている。

5.3: サーバー側で⼊⼒検証エラーが発⽣した場合、リクエストを拒否し、ログに記録する。

5.5: ⼊⼒検証ルーチンはサーバー側で実施する。5.6: アプリケーションに許可される各データ型に対して、単⼀の⼊⼒検証気

候が使⽤されている。5.10: すべての SQL クエリ、HQL、OSQL、NOSQL、ストアドプロシー

ジャ、ストアドプロシージャの呼び出しが、プリペアドステートメントまたはクエリのパラメーター化の使⽤によって保護されており、SQL インジェクションの影響を受けない。

5.11: アプリケーションは LDAP インジェクションの影響を受けない、またはセキュリティ制御によって LDAP インジェクションが防⽌される。

5.12: …...

Copyright©2016JPCERT/CC All rights reserved.

3段階のセキュリティ検査レベル

32

ASVS では、3段階の検査レベルが設けられている。• レベル1: すべてのソフトウェアが満たすべきレベル• レベル2: 保護すべき機密データを扱うシステム向け• レベル3: 医療⽤データなど、⾼信頼性が求められるシステム⽤

Copyright©2016JPCERT/CC All rights reserved.

3段階のセキュリティ検査レベル

33

Copyright©2016JPCERT/CC All rights reserved.

ユーザ使⽤例

34

OWASP Project 使ってみた((http://www.slideshare.net/akitsuguito/owasp-project) から引⽤

Copyright©2016JPCERT/CC All rights reserved.

3. CHEAT SHEET シリーズとは

35

Copyright©2016JPCERT/CC All rights reserved.36

https://www.owasp.org/index.php/Cheat_Sheets

Copyright©2016JPCERT/CC All rights reserved.37

Copyright©2016JPCERT/CC All rights reserved.38

開発者向け

Copyright©2016JPCERT/CC All rights reserved.39

検証者向け

Copyright©2016JPCERT/CC All rights reserved.40

モバイル環境向け

Copyright©2016JPCERT/CC All rights reserved.41

運⽤者向け

Copyright©2016JPCERT/CC All rights reserved.42

ベータ版ドラフト

Copyright©2016JPCERT/CC All rights reserved.

開発者向けチートシート(1)

43

• アクセス制御に関するチートシート• (AJAX Security Cheat Sheet)• 認証に関するチートシート• セキュリティの質問の選択と使⽤に関するチートシート• クリックジャッキング対策に関するチートシート• C ベースのツールチェーンの強化に関するチートシート• クロスサイトリクエストフォージェリ (CSRF) の防⽌策に関するチートシート

• 暗号化ストレージに関するチートシート• DOM ベース XSS 対策チートシート• パスワードを忘れた場合に関するチートシート• HTML5 セキュリティに関するチートシート

Copyright©2016JPCERT/CC All rights reserved.

開発者向けチートシート(2)

44

• ⼊⼒値検証に関するチートシート• JAAS に関するチートシート• (LDAP Injection Cheat Sheet)• ロギングに関するチートシート• (Mass Assignment Cheat Sheet)• .NET セキュリティに関するチートシート• OWASP トップ 10 チートシート• パスワードの保存に関するチートシート• ピン留めに関するチートシート• クエリのパラメーター化に関するチートシート• Ruby on Rails に関するチートシート

Copyright©2016JPCERT/CC All rights reserved.

開発者向けチートシート(3)

45

• REST セキュリティに関するチートシート• セッション管理に関するチートシート• SAML セキュリティに関するチートシート• SQL インジェクション対策に関するチートシート• トランザクション認可に関するチートシート• トランスポート層の保護に関するチートシート• 未検証のリダイレクトと転送に関するチートシート• ユーザープライバシーの保護に関するチートシート• Web サービスのセキュリティに関するチートシート• クロスサイトスクリプティング (XSS) 対策チートシート• (XML External Entity (XXE) Prevention Cheat Sheet)

Copyright©2016JPCERT/CC All rights reserved.

検証者向けチートシート

46

•攻撃対象領域分析に関するチートシート•XSS フィルター回避チートシート•REST 評価に関するチートシート•Web アプリケーションのセキュリティテストに関するチートシート

Copyright©2016JPCERT/CC All rights reserved.

モバイル環境向けチートシート

47

• iOS 開発者のためのチートシート•モバイルデバイスのジェイルブレイクに関するチートシート

Copyright©2016JPCERT/CC All rights reserved.

運⽤者向けチートシート

48

•仮想パッチに関するチートシート

Copyright©2016JPCERT/CC All rights reserved.

ベータ版ドラフト

49

• (3rd Party Javascript Management)• (Android Testing)• アプリケーションのセキュリティアーキテクチャに関するチートシート• ビジネスロジックのセキュリティに関するチートシート• (Injection Prevention Cheat Sheet)• PHP セキュリティに関するチートシート• セキュアコーディングに関するチートシート• (Secure SDLC)• (Threat Modeling)• (Grails Secure Code Review)• iOS アプリケーションのセキュリティテストに関するチートシート• 鍵管理に関するチートシート• (Insecure Direct Object Reference Prevention)• CSP に関するチートシート

Copyright©2016JPCERT/CC All rights reserved.

例: XSS 対策チートシート

50

Copyright©2016JPCERT/CC All rights reserved.

例: 認証に関するチートシート

51

Copyright©2016JPCERT/CC All rights reserved.

4. まとめ

52

Copyright©2016JPCERT/CC All rights reserved.

まとめ

lOWASP が有⽤なドキュメントをいろいろ公開してるぞ

l⽇本語訳もあるので活⽤してねl jpcertcc.github.io の⽇本語訳改良にご協⼒を!

l⽇本国内でも OWASP 関連の活動あるから参加してみよう

53

Copyright©2016JPCERT/CC All rights reserved.

参考情報OWASP (https://en.wikipedia.org/wiki/OWASP)OWASP とは

— (http://2014.appsecapac.org/owasp-appsec-apac-2014/about-owasp/index.html)

アプリケーションセキュリティ検査・検証の標準化— (http://www.slideshare.net/okdt/owasp-asvs-project-review-20-and-30)— (https://speakerdeck.com/owaspjapan/owasp-asvs-project-review)

About OWASP ASVS 2009— (http://www.owasp.org/images/7/71/About_OWASP_ASVS.ppt)

OWASP Cheat Sheet Series を⽇本語訳して馴染みやすくしてみた。

— (http://blog.owaspjapan.org/post/130374053294/)

54

Copyright©2016JPCERT/CC All rights reserved.

参考情報OWASP Proactive Controls 2016 の⽇本語訳を作成しました(http://www.lac.co.jp/blog/category/system/20160324.html)「OWASPでビルトイン・セキュリティ」(http://codezine.jp/article/corner/608)OWASP Project 使ってみた(http://www.slideshare.net/akitsuguito/owasp-project)セキュリティ診断のグローバル・スタンダードの紹介(OWASPセキュリティ診断基準と診断サービスの選定ポイント)(http://www.intellilink.co.jp/article/column/security-assess01.html)

55

Copyright©2016JPCERT/CC All rights reserved.56

⼀般社団法⼈JPCERTコーディネーションセンター(https://www.jpcert.or.jp/)

セキュアコーディング(https://www.jpcert.or.jp/securecoding/)

お問い合わせはこちらにどうぞ…([email protected])