pulpul 日本の試験

情報セキュリティマネジメント 概念書 · セキュリティ対策と実装

Webアプリケーションの防御

要点と定義

Webアプリケーションへの通信内容を検査し、攻撃と判断した通信を検知・遮断する仕組みがWAFです。

シラバスの項目名は「アプリケーションセキュリティ」です。Webシステムのセキュリティ対策や、SQLインジェクション対策などが含まれます。

ブラックリスト方式は、問題のある通信パターンを登録し、一致する通信を遮断する考え方です。

フォールスポジティブは、正常な通信を攻撃だと誤って判定することです。

SQLインジェクション対策では、データベースへの問合せを作る際にプレースホルダを使う方法があります。

適用条件と例

例えば、商品検索の入力に攻撃らしいパターンが含まれる場合、WAFは通信を遮断できます。ただし、検知ルールの設定によっては、正当な利用者の入力まで遮断することがあります。

ブラックリスト方式では、登録した問題パターンに一致したときに遮断します。ホワイトリスト方式は、許可する通信パターンを定め、それ以外を遮断する考え方です。どちらも、何を登録・許可する設定なのかを確認します。

データベースに「地域名で絞り込む」検索機能を作る例では、利用者の入力をSQL文に直接つなげず、プレースホルダに値を渡します。これにより、入力値が問合せ文の一部として扱われるのを防ぎます。

誤りやすい点

WAFは、Webアプリケーションへの通信を検査する仕組みです。Webサーバの負荷分散や、通信の暗号化・復号を主な目的とする仕組みとは役割が異なります。

正常な検索リクエストが攻撃として遮断された場合は、フォールスポジティブに当たります。

WAFだけに頼らず、アプリケーション側でも入力値をSQL文から分離する対策を組み合わせます。プレースホルダを使う対策は、SQLインジェクションを防ぐためのものです。

ここまでが冒頭部分です。ログインすると、無料でも1日2節まで全文をお読みいただけます。

アプリでこの節を読む