SQLインジェクション攻撃の波は今も続いています。その被害は情報漏えいだけではなく、多くの被害者を発生させてしまう可能性もあるのです。第6回ではSQLインジェクション攻撃が引き起こす被害について解説します(編集部)
ナツ 「あー。またたくさんやられてるのかぁー」
クウ 「どうしたんですかー?」
ナツ 「これこれ」
クウ 「ん……? 何ですかこのマーク?」
ナツ 「ここ、昨日まではショッピングサイトだったんだけどね」
クウ 「またまたぁ。あんまりショッピングサイトっぽくないっすよ」
ナツ 「うん。なんか、ついさっき改ざんされたっぽいよ」
クウ 「うひゃー」
クウたちの身の回りでは、有名なWebページが改ざんされてしまうという事件が多発していた。TOPページが改ざんを行った組織のロゴマークに書き換えられていたり、アクセスするとウイルスをダウンロードさせる仕組みになっていたりという悪質なものである。Webページを改ざんされた企業は、顧客からの信用を失ってしまう。ウイルスをダウンロードさせる場合などには、信用を失うだけでなく、顧客に対して実害を与えてしまうことになりかねない事態となり、非常に被害の大きいものとなってしまう。
ナツ 「最近改ざんがはやってるみたいだねぇ……」
クウ 「こんなものはやらないでほしいすよっ!」
ナツ 「だねー。誰も得しないのにー」
クウ 「けど、これって、どうやって改ざんしてるんですかね。やっぱり、サーバのroot権限奪って〜とか難しいことしてんすかね」
ナツ 「今回の改ざんはWebアプリからやったみたいで、SQLインジェクションとクロスサイトスクリプティングの合わせ技みたいだよ」
クウ 「ほー。これって、Webアプリの脆弱(ぜいじゃく)性で改ざんされちゃってるんですかぁ」
ナツ 「うん。そうそう」
クウ 「けど、SQLインジェクションというと情報漏えいって気がしますけど、それだけではないんですね」
ナツ 「1つの脆弱性でも被害はいろいろあるからねぇ」
SQLインジェクションで真っ先に思い浮かべる被害は、「顧客情報の漏えい」であろう。しかし、SQLインジェクションというのはあくまで攻撃手法(脆弱性のタイプ)の名前であり、それにより起き得る被害はどの程度の攻撃が可能かという要素や、ターゲットとなるシステムの保持している情報などによって大きく変わる場合が存在する。
SQLインジェクションは、「任意のSQL文を対象サーバ上で実行できる」というものなので、SQL文を対象サーバ上で実行した結果により可能なことがそのまま被害となり得る。データベースで管理している情報であれば、任意の情報を引き出したり、場合によっては情報の改ざんや破壊を行ったりすることが可能なのである。特にWebページ上に表示する文章をデータベースで管理している場合、当然、「Webページの改ざん」という被害が発生する。
ユウヤ 「ほう……。なんかまた大変なことになってるみたいですね」
クウ 「おお。ユウちゃんが珍しく興味を持ってる!」
ユウヤ 「こういう情報はチェックしとかないと。お客さんとこ行ったときに話題になったりするからな」
クウ 「なんにも興味ない子だと思ってたのに」
ユウヤ 「……そんなわけあるか」
クウ 「SQLインジェクションっていったらさ、やっぱりデータベース内の情報漏えいとかじゃない?」
ユウヤ 「まあ、でも、これはどう見てもページ改ざんだな」
クウ 「SQLインジェクションでページ改ざんっていわれてもいまいちピンとこないなー」
ナツ 「ふむ。あんま時間ないけど、ちょっとだけなら教えたげよう」
クウ 「おお。ありがたき幸せです」
Copyright © ITmedia, Inc. All Rights Reserved.