昨 今 見 られる 高 度 化 する SQL インジェクション クロスサイト スクリプティング 攻 撃 の 特 徴 従 来 の SQL インジェクション 攻 撃 クロスサイト スクリプティング 攻 撃 では メソッドや POST メ ソッドのパラメータ(クエリー) 部 分 に 攻 撃 用 文 字 列 (SQL インジェクションであれば ' or '1'='1 など) を 埋 め 込 むのが 一 般 的 でした しかしながら 昨 今 の SQL インジェクション 攻 撃 クロスサイト スクリプ ティング 攻 撃 では 例 えば 以 降 に 挙 げるような 高 度 化 する 攻 撃 の 特 徴 が 散 見 されます これらは WAF 等 の 防 御 システムを 回 避 するための 手 法 でもあり 特 にブラックリスト(シグニチャー) 型 の WAF をすり 抜 け る 場 合 があります 高 度 化 する 攻 撃 の 特 徴 その1 SQL インジェクション 攻 撃 を 実 行 するための 文 字 列 が Cookie に 埋 め 込 まれている 場 合 があります 従 来 メソッドや POST メソッドのパラメータ(クエリー) 部 分 に 攻 撃 用 文 字 列 を 埋 め 込 むことで Web アプリケーションに 渡 していましたが Cookie 値 として 攻 撃 用 文 字 列 が 渡 されることがあります Web アプ リケーションによっては Cookie でパラメータが 受 け 取 れる 実 装 になっており この 場 合 攻 撃 が 成 功 して しまう 可 能 性 があります 高 度 化 する 攻 撃 の 特 徴 その 2 SQL インジェクション 攻 撃 を 実 行 するための 文 字 列 に % が 含 まれている 場 合 があります IIS/ASP では 下 記 のように 攻 撃 用 文 字 列 中 に 余 計 な % が 入 っていた 場 合 % を 除 去 してしまうため 攻 撃 が 成 功 してしまう 可 能 性 があります SQL インジェクション 攻 撃 の 文 字 列 に % が 含 まれる 例 ' un%ion se%lect password from data wh%ere '1'='1 高 度 化 する 攻 撃 の 特 徴 その 3 クロスサイト スクリプティング 攻 撃 を 実 行 するための 文 字 列 が UTF-7 でエンコードされている 場 合 があり ます charset( 文 字 コード)が 不 明 瞭 な Web アプリケーションの 場 合 下 記 のように UTF-7 で 攻 撃 用 文 字 列 がエ ンコードされ 攻 撃 が 成 功 してしまう 可 能 性 があります クロスサイト スクリプティング 攻 撃 の 文 字 列 が UTF-7 でエンコードされた 例 +ADw-script+AD4-alert(document.cookie)+ADsAPA-/script+AD4- デコードすると 下 記 のようなスクリプトになります <script>alert(document.cookie);</script> - 1 -
以 上 の 特 徴 は 散 見 される 様 々な 高 度 化 する 攻 撃 の 一 部 に 過 ぎません このような 攻 撃 に 対 し 恒 久 的 に 対 策 を 行 うには Citrix NetScaler Application Firewall( 以 下 CitrixWAF) に 実 装 されている 下 記 に 挙 げるようなホワイトリスト 型 の 機 能 をご 使 用 いただくことを 推 奨 いたします Citrix Application Firewall に 実 装 されたホワイトリスト 系 の 機 能 Start URL StartURL とはユーザが 訪 問 可 能 な URL を 設 定 しておく 機 能 です 不 正 なページ 遷 移 を 検 知 し 攻 撃 を 防 御 す ることが 可 能 となります 高 度 なホワイトリスト 機 能 - 設 定 工 数 を 減 らし 導 入 時 間 を 大 幅 に 短 縮 - 設 定 時 のミスによる 誤 検 知 を 大 幅 に 削 減 CitrixWAF の 独 自 機 能 下 記 のようなページ 遷 移 を 想 定 した Web アプリケーションがあると 仮 定 します 最 初 にユーザ 名 パスワー ドの 入 力 を 行 いログインし パーソナライズされたページ 内 のメニューからリンクを 辿 り 会 員 情 報 の 確 認 を 行 うとします もし 悪 意 のあるユーザが 他 人 の 会 員 情 報 を 閲 覧 しようと ログインページを 経 由 せずに 会 員 情 報 確 認 ページ(/profile.php)へ 直 接 アクセスしようとした 場 合 WAF はそれを 悪 意 のあるアクセスとし て 検 知 する 必 要 があります /login.php /top.php /profile.php ログイン ページ パーソナライズド ホームページ 会 員 情 報 の 確 認 正 常 なユーザ 正 常 なユーザは 管 理 者 の 意 図 したページ 遷 移 通 りに まず /login.php か らログインし リンクや ボタンを 辿 って 他 のペー ジへの 移 動 を 行 います 悪 意 のあるユーザは 本 来 通 るべきページを 経 由 せずに 直 接 /profile.php へアクセスするなど 管 理 者 が 想 定 していないペ ージ 遷 移 を 試 みることが あります 悪 意 のあるユーザ では CitrixWAF ではどのようにセッション 追 跡 を 行 っているのでしょうか CitrixWAF はページ 内 の HTML ソースを 解 析 し そこに 埋 め 込 まれたリンク 先 URL を 読 み 取 ることで 次 に 遷 移 できるページ URL を 限 定 することができます - 2 -
不 正 な ページ 遷 移 /login.php <form action="top.php" method="post"> /top.php <a href="profile.php"> 会 員 情 報 の 確 認 ページへ</a> ログインページを 経 由 しない 不 正 なアクセス /profile.php : 太 郎 30 歳 ログインページを 経 由 しない 不 正 なアクセス 例 えば などの 登 録 情 報 を 変 更 する 機 能 を 想 定 します 1 ページ 目 で 現 在 の 登 録 情 報 が 入 力 欄 に 埋 め 込 まれて 表 示 され その 入 力 欄 の 必 要 な 部 分 を 書 き 換 えてボタンを 押 すと 2 ページ 目 で 確 認 画 面 となり 変 更 ボタンを 押 すと 変 更 が 処 理 されて 3 ページ 目 が 表 示 されるという 典 型 的 な 構 成 を 想 定 します ここで 不 正 なトラップ(スクリプト)を 踏 ませて 3 ページ 目 に 直 接 飛 ばされ ユーザが 意 図 しない 変 更 操 作 をさ せられてしまうのが CSRF の 一 例 です henshu.php kakunin.php henko.php 現 在 の 登 録 情 報 現 在 の 登 録 情 報 確 認 画 面 変 更 結 果 横 浜 市 港 北 区 045-476-2163 編 集 東 京 都 新 宿 区 03-1111-1111 画 面 遷 移 東 京 都 新 宿 区 03-1111-1111 画 面 遷 移 東 京 都 新 宿 区 03-1111-1111 上 記 を 書 き 換 えて 下 の 変 更 ボタンを 押 して 下 さい 変 更 上 記 を 書 き 換 えて 下 の 変 更 ボタンを 押 して 下 さい 変 更 上 記 の 内 容 で 問 題 なければ 確 認 ボタンを 押 して 下 さい 確 認 登 録 情 報 を 上 記 の 内 容 へ 変 更 しました クリック クリック /henko.php?name=ドラえもん Start URLに 登 録 がないURLへの 直 接 アクセスは 禁 止 悪 意 あるトラップを 踏 んでしまったユーザ Start URL の 機 能 を 使 って 1 ページ 目 の URL(henshu.php) もしくはもっと 手 前 のページの URL をエントリ ーポイントとして 指 定 しておくことで それ 以 降 のページに 直 接 遷 移 することを 禁 止 することが 可 能 です - 3 -
Form Field Consistency Check 双 方 向 の 通 信 を 精 査 し 自 動 的 にパラメータの 一 貫 性 をチェックして クライアント 側 での 不 正 改 ざん を 防 ぐ ゼロデイアタックも 防 御 可 能 CitrixWAF の 独 自 機 能 CitrixWAF はサーバから 返 された HTML の 中 身 を 全 て 精 査 します そこに Hidden のような Read-Only のパラ メータがある 場 合 次 に 来 るクライアントからのリクエストで 同 一 のパラメータ 名 と 値 があるか 検 査 しま す ラジオボタン チェックボックス プルダウンボックスのような 場 合 でも 値 が 精 査 したものと 一 致 す るか 検 査 します もし HTML になかったパラメータ 名 や 値 が 含 まれていると 不 正 アクセス(パラメータ 不 正 変 更 )と 見 なされ 事 前 に 指 定 したエラーページへリダイレクトされます テキストボックスのように 値 が 未 定 の 場 合 でも パラメータ 名 の 不 正 変 更 がないかはチェックされます このパラメータの 一 貫 性 チェック はデフォルトで 動 作 しています Hiddenフィールド プルダウンボックス <input type= hidden name= price value= 10000 > <select name= sushi"> <option value= maguro >まぐろ</option > <option value= kanpachi >かんぱち</option> <option value= ebi >ぼたん 海 老 </option > </select> Client チェック Web Server 一 貫 性 をチェック Cookie Consistency Check 双 方 向 の 通 信 を 精 査 し 自 動 的 に Cookie 値 の 一 貫 性 をチェックして クライアント 側 での 不 正 改 ざん を 防 ぐ CitrixWAF の 独 自 機 能 CitrixWAF はサーバから 返 された Set-Cookie ヘッダをモニターし 次 回 以 降 のリクエストに 同 じ Cookie が 付 いていることを 期 待 します もし 異 なる Cookie が 付 いていた 場 合 Cookie が 改 ざんされたと 判 断 し そ の 不 正 な Cookie を 削 除 します この Cookie の 一 貫 性 チェックはデフォルトで 動 作 しています - 4 -
Client CitrixWAF Web Server Set-Cookie: User=A Set-Cookie: User=A Cookieを 改 ざんしてやれ! Cookie: User=B 改 ざんされた 不 正 なCookieは 削 除! ブラックリスト(シグニチャー) 型 WAF では 十 分 でない! ブラックリスト 型 では 一 般 的 なアプリケーションでブロックしたほうがよいであろうパターンをパターン マッチでブロックするためのリストでのマッチングになりますので 攻 撃 者 からの 一 般 的 なアプリケーショ ンに 対 する 不 正 な 入 力 値 をブロックすることができます しかしながら 実 際 のアプリケーションではアプリケーション 毎 にそれぞれ URL(ディレクトリ 構 造 )や 使 用 するパラメータ Cookie などが 異 なり 全 てをパターン 化 しブロックリストで 防 ぐことができません そ のため ホワイトリストでアプリケーション 毎 のアプリケーションで 許 可 すべき 通 信 パターンだけをリスト 化 し それ 以 外 をブロックすることでアプリケーションの 安 全 性 を 高 めることができるのです Citrix WAF のホワイトリスト 設 定 は 簡 単! 未 知 の 攻 撃 に 強 いホワイトリスト 型 の WAF を 導 入 しても Web アプリケーションに 組 み 込 まれているパラ メータ(Hidden ラジオボタン チェックボックス プルダウンなど) リンク クッキー 情 報 は 数 千 数 万 と 存 在 し そのすべての 値 を 手 動 で 正 確 にホワイトリスト 化 することは 不 可 能 といっていいかもしれませ ん CitrixWAF であればサーバから 返 された HTML の 中 身 を 全 て 精 査 し リアルタイム 且 つ 全 自 動 でホワイト リストを 有 効 にします このことにより 管 理 者 が 手 動 でホワイトリスト 作 成 するということがなくなります また コンテンツが 更 新 された 場 合 であっても 自 動 的 にホワイトリストを 作 成 する CitrixWAF であれば 追 加 作 業 を 必 要 としません - 5 -
また 現 在 CitrixWAF を 購 入 されているお 客 様 は ライセンス 費 用 の 追 加 なしでホワイトリスト 機 能 の 利 用 が 可 能 です そのため すでに CitrixWAF/ 旧 Teros WAF をご 利 用 いただいているお 客 様 におかれましても ホワイトリストを 利 用 されることをお 勧 めします 最 新 の NetScaler シリーズではホワイトリスト 機 能 を 利 用 することでのパフォーマンス 劣 化 はほとんどあり ません 弊 社 エンジニアによるコンサルティング 支 援 サービスもご 提 供 しておりますので CirixWAF の 導 入 をご 検 討 の 方 もしくは 旧 Teros/ NetScaler をご 利 用 のお 客 様 でホワイトリスト 機 能 をご 利 用 希 望 のお 客 様 は ぜひお 問 い 合 わせください <Citrix 製 品 お 問 い 合 わせ 先 > マクニカネットワークス 株 式 会 社 Citrix 製 品 担 当 TEL: 045-476-2010 FAX: 045-476-2060 E-mail: citrix_sales@cs.macnica.net 製 品 詳 細 : http://www.macnica.net/citrix/waf.html/ - 6 -