とある父親の妄想日記 -11ページ目

とある父親の妄想日記

地球上で唯一、DNA以外の手段で、世代を超えて情報を蓄積する力を授かった人類。
御来たる未来(みきみく)に、一かけらの希望と奇跡を信じています。
近況:サイバー攻撃と防衛の技術について妄想してます。

パパね。

暑くて汗が止まらない 笑

湿度も高くなってきたので、
君も水分をしっかりとるのと、
汗とかで濡れた服で体を冷やさないようにね!


現状として、システムのセキュリティ対策は
大手企業では進んでいるようですが、
中小企業では弱いところが多いようです。


今回は、Webアプリケーションのセキュリティについて、
6/12(金)に参加した

「OWASP ZAP 2.4の新機能についての勉強会」

の報告をブログに掲載させていただきます。

※度々、技術的な記事になりますので、興味のある方だけご覧いただければ幸いです。
また、参加者の方、気になった点や誤りなどございましたら、ご指摘いただけると幸いです。



■OWASP ZAPとは

OWASP Top 10Sicherheitsl?cken im Web-【電子書籍】

¥390
楽天


Webアプリケーションについて
「クロスサイトスクリプティング」や
「SQLインジェクション」といったインターネット越しに
攻撃を受ける脆弱性が存在するかを検証する、
脆弱性診断のツールです。


GUI(視覚的に分かりやすいデザイン、マウスでカチカチ操作するソフト)なので、
操作しやすいと思います。
また、Windows, Mac OS, Linux と各OSにも対応し、
本家の方がしっかりと開発・保守しているオープンソースで、
無料(自己責任ですが)なのも魅力ですね。

ですから、システム開発プロジェクトにおいても
気軽に導入できるものだと、私は感じました。

詳しい導入方法や操作方法は、こちらで説明されています。

もちろんKali Linuxにはデフォルトでインストールされています(1.1.0で確認)

アプリケーション->Kali Linux->Web Applications->Web Application proxies->owasp-zap
で起動できます!

ちなみに、OWASP ZAP はブラウザとサーバの中間でプロキシとして動作することで、
サーバへ送るリクエスト値の変更を実現しています。




■新機能について


2.3から2.4にバージョンが上がった際の新機能は、
以下のとおりだそうです。

※OWASP ZAPの日本語訳が不十分かつ、私の環境では
英語で動作させましたため、
メニューの名前が違う場合はご迷惑をお掛けします。。。



1.Attack mode

2.Advanced fuzzing

3.Scan dialogs with advanced options

4.Scan Policies

5.Unused tabs are hidden

6.Enable for sequence


1.Attack mode

画面左上のモード選択欄で、
4つの検査モードを選択できるようになりました。

a.standard mode
→なんでもできます。


b.safe mode
→アクティブスキャンができません。


c.protect mode
→standardとsafeの中間モードです。
プロキシをとおしたら×、
コンテキストやスコープに含めると診断等ができます。


d.ATTACK mode
→訪れたサイトに、自動的にアクティブスキャンを行います。


・推奨モード

推奨モードはProtected modeだが、
そのままでは、対象サイトのアクティブスキャンを指定できない。

アクティブスキャンをするためには、対象サイトで動作を行ったのちに、
「サイト」タブの「コンテキスト」から、
対象「サイト」を指定して右クリック。
「コンテキストに含める」->「デフォルトコンテキスト」を指定する。
正規表現を指定してOKすることで、「アクティブスキャン」が選択可能となります。


・アクティブスキャン設定を変更する

「ポリシー」->「デフォルトスキャンポリシー」

threasholdやStrengthなどの
攻撃ポリシーを変更することで、
テストケースが、増えたり、減ったりします。
(但し、さじ加減は、開発者基準です)


・アクティブスキャンアドオン設定を追加する

以下のところから、アドオンをインストール。
「ヘルプ」->「アップデートの確認」->「マーケットプレース」タブ

※但し、ステータスがalphaのものは、なるべく避けた方が良さそうです。


・アクティブスキャン実施負荷の調整
「ツール」->「オプション」-> 「アクティブスキャン」
アクティブスキャンの実行スピードや、同時スキャン数を変更する。

※但し、CPUのコア数やメモリといったH/Wリソースの制限により、
期待どおりの結果が得られるとは限らない。



2.Advanced fuzzing

以前のバージョンと比べ、
ファジング(脆弱性を探すために様々な入力値を試す)機能が
充実したようです!

例えば、ペイロードに、文字列など様々なパラメータを
指定できるようになりました。




まず、ファザーを以下の手順で起動します。

a.OWASPを「Protected mode」に設定してブラウザを操作する。リクエストを送る
b.アクティブスキャンを可能にする
c.historyからリクエストを選択
d.右上のメインウィンドウのタブでリクエストを選択
e.リクエストパラメータの値部分で右クリックして、「ファザー」を指定。

以下のタブで、検証内容を細かく設定できます。

・「ペイロード」タブ
送信する値を指定できます。フォーマットは、文字列や正規表現等様々。

・「プロセッサー」タブ
送信する値に、エンコード・デコードを指定できる




3.Scan dialogs with advanced options

「アクティブスキャン」選択時の、ダイアログはシンプルで、
アドバンスドオプションにチェックを入れた場合に、
タブメニューが増えて、詳細設定が可能なダイアログに切り替わります。



4.Scan Policies

「ポリシー」->「デフォルトスキャンポリシー」

きめ細やかな、スキャンポリシーの設定変更や
インポートが可能です。



5.Unused tabs are hidden

画面下のコンソールタブのデフォルト表示がすっきりしました。

画面上の「ビュー」から、
必要なタブを表示するか、全表示することで
タブを表示することが可能です。



6.Enable for sequence

ログイン画面における、
ログイン動作を記憶させることができる。

「ファイル」->「セッションプロパティ」->「Authentication」や「Users」で
ログインユーザを設定することで、
「アクティブスキャン」実行時にログインユーザが指定可能になる。



■所感

技術者でなくとも、
試行錯誤で使い方を把握できるツールだと思います。

そういう意味では、学習コストが低いことは
大変メリットにあげられるかと思います。

第三機関にセキュリティ診断を
依頼する予算や期間がとれない場合は、
開発者自身で診断をするという考えも必要と考えます。

JenkinsとのようなCI(プログラム修正・テストの繰り返し簡略化)に、
OWASP-ZAPの脆弱性検証タスクを組み合わせることも可能なようですしね。


ひとまずは、手動による検証で十分ではないでしょうか。

そして、検証環境で動作を確認しながら、
脆弱性検証の計画を立ててはいかがでしょうか





P.S.

WEBのUIもOSSで出る予定だそうですね。
楽しみです。



■TIPS

1.プロキシのデフォルトリッスンポート番号を
8080から他の番号へ変更する。


通常、8080のポート番号は他のソフトウェアで使われることが
多いので、ポート番号の変更が推奨されます。
以下の設定で変更できます。

「ツール」 -> 「オプション」 -> 「ローカルプロキシ」


2.OWASP ZAPのプロキシ機能で証明書エラーが出る場合の対処。

[WEB系情報セキュリティ学習メモ]
http://securitymemo.blogspot.jp/2014/12/owasp-zap.html


3.OWASP ZAPでREST(API)が使用できる。

※OWASP ZAPを起動して、ブラウザのプロキシを設定した上で、
ブラウザで以下URLへアクセスする

[OWASP ZAPのAPI]
http://zap/

4.入力画面->確認画面などの複数のページ遷移を含む検証

到達可能なページの検証方法については要チェックですね。


参考リンク:https://security-testing.doorkeeper.jp/events/25217