Защита баз данных

Автор работы: Пользователь скрыл имя, 02 Октября 2009 в 19:14, Не определен

Описание работы

В реферате содержится информация о современных методах защиты баз данных.

Файлы: 1 файл

ЯП.docx

— 217.65 Кб (Скачать файл)

       превышение  полномочий (используя ошибки в программном  обеспечении или в администрировании  операционной системы, хакер получает полномочия, превышающие полномочия, предоставленные ему согласно действующей  политике безопасности);

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

       подмена динамически загружаемой библиотеки, используемой системными программами, или изменение переменных среды, описывающих путь к таким библиотекам;

       модификация кода или данных подсистемы защиты самой операционной системы;

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

       захват  ресурсов (хакерская программа производит захват всех имеющихся в операционной системе ресурсов, а затем входит в бесконечный цикл);

       бомбардировка запросами (хакерская программа  постоянно направляет операционной системе запросы, реакция на которые  требует привлечения значительных ресурсов компьютера);

       использование ошибок в программном обеспечении  или администрировании.   

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

       Атаки на уровне сетевого программного обеспечения 

       СПО является наиболее уязвимым, потому что  канал связи, по которому передаются сообщения, чаше всего не защищен, и  всякий, кто может иметь доступ к этому каналу, соответственно, может перехватывать сообщения  и отправлять свои собственные. Поэтому  на уровне СПО возможны следующие  хакерские атаки:

       прослушивание сегмента локальной сети (в пределах одного и того же сегмента локальной  сети любой подключенный к нему компьютер  в состоянии принимать сообщения, адресованные другим компьютерам сегмента, а следовательно, если компьютер  хакера подсоединен к некоторому сегменту локальной сети, то ему  становится доступен весь информационный обмен между компьютерами этого  сегмента);

       перехват  сообщений на маршрутизаторе (если хакер имеет привилегированный  доступ к сетевому маршрутизатору, то он получает возможность перехватывать  все сообщения, проходящие через  этот маршрутизатор, и хотя тотальный  перехват невозможен из-за слишком  большого объема, чрезвычайно привлекательным  для хакера является выборочный перехват сообщений, содержащих пароли пользователей  и их электронную почту);

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

       навязывание сообщений (отправляя в сеть сообщения  с ложным обратным сетевым адресом, хакер переключает на свой компьютер  уже установленные сетевые соединения и в результате получает права  пользователей, чьи соединения обманным путем были переключены на компьютер  хакера);

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

       Поскольку хакерские атаки на уровне СПО  спровоцированы открытостью сетевых  соединений, разумно предположить, что дли отражения этих атак необходимо максимально защитить каналы связи  и тем самым затруднить обмен  информацией по сети для тех, кто  не является легальным пользователем. Ниже перечислены некоторые способы  такой защиты:

       максимальное  ограничение размеров компьютерной сети (чем больше сеть, тем труднее  ее защитить);

       изоляция  сети от внешнего мира (по возможности  следует ограничивать физический доступ к компьютерной сети извне, чтобы  уменьшить вероятность несанкционированного подключения хакера);

       шифрование  сетевых сообщений (тем самым  можно устранить угрозу перехвата  сообщений, правда, за счет снижения производительности СПО и роста накладных расходов);

       электронная цифровая подпись сетевых сообщений (если все сообщения, передаваемые по компьютерной сети, снабжаются электронной  цифровой подписью, и при этом неподписанные  сообщения игнорируются, то можно  забыть про угрозу навязывания сообщений  и про большинство угроз, связанных  с отказом в обслуживании);

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

       Здравствуй. Данный цикл статей я начал писать именно потому, что материала в  сети вроде бы много, но вот он либо не точный, либо по системе “моё дело написать, Ваше дело разобраться” –  что для большинства новичков не есть хорошо. Тем более статьи, размещенные в Интернете, чаще всего  авторы пишут подразумевая то, что  читатель уже имеет средний опыт взлома. 
 
В цикле статей “Курс молодого бойца.” я постараюсь рассмотреть некоторые типы уязвимостей, которые могут быть обнаружены в php(и не только)-скриптах, причем постараюсь рассмотреть всё это так, чтобы даже новичок мог спокойно разобраться. Небольшие требования к читателям данного цикла статей: 
• Знать что такое IP адрес • Знать что такое сетевые порты. 
 
