SQLインジェクション

背景
SQLインジェクションは、攻撃者がWebサイトへの攻撃に利用するコード挿入の手法のうち最も一般的なものの1つです。攻撃者は、対象とするWebサイトのSQLベースのアプリケーション内に存在する脆弱性を確認します。そして、不正なSQLステートメントを発行するか誤入力することによりその脆弱性を悪用します。脆弱性が悪用されると、攻撃者は、サーバのルートアクセス権限を獲得します。権限を獲得した場合、攻撃者はデータベースやネットワーク内の他のデバイスへのアクセスに利用されるユーザ名やパスワードなどの情報が搾取可能になります。


トレンドマイクロは、偽のセキュリティ関連ソフトウェア(「FAKEAV」としても知られる)のダウンロードのように他の脅威に繋がるWebサイトの改ざん事例を確認しています。弊社は、2008年にSQLインジェクションを介して行われたWebサイト改ざん事例を多数確認しました。2013年には、データ漏えい事例において、SQLインジェクションがコンピュータへの侵入に最も多用されていた手法でした。

SQLインジェクションは、企業および一般ユーザ両方に影響します。SQLインジェクションによりWebサイトの改ざんに成功すると、攻撃者はサーバやデータベース内に保存されたデータを取得可能となります。保存されている情報とは大抵の場合、顧客に関するデータ(ユーザ名、パスワード、Eメールアドレスやリンク)や企業データ(社外秘文書、取引に関する機密情報、組織図等)となります。このようなデータの安全を確保するためにも改ざんを防ぐことが第一優先事項となります。

講じるべき対策と対応

企業の対策:
  • 確実にセキュアなコードを展開するためにテストツールを使用:企業や組織は、Webアプリケーションスキャナ、脆弱性スキャナや静的コード解析といったテストツールに投資する。このようなツールはIT担当者がコードの展開前後または途中でコードのテストと評価を行う補助となる。
  • Webアプリケーションファイアウォールの使用を検討する:これにより、Webアプリケーションレベルでのファイアウォールによる防御が提供される。
  • セキュアなコーディングを実践する:Webサイトを展開する企業は、セキュアなコーディング基準を採用し順守する。Open Web Application Security Project (OWASP)は、コミュニティーからのフィードバックを通して、Webデベロッパ、管理者やオーナーがセキュアなコーディングを実践するよう補助する非営利団体である。
  • コンピュータやネットワークに迅速に更新プログラムを適用する:IT管理者は、ネットワーク内のすべてのコンピュータに更新プログラムを適用するよう特段の注意を払うべきです。たった1台更新されていないだけで大惨事に繋がる可能性がある。更新プログラムを適用することで、未更新または古いソフトウェアに存在する脆弱性をサイバー犯罪者が悪用するのを防げる。
  • Webアプリケーションに存在する脆弱性をスキャンする:Webアプリケーションの脆弱性は、SQLインジェクション攻撃やクロスサイトスクリプティング(XSS)攻撃の実行に繋がる可能性があるため、企業は自社のWebアプリケーションが脆弱でないかを確認する必要がある。
一般ユーザの対策:
  • すべてのデバイスをセキュアにする:ラップトップ、モバイル端末やデスクトップコンピュータなどをセキュリティ関連ソフトウェアにより保護し、常に最新の状態を保つ。
  • 使用中のアカウントを保護する:所有している各アカウントに対し、異なるEメールアドレスおよびパスワードを用いる。「パスワードマネージャー」を使用すればアカウント管理を自動化できる。
  • 覚えのない送信者からのEメールは開封しない:疑わしい場合、開封せずにメールを削除する。いずれの添付ファイルも開封前に確認する。