jenkins と owasp zap で自動診断
TRANSCRIPT
自己紹介
名前 桃原 裕太 / とうばる ゆうた
所属 株式会社 シーエー・アドバンス 技術統括本部
経歴 前職 ・ECサイト等の開発株式会社 シーエー・アドバンス ・社内ツールの開発 ・脆弱性診断の業務に携わって約4年
業務 Webアプリケーション脆弱性診断 ・PCブラウザ向けアプリ ・SPブラウザ向けアプリ ・Androidアプリ ・iOSアプリ
脆弱性診断とは
調査した結果、脆弱性だと判断した場合は開発者へ報告します。
タイトル 商品を任意の価格で購入することが可能
危険度 High
説明 パラメータpriceを操作することで、
任意の価格で商品を購入することが可能。
影響 売上の減少など
脆弱性診断とは
診断観点
❏ OSコマンドインジェクション
❏ SQLインジェクション
❏ クロスサイトスクリプティング(XSS)
❏ クロスサイトリクエストフォージェリ
❏ 不適切な認証及びパスワードリセット機能
❏ オープンリダイレクタ
❏ ヘッダインジェクション
❏ オートコンプリート機能の有効
❏ アプリケーションエラーの開示
❏ X-Content-Type-Optionsヘッダの未設定
❏ セッション固定攻撃
❏ セッション管理
❏ アクセスコントロールの不備
❏ エラー処理の不備
❏ アプリケーションロジックの不備
❏ パストラバーサル
❏ クリックジャッキング
❏ チート行為
❏ HttpOnly属性が付与されていないCookieの利用
❏ その他
脆弱性診断とは
OWASP ZAPの診断項目について。Webサイトにおいて主要な脆弱性を見つけることができます。
❏ Code Injection
❏ Command Injection
❏ Client Browser Cache
❏ Cross Site Scripting (reflected)
❏ Cross Site Scripting (persistent)
❏ CRLF Injection
❏ Directory Browsing
❏ External Redirect
❏ Format String Error
❏ Parameter Tampering
❏ Path Traversal
❏ Remote File Include
❏ Server Side Include
❏ SQL Injection
❏ Other
※なお、アプリ側の”アクセス権の侵害”等の脆弱性は自動診断で見つけられません。
全ての脆弱性が取り除けるわけではないので注意が必要です。
参考リンク:https://github.com/zaproxy/zap-core-help/wiki/HelpAddonsAscanrulesAscanrules
自動診断について
下記のツールを使いました
❏ Jenkins
❏ OWASP ZAP
❏ infobyte/faraday
※それぞれ Docker Hub に公式イメージがあります
※ infobyte/faraday は診断結果閲覧用です
まとめ
今回検証したソースはGitHubにアップしています。
https://github.com/toubaru/auto-secaudit
参考リンク
OWASP ZAP API + hubot/slackで作る脆弱性スキャンボット
https://speakerdeck.com/owaspjapan/owasp-zap-api-number-owasp-night-21th