По ходу обсуждений уязвимостей мы будем проводить некоторые эксперименты со скриптами, которые будем писать сами и запускать их на своём веб-сервере. Плюс ко всему будем писать небольшие эксплойты для разных случаев. Для начала нам конечно же понадобится сам веб-сервер, с поддержкой PHP(это первый проблемный момент в этом цикле статей – сразу всё может не получится. Второй будет дальше.). Для этого нам очень хорошо подойдёт Denver – хороший комплекс программ от отечественного производителя (скачать можно на http://www.denwer.ru/ ).  
 
С его установкой проблем возникнуть не должно, единственное, что может слегка озадачить – это то, что ярлыки на рабочем столе, после установки, могут не создаться. В этом случае нужно просто пройти в папку [папка_куда_Вы_ставили_Denwer]/etc/ . Там Вы найдёте исполняемые файлы: 
1. Run.exe – Запуск веб-сервера (Стартует Apache и MySQL) 
2. Stop.exe – Остановка веб-сервера 
3. Restart.exe – Рестарт веб-сервера соответственно. 
Скрипты сайтов лежат в папке /home/. Нам нужна будет только папка localhost. В ней есть папка www – вот там и находятся все скрипты сайта, который Вы увидите, если наберёте http://localhost/, туда же нам нужно будет сохранять и свои скрипты. 
 
Также нужно скачать пакет PHP5 (с этого же сайта) и установить его. Он сам найдёт куда устанавливаться, главное запустить. PHP5 нам нужен для написания скриптов работающих с MsSQL, PostgreSQL и SQLite. В PHP4 нужные нам СУБД не поддерживались, поэтому приходилось копаться в кучах библиотек и в ручную всё подключать. После установки внесите небольшие изменения в файл php.ini находящийся в папке [папка_Denver`a]/usr/local/php5.  
 
Найдите в нём следующие строчки: 
;extension=php_mssql.dll 
;extension=php_pgsql.dll 
и уберите в них точку с запятой в начале строки. Так же добавьте строчку 
extension=php_sqlite.dll 
Затем перезапустите веб-сервер, всё должно пройти без ошибок. 
 
Так, веб-сервер установлен, далее нам понадобится PHP-редактор, я предпочитаю PHP Expert Editor (www.phpexperteditor.com), Вы же можете воспользоваться хоть блокнотом, главное чтоб Вам было удобно. Далее нам понадобится Perl. Существует множество пакетов, но мне больше нравится Active Perl. Вы, опять же, выбираете на свой вкус. Так же нужен любой текстовый редактор для написания perl-скриптов, можете так же воспользоваться обычным блокнотом.  
 
Внимание!!! Не пользуйтесь офисными редакторами (типа Microsoft Word) для написания php или perl - скриптов. Скрипты работать не будут!  
 
Далее, для практического изучения некоторых уязвимостей, нам понадобится 4 СУБД: 
1. MySQL (Уже имеется в базовом пакете Денвера) 
2. MsSQL (не буду говорить где взять данный СУБД потому что пропаганда пиратства – это плохо ) 
3. PostgreSQL(скачать http://wwwmaster.postgresql.org/download/mirrors-ftp?file=binary/v8.2.0/win32/postgresql-8.2.0-1.zip (для скачки выберите страну(Russian ))) 
Вы нашли/скачали эти СУБД - попробуйте установить их и запустить. Вот вроде бы и всё что нужно для подготовки. Давайте начнём.
 

       Цель  хакерской атаки: СУБД - система управления базами данных

       Защита  системы управления базами данных (далее  СУБД) представляет собой одну из самых  несложных задач. В первую очередь  это связано с тем, что системы  управления БД имеют внутреннюю структуру, которая является строго определенной, а так же все операции над элементами СУБД задаются достаточно четко. Существует четыре основополагающих действия, такие  как поиск, вставка, удаление, а так  же замена элемента. Все остальные  операции есть вспомогательные и  используются довольно не часто. Поэтому  относительно строгая структура  с четко определенными операциями делает защиту СУБД достаточно простой  задачей. В преобладающем большинстве  атак хакеры выбирают вариант взлома защиты компьютерной системы нацеленный на операционную систему, посредством  этого получить доступ к файлам системы  управления БД. Но в случае применения СУБД, которая не имеет предельно  надежных защитных механизмов, или  является недостаточно протестированной версией, которая содержит ошибки, или  же если администратором СУБД были сделаны ошибки при выяснении  политики безопасности, то получается достаточно вероятным прохождение  хакером защиты, базирующейся на уровне СУБД.  
 
Помимо этого, существуют два специфических сценария атаки на СУБД, причем, для построения защиты от них требуется использовать специальные методы. В одном случае результаты математических операций над числовыми полями системы управления БД округляют в меньшую сторону, а разница суммируется в другой записи СУБД (зачастую, данная запись содержит какой-то личный счет хакера в банке, а числовые поля, которые округляются, относятся к счетам прочих клиентов банка). В другом случае хакер заполучает доступ к полям записей системы управления БД, для которых доступной есть исключительно статистическая информация. Главная идея хакерской атаки на систему управления БД — сформулировать запрос настолько хитро, чтобы большое количество записей, для которого составляется статистика, было лишь из одной записи.

       Компьютерная  система глазами хакера

       Проблема  защиты компьютерных данных в сфере  любого вида бизнеса является очень  важной. К тому же электронные счета  давно стали объектом охоты хакеров. Громкие судебные процессы, которые  затевались против злоумышленников, проникавших  в корпоративные компьютерные системы, привлекли достаточно внимания как  со стороны специалистов в компьютерной области, так и директоров корпораций.  
 
Одним из самых серьезных транснациональных сетевых компьютерных преступлений, по мнению Интерпола, является дело Левина, в результате чего американский Сити-банк потерял 400 тыс. долларов США. После подобных происшествий директорский состав компаний пришел к выводу, что с поступлением в работу каждой последующей компьютерной системы, которая имеет выход во всемирную сеть Интернета, существует достаточный риск предоставить различного рода злоумышленникам возможность, благодаря которой они могут беспрепятственно проникать в лоно компании и причинять значительный материальный ущерб. Кому это интересно? Многим, как профессиональным взломщикам и грабителями, конкурентам, так и обиженным подчиненным. Таким образом, как неосведомленность руководящего состава, так и ограничения в бюджетных средствах не есть основные препятствия на пути введения мер защиты в компьютерных системах информации, а важную роль имеет именно выбор инструментов и решений.  
 
Стало понятно, что создание мощно защищенной компьютерной системы не представляется возможным без досконального анализа вероятных угроз для ее безопасности. Специалисты определили список действий, которые необходимо осуществить в каждом определенном случае, чтобы предвидеть сценарии вероятных нападений на компьютерную систему. Подобный список представляет собой:  
 
1. Выяснения ценности и важности информации, которая хранится в компьютерной системе.  
 
2. Оценка временных и материальных затрат, которые предположительно может позволить себе взломщик для прохождения механизмов зашиты компьютерной системы.  
 
3. Возможная модель поведения взломщика при осуществлении атаки на компьютерную систему.  
 
4. Оценка временных и материальных затрат, которые потребуются для создания адекватной защиты компьютерной системы.  
 
При осуществлении анализа вероятных угроз безопасности компьютерной системы эксперт на место взломщика ставил себя. Для этого ему требовалось понять, кого представляет собой взломщик, от которого выстраивается защита. Прежде всего, необходимо было максимально точно ответить на определенные вопросы:  
 
1. Насколько высокой является степень профессиональной подготовки взломщика.  
 
2. Какой именно информацией об атакуемой компьютерной системе он обладает.  
 
3. Каким образом взломщик осуществляет доступ к компьютерной системе.  
 
4. К какому методу атаки он прибегнет вероятнее всего.  
 
Но экспертам, которые ставили себя на место взломщика злоумышленника, для того, что бы ответить на представленные вопросы, не понравилось называть себя злоумышленниками. С одной стороны, это — длинное и неуклюжее слово, а с другой стороны, оно не вполне отражает суть предлагаемой задачи, которая заключается не в поиске недочетов в защите компьютерной системы, а в их устранении. После этого они взяли в обиход другой термин, который точнее подходит возложенной на них миссии, и начали прорабатывать возможные модели поведения хакеров.

       Методы  взлома компьютерных систем

       Практически любое компьютерное программное  обеспечение состоит из 3 - х основных составляющих:

       операционная  система,

       сетевое программное обеспечение (СПО),

       системы управления базами данных (СУБД).

        
Исходя из этого, все вероятные  попытки взлома защиты компьютерных систем следует дифференцировать на три вида атаки:

       уровень операционной системы,

       уровень сетевого программного обеспечения,

       уровень систем управления базами данных.

       Обеспечение безопасности корпоративных баз  данных - сегодня одна из самых актуальных тем. И это понятно. Однако парадокс заключается в том, что уделяя огромное внимание защите баз данных снаружи, многие забывают защищать их изнутри.

       Летом нынешнего года результаты своих  исследований в этом вопросе опубликовала компания IBM. Показательно, что согласно собранным данным, защите периметра  сети уделяется втрое больше внимания, чем защите от внутренних возможных  нарушений.

       Кроме того, если вернуться к случаям  взлома БД и провести простой расчет, то он покажет несостоятельность  попыток свалить всю вину за происшедшее  на хакеров. Разделив объем украденных данных на типовую скорость канала доступа в Интернет, мы получим, что  даже при максимальной загруженности  канала на передачу данных должно было бы уйти до нескольких месяцев. Логично  предположить, что такой канал  утечки данных был бы обнаружен даже самой невнимательной службой безопасности.

       И если перед нами стоит задача обеспечить безопасность корпоративной СУБД, давайте  озадачимся простым вопросом: кто  в компании вообще пользуется базой  данных и имеет к ней доступ?

       Существует  три большие группы пользователей  СУБД, которых условно можно назвать  операторами; аналитиками; администраторами.

       Под операторами в предложенной классификации  мы понимаем в основном тех, кто либо заполняет базу данных (вводят туда вручную информацию о клиентах, товарах  и т. п.), либо выполняют задачи, связанные  с обработкой информации: кладовщики, отмечающие перемещение товара, продавцы, выписывающие счета и т. п.

Информация о работе Защита баз данных