水無月ばけらのえび日記

bakera.jp > 水無月ばけらのえび日記 > 原因は SQLインジェクション?

原因は SQLインジェクション?

2005年5月24日(火曜日)

原因は SQLインジェクション?

データベースを攻撃、外部から支配 カカクコムHP事件 (www.asahi.com)」という記事が出ています。

関係者によると、データベースは「ある範囲の情報を探す」「条件に合ったデータを取り出す」といったコンピューター言語「SQL」で操作する。今回の攻撃は「SQLインジェクション」と呼ばれる手法を応用。攻撃者が利用者のふりをしてデータを入力し、戻ってきたエラーメッセージなどを解析しながらシステムを把握して、データベースを支配下に置いていったとみられる。

「利用者のふりをして」云々はちょっと語弊があるような気がしますが、ともあれ価格.com がやられた原因は SQLインジェクションだったというお話ですね。OS (Windows Server 2003) の不具合ではなかったようでほっと一安心ではあります。

これが事実であれば、ウェブアプリケーションの脆弱性を突かれた事例としては過去最大級ということになるのではないかと思います。また、ある意味私の敗北でもありますね。3月の時点で価格.com を利用していたのに、脆弱性を発見できなかったわけですから。

※そして別の意味では、不正アクセス禁止法の敗北でもあると思います。"IF" の話をしても仕方が無いことは分かっていますが、「もし」office さんが逮捕されていなかったら、私はおそらく SQL インジェクションができないかどうかチェックしていたでしょうから。今回のアクセスは海外からのものだという噂がありますが、それが事実ならば「不正アクセス禁止法は海外からの不正アクセスに対して抑止効果が全く無い」という、以前から指摘されてきたことが証明された形にもなりますね。

これまでのサイト攻撃は、OSの不備やホームページをネットに提供するプログラムのミスなどを突くケースが多かった。今回は、プログラムに欠陥がなくても、コンピューターが正規の命令か悪意のある命令かは判断できない点を突き、命令をそのまま実行させて支配下に置いていた。

SQL インジェクションができてしまったのであれば、ウェブアプリケーション側のサニタイズに不備があったということですから、それは立派な「プログラムのミス」であり「プログラムに欠陥」だと思いますが。「コンピューターが正規の命令か悪意のある命令かは判断できない」って……そりゃそうですが、本来であればそもそも SQL サーバに対して悪意ある SQL 文が渡らないようにする必要があったのに、それを怠っていたからこそ発生したのでしょう。

昔の HTML 解説の件と言い、朝日新聞はもうちょっと IT 系をがんばってほしい感じです。

関連する話題: セキュリティ / 価格.com / SQLインジェクション

最近の日記

関わった本など

インクルーシブHTML+CSS & JavaScript 多様なユーザーニーズに応えるフロントエンドデザインパターンデザイニングWebアクセシビリティ - アクセシブルな設計やコンテンツ制作のアプローチコーディングWebアクセシビリティ - WAI-ARIAで実現するマルチデバイス環境のWebアプリケーション体系的に学ぶ 安全なWebアプリケーションの作り方 脆弱性が生まれる原理と対策の実践ウェブの仕事力が上がる標準ガイドブック 5 Webプログラミング

その他サイト