ÛãçèØÃÂ¥ Ã’ØàãáÞÃÂ’ - Xakep Online
ÛãçèØÃÂ¥ Ã’ØàãáÞÃÂ’ - Xakep Online
ÛãçèØÃÂ¥ Ã’ØàãáÞÃÂ’ - Xakep Online
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
pc_zone<br />
info<br />
• Не забывай о<br />
самых простых истинах<br />
традиционной<br />
криптографии:<br />
• Чем более накручен<br />
алгоритм шифрования,<br />
тем больше<br />
ресурсов процессора<br />
он будет кушать;<br />
• Ассиметричная<br />
криптография<br />
обеспечивает более<br />
надежную защиту,<br />
чем симметричная<br />
(даже с ключами<br />
одинаковой длины),<br />
но ее исполнение в<br />
базах может ощутимо<br />
замедлить весь процесс<br />
работы;<br />
Вместо кода процедуры — сплошные знаки вопроса. Взломщик в обломе<br />
• Действия по<br />
шифрованию базы<br />
напрямую связаны<br />
с модификацией<br />
обращений клиента.<br />
Увы, возможность<br />
«прозрачного»<br />
шифрования базы на<br />
сегодняшний день<br />
существует только в<br />
MSSQL 2008 (в версии<br />
Enterprise). Эта<br />
функция именуется<br />
там TDE (Transparant<br />
Database Encryption).<br />
процедур или функций. Получается, что, получив к ним<br />
доступ и грамотно проанализировав их код, любой<br />
опытный хакер сможет преобразовать шифрованную<br />
белиберду в исходный текст. Конечно, добраться до<br />
кода процедур далеко не всегда реально, потому здесь<br />
всплывает вопрос об утечке программной начинки<br />
производства, а именно — логике ПО. Но именно по<br />
этой причине необходимо прибегать к шифрованию<br />
процедур и функций в базе. Одно из самых популярных<br />
и удачных средств для таких действий — это программа<br />
SQL Shield (www.sql-shield.com). После несложной<br />
установки приложения не забудь указывать дополнительный<br />
флаг /*sqlshield*/ с выражением «WITH<br />
ENCRYPTION» всякий раз, когда будешь создавать<br />
защищенную процедуру. Вот пример функции, которая<br />
исполняет простейший запрос к базе:<br />
CREATE PROCEDURE MyTest<br />
WITH /*sqlshield*/ ENCRYPTION<br />
AS<br />
SELECT 2+2<br />
Исполняем процедуру и получаем:<br />
MyTest<br />
> 4<br />
Проверим, в каком виде хранится процедура, с помощью<br />
специального средства для ковыряния в файлах базы.<br />
Подойдет SQL Server Syscomments Decryptor (www.<br />
geocities.com/d0mn4r/dSQLSRVD.html), который при<br />
отображении текста процедуры показывает одни лишь<br />
знаки вопроса. Все работает!<br />
Ïðèìåð èç ëè÷íîãî îïûòà<br />
Ñîòðóäíèêàìè îäíîé êîìïàíèè ïëàòåæíî-êàðòî÷íîãî ñåêòîðà âåëàñü áàçà äàííûõ äëÿ âûäà÷è çàðïëàò. Äëÿ ïðîñòîãî<br />
ïîíèìàíèÿ, — ïóñòü ýòî áóäåò ïðèìåðíî ñëåäóþùàÿ ñòðóêòóðà:<br />
warning<br />
Использование<br />
функций шифрования<br />
SQL Server<br />
совместно<br />
с параметром<br />
ANSI_PADDING<br />
OFF может привести<br />
к потере данных<br />
из-за неявных<br />
преобразований!<br />
034<br />
ID LastName FirstName Emp Sum<br />
354 Somov Oleg IT-Manager M0x8900f56543<br />
643 Antipova Alexandra Director 4343Lax#dsdsss<br />
411 Timurov Valeriy Technical Dep. 0x2322322222<br />
Âûáîðêó èç áàçû ÿ ïðèâåë àáñîëþòíî ïðîèçâîëüíóþ, à òåïåðü ñóòü èäåè. «Áåçîïàñíèêàìè» êîìïàíèè áûëî ïðèíÿòî<br />
âïîëíå áëàãîðîäíîå ðåøåíèå — øèôðîâàòü äàííûå î çàðïëàòàõ, êîòîðûå î÷åíü ÷àñòî áûâàþò «ñåðûìè». Èíñàéäåð<br />
ïîëó÷èë äîñòóï ê áàçå è ñèëüíî îáëîìàëñÿ, çàèìåâ èíôîðìàöèþ â òàêîì âèäå. Îäíàêî, îí íå îò÷àÿëñÿ è ïðîäåëàë<br />
ñëåäóþùèé ôîêóñ. Ðåçîííî ïðåäïîëîæèâ, ÷òî ÷åëîâåê ñ äîëæíîñòüþ äèðåêòîðà äîëæåí ïîëó÷àòü áîëüøå, ÷åì ïðîñòîé<br />
ìåíåäæåð, îí ïîìåíÿë ñîîòâåòñòâóþùèå ïîëÿ ñî çíà÷åíèÿìè çàðïëàò îäíî íà äðóãîå, òåì ñàìûì — ïîäëîæèâ áóõãàëòåðñêîìó<br />
îòäåëó àáñîëþòíî ëåâóþ èíôîðìàöèþ.  áëàãîïîëó÷íûé äåíü òàêàÿ âåùü ïðîêàòèëà, è âñå áåçîïàñíèêè<br />
áûëè óâîëåíû. Äëÿ ñïðàâêè: ýòèì ñîòðóäíèêîì áûë íå ÿ, êàê âïðî÷åì, è íå áåçîïàñíèêîì.<br />
XÀÊÅÐ 04 /124/ 09