Библиографическое описание:

Боршевников А. Е. Сетевые атаки. Виды. Способы борьбы [Текст] // Современные тенденции технических наук: материалы междунар. науч. конф. (г. Уфа, октябрь 2011 г.). — Уфа: Лето, 2011. — С. 8-13.

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

Современное общество уже не может обойтись без информационных технологий. Информационные технологии проникли во все сферы жизни человека. Их неотъемлемой частью является глобальная сеть Internet. Конечно же, одной из главных задач является обеспечение безопасности обращения информации внутри сети. Одной из опасностей для безопасности являются сетевые атаки. Возникает два очевидных вопроса: «Какие виды сетевых атак бывают? Как им противостоять?»

Сетевые атаки. Виды. Способы борьбы.

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

На данный момент выделяют следующие атаки: mailbombing, переполнение буфера, использование специализированных программ (вирусов, снифферов, троянских коней, почтовых червей, rootkit-ов и т.д.), сетевая разведка, IP-спуфинг, man-in-the-middle, инъекция (SQL-инъекция, PHP-инъекция, межсайтовый скриптинг или XSS-атака, XPath-инъекция), отказ в обслуживании (DoS- и DDoS- атаки), phishing-атаки. Рассмотрим каждую из них.

Mailbombing.

Суть данной атаки заключается в том, что на почтовый ящик посылается огромное количество писем на почтовый ящик пользователя. Эта атака может вызвать отказ работы почтового ящика или даже целого почтового сервера. Данная атака может проводиться любым хотя бы немного подготовленным противником. Простым примером программы, с помощью которой можно осуществить подобную атаку- The Unabomber. Достаточно знать адрес сервера, позволяющего анонимно отправлять почтовые сообщения, и адрес пользователя, которому эти сообщения предназначены. Количество писем, которое можно отослать для этой программы равно 12 разрядному числу. Рассмотрим способы защиты от данной атаки.

  1. Давать адрес электронной почты только проверенным источникам.

  2. В качестве преграды для mailbombing-а может выступать и Web-сайт провайдера, иногда настраиваемый таким образом, чтобы он автоматически определял почтовые атаки. В большинстве случаев они распознаются сервером посредством сравнения исходных IP-адресов входящих сообщений. Если количество сообщений из одного источника превышает некие разумные пределы, то все они автоматически поступают в Recycle Bin на сервере. Конечно же, ничто не мешает злоумышленнику фальсифицировать собственный IP-адрес.

Обычно к таким атакам опытные злоумышленники прибегают крайне редко.

Переполнение буфера(buffer overflows).

Атака на переполнение буфера основывается на поиске программных или системных уязвимостей, способных вызвать нарушение границ памяти и аварийно завершить приложение или выполнить произвольный бинарный код от имени пользователя, под которым работала уязвимая программа. Если программа работает под учетной записью администратора, то данная атака может позволить получить полный контроль над компьютером, на котором исполняется данная программа. [3]

Реализации атаки требует решения двух подзадач:

  1. Подготовка кода, который будет выполняться в контексте привилегированной программы.

  2. Изменение последовательности выполнения программы с передачей управления подготовленному коду.

Классификация атак по переполнению буфера представлена в таблице.

Подготовка кода Цель переполнения

Внедрение кода

Внедрение параметров

Не требуется

Искажение адреса возврата из функции

Атака “срыв стека”

Атака “срыв стека” с параметризацией

Атака “срыв стека” с передачей управления

Искажение указателей функций

Атака на указатели функций

Атака на указатели функций с параметризацией

Атака на указатели функций с передачей управления

Искажение таблиц переходов

Атака на таблицы переходов

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

Атака на таблицы переходов с передачей управления

Искажение указателей данных

Атака с искажением указателей данных

Атака с искажением указателей данных с параметризацией

Атака с искажением указателей данных с оригинальным кодом

Рис. 1 Классификация атак по переполнению буфера.

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

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

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

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

  4. Применение проверок целостности. Решение, основанное на данном методе, получено благодаря проекту Synthetix. Цель Synthetix - специализация кода для увеличения производительности операционных систем. При этом вводится понятие так называемого квази-постоянства (Quasi-invariant), т.е. состояния среды, которое неизменно в определенных рамках. Такое квази-постоянство позволяет устранить ряд избыточного кода проверки выполнения различных условий. В рамках проекта реализован набор утилит, в том числе обеспечивающих контроль и защиту квази-постоянных состояний среды. К их числу относятся StackGuard и PointGuard.

Использование специализированных программ.

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

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

