用語解説 

このエントリーをはてなブックマークに追加
Evernoteに保存
印刷

SQLインジェクション攻撃

概要

 SQLインジェクションとは、ウェブサイト上のデータベースに対して不正な操作を行い、データベース内の情報を改ざんしたり、入手したりする攻撃を指す。一般的にSQLと呼ばれるデータベース用の言語を用いて、検索、追加、削除などの操作を行い、データベース内の情報が利用される。

 多数の企業や組織のウェブサイトでは、データベースを利用したウェブアプリケーションが使われており、たとえばECサイト(ウェブサイト上で商品やサービスの販売を行うサイト)では、商品や顧客情報の管理はデータベースを用いたシステムで行われている。ウェブサイトを構築し、管理する上で、SQLインジェクションへの対策は必要不可欠と言われている。

 SQLは、Structured Query Languageの略称であり、インジェクションは(不正な操作を)「注入する」という意味がある。

シーン

 SQLインジェクションは古くから存在する攻撃手法だが、SQLインジェクションによる個人情報の漏えいが後を絶たない。

 SQLインジェクションへの対策が行われていないウェブサイトでは、例として特定の会員専用の画面にログインするため、ログイン画面でパスワードの欄に不正なデータベース命令を実行するための文字列を入力することで、パスワードを知らない攻撃者が正当な利用者としてログインし、クレジットカード名義人名、住所、カード番号、有効期限、セキュリティコード等の個人情報を入手されるケースがある。

 また、SQLインジェクションによって、ウェブサーバ上のファイルを書き換えることで、ウェブサイトが改ざんされてしまうケースもある。書き換えられたウェブサイトでは、サイトの訪問者には一見分からないような状態で、利用者を悪質なウェブサイトに誘導したり、ウイルスに感染させたりすることが多い。

気を付けるべきポイント

SQLインジェクションの対策を行ったとしても、ウェブアプリケーションで新たな脆弱性が攻撃者に発見された場合、攻撃の対象とされる可能性がある。そもそも、脆弱性を持つウェブサイトかどうかを、自社で管理、把握することは難しいとされる。

 セキュリティに対するサービスを行う企業では、ウェブサイトの脆弱性診断を提供しているので、定期的に脆弱性の有無を診断しながら、必要な対策を講じる必要がある。また、ウェブサイトそのものへの対策だけではなく、WAF(Web Application Firewall)と呼ばれる、ウェブアプリケーションの通信を把握、管理することで、不正侵入を検知、防御する仕組みを持つ機器を導入することも有効な対策である。

一覧に戻る

メルマガ登録


「人材不足」を働き方改革で乗り越える


教育機関向け特集


自治体向け特集

ページトップへ

close