前回は、クロスサイトスクリプティング(XSS)について説明したが、今回はXSSと並び、話題となっているSQLインジェクションについて説明する。
2年前に立て続けにSQLインジェクションの脆弱性を攻撃された事件が発生したため、この言葉を聞いたことがある人は多いことだろう。それ以前は、SQLインジェクションの脆弱性を攻撃するには、SQLやプログラミングの知識が必要とされていた。
しかし、ちょうど3年ほど前に、SQLインジェクションの脆弱性を攻撃するためのツールが作成されたため、このツールさえ使えれば、誰でも簡単にアプリケーションを攻撃することができるようになった。その結果、2年前よりSQLインジェクションを利用した情報漏えいがたびたび発生することとなった。
SQLインジェクションとは、データベースを使用する場合に、任意のSQL文を実行させてしまう攻撃だ。このため、情報漏えいやデータの削除といった大きな被害をもたらしてしまう。
実際、独立行政法人 情報処理推進機構(IPA)の「ウェブアプリケーションに関する脆弱性届出件数」を見ても、XSSに次いで2番目に挙げられている。
SQLインジェクションの仕組み
この脆弱性の検査方法を説明する前に、SQLインジェクションの仕組みについて説明しよう。
多くのアプリケーションでは、データをデータベースで管理し、SQL言語を用いて、管理しているデータを、検索、追加、更新、削除している。たとえば、検索を行うSQL文は以下のようになる。
この例では、userTableというテーブルから、userIDが「20070001」でかつ、passwordが「passwd」であると言う条件を満たすデータを検索し、userIDとuserNameの値を取得する。一般にアプリケーションでは、任意の条件で検索を実施するため、「20070001」や「passwd」といった条件として、入力データを使用する。
このとき、入力データをそのまま検索条件として使用していると、任意のSQL文が実行できてしまう。先の例であれば、検索条件として、userIDに「1 or 1=1 or 1=1」やpasswordに「' or 'a'='a」といった検索条件を入れることで、以下のようなSQL文が作成され、すべてのデータを取得することが可能となってしまう。
このように、入力データをそのままSQL文の検索条件や、追加/更新データなどに使用していると、本来の意図とは違うSQL文が実行されてしまう。先の例では、本来数値項目であるuserIDの検索条件に数値以外の文字が含まれていたり、SQL文で文字列定数の区切りを示す「'」をエスケープ処理せずに使用しているために意図しないSQL文の実行が可能となる。
関連情報
-
IBM、小規模ビジネス市場向け製品群を発表
IBMは米国時間10月5日、小規模企業向けに規模を縮小したソフトウェア製品群を発表した。これらには、ソフトウェア配布および自動化向けの「Rational Build Forge」や「Tivoli Network Manager」の小規模企業向けに特化させたバージョンが含まれる。 - ウォッチファイア、 ウェブアプリ脆弱性検査ソフトの試用ダウンロード提供開始
- Google Desktopの穴も見つけたウォッチファイア、ぜい弱性検査ソフト最新版を発表
- 国立情報学研究所、ウォッチファイアのウェブアプリ脆弱性検査ツールを採用
- ウォッチファイア、ウェブアプリ脆弱性検査ツール「AppScan QA Single Server版」を販売開始
- テクマトリックス
「セキュリティ」 の新着情報
-
月額498円でノートン先生が保護--イー・モバイル、月額版ノートン 360提供
シマンテックは、イー・モバイルの月額制オプションサービス「EMセキュリティ」のユーザーを対象に、セキュリティソフト「ノ... - 日本PGP、ホワイトリスト活用するデータ保護とアプリ制御の新製品を発表
- TLSとSSLにゼロデイ脆弱性--セキュリティ研究家が明らかに
- MS、11月の月例パッチで「Windows」「Office」の脆弱性を修正すると事前通知
- 三井住友銀行、投資銀行部門のEUC基盤でセキュリティ対策強化
- セキュリティ 一覧へ »
「サイト脆弱性をチェックしよう!」 のバックナンバー
-
サイト脆弱性をチェックしよう!--第9回:AppScanによるアプリ脆弱性の自動検査
前回まで、主な脆弱性の検査方法について説明してきた。今回は、「IBM Rational AppScan」を例として、自動検査ツールについて説明しよう。 -
サイト脆弱性をチェックしよう!--第8回:セッション管理における脆弱性
-
サイト脆弱性をチェックしよう!--第7回:「ディレクトリトラバーサル」と「強制ブラウジング」
-
サイト脆弱性をチェックしよう!--第6回:SQLインジェクションの検査方法
-
サイト脆弱性をチェックしよう!--第4回:開発工程におけるレビューやテストのコツ(その2)
- サイト脆弱性をチェックしよう! 一覧へ »
企画特集
-
―エン・ジャパン厳選求人☆毎週更新―
ハンゲームの社長が語る・人材とサービスの在り方 -
進むストレージ環境の見直し
仮想環境に最適なiSCSIストレージLeftHandのメリット -
求めているのはSIerのエンジニア!!
連載インタビュー第1話、グリーCTO藤本氏が語る -
最大32個のセンサーが電力を徹底管理!
『省エネ性能』追求HPx86サーバー徹底レビュー -
100万円で実現!中小企業の情報漏えい対策
中小企業の課題!?セキュリティ管理者不在でも大丈夫 -
大丈夫?あなたの会社のセキュリティ対策
中堅・中小企業のネットワーク・セキュリティを考える -
マネジメントの「コラム」と「コネタ」
今日のキーパーソンは誰? -
企業ITシステムの企画、構築、運用のイロハ
戦略的なITシステムのために、今考えるべきポイント -
【最終警告】パンデミック対策特集
サービス品質を保証するためのリスクマネジメントとは -
情報漏えいを食い止める!
証跡としての信用力を高めるメールアーカイブとは? -
VMware OEMベンダー6社を独占インタビュー
IBM、HP、NEC、DELL、日立、富士通のVMwareの取り組み -
急増するオンライン犯罪への解決策!
オンラインサービス保護ソリューション -
J-SOX法制定により内部統制の整備が急務に
重要性高まるActive Directoryの課題と対処法を公開中
-
17. Intel Threading Building Blocks
オライリーブックから出版されている「Intel Threading Building Blocks... -
18. Intel Integrated Performance Primitives
単に最適化コンパイラを使うよりもパフォーマンスを良好にするルーチン...
新着企業動向
-
ウォルフソン、半導体開発センターを開設
ウォルフソン・マイクロエレクトロニクス -
【大阪会場】12/6(日) プログラミングからWeb デザインまで、高速・高機能テキストエディタ...
エムソフト -
「知って楽しむオトナのたしなみ」出張アテンダント編を公開しました!読者プレゼント企画も...
日立システムアンドサービス -
WisePoint
ファルコンシステムコンサルティング - 企業動向一覧へ»