Сниффер пакетов представляет собой прикладную программу, которая использует сетевую карту, работающую в режиме promiscuous mode (в этом режиме все пакеты, полученные по физическим каналам, сетевой адаптер отправляет приложению для обработки). При этом сниффер перехватывает все сетевые пакеты, которые передаются через определенный домен. В настоящее время снифферы работают в сетях на вполне законном основании. Они используются для диагностики неисправностей и анализа трафика. Однако ввиду того, что некоторые сетевые приложения передают данные в текстовом формате (telnet, FTP, SMTP, POP3 и т.д.), с помощью сниффера можно узнать полезную, а иногда и конфиденциальную информацию (например, имена пользователей и пароли).

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

Rootkit - программа или набор программ для скрытия следов присутствия злоумышленника или вредоносной программы в системе. Большинство из реализаций современных rootkit могут прятать от пользователя файлы, папки и ключи реестра, скрывать запущенные программы, системные службы, драйверы и сетевые соединения. Т.е. злоумышленник имеет возможность создавать файлы и ключи реестра, запускать программы, работать с сетью и эта активность не будет обнаружена администратором. Кроме того, rootkits могут скрывать сетевую активность путем модификации стека протоколов TCP/IP. Так, например rootkit Hacker Defender перехватывает вызовы Winsock и может обрабатывать сетевой трафик до того как он будет передан приложению. Т.е. если в системе установлен Web сервер, и соответственно открыт 80й порт, rootkit может использовать его для взаимодействия с взломщиком, в то время как другие пользователи будут без проблем работать по протоколу HTTP. [1]

Выделяют следующие способы борьбы с этими видами атак:

  1. Использование антивирусных средств и регулярное обновление их сигнатур. Может решить проблему с троянскими программами, вирусами, почтовыми червями, но не решит проблему снифферов и rootkit-ов.

  2. Шифрование передаваемых данных. Проблема не решает полностью проблему снифферов, однако, противник перехватывает данные, которые нельзя свободно прочитать. Для их расшифровки требуется время.

  3. Использование антиснифферов (Например, AntiSniff или PromiScan).

  4. Использование межсетевых экранов.

  5. Использование антируткитов.

Сетевая разведка.

Сетевой разведкой называется сбор информации о сети с помощью общедоступных данных и приложений. При подготовке атаки против какой-либо сети злоумышленник, как правило, пытается получить о ней как можно больше информации. Сетевая разведка проводится в форме запросов DNS, эхо-тестирования (ping sweep) и сканирования портов. Запросы DNS помогают понять, кто владеет тем или иным доменом и какие адреса этому домену присвоены. Эхо-тестирование (ping sweep) адресов, раскрытых с помощью DNS, позволяет увидеть, какие хосты реально работают в данной среде. Получив список хостов, злоумышленник использует средства сканирования портов, чтобы составить полный список услуг, поддерживаемых этими хостами. И, наконец, злоумышленник анализирует характеристики приложений, работающих на хостах. В результате добывается информация, которую можно использовать для взлома. [2]

Способы борьбы с данной атакой:

  1. Отключение эхо ICMP и эхо-ответ на периферийных маршрутизаторах. Это, однако, приведет к потере данных необходимых для диагностики сетевых сбоев.

  2. Использование систем обнаружения вторжений (IDS).

IP-спуфинг.

IP-спуфинг происходит, когда злоумышленник, находящийся внутри корпорации или вне ее выдает себя за санкционированного пользователя. Это можно сделать двумя способами. Во-первых, злоумышленник может воспользоваться IP-адресом, находящимся в пределах диапазона санкционированных IP-адресов, или авторизованным внешним адресом, которому разрешается доступ к определенным сетевым ресурсам. Атаки IP-спуфинга часто являются отправной точкой для прочих атак. Классический пример - атака DoS, которая начинается с чужого адреса, скрывающего истинную личность злоумышленника.

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

Если же злоумышленнику удается поменять таблицы маршрутизации и направить трафик на ложный IP-адрес, злоумышленник получит все пакеты и сможет отвечать на них так, будто он является санкционированным пользователем. [2]

Угрозу спуфинга можно ослабить (но не устранить) с помощью следующих мер:

  1. Контроль доступа. Самый простой способ предотвращения IP-спуфинга состоит в правильной настройке управления доступом. Чтобы снизить эффективность IP-спуфигна, настройте контроль доступа на отсечение любого трафика, поступающего из внешней сети с исходным адресом, который должен располагаться внутри вашей сети. Если санкционированными являются и некоторые адреса внешней сети, данный метод становится неэффективным.

  2. Фильтрация RFC 2827. Вы можете пресечь попытки спуфинга чужих сетей пользователями вашей сети (и стать добропорядочным "сетевым гражданином"). Для этого необходимо отбраковывать любой исходящий трафик, исходный адрес которого не является одним из IP-адресов вашей организации. Этот тип фильтрации, известный под названием "RFC 2827", может выполнять и провайдер. В результате отбраковывается весь трафик, который не имеет исходного адреса, ожидаемого на определенном интерфейсе.

  3. Использование криптографической аутентификации.

