外注したシステムの脆弱性は誰のせい? 連日の「深刻な脆弱性」にどう向き合い、どう対応するか?(2/4 ページ)
連日のように公開される脆弱性情報の中から自分たちに関係するものを見つけ、適切な優先順位で対応するのは容易ではない。この状況に、企業はどう向き合えばよいのだろうか? @ITは、2017年8月30日にセミナー『連日の「深刻な脆弱性」どう向き合い、どう対応するか』を東京で開催した。多数の専門家やセキュリティベンダーが登壇した同セミナーの模様をお届けしよう。
XSSは「ポップアップ」だけにあらず!「勝手にアドミン追加可能」を放置するな
特別講演「ソフトウェアの脆弱性を突かれ攻撃されるまでの一部始終」では、サイバーディフェンス研究所 技術部の岩崎徳明氏が講演を行った。個人的にもバグハントが大好きだという岩崎氏は、多くのWebアプリで発見され、放置される「クロスサイトスクリプティング(XSS)」について掘り下げる。
XSSはWebアプリだけではなく、ソフトウェアにおいても検出されやすい脆弱性だ。しかし、その実態は分かりにくいと岩崎氏は述べる。XSSは受動的な攻撃に悪用されることが多く、その影響もWebアプリの特性によって変化する。そのため、まずは「XSSがどのように攻撃に使われるか」を理解することで、その影響範囲を把握すべきだという。
反射型XSSの実態
XSSには幾つかの種類がある。そのうちの1つが、リクエストの中にスクリプトを埋め込み、それを脆弱なWebサーバに送信することでリクエストの送信者に不正なスクリプトを実行させる「反射XSS」だ。岩崎氏は例として、あるログ収集分析ソフトウェアのXSS脆弱性(既に修正済み)を例に取り、その攻撃内容を紹介する。この手法では攻撃者が用意した「スクリプトを組み込んだURL」を用意し、その“わな”に誘導する必要がある。
岩崎氏が発見したのは、ホストヘッダを経由したXSSだ。リクエストのホスト部に埋め込んだスクリプトがそのまま展開されるというXSS脆弱性が存在したが、そのままでは“わな”を作れない。ところが、Internet Explorer 11に固有の挙動を組み合わせることにより、攻撃者の意図するスクリプトを被害者のPCに実行させ、ログ収集分析ソフトウェアのXSS脆弱性を突くことができるようになるという。
Internet Explorer 8以降には「XSSフィルター」が実装されている。単純なXSS攻撃はこれにより防ぐことができるのだ。ところが、攻撃者はこのフィルターをバイパスすることを知っており、今回の攻撃もタグのフィルターをすり抜けるよう細工することで、最終的に「突破」できてしまうという。
XSSによる攻撃の手法を知る
XSSは“わな”のURLを踏むことでアラートダイアログが表示されるという記事が多い。そのため、「XSS脆弱性があっても、大した攻撃はできない」と思い込んでいる人もいるかもしれない。実は、XSS脆弱性により、システムから不正に情報を取り出すだけではなく、管理者権限を持つユーザーを勝手に登録することもできる。
岩崎氏がデモを行った2つの事例は、まさにXSS脆弱性の幅広さを示すものだ。1つ目の攻撃手法は“わな”のURLを踏んだ被害者の「セッション情報」を抜き出すもの。被害者のブラウザにXSSを利用してスクリプトを実行させると、セッションIDを盗むことができる。これは「セッションハイジャック」と呼ばれる手法で、セッションIDを利用することで、“なりすまし”が実現できてしまう。
とはいえ、単純な手法だと「セッションハイジャック対策」を行っているシステムには攻撃ができない。クッキーにHttpOnly属性が付与されていれば、セッションIDを盗み出すことはできないからだ。そもそも攻撃者が外部にいる場合は内部にあるログ収集分析ソフトウェアへのアクセスもできない。そこで岩崎氏は、ブラウザの脆弱性を攻撃するフレームワーク「BeEF」を使い、被害者のブラウザを遠隔操作することでこの回避を行う、2つ目の攻撃手法を紹介した。
XSSで挿入したJavaScriptは、同一のオリジンと判断されるため、レスポンスをJavaScriptで取得することが可能になる。リクエストではセッションIDが自動的に送信されるため、被害者PCのブラウザを経由して“なりすまし”によるアクセスを行え、管理者権限を持つ利用者を不正に追加することもできるようになる。
被害者ブラウザを経由して“なりすまし”による不正操作を行うことで、新たな「admin2」ユーザーが追加できた。XSSが残っているシステムでは、このユーザーを踏み台にさらに深く攻撃が行われてしまうだろう
XSSはソフトウェアによって「大きな影響」を及ぼす
「ソフトウェアのXSSは内部のIPアドレスの特定が必要な上、被害者を“わな”のURLにうまく誘導する必要があるなど、攻撃を成功させるための条件は多い。しかし、成功してしまうと被害者に“なりすまし”た不正操作が可能だ。社会インフラや個人情報を取り扱うシステムなどであれば、その影響は非常に大きい。脆弱性が修正された最新バージョンのソフトウェアを利用をするとともに、WebブラウザやOSも最新のセキュリティアップデートを行うべきだ」(岩崎氏)
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 脆弱性にまみれた世界で戦う人たち――バグハンター、CSIRT、レッドチーム
ランサムウェア「WannaCry」のインパクトが記憶に新しい中、ウクライナやロシアを中心に感染を広げた「NotPetya」が登場した直後の開催となった、2017年6月の@ITセキュリティセミナー。レポートシリーズ第2回は、脆弱(ぜいじゃく)性に関する講演を中心に紹介する。 - 「日本型組織」はなぜサイバー攻撃に弱いのか
本稿では、@IT編集部が2017年2月7日に東京で開催した「@ITセキュリティセミナー」レポートをお届けする。 - 東京五輪からバグハントまで、多様な視点からサイバーセキュリティの“今”を探る
本稿では、@IT編集部が2016年6月23日に東京・青山ダイヤモンドホールで開催した「@ITセキュリティセミナー」レポートの第1弾をお届けする。