kousukeのブログ

株式会社グローバルアイティー 代表取締役

FortigateのWAF、IPS、botnet、C&Cサーバ遮断機能の検証

※割と、画期的な事を閃いた気がするので、冒頭に載せます。

 APIサーバとの通信に含まれるシグネチャについて、APIサーバの
 バイナリをてきとーにビットローテートすると何らかの復号に近い
 動きをするかも知れない。

 その操作をWAF経由のTelnet(当然、暗号化無しの通信)で行うと
 復路の通信中に、シグネチャが含まれることになる。
 それはもしかしてWAF/IPSで検知できるのでは、と。


以下、本文です。

検証対象
 
FortigateのWAF、IPS、botnet、C&Cサーバ遮断機能

NW構成

検証内容

①FotrigateのWAFを有効にし、OwaspZap(業界標準のWeb侵入試験ツール)で
侵入試験を行う。

 

②FotrigateのIPSを有効にし、NMAP(業界標準のスキャナー)で
侵入試験を行う。

③Fotrigateのbootnetを有効にし、トレンドマイクロ社のテスト用ウィルス、および
自作のテストウィルスで感染試験を行う。

CiscoルータにC&C(悪意のあるサーバ)のIPアドレス)を実装し、疎通試験
を行う。
※ああそうだ、セキュリティのオンラインスクールで習った、色々な攻撃ツール(SQLなんちゃら、とかも後で追記しよう。。。)

--

【FotrigateのWAFによる侵入試験 防御結果】
※WAFの設定方法は後述

■事前の試験 WAFを使用しない状態での侵入試験

先ず最初に WAFを無効化した状態でowaspzap(侵入試験の標準ツール)の試験を行います
Fotrigateの設定は以下の通り
※Poricy2(全通信を許可する)のみ実装する


Owaspzapのログ(自己申告)は下記の通り
試験中

試験完了後のOwaspzapのログ(自己申告)


サーバ側のWireSharkの画面:HTTPでフィルタ


サーバ側のWireSharkの画面:IPアドレスフィルタ
※攻撃PCとサーバ間にある家庭用ルーターでSourceNATしている


■試験本番 WAFを有効化した状態での侵入試験
※ Poricy1(WAFを実装している)のみを使用する

Owaspzapのログ(自己申告)は下記の通り
試験中/試験後(下記の画面のまま停まってしまう)

サーバ側のWireSharkeの画面:HTTPでフィルタ
 ※パケットが現れない

■WAFのロギングについて
 ※今回使用しているFotrigate30では検知時のActionが Allow/Block/Monitor
  しか選べず、Block&Monitorが選べ無かった(他機種では出来た「筈」
  後日、別機種を入手後に調査します。)


■WAFの実装方法について

SecurityPolicy -> Create Newの操作をすると下記の画面になる
GUI画面を上下に2分割して居ます
※ActionはACCEPT、InspectionModeはProxy-Based、他のパラメータは任意

WAFを有効にする(赤枠部分)、実装するWAFポリシーはデフォルト
※WAFポリシーの作成方法は省略します

画面中央、下の

をクリックするとIPv4のポリシーにWAFが実装される(赤枠部分)


【IPS機能】→WAFでも防げる模様
■事前の試験 WAFを使用しない状態でのNMAPでスキャンを行う
 ・Fotrigateの設定
  ・WAFを適用した1行目のPolicyを無効化し、2行目のPolicyで全通信を許可


 ・NMAPのレポート(抜粋) 


 ・サーバ側のWireShark

■試験本番 WAFを使用した状態でのNMAPでスキャンを行う
 ・Fotrigateの設定
  ・WAFを適用した1行目のPolicyを有効化し、2行目の全通信を許可するPolicyを
   消去する
 


 ・NMAPのレポート(抜粋)
  ※スキャン自体が始まらない


 ・サーバ側のWireShark
 ※通信が全く受信できて居ない


■IPSの試験※後日→ほぼ同じ構成なので再劣後

■botnetの試験※後日 →疑似マルウェア作成中(
        危険視されがちなAPIを単体でコンパイルする。1スレッドを別に

        立てる事になりそう)

■C&Cサーバの試験※後日(IPアドレス群は入手済み、ブラウザが独自に持つDNS

          DNSを騙す仕組み(FakeDNS)等が要るので構成の設計が

          必要。つまり結構時間かかりそう)