SQLインジェクション
SQLコマンドを悪用して不正アクセスする「SQLインジェクション」はSQL実行を制御して対策
SQLインジェクションとは、データベースと連動したWebアプリケーションの脆弱性を悪用して、情報の窃取や改ざん、破壊などを行うサイバー攻撃の1つです。
Webアプリケーションの中には、データベースと連動してサービスを提供しているものがあります。データベースを操作する言語のうち最も一般的な「SQL」では、そのコマンド内に特定の条件下で特定の文字列や条件式の組み合わせなどを使用すると、想定外の動作をする場合があります。
SQLインジェクションは意図的にそのようなコマンドを、Webアプリケーションを通じてデータベースに渡すことで、通常では発生しないような動作を起こさせます。これにより、普段閲覧できない情報を入手したり、データベース上の情報を改ざんしたり、また破壊することも可能になります。
SQLインジェクションに対しては、不正なSQL文が実行されるのを事前に防ぐことができるプレースホルダやプリペアードクエリなどの利用が有効です。また、ネットワークでの対策としてWAFやUTMによって、脆弱性を突く攻撃を検知する対処法も有効です。