Отправляет email-рассылки с помощью сервиса Sendsay

Вопросы и ответы по MS SQL Server

  Все выпуски  

Вопросы и ответы по MS SQL Server


Информационный Канал Subscribe.Ru


Вопросы и ответы по MS SQL Server

Выпуск No. 9 от 2003-04-18

Вопрос : Зачем нужно шифрование процедур, триггеров и других объектов базы данных?

Ответ:
Имеется в виду опция WITH ENCRYPTION для операторов типа CREATE PROCEDURE.
После указания этой опции процедура sp_helptext не возвращает исходный текст объекта. И даже Query Analyzer и Enterprise Manager при попытке редактирования объекта выдают сообщение о невозможности работы с зашифрованным объектом. Тем не менее, по умолчанию для группы public часто открыт доступ к таблице syscomments. Далее выполняется следующий скрипт:
SELECT CONVERT(varbinary(8000),text) AS bytedata, number,  colid,  encrypted

FROM syscomments WHERE id = OBJECT_ID('имя_объекта')
ORDER BY number, colid
GO

Полученные данные можно расшифровать и получить исходный текст объекта.
Шифрование в разных версия MSSQL различается, поэтому для версии 7.0 используются другие способы расшифровки.
Программки для расшифровки и скрипты раскиданы по всему интернету. Где? Не скажу. Пусть будет хоть какая-нибудь преграда для слишком любопытных пользователей.
Одним словом получить исходный текст зашифрованного объекта очень просто. А вот проблем при шифрации объектов появляется превеликое множество. Если уж Вы хотите закрыть возможность просмотра текста Ваших объектов простым пользователям, то закройте доступ к процедуре master..sp_helptext и таблице syscomments. И ни в коем случае не пытайтесь удалять записи из syscomments, тем самым Вы удалите текст объектов и после рестарта MS SQL Server сервер не сможет создать эти объекты.
Если Вы собираетесь распространять свой программный продукт с базой на MS SQL Server, то шифрация объектов не обеспечит их конфиденциальности. Если Вы хотите уберечь свою интеллектуальную собственность от кражи, используйте другие приемы - убирайте комментарии, делайте текст объектов нечитабельным или создавайте непонятную структуру базы данных (как в 1С). Только все эти способы усложнят жизнь не только незарегистрированным пользователям, но также и честным зарегистрированным. Да и Вам неудобно будет работать с такой базой и осуществлять поддержку.
Надеюсь, Вы нашли эту информацию полезной. Вопросы, предложения и пожелания шлите на адрес sql@likor.ru
С уважением, Сергей Кошкин.
Адрес сайта Рассылки - http://sql.softmatics.ru/

Архив на Subscribe.Ru
Поиск по архиву рассылки
"Вопросы и ответы по MS SQL Server"



Рейтинг@Mail.ru

http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное