
| 「ホワイトリスト型 Web Application Firewallのススメ」 掲載中! |

近年SQLインジェクションを用いて一般の閲覧サイトに悪性のリンクを埋め込みWebを改ざんする攻撃が急増している。

SQLインジェクションに使われる特殊文字(シングルクウォート、セミコロン、バックスラッシュ)が入ったリクエストをサニタイズ(無害化)したり、事前に指定したエラーページへリダイレクトします。
【サニタイズ】 |


クロスサイト・スクリプティングに使われる危険なタグ、属性が入ったリクエストのみをサニタイジング(無害化)したり、事前に指定したエラーページへリダイレクトします。大なり記号(>)や小なり記号(<)だけをチェックしているのではなく、タグや属性の種別まで見ているので、誤検知がありません。
【サニタイズ】 |


hiddenを使ってパラメータをサーバに渡している場合でも、値を不正に書き換えてサーバに渡すことが可能です。例えば商品価格やセッションIDなどの重要情報がhiddenに埋め込まれている場合、価格の不正変更や成りすましなどの危険性があります。hidden(=隠された)と言えども、HTMLのソースを見ることで簡単に値を確認することができ、そして変更できてしまうのです。

Citrix NetScaler Application Firewallはサーバから返されたHTMLの中身を全て精査します。そこにHiddenのようなRead-Onlyのパラメータがある場合、次に来るクライアントからのリクエストで、同一のパラメータ名と値があるか検査します。ラジオボタン、チェックボックス、プルダウンボックスのような場合でも、値が精査したものと一致するか検査します。もしHTMLになかったパラメータ名や値が含まれていると、不正アクセス(パラメータ不正変更)と見なされ、事前に指定したエラーページへリダイレクトされます。テキストボックスのように値が未定の場合でも、パラメータ名の不正変更がないかはチェックされます。このパラメータの一貫性チェックはデフォルトで動作しています。
下記のようなページ遷移を想定したWebアプリケーションがあると仮定します。最初にユーザ名、パスワードの入力を行いログインし、パーソナライズされたページ内のメニューからリンクを辿り、会員情報の確認を行うとします。もし悪意のあるユーザが他人の会員情報を閲覧しようと、ログインページを経由せずに会員情報確認ページ(/profile.php)へ直接アクセスしようとした場合、WAFはそれを悪意のあるアクセスとして検知する必要があります。

不正なURLに対するアクセスへの対策としてStart URLをあらかじめ登録しておくことが有効です。
Start URLとは、ユーザが最初に訪問するページURLのことで、トップページ、他サイトからリンクが張られたページ、ブックマーク可能なページなどが該当します。ユーザが最初にアクセスする可能性のあるページは全てStart URLとして登録します。Start URLに登録されたページにアクセスすると、 Citrix NetScaler Application FirewallはCookieを発行しユーザのセッション管理を開始します。セッション管理下にあるユーザが不正なページ遷移(例えばリンクされていないページに飛ぶなど)を行うと、事前に指定しておいたエラーページにリダイレクトされます。


![]() |
レスポンスにクレジットカード番号が含まれていた場合、それらをX-Outしたり、レスポンスを止めるなどのアクションを行います。 |

![]() |
前述のクレジットカード番号以外にも、漏洩を防止したいデータのフォーマットを正規表現で定義することが可能です。設定された正規表現にマッチするデータがレスポンスに含まれていた場合、それらをX-Outしたり、レスポンスを止めるなどのアクションを行います。 |

Citrix NetScaler Application Firewall は、PCI DSSの基準を考慮したレポートを、自動的に作成する機能を備えています。

マクニカネットワークスはCitrix社の1次代理店です。
※一部製品を除く