Атака типа man-in-the-middle.

Для атаки типа Man-in-the-Middle злоумышленнику нужен доступ к пакетам, передаваемым по сети. Такой доступ ко всем пакетам, передаваемым от провайдера в любую другую сеть, может, к примеру, получить сотрудник этого провайдера. Для атак этого типа часто используются снифферы пакетов, транспортные протоколы и протоколы маршрутизации. Атаки проводятся с целью кражи информации, перехвата текущей сессии и получения доступа к частным сетевым ресурсам, для анализа трафика и получения информации о сети и ее пользователях, для проведения атак типа DoS, искажения передаваемых данных и ввода несанкционированной информации в сетевые сессии. [2]

Способы борьбы с данной атакой:

  1. Использование шифрования данных

Инъекция.

SQL-инъекция.

SQL-инъекция – это атака, в ходе которой изменяются параметры SQL-запросов к базе данных. В результате запрос приобретает совершенно иной смысл, и в случае недостаточной фильтрации входных данных способен не только произвести вывод конфиденциальной информации, но и изменить/удалить данные. [4]

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

  1. Для целых и дробных величин, перед их использованием в запросе достаточно привести величину к нужному типу.

$id=(int)$id; $total=(float)$total;

Вместо этого можно вставить систему слежения за тестированием на SQL инъекцию.

if((string)$id<>(string)(int)$id) {

die('ops');

}

  1. Для строковых параметров, которые не используются в like, regexp и тд, экранируем кавычки.

$str=addslashes($str);

или, лучше,

mysql_escape_string($str)

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

PHP-инъекция.

PHP-инъекция - один из способов взлома веб-сайтов, работающих на PHP. Он заключается в том, чтобы внедрить специально сформированный злонамеренный сценарий в код веб-приложения на серверной стороне сайта, что приводит к выполнению произвольных команд. [5]

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

  1. Проверять, не содержит ли переменная $name посторонние символы:

<?

...

$name = $_GET['name'];

if (strpbrk($name, '.?/:')) die('Blocked');

include $name. '.php';

...

?>

  1. Проверять, что $name присвоено одно из допустимых значений:

<?

...

$name = $_GET['name'];

$arr = array('main', 'about', 'links', 'forum');

if (!in_array($name,$arr)) $name = $arr[0];

include $name . '.php';

...

?>

Межсайтовый скриптинг или XSS-атака.

XSS атака – это атака на уязвимость, которая существует на сервере, позволяющая внедрить в генерируемую сервером HTML-страницу некий произвольный код, в котором может быть вообще все что угодно и передавать этот код в качестве значения переменной, фильтрация по которой не работает, то есть сервер не проверяет данную переменную на наличие в ней запрещенных знаков –, <, >, ’, ”. Значение данной переменной передается от генерируемой HTML-страницы на сервер в скрипт, ее вызвавший путем отправки запроса.

А далее начинается самое интересное для Злоумышленника. РНР-скрипт в ответ на данный запрос генерирует HTML-страницу, в которой отображаются значения требующихся злоумышленнику переменных, и отправляет данную страницу на браузер злоумышленника.

То есть, говоря проще, XSS атака – это атака с помощью уязвимостей на сервере на компьютеры клиентов.

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

Теперь опишем другие возможности XSS атак (конечно при условии их успешного проведения).

  1. Возможно при открытии страницы вызвать открытие большого количества ненужных пользователю окон.

  2. Возможна вообще переадресация на другой сайт (например, на сайт конкурента).

  3. Существует возможность загрузки на компьютер пользователя скрипта с произвольным кодом (даже вредоносного) путем внедрения ссылки на исполняемый скрипт со стороннего сервера.

  4. Зачастую происходит кража личной информации с компьютера пользователя, помимо Cookies в качестве объекта кражи выступает информация о посещенных сайтах, о версии браузера и операционной системе, установленной на компьютере пользователя, да к тому же еще и плюсуется IP-адрес компьютера пользователя.

  5. XSS атака может быть проведена не только через сайт, но и через уязвимости в используемом программном обеспечении (в частности, через браузеры). Поэтому рекомендуется обновлять используемое программное обеспечение.

  6. Также возможно проведение XSS атак через использование SQL-кода.

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

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

