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

VAddy導入案内

 VAddy導入案内

脆弱性診断ツールVAddyを導入するにあたり、社内案内のために作った資料
前半は主に非エンジニア向けの情報です

Dd5ce24e9cc88d7a491aec105e558d7e?s=128

MATSUURA, yosuke

December 02, 2019
Tweet

More Decks by MATSUURA, yosuke

Other Decks in Technology

Transcript

  1. VAddy導入の案内 松浦 庸介

  2. はじめに この資料はhachidori株式会社(https://hachidoriinc.com/)で VAddyを導入するにあたり、 社内説明会資料から社内向けの記述を取り除いたものです フィードバック、指摘など歓迎です

  3. 脆弱性とはなに? n 簡単に言うと安全性に影響するバグ l URLを書き換えると、他の人のデータが見えてしまう l コメント欄にプログラムを書き込むと、サイトにウィルスを埋め込めてしまうなど n いくつかの類型があり、代表的な類型集がOWASP Top10

    l https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project n 自分たちで書いたプログラムだけでなく、Ruby, Gem, OSなどに も脆弱性がある n Gemの脆弱性はSnykで管理している l https://snyk.io/ 3
  4. リスクマネジメントという考え方 n リスクアセスメントを行い、リスクごとに4類型に分類 n どんな情報資産があって、それぞれにどんなリスクがあるのか n それぞれのリスクの発生確率と影響度はどの程度か n もちろん脆弱性もリスクに含まれる 4

  5. 脆弱性とリスクマネジメント 5 n リスクの低減 l 例:脆弱性バグの修正 n リスクの保有 l 例:何もしない

    n リスクの回避 l 例:サービスをクローズする n リスクの移転 l 例:受託開発業者に開発してもらう n リスクの大きさと発生確率によって選択する l 個人情報が流出して、果たして会社が耐えられるでしょうか? l それはどのくらいの確率で起きうるでしょうか? 図表 https://www.ipa.go.jp/security/manager/protect/pdca/risk.html 情報処理推進機構 情報セキュリティマネジメントとPDCAサイクル より
  6. セキュリティ侵害のダメージ n セキュリティ侵害によるダメージは固定ダメージ(ここは私見) l 大きい会社だろうと小さい会社だろうと同じダメージを受ける l 考えてみれば当たり前の話で、事故があったとき小さい会社の方が補償が少ないなんて ことはない l お金がないから、体制がないから対策できないという言い訳は通用しない

    n マイナーなサービスは攻撃されないという幻想 l 攻撃者は機械的に試行しているので、規模によらない l 目立つところは名指しで狙われるが、小さいところが狙われないわけではない n 重要な情報を扱っていなくても、サーバ上のクレデンシャルを使っ て、暗号資産採掘用インスタンスを起動されるという事例もある 6
  7. 脆弱性診断はじめます n 攻撃が成功すると l お客様情報の流出 l ページの改ざん l データの破壊 l

    などされるかもしれない n 現実に起こりうるリスクで、どれも起きると深刻な影響がある n 擬似的な攻撃を行って欠陥を探す l これが脆弱性診断 n 診断のためにVAddyというツールを導入します 7
  8. VAddyとはなに? n Webアプリケーションの脆弱性診断ツール n https://vaddy.net/ja/ n 以下の脆弱性に対応(詳細は省略。気になる人は調べてください) l SQLインジェクション l

    クロスサイトスクリプティング(XSS) l リモートファイルインクルージョン l コマンドインジェクション l ディレクトリトラバーサル l ブラインドSQLインジェクション l 安全でないデシリアライゼーション l XML外部実体攻撃(XXE) l HTTPヘッダインジェクション 8
  9. VAddyのしくみ n プロキシサーバーを利用して、機能ごとにシナリオを作成 l ログインからログアウトまでがシナリオ1セット l ログイン→ユーザー情報を表示→ログアウト l ログイン→課金ステータスを表示→ログアウト l

    ・・・ n シナリオを作成したら、シナリオごとにスキャンを実施 l シナリオ数の制限はないので、1機能1シナリオに分けるのがコツ n 自動的にAPIのパラメーターを変更して攻撃を試みる l 例 l http://example.com/search.php?keyword1=foo&keyword2=bar l http://example.com/search.php?keyword1=foo<script>vaddy</script>&ke yword2=bar 9
  10. VAddyの使い方 n 機能単位でテストシナリオを作成 l 新しい機能を追加したら、シナリオを作ってください l シナリオを作り忘れると検査してくれません l 追加APIは開発した人が作りましょう n

    シナリオを作成したら、管理画面からテストを実行 n 検査した結果、脆弱性が見つかったら修正してください 10
  11. シナリオの作り方 n クロールしかできないプロキシサーバーを使うので、普段用途のブ ラウザとクロール用ブラウザを分けた方がよい n Chrome, Safari, Edgeは他を巻き込むので、Firefoxがおすすめ l Firefoxを通常利用している人は、VAddy用にFirefox

    Developer Editionを使うと楽 n https://support.vaddy.net/hc/ja/articles/115005935107- -STEP-2- %E3%82%AF%E3%83%AD%E3%83%BC%E3%83%AB%E3 %81%AE%E8%A8%AD%E5%AE%9A%E3%81%A8%E5%AE %9F%E8%A1%8C (マニュアル) n スマホアプリの場合は、cURLでAPIリクエストを発行することで テストできる l PCでエミュレーターを使ってもテストできるかもしれない(試してない) 11
  12. プロキシ設定 n クローリング用プロキシサーバのIPアドレスとポート番号は管理コ ンソールから確認可能 n 除外サイト:Google FontsなどでテストFQDN以外からアセット を読み込んでいる場合、配信ドメインを指定します。(プロキシ サーバは登録したFQDN以外の接続を拒否するため) 12

  13. アクセスの記録 n プロキシサーバーを経由した状態で、開始URLにアクセスすると記 録が開始され、終了URLにアクセスすると記録が終了します l 開始URL、終了URLとも管理画面に記載されている n 証明書エラーになった場合は、下記URLを参考に証明書チェックを 無効化します n

    https://support.vaddy.net/hc/ja/articles/115009042828- %E8%A8%BC%E6%98%8E%E6%9B%B8%E3%82%A8%E3 %83%A9%E3%83%BC%E3%81%AE%E5%9B%9E%E9%81 %BF 13
  14. Note:シナリオにはラベルをつけてください 14 n 作成したシナリオはクロール登録状況に表示されます n ラベルに名前をつけないと、何をするテストなのかわからなくなる ので名前をつけてください

  15. スキャンの実行 15 n シナリオを作成したら、一覧から‘Start Scan’で検査を開始しま す n テスト項目は、理由がなければ全部選択でOKです n 数分で

  16. 奥付的なもの 名前: 松浦 庸介 Twitter: 蟒蛇(@uwabami_garden) Profiee: https://profiee.com/i/matsuura Mail: matsuura@rampage.red

    PowerPointテンプレート: the power of powerpoint “URANUS” http://thepopp.com/free-template-uranus/