
最近よく聞くSQLインジェクション攻撃とは!?セキュリティ対策を万全にして被害を防ぐ!
2008年6月10日
ア: サニタイジング
イ: クレンジング
ウ: リフレッシュ
正解はコラムの後にあります。ヒントはコラムを読んでみよう。
インターネットを経由してWebサーバをハッキングするのに使われるのが「SQLインジェクション」です。古くから存在するものですが、日本では2008年3月以降、Webサイト上でWebサービスを行なうASPをターゲットにしたSQLインジェクション攻撃が非常に増加し、セキュリティ対策ソフトで有名なトレンドマイクロのWebサイトが改ざんされるなど大きな被害が出ています。
SQLインジェクションの「SQL」はリレーショナルデータベースを構築するための言語です。もう一つのインジェクションとは、何かを注入する、という意味です。SQLは多くのWebサイトで活用されています。ただSQL内にはいくつかバグと呼ばれる欠陥が残っています。このSQL内に存在しているバグと呼ばれる欠陥をついてWebサイトを乗っ取ったり、スパイウェアなどを仕掛ける手法がSQLインジェクション攻撃と呼ばれます。
その手法は分かりやすいものです。Web上で行なわれているサービスの多くは、ログインしたりショッピング時に住所など入力するためにWebフォームという入力欄が用意されています。このWebフォームにSQLのバグに適合する命令を入力(インジェクション)することで、外部からWebサーバ内に管理者が意図したものと異なる別のプログラムを追加したり、管理者用のパスワードを抜き出してしまうというものです。
本来、こうした攻撃を行なうためにはSQLやWebサーバなどに対する専門の知識が必要ですが、現在ではSQLインジェクションのために用意された専用ツールの存在も噂されており、2008年の被害増加はこうしたツールを使用した集中攻撃が引き起こしたものと言われています。ただし、SQLインジェクションはSQLのバグに対する理解と対策を取っていれば、被害を受けることはありません。
情報処理推進機構セキュリティセンターでは、SQLのバグを使った脆弱性を見付け出すための専用ツール「iLogScanner」を提供しています。このソフトは、攻撃によく用いられる文字列を検出し、頻度や成功の可能性などを検出してくれます。
また、WindowsのメーカーであるマイクロソフトもSQLインジェクション攻撃に関するページを設けるなど、情報の開示や告知が進められています。
サーバ側だけでなく、Webページを閲覧するユーザ側もスパイウェアなどを埋め込まれてしまわないよう日頃からセキュリティ対策をしておく必要があります。

リレーショナルデータベースに対応する言語。仕組みが分かりやすいこと、ISOやJISといった機関で認定・規格化されていることなどから、リレーショナルデータベースを構築するのに使われる標準的な言語とされている。
ショッピングサイトなどで使われている商品情報や個人情報、価格といったバラバラの情報を動的に結びつけるために使われている技術。多くのサイトで利用されている。
正解.ア: サニタイジング
「無害化」とか「消毒」という意味の、サニタイジングが正解です。
大切なサイトが病気にかかってしまわないように、入力データは清潔に保ちましょうね。
ナガハタ トシヒロ
フリーライター兼編集者として、主にパソコン関連のレビューおよびテスト記事のライティングおよび雑誌編集を手がけるフリーライター。
![]()
![]()
![]()
![]()
![]()