カカクコム事件-続報5 SQLインジェクションか?

データベースを攻撃、外部から支配 カカクコムHP事件 asahi.com 2005年05月24日10時34分
製品情報などを管理するデータベースが乗っ取られたのが原因だったことが23日、関係者の話でわかった。コンピューターの基本ソフト(OS)などの欠陥を突いて侵入する通常のサイト攻撃とは違い、ソフトの不備ではなく、データベースの安全設定が不十分だった点を悪用された。

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


 残念ながらこの記事だけでは詳細は不明だが、具体的にアタック方法の名前が出てきたところをみると、まんざらガセでもなかろう…が、NHKには「朝日新聞虚偽報道問題」、国会でも「また朝日かよ」と揶揄される、問題のありそうな新聞の書くことなので、続報を待ちたいと思う(笑)

 とりあえずコレが本当のこととしてだが。

 SQL Injection Attackに関してはWebアプリケーションに潜むセキュリティホール(2) - Page1 @ITなどがよい解説だと思う。
 詳しい解説もWeb上で見つかる。ステップバイステップで解説してくれているSteve Friedl's Unixwiz.net Tech Tips SQL Injection Attacks by Exampleこのページなどは参考になると思う。

 …で、と。仮のこの手の穴があり、そこを突かれたとすると、俺はど~してもこの質問を発しなきゃならない。

「で、どのヘンが『最高レベルのセキュリティ』なんすか?」

 「ユーザがマトモな入力をすると思うな」というのはヒューマンインタフェイスを持つプログラムでは当然の前提であろう。そのヘンのお遊びWeb掲示板ですらタグ変換とかタグ除去とかフツーにやるはずだ。SQL文だって同じコトで、発行する前に「きれいにする」のは常識の範囲だろう。
「忘れていました」ということはあるだろうが、「最高レベル」を標榜するシステムであれば、事前のテスト・デバッグ段階で引っかかっていてしかるべきだと思うのだが。

 仮に、そういう技術的裏づけもなしに「最高レベルが破られた」と本気で発言していたとすれば、その認識が今回の事件の「原因」といえるのではないか?
[PR]
by SIGNAL-9 | 2005-05-24 17:47 | 情報保護・セキュリティ | Comments(0)
<< NTTデータ、1万1835人分... カカクコム事件-続報4 >>