Webアプリケーションの防御
要点と定義
Webアプリケーションへの通信内容を検査し、攻撃と判断した通信を検知・遮断する仕組みがWAFです。
シラバスの項目名は「アプリケーションセキュリティ」です。Webシステムのセキュリティ対策や、SQLインジェクション対策などが含まれます。
ブラックリスト方式は、問題のある通信パターンを登録し、一致する通信を遮断する考え方です。
フォールスポジティブは、正常な通信を攻撃だと誤って判定することです。
SQLインジェクション対策では、データベースへの問合せを作る際にプレースホルダを使う方法があります。
適用条件と例
例えば、商品検索の入力に攻撃らしいパターンが含まれる場合、WAFは通信を遮断できます。ただし、検知ルールの設定によっては、正当な利用者の入力まで遮断することがあります。
ブラックリスト方式では、登録した問題パターンに一致したときに遮断します。ホワイトリスト方式は、許可する通信パターンを定め、それ以外を遮断する考え方です。どちらも、何を登録・許可する設定なのかを確認します。
データベースに「地域名で絞り込む」検索機能を作る例では、利用者の入力をSQL文に直接つなげず、プレースホルダに値を渡します。これにより、入力値が問合せ文の一部として扱われるのを防ぎます。
誤りやすい点
WAFは、Webアプリケーションへの通信を検査する仕組みです。Webサーバの負荷分散や、通信の暗号化・復号を主な目的とする仕組みとは役割が異なります。
正常な検索リクエストが攻撃として遮断された場合は、フォールスポジティブに当たります。
WAFだけに頼らず、アプリケーション側でも入力値をSQL文から分離する対策を組み合わせます。プレースホルダを使う対策は、SQLインジェクションを防ぐためのものです。
ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。
アプリでこの節を読む