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

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

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

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

· определение ценности информации, хранимой в компьютерной системе;

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

· вероятную модель поведения злоумышленника при атаке на компьютерную систему;

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

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

· насколько высок уровень профессиональной подготовки злоумышленника;

· какой информацией об атакуемой компьютерной системе он владеет;

· как злоумышленник осуществляет доступ к этой системе;

· каким способом атаки он воспользуется с наибольшей вероятностью.

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

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

· атаки на уровне систем управления базами данных;

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

· атаки на уровне операционной системы.

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

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