WAFで対応できる7つの攻撃について、
概要と開発者としての対応策をまとめました。
◇WAFとは
“Web Application Firewall”の略で、Webアプリケーションの脆弱性を悪用した攻撃からWebサイトを保護するセキュリティ対策。
インターネットバンキングやECサイトなど、ユーザが情報を入力するようなWebサービスに有効。
【参考】WAF、ファイアウォール、IPS/IDSの違い
1. バッファオーバーフロー
【概要】
プログラムが確保したメモリの領域を超えて大量のデータを送り付けることで
Webサイトに誤作動を起こさせ、乗っ取ったコンピュータをDoS攻撃の踏み台にしたり、
実行中のプログラムを停止させたりする。
【対策】
・直接メモリにアクセスできる言語(C,C++,アセンブラなど)での記述を最小限にする
・ソースコード記述時、データの長さを意識する
2. クロスサイトスクリプティング(XSS)
【概要】
ユーザ入力に対して動的にページ生成するようなwebサイトにおいて
外部から不正なスクリプトを挿入され、
利用者がそのwebサイトを閲覧すると不正スクリプトが実行される。
その結果、利用者の端末に保存されていた個人情報が漏洩したり、
マルウェア感染を起こしたりする。
【対策】
・サニタイジングを行う(スクリプト構成に必要な文字を置換し、スクリプトの無害化をする)
・バリデーション処理を行う(入力値の制限をする)
3. SQLインジェクション
【概要】
webサイトのフォームに不正な操作を行うSQL文を意図的に注入することによって、
データベースに保存されたデータが改ざん、削除される。
【対策】
・バリデーション処理を行う(入力値の制限をする)
・エスケープ処理を行う(不正に注入される恐れのある危険な文字を別の文字に置き換える)
4. OSコマンドインジェクション
【概要】
webサーバへのリクエストにOSへのコマンドを注入し、不正に実行させることによって
サーバ内のファイルの改ざん、削除、流出等の被害を受ける。
【対策】
・OSコマンドを呼び出す関数、メソッドを利用しない
・シェルを呼び出す関数を利用しない
・エスケープ処理を行う(不正に注入される恐れのある危険な文字を別の文字に置き換える)
5. DDoS攻撃
【概要】
対象のサーバなどに対して複数のコンピュータから大量のリクエストを送信することで
処理能力を超過させ、サービスを停止させる。
※Dos攻撃…1台のコンピュータから攻撃を仕掛ける
※DDoS攻撃…複数台のコンピュータから攻撃を仕掛ける
【対策】
・アクセス制限を実施する(IPアドレス制限、日本国外からのアクセス拒否など)
6. ブルートフォースアタック(総当たり攻撃)
【概要】
暗号を解読するための攻撃手法の1つ。
考えられるパターンを全て試行し、力ずくでパスワード等の解読を行う。
※ブルートフォース攻撃…ログインIDを固定し、パスワードを手当たり次第に試す
※リバースブルートフォース攻撃…パスワードを固定し、ログインIDを手当たり次第に試す
【対策】
・パスワード設定のルールを厳格化する
7. ディレクトリトラバーサル
【概要】
相対パスの脆弱性を悪用し、「../」を指定してディレクトリをさかのぼることで
意図しないディレクトリやファイルを参照、操作されてしまう。
【対策】
・外部からパラメータとファイル名を指定してサーバのファイルにアクセスさせない仕様にする
・ファイル名の指定に相対パスが入らない設定をする
参考