Svsqlは我々が提案したSQLインジェクション攻撃に対して安全なWebアプリケーションを開発するためのフレームワークのコンセプトを検証するための実装を行うプロジェクトです. このフレームワークは従来の安全なコーディング手法・攻撃検出・脆弱性検出に基づく方法とは異なる考え方に基づいて設計されており,
という特徴を持っています. 我々の提案の詳細については こちらの論文 を参照してください.
我々が提案したフレームワークはデータベースおよびデータベース接続ライブラリに対して拡張を行うことで実装されます. 今回我々は実装を作成するにあたり,データベースに PostgreSQL を選択しデータベース拡張の実装を行いました. また,データベースに接続するクライアント側の環境には.NET Frameworkを選択し,データベース接続ライブラリの実装を作成しました.
このデータベースの拡張とデータベース接続ライブラリの拡張を用いることで, Webアプリケーションの開発環境に.NET Frameworkを利用しデータベースにPostgreSQLを利用しているという環境下で, 我々が提案したSQLインジェクション攻撃に対して安全なWebアプリケーションを開発するためのフレームワークを実際に構築し, その効果を検証することができます.
Svpgsqlは我々が提案したフレームワークの構築に必要な機能を PostgreSQL 8.3.5 に追加したデータベースです. 追加されている主な機能は
になります. これらの機能が追加されている点以外はPostgreSQLと変わらないため,Svpgsqlは通常のPostgreSQLと同じように利用できます.
NSvpgsqlはPostgreSQLの拡張データベースSvpgsqlにアクセスするための,.NET Framework用のデータベース接続ライブラリです. PostgreSQLのデータベース接続ライブラリ Npgsql 2.0.2 を拡張して作成されています. Npgsqlに対して追加された主な機能は
です.その他の点についてはNpgsqlと同様に動作します.