SQLインジェクションについて、できるだけわかりやすく簡単に説明します。
SQLインジェクションとは
MySQLなどのSQLデータベースとWEBプログラムを使用しているWEBサイトでサイト内のプログラムを不正操作する事でSQLのデータ取得や改善されてしまう脆弱性の事をいいます。
SQLインジェクションに脆弱性があるとSQLに保存されている個人情報の流出の危険があります。
いままで世界中でSQLインジェクション攻撃により、会員情報やメールアドレスの情報やカードデータの情報が流出したケースがあります。
SQLインジェクションの標的
ハッカー(クラッカー)はデータベースを的にしますが、昔のサーバーシステムならともかく、現在のSQL、サーバーのデータベースに攻撃してデータを盗みとる事は簡単にはできません。
SQLインジェクションの標的はデータベースにアクセスしているWEBサイトやWEBアプリケーションです。
WEBサイトやWEBアプリケーションの穴、脆弱性を探り、攻撃をしかけてきます。
SQLベースのアプリケーションに対する攻撃には、主にエラーベースSQL攻撃、ブラインドSQLインジェクション攻撃、自動SQLインジェクション攻撃があります。
ネットで配布されているアプリケーション(オープンソースなど)におけるSQLインジェクションの脆弱性、アプリで使用されるデータベースの補足的な脆弱性などは注意する必要があります。
SQLインジェクション対策に有効なWAF
SQLインジェクション対策は必須です。
プログラムのコーディングで防げるところは防がなくてはなりません。
特に狙われる言語がPHPです。直接ページに埋め込まれている場合は注意が必要です。
SQLインジェクション攻撃に有効なサーバーアプリケーション
SQLインジェクション攻撃に有効なのが、WAF(ウェブアプリケーションファイアウォール)という機能です。
日本の共用レンタルサーバーなどでも下記にあるようなサーバー会社は機能追加して、SQLインジェクションを防御しています。
ハッキングの手口はますます巧妙になってきています。
Webサイトなどは個人情報の取得などで狙われます。
対策する必要がありますので気を付けていきましょう。