Как защитить данные в моей базе данных win 2005 SQL 2005 Express? - PullRequest
1 голос
/ 20 октября 2010

У меня есть приложение ac # winform, которое использует SQL 2005 Express.Приложение создает тесты по математике и чтению и продается родителям детей школьного возраста.Родители покупают и скачивают файлы SQL, содержащие тесты, с моего веб-сайта и устанавливают их в приложение (которое установлено на компьютере их ребенка).

У меня есть две проблемы безопасности SQL:

(1)Некоторые дети могут не захотеть, чтобы тесты появлялись на их компьютере, поэтому они могут попытаться (а) удалить базу данных SQL или (б) отключить приложение, изменив значения в базе данных.

Мне кажется, что любой, кто имеет SQL Server Management Studio Express, может легко изменить содержимое базы данных.

Поэтому, что можно сделать, чтобы предотвратить это (кроме рекомендации родителю, чтоони не разрешают своим детям использовать учетную запись администратора)?

(2) Единственным моим доходом будет продажа тестов, поэтому я хочу защитить эти данные от копирования и совместного использования.Как я могу это сделать, если (а) файлы необходимо загрузить с моего сервера на компьютер ребенка, а затем установить и (б) и затем после установки они просто находятся на компьютере ребенка.

Мне кажется, что любой, у кого есть мастер публикации баз данных SQL, может легко скопировать содержимое базы данных.

Можно ли разрешить только моему приложению доступ к базе данных SQL?Можно ли ограничить доступ к нему всем остальным (даже людям, использующим учетные записи администратора Windows)?

В настоящее время сценарий установки для моего приложения создает новый экземпляр сервера SQL 2005 Express только для моего приложения и использует WindowsАутентификация.

Я прочитал несколько сообщений о безопасности SQL здесь, в Stackoverflow и в других местах, но я пока не могу понять это.

Ответы [ 2 ]

1 голос
/ 20 октября 2010

С шаткой хакерской точки зрения родители облажались.Это потому, что их дети имеют физический доступ к компьютеру.Теоретически они могут атаковать его в любом направлении.

Теперь давайте рассмотрим то, что более вероятно.

Вы определили, что отсутствие доступа к администратору для детей имеет большое значение.Но если вы говорите, что это недоступно большинству семей, то и SQL Management Studio.Вы можете поспорить, что дети не пойдут, возьмут это и установят.

Однако, в конце концов, вам, вероятно, будет лучше с какой-нибудь старой доброй путаницей.Вместо того, чтобы использовать что-то вроде SQL Management Studio, где есть свободно доступные инструменты для изменения и предотвращения показа этих опросов или любых других доступных атак, вы создаете свои собственные форматы файлов и надеетесь, что большинство детей сдастся, увидев двоичный файл.gobbledy-gook.

Если они собираются отказаться от этого, многие могут отказаться от SQL Express.Тем не менее, дети довольно изобретательны, и некоторые могут захотеть следовать пошаговым инструкциям, которые они искали в Google, чтобы победить ваше программное обеспечение.

Похоже, вы развертываете эти тесты на экземплярах SQL Express, которые находятся на компьютерахне под вашим контролем. Они больше не ваши машины.

Я не хочу говорить: «Вы не можете делать то, что просите», но вы спрашиваете, как запретить кому-либо использовать инструменты администратора.победить ваше программное обеспечение.Я думаю, что мой ответ "ты не можешь".Вы должны пересмотреть свой дизайн или просто предположить, что большинство детей не зайдут так далеко.

0 голосов
/ 20 октября 2010

Вы можете использовать шифрование для ваших данных викторины.

Шифрование и дешифрование строки

Недостаток в том, что ваше приложение должно иметь ключ шифрования / дешифрования в своем коде, чтобы кто-то мог получить доступ к нему через инструмент перекомпиляции или что-то вроде отражателя.

Реальный ответ заключается в том, что защитить ваше приложение для всего практически невозможно. Просто подумайте об огромных компаниях и их методах защиты, Microsoft, Adobe и т. Д. ... у них всех есть проблемы с пиратством.

Кроме того, если ваше приложение достаточно хорошо для пиратства многих людей, вам, скорее всего, будет достаточно законных продаж.

До этого я не стал бы слишком сильно беспокоиться об этом, а просто принял бы несколько небольших мер предосторожности, которые не слишком сильно влияют на ваш рабочий процесс.

...