SCAN DISPATCH :ブラウザ・ヒストリのCSRF対策用トークンを発見する方法、研究者が発表 | ScanNetSecurity
2024.05.04(土)

SCAN DISPATCH :ブラウザ・ヒストリのCSRF対策用トークンを発見する方法、研究者が発表

 SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。

国際 海外情報
 SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。

──

 クロスサイトリクエストフォージェリ(Cross site request forgeries,CSRF)は、攻撃者が、あらかじめWebページを用意し、そこに訪れたユーザのブラウザを使用し、ユーザが少し前に訪れたWebメールやWebショップのアカウントを操作する攻撃。この攻撃は、ユーザが気がつかない間に行われること、正規のWebページであっても、セキュリティが万全でない場合に何者かによって攻撃コードを埋め込まれる可能性があることに加え、ユーザにとっては被害が膨大になる可能性がある攻撃だ。

 CSRFを防止する方法として使用されているのが、トークンの使用だ。その実装方法は開発者によって異なっているが、ポピュラーなものにURLの一部にランダムに生成されたトークンをアペンドする方法がある。

 この方法は、トークンのブルートフォースがほとんど不可能であることから、安全と考えられている。その理由は、例えばBase16で5文字のトークンの場合、組み合わせは393,216にもなり、これだけの数のリクエストをサーバに試みれば必ず検知されてしまうこと、通常、間違ったトークンを使用して30回以上のリクエストが行われた場合には、セッションを無効とするようにアプリケーションはプログラムされているからだ。

 ところが、SecureThougts.comというWebページのInfernoというセキュリティ研究者が、URLにアペンドされた5文字程度のトークンならば、クライアント側でこのトークンを探し出してCSRF攻撃が行えると発表した。『ウェブアプリケーション セキュリティ』などの著書で知られている金床 氏こと、株式会社ビットフォレスト 取締役CTO、株式会社セキュアスカイ・テクノロジー 技術顧問の佐藤匡氏は、この攻撃について「面白いテクニックですね。私が知る限りでは新しい発見(攻撃手法)です」とコメントしている。

 この攻撃方法について、Inferno氏とのメールインタビューを交えて紹介したい。

 この攻撃、「Hacking CSRF Tokens using CSS History Hack」とタイトルがついており、Jeremiah Grossman氏が3年前に発見したCSSヒストリーハックをベースとしている。攻撃は、(1)同一セッション内ではトークンが同じ、あるいは、(2)同一セッション内ならば、古いフォームに使われたトークンも有効、というどちらかの条件があれば可能だ。大手IT企業のセキュリティ部をリードするInferno氏は「調査をしたところ、大手企業のWebショップなどでこの脆弱性を多数発見した」と述べており、実際、アメリカの大手家電販売社、BestBuy.comでこの脆弱性が確認されている。また、サーバにリクエストをかける必要が無いため、サーバ側では阻止できないだけでなく、悪意のあるWebページ側では、JavaScriptを使わずにCSSだけで攻撃が行えることもわかっており、ユーザーがJavaScriptを無効にしても攻撃が可能となるため、日本の開発者も至急対策を講じる必要があろう。

 そもそも、CSRF対策の方法自体がきちんと理解されていないことも事実だ。東京支社でアプリケーション・セキュリティを担当している、Stach & Liu社のシニア・セキュリティ・アソシエイツ、ジャスティン・ヘイズ氏によれば、「現在のWebアプリケーションは、CSRF攻撃に概して無防備である。いくつかの対策方法が存在するものの、開発者にきちんと理解されておらず、アプリケーションやユーザを保護することができない、いいかげんな実装が行われる結果となっている」そうだ。また、佐藤匡氏も「(日本でも)ここ1〜2年間、新しく開発されるアプリケーションではCSRF対策が考慮されるケースが少しずつ増えているようです。ただ、実際の割合などの統計的なデータは存在していないだろうと思います」と述べている。

 さて、JavaScriptとCSSを使ったこの攻撃のコンセプト実証がInferno氏のWebページにある。まず、

http://securethoughts.com/?param1=val1&csrftoken=b59fe

を訪れてb59feを英字から始まる5文字のbase16のストリング(つまり、>a0000)に変更してから、

http://www.securethoughts.com/security/csrfcsshistory/csrfscan.html

を訪れると、Webページでアクティブなトークンを表示する。

 Inferno氏はサーバ開発者側の対策として…

【執筆:米国 笠原利香】

【関連リンク】
Inferno氏のブログ
http://securethoughts.com/2009/07/hacking-csrf-tokens-using-css-history-hack/
──
※ この記事は Scan購読会員向け記事をダイジェスト掲載しました
購読会員登録案内 http://www.ns-research.jp/cgi-bin/ct/p.cgi?w02_ssw

《ScanNetSecurity》

PageTop

アクセスランキング

  1. ランサムウェア被害の原因はスターティア社の UTM テストアカウント削除忘れ

    ランサムウェア被害の原因はスターティア社の UTM テストアカウント削除忘れ

  2. クラウド労務管理「WelcomeHR」の個人データ閲覧可能な状態に、契約終了後も個人情報保存

    クラウド労務管理「WelcomeHR」の個人データ閲覧可能な状態に、契約終了後も個人情報保存

  3. 信和へのランサムウェア攻撃で窃取された情報、ロックビット摘発を受けてリークサイトが閉鎖

    信和へのランサムウェア攻撃で窃取された情報、ロックビット摘発を受けてリークサイトが閉鎖

  4. 今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

    今日もどこかで情報漏えい 第23回「2024年3月の情報漏えい」なめるなという決意 ここまでやるという矜恃

  5. 山田製作所にランサムウェア攻撃、「LockBit」が展開され複数のサーバのデータが暗号化

    山田製作所にランサムウェア攻撃、「LockBit」が展開され複数のサーバのデータが暗号化

  6. 「シャドーアクセスとは?」CSAJ が定義と課題をまとめた日本語翻訳資料公開

    「シャドーアクセスとは?」CSAJ が定義と課題をまとめた日本語翻訳資料公開

  7. サイバーセキュリティ版「天国と地獄」~ サプライヤーへサイバー攻撃、身代金支払いを本体へ請求

    サイバーセキュリティ版「天国と地獄」~ サプライヤーへサイバー攻撃、身代金支払いを本体へ請求

  8. 「味市春香なごみオンラインショップ」に不正アクセス、16,407件のカード情報が漏えい

    「味市春香なごみオンラインショップ」に不正アクセス、16,407件のカード情報が漏えい

  9. 「GMOサイバー攻撃 ネットde診断」Palo Alto、Cisco、SonicWall、OpenVPN に対応

    「GMOサイバー攻撃 ネットde診断」Palo Alto、Cisco、SonicWall、OpenVPN に対応

  10. SECON 2024 レポート:最先端のサイバーフィジカルシステムを体感

    SECON 2024 レポート:最先端のサイバーフィジカルシステムを体感

ランキングをもっと見る