Способы борьбы с данным видом атак (используются исключительно администраторами ресурсов):

  1. Запретить включение напрямую параметров $_GET, $_POST, $_COOKIE в генерируемую HTML-страницу.

  2. Запретить загрузку произвольных файлов на сервер во избежание загрузки вредоносных скриптов.

  3. Все загруженные файлы хранить в базе данных, а не в файловой системе.

XPath-инъекция.

XPath-инъекция - вид уязвимостей, который заключается во внедрении XPath-выражений в оригинальный запрос к базе данных XML. XPath (XML Path Language) – это язык, который предназначен для произвольного обращения к частям XML документа. XML (eXtensible Markup Language) – это всем известный язык разметки, с помощью которого создаются XML документы, имеющие древовидную структуру. [6]

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

  1. Проверка корректности. Независимо от приложения, среды или языка необходимо следовать следующим практическим правилам:

  • Предполагайте, что все вводимые данные сомнительны.

  • Проверяйте не только тип вводимых данных, но также их формат, длину, диапазон и содержимое (например, такое простое регулярное выражение как if (/^"*^';&<>()/) должно находить большинство подозрительных специальных символов).

  • Проверяйте данные как на стороне клиента, так и на стороне сервера, поскольку проверку на стороне клиента чрезвычайно легко перехитрить.

  • Следуйте последовательной [missing word] стратегии защищенности приложения, основываясь на передовом опыте разработки защищенных приложений

  • Тестируйте приложение на известные угрозы перед его выпуском.

  1. Проверка данных на Web-сервере. Для защиты против XPath-внедрения и других форм внедрения кода необходимо проверять все данные, передаваемые от Web-сервера к службам системы хранения данных. Этот подход может быть очень хорош для некоторых приложений, которые, возможно, используют основанные на REST или SOAP XML-сервисы, но в других случаях он может быть не возможен. Как всегда наилучшим подходом является разумное проектирование, начиная с первоначального дизайна и до реализации приложения.

Отказ в обслуживании (DoS- и DDoS- атаки).

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

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

В случае использования некоторых серверных приложений (таких как Web-сервер или FTP-сервер) атаки DoS могут заключаться в том, чтобы занять все соединения, доступные для этих приложений и держать их в занятом состоянии, не допуская обслуживания обычных пользователей. В ходе атак DoS могут использоваться обычные Интернет-протоколы, такие как TCP и ICMP (Internet Control Message Protocol). Большинство атак DoS опирается не на программные ошибки или бреши в системе безопасности, а на общие слабости системной архитектуры. Некоторые атаки сводят к нулю производительность сети, переполняя ее нежелательными и ненужными пакетами или сообщая ложную информацию о текущем состоянии сетевых ресурсов. Этот тип атак трудно предотвратить, так как для этого требуется координация действий с провайдером. Если трафик, предназначенный для переполнения вашей сети, не остановить у провайдера, то на входе в сеть вы это сделать уже не сможете, потому что вся полоса пропускания будет занята. Когда атака этого типа проводится одновременно через множество устройств, мы говорим о распределенной атаке DoS (DDoS - distributed DoS). [2]

Угроза атак типа DoS может снижаться тремя способами:

  1. Функции анти-спуфинга. Правильная конфигурация функций анти-спуфинга на маршрутизаторах и межсетевых экранах поможет снизить риск DoS. Эти функции, как минимум, должны включать фильтрацию RFC 2827.

  2. Функции анти-DoS. Правильная конфигурация функций анти-DoS на маршрутизаторах и межсетевых экранах может ограничить эффективность атак. Эти функции часто ограничивают число полуоткрытых каналов в любой момент времени.

  3. Ограничение объема трафика (traffic rate limiting). Организация может попросить провайдера ограничить объем трафика. Этот тип фильтрации позволяет ограничить объем некритического трафика, проходящего по вашей сети.

Phishing-атаки.

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

Приведем пример фишинг-атаки:

Пользователь получает электронную почту от support@mybank.com <mailto:support@mybank.com> (адрес - подменен) со строкой сообщения "модификация защиты", в котором ее просят перейти по адресу www.mybank-validate.info <http://www.mybank-validate.info> (имя домена принадлежит нападавшему, а не банку) и ввести его банковский PIN-код. [7]

Способы защиты от данной атаки:

  1. Использовать только проверенные ресурсы и пути доступа к ним.

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

Выводы.

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


Литература:

  1. Windows под прицелом// Security Lab, декабрь 2004.

  2. Кадер М. Типы сетевых атак, их описания, средства борьбы// Cisco.

  3. Колищак А. Атаки на переполнение буфера// ноябрь 1999.

  4. SQL-инъекция в MySQL сервере // Security Lab, декабрь 2004.

  5. http://docs.php.net

  6. http://www.ibm.com

  7. http://os.zone.net

Обсуждение

Социальные комментарии Cackle