У меня возникли некоторые проблемы с безопасностью при использовании строк подключения в поставщиках баз данных оракула .net, которые содержат пароли. Проблема в том, что эти поставщики (System.Data.OracleClient или ODAC) получают connectionString в параметре типа String.
Это означает, что когда у нас есть настольное приложение, подключающееся непосредственно к базе данных (без какой-либо службы среднего уровня), и мы делаем дамп памяти для этого приложения, скорее всего, мы получим пользователя и пароль в виде обычного текста из строки соединения, переданной в библиотеку поставщика базы данных. .
Насколько я знаю, нет способа передать connectionString в параметре типа SecureString (Google говорит, что это разрешено только поставщиком MS SqlServer).
Есть ли другой способ защитить пароли базы данных в этом случае (кроме изменения архитектуры системы и создания службы среднего уровня для подключения к базе данных вместо прямого подключения из приложений)?