[事務所TOP] [コラム一覧へ]

ポイント:SQLインジェクション、カカクコム、Webサイト改竄、SQL、問合言語、セキュリティ

SQLインジェクションの警告


カカクコムのWebサイト改竄事件

 ちょっと前(ネットの世界ではかなり前)の話だが、カカクコムがWebサイト改竄という攻撃を受けた。Webサイト改竄という事態に気づきながらも、Webサイト閉鎖は行なわず、運用しながら対応した事で、傷口を広げてしまった。しばらく日数がたってから、サイトを閉鎖し、対応を完了させ後、サイト公開を再開したが、社会的信用をややおとしてしまう結果となった。

 Webサイト改竄という事実を認識した時点で、サイト閉鎖をして対応していれば、もう少し問題は小さかったと思う。ネット企業にとってはWebサイトは生命線である。それを閉鎖するのは大変な勇気が必要であると思う。可能であれば、サイトの公開を続けたまま対応をしたいと考えるのは、とてもよくわかる。ただ、生命線であるからこそ、それは大切にしていただきたいと思う。ジャパネットたかたが、顧客情報漏洩の際、その生命線である「通販事業」を一時とめたことで逆に社会的信用を上げた例は記憶に新しい。

 「社会的信用」という金額で換算できない重要な経営資源を守る事は、何よりも優先されるという事は、私のような若造が改めて言う事でなく、世の経営者の方ならみな分かっていると思う。

 前置きが長くなってしまったが、今回のコラムで書きたいことは、カカクコムの事例をむし返すことではない。カカクコムが出くわしてしまった事故の手口である「SQLインジェクション」という手口についてである。

SQLインジェクションとは

 今回の話は少し技術的な話である。ただ世の中にはそういう手口もあるという事で、なんとなく読んでいただけるとありがたい。システム開発者の方は、多くの方がご存知の手口だと思うが、再認識、再確認のために読んでいただければ幸いである。

 まず、SQLとは何か。それはデータベースへ「こういう条件のデータを出してください」と問い合わせる言語である。言わばデータベースと人間が会話する言葉だと思っていただけるといいと思う。例えば人と人が会話する場合、

”総務部の名簿から昭和42年生まれの人の一覧表を下さい”

と言えば、担当の人はそのような一覧表を作ってくれるであろう。データベースにもこれと全く同じ意味の依頼をSQLという言語を使って問い合わせる事ができる。きっと頑張ってここまで読んでくれた人も読むのをやめてしまうだろうから、具体的にどの様なSQLになるかを説明するのはやめておく。

 問題のSQLインジェクションとは、一例だが先ほどの人間が分かる言葉でいうと以下のような言葉になる。

”総務部の名簿から昭和42年生まれの人の一覧表を下さい”
  ↓(改竄)
”総務部の名簿から昭和42年生まれか、苗字のある人の一覧表を下さい”

という人と人とのコミュニケーションではありえないような言葉である。人であれば、その問合せはおかしいと思うのだろうが、データベースはそうは思わない。苗字に登録のある人を全て一覧表として返してしまう。

 さらに、SQLという言葉では、容易に次の言葉を続けて書くことも出来る。つまりこんな事もできるのだ。

”総務部の名簿から昭和42年生まれの人の一覧表を下さい”
 ↓(改竄)
”総務部の名簿から昭和42年生まれの人の一覧表を下さい。その後で総務部の名簿を全て削除してください”

 このような恐い改竄の問合せの言葉(命令)をユーザーIDを入力するようなユーザに公開されている入力欄から付け加える事ができてしまう。

SQLインジェクションを防衛するには

 SQLインジェクションの攻撃から防衛するには、アプリケーション構築時に、このような危険な問合せの言葉は無効にするようなシステム作りをしなければいけない。

 ここからはシステム構築者向けの話になってしまうが、SQLを連続して書ける;(セミコロン)がある場合はそのSQLを無効にするとか、Where句(条件を記述する場所)で、or(論理和)の使用制限などが具体的な対策になる。また、運用時にアプリケーションの持つ権限を制限するなどの対策も有効であると思う。

 ただ、SQLインジェクションというSQLを改竄してしまう攻撃があることを知っていれば、対策は思いつくことが出来ると思う。但し、重要なのはこのような手口は日々新しい手口が生み出されているという事である。とても大変な事であるが、このような手口の最新情報を常に収集し、システムはその手口に対しての対応が出来ているかを常に検証していくことが必要である。

 なお、情報処理推進機構(IPA)のセキュリティセンターのページでは、このような手口の最新情報も知る事ができる。是非、定期的に覗いてもらえるとよいと思う。

2005年11月14日 宿澤直正


[事務所TOP] [コラム一覧へ]

Copyright (C) 2005 宿澤経営情報事務所