kousukeのブログ

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

複数の無線LANアクセスポイントを使用した場合、通信が断する問題について

この問題は主に下記の事が原因で起こります。

無線LANアクセスポイントに接続されたクライアント端末が、他の無線LANアクセスポイントに接続先を変更した場合、

・L2スイッチから見ると、「クライアント端末のMacアドレスが複数の物理ポートから観測される」

・この状態を「Macフラップ」と言います。「ループ」と混同される事がありますが、ループとは異なり、通信断は特定の端末のみで起こります。

・通常は「集中型無線LANコントローラ」と言う高価な製品を用いて解決しますが、一般的な市販品でも(単体で)対応して居る製品が無いか、実機にて検証を実施する予定です。

※同時に、下記を検証します。(ロードバランス機能)
 複数のアクセスポイントに、複数のクライアント端末が分散して接続されるか否か

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)等が要るので構成の設計が

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

 

【Webサイトへの攻撃と防御】

色々な書籍が、Webサイトの防御方法をアレコレ書いてますが

htmlspecialchars関数

とか言うのがPHPファイルの中に書いてあるだけで大分違うみたい。

オリジナリティ溢れる防御をすればするほど、破られた時の責任は大きいし、脆弱性を見つけてくれる他人も機関も無かったりする。

 

個性のないやり方であれば脆弱性が発見された時、瞬く間に対策が発表される。

と、思ったのだけど、Chat4との会話は以下。
WAFで防げる範囲なのか?


質問:
htmlspecialchar関数で防げない攻撃は何ですか

回答:
htmlspecialchars関数だけでは、以下のような種類の攻撃を防ぐ
ことはできません。

SQLインジェクション:
これはユーザーの入力がデータベースクエリの一部として
解釈される場合に発生します。
これを防ぐには、パラメータ化されたクエリや
プリペアドステートメントを使用する必要があります。


CSSインジェクション:
ユーザーの入力がCSSとして解釈される可能性がある場合、
htmlspecialcharsは十分ではありません。
例えば、<style>タグ内またはstyle属性内のユーザー入力は
依然として危険です。

HTTPヘッダーインジェクション:
ユーザーの入力がHTTPヘッダーとして解釈される可能性が
ある場合、これも危険です。

各種コードインジェクション:
PHPJavaScript、シェルなど、ユーザー入力がそ
のまま実行される可能性がある場合には、
コードインジェクション攻撃が可能となります。

これらの攻撃を防ぐためには、その他の防御策
(例えば入力検証、出力エンコーディング
セキュアなヘッダーの使用、セキュアな
コンテンツポリシーの適用等)が必要です。

【スターリンク申し込んじゃった】

ひとまず1か月無料コース。(デポジットが6千円かかった)

やりたい事。

■下記の検証

経時的に
xxxxxxxxxxxx関連(脆弱性の心配を発見したのでStarXに投稿済み。このブログには載せられない)

GIPはどれくらいの頻度で変化するのか(頻繁に変わるようだとWebRTP等やUPnP等の音声系が使い辛くなるかなと。)※固定コースじゃないはず。


 bps/ttlはどんな特徴をもって変動するのか

Aレコードが頻繁に変わるようなサイトの使い心地

電源はクルマのインバーターで足りるのか(事前に分かる気も)

他、思い付き次第追記して行きます。

あー、リゾートマンションから使えるかとかも検証していいかな。

【脆弱なWebサーバの作り方】

※正確には「Webサイト」だった。。

この本を見つけるまで、いったいどれくらいの本を買っただろうか・・・
それらの多くは

脆弱なサーバは作者が作ったものをダウンロードするだけ

だったり。
買うのに躊躇するタイトルだけど、そう、kindleならね。
https://amzn.asia/d/gCfE56N

【FortigateのチップをROMライタで。。。】

https://amzn.asia/d/atju417

と言うのをポチッた。早く来ると良いな。
チップの撮影は完了済み。(マザーボード全体は過去記事のどれかを参照の事)
各チップはわざわざ顕微鏡で撮ったけど、スマホで充分だったと思う。

※無差別に全チップを撮影したので重複した型番もある。

 


こんな道具で中身を読みだして居ます。面白いトピックがあればこのブログにも
載せていく予定です。





【工事中】マルウェアの自作

https://amzn.asia/d/4UopqFc

 

の参考書籍をほぼ読破してやっと出てきたこの記述。。


この本に載っているテスト用マルウェアは「インターネットに繋がっているか確認してから、悪意ある活動を開始する」そうな。

FakeDNS(フリーウェア)と、ARP乗っ取りで、「インターネットに繋がっている」とマルウェアを逆に騙してやれないだろうか。
参考:
https://amzn.asia/d/4f3sxW7

マルウェアを作っている様子。








ーつづく笑ー(もう終わりかよ)