データベースの暗号化とSQLインジェクション対策

「データベースを暗号化して保護する」と表現すると、安心してしまうかもしれませんが、それで完璧というわけではありません。暗号化していても正当な手続きを経ていれば、どんなデータへのアクセスも可能だからです。

特にSQLインジェクションは非常に厄介な攻撃です。アプリケーション側の不備を利用して正式なデータベースへの問い合わせを発行するのでデータベース側で対策をとるのが難しくなります。このため多くのベンダーがWAF(ウェブアプリケーションファイアウォール)と呼ばれる商品を販売しています。

また、商用データベースに関していえばオラクルDBでは「Oracle Audit Vault and Database Firewall」、MySQLでは商用版に「MySQL Enterprise firewall」などの商品が存在し、SQLの攻撃パターンを認識してSQLインジェクションを自動的にブロックします。

データベースの暗号化はセキュリティ対策の有効な手段ですが、接続してくるアプリケーション側の潜在的な不備への対応は大変難しいものです。このようなことに備えて専用の製品を利用するなど適切な対策を講じていただければと思います。

記事をシェアする