ここではブラインドSQLインジェクションについてリサーチ。その手口や攻撃を受けた際にどのようなことが起きる可能性があるのか、企業の被害事例もあわせてご紹介します。
攻撃者がサーバーにデータを送信し、そのレスポンスや挙動の違いからWebアプリケーションの構造を探る攻撃です。最終的にデータベースの管理に関わる情報を盗み出しますが、通常のSQLインジェクションのように入力フォームは使わずに、攻撃者に直接データが送信されないためブラインドSQLインジェクションと呼ばれます。
ブラインドSQLインジェクションは繰り返し行われ、エラーメッセージなど集めた情報からデータベース構造を知る仕組みなので時間を要しますが、攻撃による被害は通常のSQLインジェクションと変わりません。脆弱性を突かれて攻撃用のSQL文を実行されると、情報漏えいやデータ改ざんなどの被害を受けることになります。
脆弱性診断(セキュリティ診断)とは?
目的や必要性について詳しく見る
名古屋大学は運用中の情報システムに関するQ&Aシステムにおいて第三者により不正にアクセスがあり、メールアドレスが漏洩した可能性があることを2022年6月28日に発表しました。プログラム修正により脆弱性は解消されましたが、原因はブラインドSQLインジェクションによるデータベースへの不正な攻撃だったとしています。
2009年11月23日、ルーマニア人研究者がブラインドSQLインジェクション攻撃によりシマンテック社サーバに侵入し、データベースから顧客情報を盗み出すのに成功したと発表。シマンテック社側もSQLインジェクションに対する脆弱性があり同社の日本・韓国向けユーザーサポートのサイトで被害を受けたことを認めました。
ブラインドSQLインジェクションの対策は、特殊文字記号をエスケープするなど通常のSQLインジェクションと変わりませんが、テストでおかしな挙動がなくてもブラインドSQLインジェクションの攻撃は受けてしまうことがあります。
そのため対策をしていても確認が不十分だと脆弱性を作ってしまい、そこを突かれて被害が発生します。システムに機能追加があった場合などに、基本的な挙動に不審な点がないとテストで見落とされる可能性があるので要注意です。
WebアプリケーションでSQL文が発行される箇所を特定します。そこへ、SQL構文として真偽によって結果が分かれる値や、応答時間が変化する値などを送信することで、応答の違いの有無を確認します。データベースやSQLについての高い知識が求められるため、経験豊富な脆弱性診断員による診断は非常に重要です。
対策はSQLインジェクションと同じです。データベースに送る予め用意されているSQL文の変数箇所を、「プレースホルダ」と言う記号を用いて指定する実装が推奨されています。プレースホルダ部分はただの値として処理されるため、SQL文として特殊な意味を持つ文字列が入力されたとしても無効化され、実行されることがありません。
本サイトの監修者であるアルファネットでは今回解説したブラインドSQLインジェクション対策や社員のセキュリティ教育なども行っています。システムの脆弱性に不安がある場合は、対策の第一歩として相談するとよいでしょう。
当ページの監修協力であるホワイトハッカーが所属する株式会社アルファネット。事務機器用品を中心とするカタログ通販サービス「たのめーる」が有名な大塚商会のグループ企業です。
大塚商会はコンピュータ・ネットワーク関連のシステムインテグレーション事業や、コンピュータ機器の保守、アウトソーシングのサービスも中核にしており、その中でアルファネットはサイバーセキュリティ対策の専門グループ企業として活躍しています。
巨大なデータベース・ネットワークを日々守り続けているのは、ホワイトハッカーの主導による正確な診断と、ツールによる包括的な診断によるもの。大塚商会のグループ企業や顧客を中心に、そのサービスを提供してきました。
またメール訓練など、社員育成の提供にも力を入れています。
ペネトレーションテスト(Webアプリケーション侵入試験)/標的型メール訓練サービス/情報セキュリティ教育/CSIRT構築/クラウド型WAFサービス/セキュリティ診断サービス/ランサムウェア対策調査サービス
データベース管理に関わる情報が盗まれる
ブラインドSQLインジェクションの脆弱性がある場合、挿入されたSQL文に対する応答の違いから、データベース管理に関わる実行ユーザ、テーブル情報などが盗まれるリスクがあります。通常のSQLインジェクションよりも攻撃に多少の時間がかかりますが、主なリスクは同じであり、大きな影響を及ぼす可能性があります。