Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OWASP Documents for Everyone #appsecapac2014

OWASP Japan
March 19, 2014
390

OWASP Documents for Everyone #appsecapac2014

OWASP Japan

March 19, 2014
Tweet

Transcript

  1. NTT DATA INTELLILINK, Chia-Lung Hsieh NTTデータ先端技術 謝 佳龍 OWASP Documents

    for Everyone それぞれの人のための OWASPドキュメント
  2. About Me • 台湾から来ました – I’m from Taiwan • Webアプリケーション診断

    – I do web APP diagnosis • OWASP Top 10の日本語訳 – I translated the OWASP Top 10 2013 into Japanese About Me
  3. • 開発者? • 検証者? • 管理者? • CISO? • ハッカー?

    • Developer? • Tester? • Administrator? • CISO • Haker? Who are you?
  4. • ASVS • Code Review Guide • Codes of Conduct

    • Development Guide • Secure Coding Practices - Quick Reference Guide • SAMM • Testing Guide • Top 10 • AppSec Tutorial Series • AppSensor Project • CTF Project • Legal Project • Podcast Project • Virtual Patching Best Practices • And more more more…
  5. • OWASP Top 10 Risk • Software Assurance Maturity Model

    (SAMM) • Development Guide • Secure Coding Practices - Quick Reference Guide • Code Review Guide • Testing Guide • Application Security Verification Standard (ASVS) • Codes of Conduct The Flagship Docs
  6. OWASP Code of Conduct 主旨 世の中の各組織にとって、アプリケーション・セキュ リティをやるための最低限の行動規範 The minimum baseline

    for organizations to implement application security. 発端 2011, February 最新版 v1.17 @2013, March 日本語訳 なし not in Japanese ページ数 4 pages for each class of organization 対象 政府機関、教育機関、標準化団体、貿易組織、開 発組織、検証組織 For Government, Education, Standard, Trade, Certification, Development
  7. • take a glance! • 開発組織のために – 開発者と管理者向けの意識向上プログラムを設 ける。 –

    セキュリティ・リスクの減軽をソフト開発工程の中 心に置く。 – 最新かつ堅牢なセキュリティ制御を正しく使用す る。 OWASP Code of Conduct
  8. OWASP Top 10 主旨 Webアプリケーションキュリティ意識向上のために、 最も重大なリスクを取り上げる有力なドキュメント A powerful awareness document

    for web application security 発端 2004(2003) 最新版 v2013, June 日本語訳 あり also in Japanese ページ数 22 pages 対象 開発者、検証者、管理者、初心者、一般人。。。 For Developer, Tester, Management, Beginner, Everyone
  9. Secure Coding Practices Quick Reference Guide 主旨 開発者に安全な開発実務を素早く理解させるハイ レベルリファレンス A

    quick checklist about secure coding for developers 発端 2010, August 最新版 v2 @2010, November 日本語訳 なし not in Japanese ページ数 17 pages 対象 開発者 For Developer
  10. • Quick Reference Guide – チェックリスト形式 • 技術に依存なし – 詳細な実装方法なし

    – コーディングの要点だけ – 脆弱性や攻撃の観点なし Secure Coding Practices Quick Reference Guide
  11. • take a glance! • 入力検証 – 信頼できる場所(サーバ側)で全ての入力を検証 – 全ての入力に対し、適切な文字コードを設定

    – 検証失敗した際に、入力を拒否 – 入力の範囲を検証 – 入力の長さを検証 – 可能な場合、ホワイトリストで検証 – など Secure Coding Practices Quick Reference Guide
  12. Developer’s Guide 主旨 OWASP最初の最もダウンロードされているドキュメ ント。安全なソフト開発工程に焦点を当てる。 The first most downloaded document.

    Focusing on the secure software development. 発端 2002, June 最新版 V2.0.1, @2005, July (dramatic re-write in 2014!) 日本語訳 あるが、2002年版です。 V2002 is with Japanese ページ数 93 --> 293 pages 対象 開発者、(検証者) For Developer, Tester
  13. • 開発者ガイドとは言え、、、 – How to determine be vulnerable? – How

    to protect ? • 2014年版が劇的に書き直されている – 脆弱性と対策 から 安全なソフト開発工程 – アーキテクトと開発者のための安全なソフト実装 – AjaxやRESTful APIを使う 現代的なWebアプリケーション – モバイルアプリケーションも勿論! Developer’s Guide
  14. • 安全な開発原則 • 脅威リスクのモデリング • eコマース支払い • フィッシング詐欺 • Webサービス

    • 認証 • 許可 • セッション管理 • データ検証 • インジェクション • エラー処理 • ファイルシステム • 管理者インタフェース • 暗号 • サーバ設定 • Dos攻撃 • など Developer’s Guide
  15. • Take a glance! • Logout – 全てのアプリケーションにログアウトが必要 • 確認方法

    – ログアウトボタンの有無 – ログアウト後セッションの再利用可否 • 防止方法 – ログアウトを実装 – ログアウト時セッションの無効化とクッキー削除 Developer’s Guide
  16. Code Review Guide 主旨 世界初の脆弱性に対するソースコードレビュー仕組 みに焦点を当てるドキュメント。OWASPの2番目売 れているドキュメント。 The World’s first

    document focusing on code review of certain vulnerability. 発端 2006 最新版 V1.1, @2008 (2014からv2.0作成) 日本語訳 なし not in Japanese ページ数 220 pages 対象 開発者 For Developer
  17. • コードレビューとは、お金や時間がかかるかもしれないが、セキュ リティ問題を検出する最も精確な方法である。 • 認証、認可、セッション管理などのセキュリティ制御別の視点 • SQLインジェクション、XSS、CSRFなどの脆弱性別の視点 • JAVA、ASP、PHPなどの言語別の視点 •

    各制御別に、サンプルコード(Javaが多い)を交え対策方法を解説 しています。 • コードレビューのプロセスだけでなく、各脆弱性に焦点を当てる – 脆弱なコードサンプル • 言語別最適な実装 – JAVA, ASP, PHP, C++, MySQL, Flash Code Review Guide
  18. • SDLCにおけるコードレ ビュー • アプリケーション脅威 モデリング • 認証 • 認可

    • セッション管理 • 入力検証 • エラー処理 • バッファオーバーフ ロー • OSインジェクション • SQLインジェクション • クロスサイトスクリプ ティング • クロスサイトリクエスト フォージェリ • など Code Review Guide
  19. • Take a glance! • 入力検証 – データ検証 – ビジネス検証

    – 正規化 • Bad Example • Good Example public static void main(String[] args) { File x = new File("/cmd/" + args[1]); String absPath = x.getAbsolutePath(); } public static void main(String[] args) throws IOException { File x = new File("/cmd/" + args[1]); String canonicalPath = x.getCanonicalPath(); } Code Review Guide
  20. Testing Guide 主旨 最適な侵入テストフレームワークと詳細な侵入テス トガイドお用いて、組織内でテスト実施できます。 A best practice framework and

    low level guide of penetration test. 発端 2003 最新版 v3.0, @2008 (2013から最新版作成中) 日本語訳 あり(v3.0) also in Japanese ページ数 349 pages 対象 検証者 For Tester
  21. • セキュリティテストの手順 – 情報収集 – サーバ設定テスト – 認証テスト – セッション管理テスト

    – 認可テスト – ビジネスロジックテスト – データ検証テスト – DoSテスト – Webサービステスト – AJAXテスト • Testing process – Information Gathering – Configuration Test – Authentication Test – Session Management Test – Authorization Test – Business Logic Test – Data Validation Test – Denial of Service Test – Web Service Test – AJAX Test Testing Guide
  22. • take a glance! • 認可機能の迂回テスト – 認可機能は、任意のロールから任意の機能にアクセ スする際に正しく動作しているか? –

    未認証ユーザでアクセス可能? – ログアウト後にもアクセス可能? – 他の権限/ロールの機能やデータにアクセス可能? – 管理者用機能にアクセス可能? • 一般ユーザでアクセスし、機能利用可否を確認 – exaple.com/admin/addUser.jsp Testing Guide
  23. Application Security Verification Standard (ASVS) 主旨 市場にあるWebアプリケーション・セキュリティ検証 の範囲とレベルを正規化する。セキュリティ検証の 信頼度を確立する。 An

    open standard to normalize the service level of web app security verification and to a confidence level of web app security. 発端 2008 最新版 v1.0, @2009 (2013 v2.0 betaも) 日本語訳 あり(v1.0) v1.0 is with Japanese ページ数 60 pages 対象 管理者、検証者 For Manager, Tester
  24. • 検証手法 – Just grep? code review? tool? manual? •

    アプリケーションのセキュリティ評価基準 – 自動または手動のセキュリティテスト及びコードレ ビューの要件 • 14 個セキュリティ要件 X 4個保障レベル Application Security Verification Standard (ASVS)
  25. • 14個セキュリティ要件 • ドキュメント要件 • 認証要件 • セッション管理要件 • アクセス制御要件

    • 入力検証要件 • 出力エンコード要件 • 暗号要件 • エラー処理要件 • データ保護要件 • コミュニケーション要件 • HTTPセキュリティ要件 • セキュリティ設定要件 • 悪意コード検出要件 • 内部セキュリティ要件 Application Security Verification Standard (ASVS)
  26. Software Assurance Maturity Model (SAMM) 主旨 企業のアプリケーション・セキュリティ戦略の実装に 役に立つフレームワークを提供するドキュメント。 An open

    framework for organization to implement application security strategy. 発端 2008 最新版 v1.0, @2009, March 日本語訳 あり(v1.0) also in Japanese ページ数 96 pages 対象 管理者 For Manager
  27. • other existing models: • Microsoft SDL – Heavyweight, good

    for large ISVs • Touchpoints – High-level, not enough details • CLASP – Large collection of activities, but no priority ordering • 専門家向け、一般人では使いにくい! Software Assurance Maturity Model (SAMM)
  28. • 安全なSDLCを目指す • 4ビジネス機能 x 3セキュリティ実装 x 3成熟度 – 既存のソフト保障の評価

    – 戦略ロードマップ作成 – セキュリティ活動の実施 Software Assurance Maturity Model (SAMM)
  29. • OWASP Cheat Sheets – Authentication, CSRF, Input Validation, Logging,

    Session Management, Transport Layer Protect, XSS, Access Control…etc. • (not) For CISO’s eyes only – CISO Survey and Report 2013 – Application Security Guide For CISOs • When contracting… – Secure Software Development Contract Annex • Top 10 Mobile Risks O-MA-KE
  30. • A lot to read! • ドキュメントを統合する? The Big Issue

    • Why not to keep variety • それぞれ発展させましょう
  31. • Start with OWASP Top 10! – OWASP Top 10から始めよう!

    • Get involved! – 参加して、利用して、協力して、 – join OWASP chapter meeting! • Be aware of Web Application Security! – Webアプリケーション・セキュリティを意識して! The Next Step