McAfee Blog
マカフィー株式会社公式ブログ

McAfee, Inc.

Corporate] 2016年8月24日 更新

第31回:今だから学ぶ! セキュリティの頻出用語:SQLインジェクションとは?

 

「セキュリティに対する重要性は理解したけれど、用語が難しくて」という声を聞くことがよくあります。そんな方に「今だから学ぶ!」と題して、連載でセキュリティの頻出用語を解説します。
第31回は、「SQLインジェクション」についてです。

SQLインジェクションは、Webアプリケーションに対する攻撃手法の1つです。

20160824_fotolia_110478242_subscr_2

SQLインジェクションのSQL(エスキューエル。欧米ではシークェルと発音することが多い)とは、リレーショナルデータベースに対して、データを追加、削除するなどの操作を行うための言語です。リレーショナルデータベースで著名なオラクルデータベース、MS SQL Server、MySQL、PostgreSQLなどを操作するためには、SQLを利用します。インジェクションとは、英語ではInjectionであり、「注入」という意味です。 

SQLインジェクションとは、データを不正に取得するなど悪意を持ったSQL文を注入され(埋め込まれて)、データベースを不正に操作されることをいいます。

インターネット上でWebサイトを利用したサービスの提供が一般的になっています。一般消費者向けサイトでは、例えば、ログインID、パスワード、クレジットカード情報など重要な個人情報が入力、保存していることが多くあります。また、企業向けのシステムにおいても、受発注情報などのビジネス上大切な情報が保存されていることも珍しくありません。

これらの情報は、通常データベースに保存されており、ウェブからの命令によって適切な情報が引き出されたり、あるいは修正されたりします。このとき、WebアプリケーションはSQLを利用します。

SQLインジェクションでは、このSQLを利用することを利用して、不正なSQL文を実行させることで個人情報などを入手します。また、SQLのストアドプロシージャ等を利用してOS コマンドの実行することで、システムの乗っ取りを図ったり、別のシステムへの攻撃に踏み台にすることも可能になります。

SQLインジェクション攻撃に対応するためには、アプリケーション開発の段階でSQLに特別な意味を持つ記号文字(「'」「;」など)に対して、素通しにさせないなどの「エスケープ処理」を実施するなど、安全なウェブサイトの構築が必要です。

独立行政法人 情報処理推進機構では、知見をまとめたガイドを公開しています。


【参考】
安全なウェブサイトの作り方 (独立行政法人 情報処理推進機構)

【関連記事】
今だから学ぶ! セキュリティの頻出用語シリーズ 過去10記事 
第30回:今だから学ぶ! セキュリティの頻出用語:ブルートフォースアタックとは? 
第29回:今だから学ぶ! セキュリティの頻出用語:C&Cサーバーとは? 
第28回:今だから学ぶ! セキュリティの頻出用語:ゼロデイ攻撃とは? 
第27回:今だから学ぶ! セキュリティの頻出用語:CVEとは? 
第26回:今だから学ぶ! セキュリティの頻出用語:ペネトレーションテストとは? 
第25回:今だから学ぶ! セキュリティの頻出用語:レピュテーションとは? 
第24回:今だから学ぶ! セキュリティの頻出用語 : 辞書攻撃とは? 
第23回:今だから学ぶ! セキュリティの頻出用語 : ワームとは? 
第22回:今だから学ぶ! セキュリティの頻出用語 : マクロウイルスとは? 
第21回:今だから学ぶ! セキュリティの頻出用語 : 多要素認証とは? 

「今だから学ぶ! セキュリティの頻出用語」アーカイブ 第1回~第19回

2017 MPOWER : Tokyo開催
必見 ランサムウェア情報 身代金被害急増中!

Also Find Us On

マカフィーは世界最大規模の独立系サイバーセキュリティ企業です。業界、製品、組織、そして個人の垣根を超えて共に力を合わせることで実現する、より安全な世界を目指し、企業そして個人向けのセキュリ ティソリューションを提供しています。詳細は http://www.mcafee.com/jp/ をご覧ください。

 

© 2003-2017 McAfee, Inc. All Rights Reserved.