システムの脆弱性を狙って攻撃するSQLインジェクションは、システム開発者にとって気を付けなければならない攻撃手法です。

この攻撃により、データベースに登録された個人情報などを不正に取得される恐れがあるため、対策が必要になります。

そこで今回は、SQLインジェクションの概要、攻撃に対する対策や被害事例について解説します。

SQLインジェクションとは?

SQLインジェクションとは、ウェブ上で管理されるデータベースに攻撃を仕掛けるための一つの手法です。一言で言うと不正にSQLを書き換えてしまう攻撃です。

SQLとは
「Structured Query Language」の略で、リレーショナルデータベースの操作を行うための言語の一つ。

データベースと連携したウェブアプリケーションの多くは、利用者からの入力情報を基にSQL文を構成しています。
SQL文の構成に問題がある場合、攻撃によってデータベースを不正利用される可能性があります。

データベースは、安全なSQLであるか不正に書き換えられたSQLであるかを見分けることはできません。文法さえ正しければSQLを実行します。

security_161



SQLインジェクションによる主な被害

SQLインジェクションにより引き起こされる被害の代表的なものとして以下の3点をご紹介します。

  • 個人情報漏えい
  • バックドアの設置
  • Webサイト改ざん
いずれも、社会的な信用の失墜だけでなく、Webサイト・サーバの修復費、ユーザーへの謝罪費用(集団訴訟の可能性も)など多大な損害を被ることになります。

個人情報漏えい

SQLインジェクションにおける最大の脅威は、「個人情報や企業の機密情報などの情報の漏えい」です。
個人情報漏えいにより、企業の信用は失墜、被害者への謝罪費用など多大なダメージを負うことになります。

Webサイト運営者として脆弱性への対応を怠っていると、集団訴訟を起こされた場合、敗訴する可能性があります。
その場合の費用は莫大になる可能性があります。

バックドアの設置

バックドアはコンピュータウイルスの一種で、ネットワークを通じて外部からコンピュータを自由に操作できるような経路のことです。

一度、設置に成功されると、次回からの侵入は簡単にできてしまいます。いわゆる「コンピュータが乗っ取られた状態」になります。

バックドアウイルス=乗っ取られた状態ですので、遠隔操作が可能になります。

遠隔操作され機密情報や重要情報が盗まれる、削除される、ネットワーク攻撃の「踏み台」として利用される、勝手に掲示板への犯罪予告に利用されるなどの危険があります。

Webサイトの改ざん

Webサイトの改ざんは、Webサービスに影響をもたらすだけでなく、ユーザーに被害を与えることになります。

Webサイトを改ざんすることで、マルウェアをダウンロードするサイトへ一般の利用者を誘導することができます。

マルウェアとは
不正かつ有害な動作を行う意図で作成された悪意のあるソフトウェアや悪質なコードの総称です。

詳しくは以下の記事をご覧ください。

security_2249

マルウェアとは?対処するための基礎知識を解説

攻撃者は、一般利用者のPCをマルウエアに感染させ、感染したPCをどんどん増やしていきます。PCをマルウェアに感染させ犯罪の踏み台として利用します。

SQLインジェクション攻撃による被害事例

SQLインジェクションの脆弱性で被害にあった事例をいくつか紹介します。

被害内容:個人情報漏えい

株式会社サウンドハウス

サーバがクラッキングされ、97,500名分のクレジットカード番号を含む個人情報が流出した。クレジット会社からは加盟店契約を解除された。

お詫びとして、2007年1月1日~2008年3月22日までに新規会員登録した、122,884名に1000円相当(約1億2000万円相当)の期限付きクレジットを負担した。

ソニーマーケティング株式会社

2011年4月、ソニーが運営するPlayStation Network(以下、PSN)において大規模な個人情報流出が発生しました。

攻撃者は、SQLインジェクションの手法を使い、7,700万人分の個人情報が漏えいしたと言われています。

ソニーは集団訴訟を起こされ、米カリフォルニア州南部地方裁判所に提出された文書によると、集団訴訟に原告として加わった人々に、1500万ドル相当(15億円相当)のゲームとサービスを無料で提供することで和解となりました。



被害内容:バックドアの設置

パソコン遠隔操作事件

2012年に他社のパソコンを遠隔操作し、掲示板に襲撃や殺人などの犯罪予告を行った「パソコン遠隔操作事件」があります。

警察は、遠隔操作されていたことに気づかず書き込みを行ったパソコンの所有者4名を誤って逮捕しました。

その後、5人目に逮捕しようとした男性のパソコンから、たまたまウイルスが見つかったため、冤罪であることが判明します。

security_159

もし、ウイルスが見つかっていなければ、遠隔操作されていることに気づくことはなかったかもしれません。

被害内容:Webサイトの改ざん

株式会社エイチ・アイ・エス

Flash Playerの脆弱性を狙われ、古いバージョンを使っていたユーザがH.I.Sのサイトを閲覧した場合、マルウェアに感染するように仕組まれていました。

security_150

株式会社KADOKAWA

Webサイト改ざんが行われていた期間中に、脆弱性を修正していないWindows環境で閲覧した場合、PCにマルウェアが組み込まれ、個人情報が盗まれる状態だったとして謝罪しています。

security_151

トヨタ自動車株式会社

Webウェブサイトの一部が改ざんされ、改ざん期間中に該当するコンテンツを閲覧した場合、不正プログラムが自動的に実行される状態になっていた。

security_152



SQLインジェクション攻撃への対策

SQLインジェクション攻撃を防ぐ対策を紹介します。

エスケープ処理の実施

Webページを構成する要素として、Webページの本文やHTMLタグの属性値等に相当する全ての出力要素にエスケープ処理を行います。

エスケープ処理とは、プログラミング言語で使用される特別な意味を持つ記号文字が、普通の文字として解釈されるように置き換えることです。

例えば、入力された文字列の中に「’」(シングルクォート)があった場合には、これを「”」(ダブルクォート)に置き換えます。これにより、ログイン認証を回避する「’or’1’=’1」というコードが「”or”1″=”1」に変換され、普通の文字として認識されます。

WAFを導入する

WAF(Web Application Firewall)とは、Webアプリケーションの脆弱性を悪用したサイバー攻撃からWebサイトを守るためのセキュリティ対策のシステムです。

脆弱性の改善ではありませんが、SQLインジェクション攻撃を防ぐことができます。

運用が簡単なクラウド型のWAFもあるので、導入を検討してみてはいかがでしょうか。

Webアプリケーションに脆弱性がないか調査する

Webアプリケーションの脆弱性は定期的にチェックしましょう。

セキュリティ診断というサービスを利用すると、脆弱性のチェックや疑似的な攻撃を実施してくれます。

まとめ

経済産業省は、2006年2月20日、「個人情報保護法に基づく個人データの安全管理措置の徹底に係る注意喚起」と題する文書において、「SQLインジェクションによるデータベースの不正利用を防止することが必要」と注意喚起を促しています。

システム・サービス利用者の個人情報を守るために、対策を講じておきましょう。

無料資料ダウンロード

自分でできるサイトのセキュリティチェック14選

自分でできるサイトのセキュリティチェック14選

無料ダウンロード

ホームページ健康診断

ホームページ健康診断

無料ダウンロード




security_2228
RELATED