Страница:
«http://news.bbc.co.uk/1/hi/world/europe/859479.stm»
(ссылка на некий ресурс, доказывающий, что авария с указанным лицом действительно произошла)
Хм, ну что ж. По логике вещей, конечно, жалко погибшего, а как же быть с 25 млн американских долларов? Написавший это письмо утверждает, что счет никому не принадлежит. Намек что ли? Но пока это только не более чем намеки. Посмотрим, что нам пишут дальше.
"SINCE WE GOT THE INFORMATION ABOUT HIS DEATH, WE HAVE BEEN EXPECTING HIS NEXT OF KIN TO COME OVER AND CLAIM HIS MONEY BECAUSE WE CANNOT RELEASE IT, UNLESS SOMEBODY APPLIES FOR THE NEXT OF KIN OR RELATION TO THE DECEASED AS INDICATED IN OUR BANKING GUIDING AND LAW BUT UNFORTUNATELY WE LEARNT THAT HIS NEXT OF KIN DIED ALONG
WITH HIM IN THE PLANE CRASH.
THE BANKER GUIDELINE HERE A RESPONSABLE PERSON, AND WHO THE BANK CAN INTROSSTED THIS TREASURY AS UNCLAIMED FUND.
THE RESQUEST OF FORIEGNER AS NEXT OFKININHIS BUSINESS IS OCCASSIONED
BY THE FACT THAT THE CUSTOMER WAS A FOREIGNER AND A BURKINABE
CANNOT STAND AS NEXT OF KIN TO A FOREIGNER".
С момента получения нами информации о смерти клиента мы приложили все усилия, чтобы найти кого-нибудь из ближайших его родственников, но вынуждены признать, что все его родственники погибли в авиакатастрофе. Мы ищем подходящего человека (а такой подходящий именно вы и никто другой, будьте в этом уверены!) для обналичивания счета.
По логике вещей должен возникнуть вопрос: почему этот менеджер не может найти этого "нужного" человека там, в Африке? Ответ прост: этот человек должен быть иностранцем, то есть вы именно тот, кто идеально подходит для этой цели.
«I AGREE THAT 30% OFTHIS MONEYWILL BE FOR YOU AS A RESPECT TO THE PROVISION OF A FOREIGN ACCOUNT».
И вот здесь начинается самое интересное. Господин USMAN KAMAL предлагает нам 30 % от суммы, лежащей на счете, а это ни много ни мало 7 млн 500 тыс. американских долларов (!).
"10 % WILL BE SET ASIDE FOR ANY EXPENSES INCURRED DURING THE BUSINESS AND 60 % WOULD BE FOR ME.
HEREAFTER, I WILL VISIT YOUR COUNTRY FOR DISBURSEMENT ACCORDING TO THE PERCENTAGE INDICATED THEREFORE, TO ENABLE THE IMMEDIATE TRANSFER OF THIS FUND TO YOU AS ARRANGED".
10 % от этой суммы пойдут на "производственные" расходы, а 60 % он заберет себе. После чего Усман обещает приехать в нашу страну и уладить все вопросы, касающиеся срочного перевода денег.
"YOU MUST APPLY FIRST TO THE BANK AS RELATION OR NEXT OF KIN OF THE DECEASED INDICATING YOUR BANK NAME, YOUR BANK ACCOUNT NUMBER, YOUR PRIVATE TELEPHONE NUMBER AND YOUR FAX NUMBER FOR EASY AND EFFECTIVE COMMUNICATION AND LOCATION WHERE IN THE MONEY WILL BE
REMITTED".
Чтобы стать счастливым обладателем 30 % от указанной выше суммы, необходимо сделать совсем ничего, а именно: обратиться в соответствующий банк в качестве родственника погибшего, указав реквизиты своего банковского счета, включая свой личный номер телефона и факса.
"UPON RECEPIT OF YOUR REPLY, I WILL SEND TO YOU BY FAX OR EMAIL THE TEXT OF APPLICATION^
После того как мистер Усман получит ваш ответ, к вам на электронный ящик будет отправлена специальная форма заявления, которая понадобится для оговоренных выше транзакций.
«I WILL NOT FAIL TO BRING TO YOUR NOTICE THIS TRANSACTION IS HITCH-FREE AND THAT YOU SHOULD NOT ENTERTAIN ANY ATOM OF FEAR AS ALL REQUIRED ARRANGEMENTS HAVE BEEN MADE FOR THE TRANSFER».
Я обещаю, что все операции по переводу денег займут минимальное количество времени с минимальным для вас риском.
"YOU SHOULD CONTACT ME IMMEDIATELY AS SOON AS YOU RECEIVE THIS
LETTER.
TRUST TO HEAR FROM YOUIMMEDIATELY".
Постарайтесь ответить как можно быстрей.
«YOURS FAITHFULLY MR USMAN KAMAL».
С глубочайшим уважением, мистер Усман Камал.
Сетевое сканирование портов
Сетевые атаки с использованием червей, вирусов, троянских коней
Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS)
1.4. Классификация угроз безопасности веб-серверов
Классы атак
(ссылка на некий ресурс, доказывающий, что авария с указанным лицом действительно произошла)
Хм, ну что ж. По логике вещей, конечно, жалко погибшего, а как же быть с 25 млн американских долларов? Написавший это письмо утверждает, что счет никому не принадлежит. Намек что ли? Но пока это только не более чем намеки. Посмотрим, что нам пишут дальше.
"SINCE WE GOT THE INFORMATION ABOUT HIS DEATH, WE HAVE BEEN EXPECTING HIS NEXT OF KIN TO COME OVER AND CLAIM HIS MONEY BECAUSE WE CANNOT RELEASE IT, UNLESS SOMEBODY APPLIES FOR THE NEXT OF KIN OR RELATION TO THE DECEASED AS INDICATED IN OUR BANKING GUIDING AND LAW BUT UNFORTUNATELY WE LEARNT THAT HIS NEXT OF KIN DIED ALONG
WITH HIM IN THE PLANE CRASH.
THE BANKER GUIDELINE HERE A RESPONSABLE PERSON, AND WHO THE BANK CAN INTROSSTED THIS TREASURY AS UNCLAIMED FUND.
THE RESQUEST OF FORIEGNER AS NEXT OFKININHIS BUSINESS IS OCCASSIONED
BY THE FACT THAT THE CUSTOMER WAS A FOREIGNER AND A BURKINABE
CANNOT STAND AS NEXT OF KIN TO A FOREIGNER".
С момента получения нами информации о смерти клиента мы приложили все усилия, чтобы найти кого-нибудь из ближайших его родственников, но вынуждены признать, что все его родственники погибли в авиакатастрофе. Мы ищем подходящего человека (а такой подходящий именно вы и никто другой, будьте в этом уверены!) для обналичивания счета.
По логике вещей должен возникнуть вопрос: почему этот менеджер не может найти этого "нужного" человека там, в Африке? Ответ прост: этот человек должен быть иностранцем, то есть вы именно тот, кто идеально подходит для этой цели.
«I AGREE THAT 30% OFTHIS MONEYWILL BE FOR YOU AS A RESPECT TO THE PROVISION OF A FOREIGN ACCOUNT».
И вот здесь начинается самое интересное. Господин USMAN KAMAL предлагает нам 30 % от суммы, лежащей на счете, а это ни много ни мало 7 млн 500 тыс. американских долларов (!).
"10 % WILL BE SET ASIDE FOR ANY EXPENSES INCURRED DURING THE BUSINESS AND 60 % WOULD BE FOR ME.
HEREAFTER, I WILL VISIT YOUR COUNTRY FOR DISBURSEMENT ACCORDING TO THE PERCENTAGE INDICATED THEREFORE, TO ENABLE THE IMMEDIATE TRANSFER OF THIS FUND TO YOU AS ARRANGED".
10 % от этой суммы пойдут на "производственные" расходы, а 60 % он заберет себе. После чего Усман обещает приехать в нашу страну и уладить все вопросы, касающиеся срочного перевода денег.
"YOU MUST APPLY FIRST TO THE BANK AS RELATION OR NEXT OF KIN OF THE DECEASED INDICATING YOUR BANK NAME, YOUR BANK ACCOUNT NUMBER, YOUR PRIVATE TELEPHONE NUMBER AND YOUR FAX NUMBER FOR EASY AND EFFECTIVE COMMUNICATION AND LOCATION WHERE IN THE MONEY WILL BE
REMITTED".
Чтобы стать счастливым обладателем 30 % от указанной выше суммы, необходимо сделать совсем ничего, а именно: обратиться в соответствующий банк в качестве родственника погибшего, указав реквизиты своего банковского счета, включая свой личный номер телефона и факса.
"UPON RECEPIT OF YOUR REPLY, I WILL SEND TO YOU BY FAX OR EMAIL THE TEXT OF APPLICATION^
После того как мистер Усман получит ваш ответ, к вам на электронный ящик будет отправлена специальная форма заявления, которая понадобится для оговоренных выше транзакций.
«I WILL NOT FAIL TO BRING TO YOUR NOTICE THIS TRANSACTION IS HITCH-FREE AND THAT YOU SHOULD NOT ENTERTAIN ANY ATOM OF FEAR AS ALL REQUIRED ARRANGEMENTS HAVE BEEN MADE FOR THE TRANSFER».
Я обещаю, что все операции по переводу денег займут минимальное количество времени с минимальным для вас риском.
"YOU SHOULD CONTACT ME IMMEDIATELY AS SOON AS YOU RECEIVE THIS
LETTER.
TRUST TO HEAR FROM YOUIMMEDIATELY".
Постарайтесь ответить как можно быстрей.
«YOURS FAITHFULLY MR USMAN KAMAL».
С глубочайшим уважением, мистер Усман Камал.
ПРИМЕЧАНИЕ
Согласно статистике в 3 % случаев человек, получивший подобное письмо, уезжает в Африку… навсегда.
Сетевое сканирование портов
Сетевое сканирование портов включает в себя процесс автоматизированного выявления уязвимостей на удаленных системах с последующим захватом последних. В качестве сканеров подобного рода можно привести что-нибудь вроде XSpider, Essential Net Tools, Net Bios Scaner и многие другие, активно использующиеся теми, кому это надо (рис. 1.4).
Существуют специализированные системы, упрощающие процесс хакинга до максимума. В качестве горячего примера можно привести так называемые авторутеры (англ. root – дословно "корень", "корневая директория"; подразумевается полный захват системы) – программные комплексы, последовательно сканирующие большое количество машин. Следующим после обнаружения уязвимых систем шагом "захватчика" является процесс захвата системы с установкой специализированного вредоносного ПО (черви, троянские кони и руткиты (root kit), которые, в отличие от остальных, обнаружить в системе практически невозможно; также затруднительно и лечение системы).
Рис. 1.4. Утилита XSpider в действии
Преимущества таких автоматизированных систем очевидны: за считанное время автоматизация позволяет захватчику просканировать сотни тысяч систем.
В качестве горячего примера можно привести краткие описания следующих руткитов (взято с www.virusList.com), как нельзя лучше иллюстрирующих совсем не детские возможности современного вредоносного ПО:
♦ "AFXRootkit 2005 – это Open Source-руткит, написанный на Delphi; использует code injection и hooks Windows native API для сокрытия своего процесса, modules, handles, files, ports, registry keys и т. д.";
♦ "FU Rootkit: FU может прятать процессы, поднимать привилегии процесса, обманывать Windows Event Viewer, так что суды невозможны! И даже прячет драйверы устройств (!). И все это без какого-либо взлома".
До недавнего времени обнаружение руткитов представляло довольно сложную с технической точки зрения процедуру, однако сейчас существует достаточное количество спецсредств для обнаружения подобных вредоносных модулей. В качестве примера можно привести "Антивирус Касперского 7.0" (рис. 1.5).
Рис. 1.5. Включение модуля обнаружения руткитов
Существуют специализированные системы, упрощающие процесс хакинга до максимума. В качестве горячего примера можно привести так называемые авторутеры (англ. root – дословно "корень", "корневая директория"; подразумевается полный захват системы) – программные комплексы, последовательно сканирующие большое количество машин. Следующим после обнаружения уязвимых систем шагом "захватчика" является процесс захвата системы с установкой специализированного вредоносного ПО (черви, троянские кони и руткиты (root kit), которые, в отличие от остальных, обнаружить в системе практически невозможно; также затруднительно и лечение системы).
Рис. 1.4. Утилита XSpider в действии
Преимущества таких автоматизированных систем очевидны: за считанное время автоматизация позволяет захватчику просканировать сотни тысяч систем.
В качестве горячего примера можно привести краткие описания следующих руткитов (взято с www.virusList.com), как нельзя лучше иллюстрирующих совсем не детские возможности современного вредоносного ПО:
♦ "AFXRootkit 2005 – это Open Source-руткит, написанный на Delphi; использует code injection и hooks Windows native API для сокрытия своего процесса, modules, handles, files, ports, registry keys и т. д.";
♦ "FU Rootkit: FU может прятать процессы, поднимать привилегии процесса, обманывать Windows Event Viewer, так что суды невозможны! И даже прячет драйверы устройств (!). И все это без какого-либо взлома".
До недавнего времени обнаружение руткитов представляло довольно сложную с технической точки зрения процедуру, однако сейчас существует достаточное количество спецсредств для обнаружения подобных вредоносных модулей. В качестве примера можно привести "Антивирус Касперского 7.0" (рис. 1.5).
Рис. 1.5. Включение модуля обнаружения руткитов
Сетевые атаки с использованием червей, вирусов, троянских коней
Симптоматика вирусного заражения обычно следующая: заражение исполняемых файлов (EXE, COM), сопровождаемое аномальным поведением при запуске, «чудо-форматирование дисков», необратимое подвисание системы и т. п.
Из Сети такое чудо можно получить известным способом – через почтовые прикрепления либо скачав суперускоритель браузера.
Троянские кони, в отличие от вирусов, не характеризуются особо страшной деструктивностью, но от этого менее коварным этот вид программ назвать нельзя. Суть сетевой атаки с использованием троянских коней проста: на машину жертвы любым из известных способов "заливается" программа, которая впоследствии, в зависимости от своей функциональной принадлежности, крадет персональные данные с последующей пересылкой "награбленного" своему хозяину, удаленно управляет системой (так называемый backdoor – бэкдор), выполняет функции прокси-сервера (понятно, зачем), участвует в организации DDoS и т. д.
Чтобы лучше представить себе некоторые из возможностей шпионских программ и их роль в организации сетевых атак, будет более чем уместно привести следующее описание (источник www.viruslist.com).
"A-311 Death Full (бэкдор) – это новая, продвинутая система удаленного администрирования с множеством возможностей. Рассмотрим основные из них:
♦ после установки программа работает из-под системных приложений;
♦ невидимость с момента инсталляции;
♦ невидимость слушающих портов;
♦ полный и совершенный контроль над файловой системой: копирование, переименование, удаление файлов и папок, создание новых папок;
♦ вывод файлов/папок по заданной маске (включая refresh), а также возможность показывать растровые изображения поверх всех окон и проигрывать WAV-файлы внутренними средствами сервера (при щелчке правой кнопкой мыши на названии соответствующего файла в меню появится дополнительный раздел), отправлять файлы посредством электронной почты прямо из файл-менеджера;
♦ запуск приложений одним щелчком кнопкой мыши, просмотр/изменение атрибутов файлов, управление реестром (в Windows 2000/XP управление с правами SYSTEM, но только после перезагрузки): создание, переименование, удаление ключей и параметров;
♦ перезагрузка/выключение компьютера/выход пользователя;
♦ обнуление содержимого CMOS;
♦ отключение дисковода и отключение/включение монитора". Комментарии, как говорится, излишни.
Из Сети такое чудо можно получить известным способом – через почтовые прикрепления либо скачав суперускоритель браузера.
Троянские кони, в отличие от вирусов, не характеризуются особо страшной деструктивностью, но от этого менее коварным этот вид программ назвать нельзя. Суть сетевой атаки с использованием троянских коней проста: на машину жертвы любым из известных способов "заливается" программа, которая впоследствии, в зависимости от своей функциональной принадлежности, крадет персональные данные с последующей пересылкой "награбленного" своему хозяину, удаленно управляет системой (так называемый backdoor – бэкдор), выполняет функции прокси-сервера (понятно, зачем), участвует в организации DDoS и т. д.
Чтобы лучше представить себе некоторые из возможностей шпионских программ и их роль в организации сетевых атак, будет более чем уместно привести следующее описание (источник www.viruslist.com).
"A-311 Death Full (бэкдор) – это новая, продвинутая система удаленного администрирования с множеством возможностей. Рассмотрим основные из них:
♦ после установки программа работает из-под системных приложений;
♦ невидимость с момента инсталляции;
♦ невидимость слушающих портов;
♦ полный и совершенный контроль над файловой системой: копирование, переименование, удаление файлов и папок, создание новых папок;
♦ вывод файлов/папок по заданной маске (включая refresh), а также возможность показывать растровые изображения поверх всех окон и проигрывать WAV-файлы внутренними средствами сервера (при щелчке правой кнопкой мыши на названии соответствующего файла в меню появится дополнительный раздел), отправлять файлы посредством электронной почты прямо из файл-менеджера;
♦ запуск приложений одним щелчком кнопкой мыши, просмотр/изменение атрибутов файлов, управление реестром (в Windows 2000/XP управление с правами SYSTEM, но только после перезагрузки): создание, переименование, удаление ключей и параметров;
♦ перезагрузка/выключение компьютера/выход пользователя;
♦ обнуление содержимого CMOS;
♦ отключение дисковода и отключение/включение монитора". Комментарии, как говорится, излишни.
ПРИМЕЧАНИЕЧто касается сетевых атак, организованных посредством червей, то тут следует сказать следующее: в основах механизмов распространения червей стоят многочисленные дыры ПО, «новопоявления» которых очень часто сопровождаются созданием нового червя. По логике вещей можно было бы предположить: новая дыра – новый червь. Но не следует забывать про многочисленные модификации компьютерных червяков, которые как раз и являются причиной массовых интернет-эпидемий.
Описание носит ознакомительный характер. Автор не несет никакой ответственности за использование конкретных приведенных материалов в злонамеренных целях.
Атаки типа «отказ в обслуживании» (DoS) и «распределенный отказ в обслуживании» (DDoS)
На сегодняшний день DDoS-атаки являются одними из самых опасных с точки зрения последствий. Посудите сами: крупный обслуживающий банковский сервер, который на некоторое время (пусть даже на полчаса) приостановил свою работу, создает убытки, исчисляемые десятками и даже сотнями тысяч долларов. А каковы будут убытки, если сервер замолчит на сутки?
Данный вид атаки в большинстве случаев не требует сверхусилий со стороны атакующего и поэтому доступен многим из тех, кому это надо.
Чем же принципиально отличаются DoS и DDoS от других сетевых атак? Наверное, тем, что цели таких атак не сводятся к получению тотального доступа к вашей сети или разведыванию какой-либо конфиденциальной информации. Нападения подобного рода используются в первую очередь для подрыва нормального функционала системы (это как раз тот случай, когда можно говорить о "нарушении доступности", – см. разд. 1.2) за счет обработки пакетов или траты системных ресурсов. Подобные нападения имеют несколько разновидностей.
UDP flood представляет собой атаку, при которой на определенный адрес системы-мишени осуществляется отправка множества пакетов UDP (User Datagram Protocol – дополнительный компонент протокола TCP, поддерживающий выполняющуюся без подключений службу датаграмм, не гарантирующую ни доставку, ни правильную последовательность доставленных пакетов). В настоящее время подобный вид атак применяется все реже: особенностью UDP-отправите-лей является возможность их легкого обнаружения, что связано с отсутствием шифрования протоколов TCP и UDP на уровне взаимодействия управляющего атакой и машинами-зомби.
ICMP flood – атака посредством ICMP-протокола (Internet Control Message Protocol – обязательный управляющий протокол в наборе протоколов TCP/IP, сообщающий об ошибках и обеспечивающий связь между узлами сети. Именно протокол ICMP используется программой Ping для обнаружения и устранения неполадок TCP/IP).
Продолжая экскурс по ICMP, более чем уместно упомянуть о так называемой атаке Smurf, представляющей собой пинг-запросы ICMP по адресу направленной широковещательной рассылки с использованием в пакетах этого запроса фальшивого адреса источника. В основе Smurf-атаки стоит использование Smurf-пинг-запросов по адресу направленной широковещательной рассылки. Используемый в пакетах этого запроса фальсифицированный адрес источника совпадает с адресом атакуемого. Системы, получившие направленный широковещательный пинг-запрос, как им и положено, исправно на него отвечают (естественно, тому, от кого пришел запрос). Результатом такого ответа является затопление атакуемого большим количеством сетевых пакетов, что, в конечном счете, приводит к отказу в обслуживании.
TCP SYN Flood имеет место, в случае если клиент пытается установить TCP-со-единение с сервером, что требует обмена определенной последовательностью сообщений. Сначала клиентская система посылает SYN-пакет на сервер. После этого сервер подтверждает получение SYN-пакета, отсылая SYN-ACK-сообщение клиенту. Затем клиент завершает установку соединения, отвечая сообщением ACK, и затем снова должен произойти обмен данными. В точке, где система сервера послала подтверждение (SYN-ACK) назад клиенту, но еще не получила сообщения ACK, устанавливается полуоткрытое соединение. «Фишка» в том, что параметры, касающиеся всех ждущих обработки соединений, располагаются в оперативной памяти сервера, которая не безразмерна, разумеется. Если преднамеренно создать большое количество частично открытых соединений, то память переполнится, и система подвиснет.
Атаки Ping of Death заставляют системы реагировать непредсказуемым образом при получении слишком больших IP-пакетов. TCP/IP поддерживает максимальный размер пакета в 65 Кбайт (как минимум 20 байт информации в IP-заголовке, некоторое количество дополнительной информации и остальная часть пакета, содержащая основные данные). Атаки Ping of Death могут вызвать крушение, зависание и перезагрузку системы.
Tribe Flood Network (TFN) и Tribe Flood Network 2000 (TFN2K) являются распределенными инструментальными средствами, обычно запускающими скоординированные DoS-атаки из многих источников на одну или несколько целей. Использование TFN-атаки дает возможность генерировать пакеты с фальшивыми IP-адресами источника. Механизм атаки приблизительно таков: злонамеренный пользователь посылает с главного компьютера команды нападения на список TFN-серверов или демонов. Затем демоны генерируют указанный тип DoS-атаки на один или несколько IP-адресов жертв. IP-адреса и порты источника атаки могут изменяться совершенно случайным образом, как и размеры пакетов.
Высокая эффективность современных DDoS-атак достигается путем модификации и комбинирования отдельных ее видов. Уже упомянутые TFN и TFN2K позволяют одновременно инициировать атаки нескольких типов: Smurf, UDP flood, ICMP flood и TCP SYN flood, – что делает их мощным инструментом для подобных задач. Пересылка команд и параметров при этом умело замаскирована в передаваемых данных, чтобы не вызвать подозрений у защитного ПО.
Как средства организации распределенных атак TFN и TFN2K относительно сложны и требуют от атакующего намного более высокой квалификации, чем в других случаях, но и практическая эффективность их намного выше.
Ярчайшим представителем средств организации DoS-атак нового поколения является Stacheldracht (дословно «колючая проволока»). Stacheldraht объединяет в себе особенности некоторых DoS-атак, в том числе TFN, шифрование связи между нападающим и главными серверами Stacheldraht и автоматическое обновление агентов. Начальный этап атаки включает активное массированное проникновение в большое количество систем для последующего использования их при атаке. Затем следует заключительный этап, в ходе которого «порабощенные» системы используются для атаки на один или несколько объектов.
Атаки IP spoofing (подмена IP-адресов) – это не разновидность DoS, но, тем не менее, атаки подобного рода широко используются, в случае если необходимо скрыть IP, что имеет место при организации любой DDoS.
Атаки MAC spoofing. Применяются для фальсификации MAC-адреса. Атака подобного рода проводится тогда, когда необходимо, чтобы машину взломщика приняли за доверенную машину, в случае если доступ закрыт посредством фильтрации MAC-адресов. Остановимся на технологии подробнее.
В пределах локальной сети каждая сетевая карта маркируется уникальным MAC-адресом – 12-значным шестнадцатеричным числом. Прежде чем отправить пакет в локальную сеть, драйвер сетевой карты определяет по IP-адресу точки назначения физический адрес сетевой карты компьютера-адресата и помечает пакет соответствующим MAC. На принимающей стороне сетевая карта, получившая пакет со своим MAC-адресом, пропускает его, направляя по цепочке "драйвер – операционная система – приложение".
Взаимодействие машин в сети на физическом уровне обслуживается протоколом ARP, который представляет собой протокол из набора протоколов TCP/IP, обеспечивающий сопоставление IP-адресов с адресами MAC для пакетов IP. В случае если машина отправляет пакет в пределах подсети, для сопоставления и привязки MAC/IP служит ARP-таблица. При отсутствии записей в ARP-таблице в ход идут данные ARP-кэша. И только в крайнем случае, когда данные нигде не найдены, осуществляется широковещательный ARP-запрос по адресу ff:ff:ff:ff:ff:ff (значит, всем).
Особенности протокола ARP таковы, что возможна практически беспрепятственная подмена истинных соответствий в ARP-хэше. Для этого может быть использовано специализированное программное обеспечение вроде SMAC или MAC SPOOFER 2006 (рис. 1.6).
Рис. 1.6. Программа MAC SPOOFER в действии
Password attacks (атаки для взлома паролей) могут использовать различные методы: лобовая атака, или Brute Force – так называемый грубый перебор паролей. «Брутфорс» – атаки имеют место в том случае, если существует потенциальная возможность множественных попыток аутентификации: электронные ящики, учетные записи FTP, SAM-файлы, PWL-файлы, UIN и т. д. В ходе атаки последовательно перебираются все возможные комбинации символов, сочетание которых может оказаться верным. Процесс такого перебора автоматизирован и осуществляется с помощью специализированного программного обеспечения.
Packet sniffers – приложение, которое использует сетевой адаптер в «беспорядочном режиме» (когда сетевой адаптер посылает на обработку все пакеты, физически полученные по сети), чтобы захватить все сетевые пакеты, посланные через определенный домен. Снифферы пакетов используются легально в сетях для анализа трафика и поиска неисправностей. Однако, так как некоторые сетевые приложения посылают данные открытым текстом (telnet, FTP, SMTP, POP3 и т. д.), сниффинг пакетов может предоставить даже критически важную информацию, например имена пользователей и пароли.
Данный вид атаки в большинстве случаев не требует сверхусилий со стороны атакующего и поэтому доступен многим из тех, кому это надо.
Чем же принципиально отличаются DoS и DDoS от других сетевых атак? Наверное, тем, что цели таких атак не сводятся к получению тотального доступа к вашей сети или разведыванию какой-либо конфиденциальной информации. Нападения подобного рода используются в первую очередь для подрыва нормального функционала системы (это как раз тот случай, когда можно говорить о "нарушении доступности", – см. разд. 1.2) за счет обработки пакетов или траты системных ресурсов. Подобные нападения имеют несколько разновидностей.
UDP flood представляет собой атаку, при которой на определенный адрес системы-мишени осуществляется отправка множества пакетов UDP (User Datagram Protocol – дополнительный компонент протокола TCP, поддерживающий выполняющуюся без подключений службу датаграмм, не гарантирующую ни доставку, ни правильную последовательность доставленных пакетов). В настоящее время подобный вид атак применяется все реже: особенностью UDP-отправите-лей является возможность их легкого обнаружения, что связано с отсутствием шифрования протоколов TCP и UDP на уровне взаимодействия управляющего атакой и машинами-зомби.
ICMP flood – атака посредством ICMP-протокола (Internet Control Message Protocol – обязательный управляющий протокол в наборе протоколов TCP/IP, сообщающий об ошибках и обеспечивающий связь между узлами сети. Именно протокол ICMP используется программой Ping для обнаружения и устранения неполадок TCP/IP).
Продолжая экскурс по ICMP, более чем уместно упомянуть о так называемой атаке Smurf, представляющей собой пинг-запросы ICMP по адресу направленной широковещательной рассылки с использованием в пакетах этого запроса фальшивого адреса источника. В основе Smurf-атаки стоит использование Smurf-пинг-запросов по адресу направленной широковещательной рассылки. Используемый в пакетах этого запроса фальсифицированный адрес источника совпадает с адресом атакуемого. Системы, получившие направленный широковещательный пинг-запрос, как им и положено, исправно на него отвечают (естественно, тому, от кого пришел запрос). Результатом такого ответа является затопление атакуемого большим количеством сетевых пакетов, что, в конечном счете, приводит к отказу в обслуживании.
TCP SYN Flood имеет место, в случае если клиент пытается установить TCP-со-единение с сервером, что требует обмена определенной последовательностью сообщений. Сначала клиентская система посылает SYN-пакет на сервер. После этого сервер подтверждает получение SYN-пакета, отсылая SYN-ACK-сообщение клиенту. Затем клиент завершает установку соединения, отвечая сообщением ACK, и затем снова должен произойти обмен данными. В точке, где система сервера послала подтверждение (SYN-ACK) назад клиенту, но еще не получила сообщения ACK, устанавливается полуоткрытое соединение. «Фишка» в том, что параметры, касающиеся всех ждущих обработки соединений, располагаются в оперативной памяти сервера, которая не безразмерна, разумеется. Если преднамеренно создать большое количество частично открытых соединений, то память переполнится, и система подвиснет.
Атаки Ping of Death заставляют системы реагировать непредсказуемым образом при получении слишком больших IP-пакетов. TCP/IP поддерживает максимальный размер пакета в 65 Кбайт (как минимум 20 байт информации в IP-заголовке, некоторое количество дополнительной информации и остальная часть пакета, содержащая основные данные). Атаки Ping of Death могут вызвать крушение, зависание и перезагрузку системы.
Tribe Flood Network (TFN) и Tribe Flood Network 2000 (TFN2K) являются распределенными инструментальными средствами, обычно запускающими скоординированные DoS-атаки из многих источников на одну или несколько целей. Использование TFN-атаки дает возможность генерировать пакеты с фальшивыми IP-адресами источника. Механизм атаки приблизительно таков: злонамеренный пользователь посылает с главного компьютера команды нападения на список TFN-серверов или демонов. Затем демоны генерируют указанный тип DoS-атаки на один или несколько IP-адресов жертв. IP-адреса и порты источника атаки могут изменяться совершенно случайным образом, как и размеры пакетов.
Высокая эффективность современных DDoS-атак достигается путем модификации и комбинирования отдельных ее видов. Уже упомянутые TFN и TFN2K позволяют одновременно инициировать атаки нескольких типов: Smurf, UDP flood, ICMP flood и TCP SYN flood, – что делает их мощным инструментом для подобных задач. Пересылка команд и параметров при этом умело замаскирована в передаваемых данных, чтобы не вызвать подозрений у защитного ПО.
Как средства организации распределенных атак TFN и TFN2K относительно сложны и требуют от атакующего намного более высокой квалификации, чем в других случаях, но и практическая эффективность их намного выше.
Ярчайшим представителем средств организации DoS-атак нового поколения является Stacheldracht (дословно «колючая проволока»). Stacheldraht объединяет в себе особенности некоторых DoS-атак, в том числе TFN, шифрование связи между нападающим и главными серверами Stacheldraht и автоматическое обновление агентов. Начальный этап атаки включает активное массированное проникновение в большое количество систем для последующего использования их при атаке. Затем следует заключительный этап, в ходе которого «порабощенные» системы используются для атаки на один или несколько объектов.
Атаки IP spoofing (подмена IP-адресов) – это не разновидность DoS, но, тем не менее, атаки подобного рода широко используются, в случае если необходимо скрыть IP, что имеет место при организации любой DDoS.
Атаки MAC spoofing. Применяются для фальсификации MAC-адреса. Атака подобного рода проводится тогда, когда необходимо, чтобы машину взломщика приняли за доверенную машину, в случае если доступ закрыт посредством фильтрации MAC-адресов. Остановимся на технологии подробнее.
В пределах локальной сети каждая сетевая карта маркируется уникальным MAC-адресом – 12-значным шестнадцатеричным числом. Прежде чем отправить пакет в локальную сеть, драйвер сетевой карты определяет по IP-адресу точки назначения физический адрес сетевой карты компьютера-адресата и помечает пакет соответствующим MAC. На принимающей стороне сетевая карта, получившая пакет со своим MAC-адресом, пропускает его, направляя по цепочке "драйвер – операционная система – приложение".
Взаимодействие машин в сети на физическом уровне обслуживается протоколом ARP, который представляет собой протокол из набора протоколов TCP/IP, обеспечивающий сопоставление IP-адресов с адресами MAC для пакетов IP. В случае если машина отправляет пакет в пределах подсети, для сопоставления и привязки MAC/IP служит ARP-таблица. При отсутствии записей в ARP-таблице в ход идут данные ARP-кэша. И только в крайнем случае, когда данные нигде не найдены, осуществляется широковещательный ARP-запрос по адресу ff:ff:ff:ff:ff:ff (значит, всем).
Особенности протокола ARP таковы, что возможна практически беспрепятственная подмена истинных соответствий в ARP-хэше. Для этого может быть использовано специализированное программное обеспечение вроде SMAC или MAC SPOOFER 2006 (рис. 1.6).
Рис. 1.6. Программа MAC SPOOFER в действии
Password attacks (атаки для взлома паролей) могут использовать различные методы: лобовая атака, или Brute Force – так называемый грубый перебор паролей. «Брутфорс» – атаки имеют место в том случае, если существует потенциальная возможность множественных попыток аутентификации: электронные ящики, учетные записи FTP, SAM-файлы, PWL-файлы, UIN и т. д. В ходе атаки последовательно перебираются все возможные комбинации символов, сочетание которых может оказаться верным. Процесс такого перебора автоматизирован и осуществляется с помощью специализированного программного обеспечения.
Packet sniffers – приложение, которое использует сетевой адаптер в «беспорядочном режиме» (когда сетевой адаптер посылает на обработку все пакеты, физически полученные по сети), чтобы захватить все сетевые пакеты, посланные через определенный домен. Снифферы пакетов используются легально в сетях для анализа трафика и поиска неисправностей. Однако, так как некоторые сетевые приложения посылают данные открытым текстом (telnet, FTP, SMTP, POP3 и т. д.), сниффинг пакетов может предоставить даже критически важную информацию, например имена пользователей и пароли.
1.4. Классификация угроз безопасности веб-серверов
Многие из читателей наверняка обратили свое внимание на то, какую важную роль в анализе рисков (см. разд. 1.2) играет такой фактор, как угроза. В этой связи будет более чем уместно ознакомиться с перечнем типичных угроз, которые приведены ниже. Настоящая классификация окажется полезна и подготовленным читателям, и тем, кто углубленно интересуется вопросами компьютерной безопасности.
Очередной раз выходя в Интернет и привычно набирая в браузере дорогой сердцу адрес, мы убеждаемся снова и снова, что не так уж все и плохо: апокалипсис постоянно кто-то переносит, а мы живем в мире высоких технологий, и это не может не радовать. Интернет стал для многих из нас настолько привычным, что иногда кто-нибудь да и допустит мысль о его существовании со времени сотворения мира. Между тем за кажущейся простотой и удобством стоит четкая и отлаженная работа узлов Сети. Было бы наивно полагать, что все совершенно, особенно если речь идет о вещах, сосуществующих в столь динамичной среде. Просматривая горячие двадцатки SANS, предупреждения EEYE, горячий эксклюзив от SecurityLab, убеждаешься снова и снова: безопасность есть процесс, а не состояние.
В рамках данного раздела мы поговорим с вами о безопасности веб-серверов, а точнее постараемся внести ясность и создать некое подобие современной классификации веб-угроз. Предпосылки к созданию подобной классификации очевидны. За последние несколько лет индустрия безопасности веб-приложений адаптировала немалое количество не совсем точных терминов, описывающих уязвимости. Такие названия уязвимостей, как "подделка параметров" (Parameter Tampering), "меж-сайтовое выполнение сценариев" (Cross-site Scripting) и "отравление печений" (Cookie Poisoning) (да-да, именно так), мягко говоря, не совсем точно определяют суть проблемы и возможные последствия атак. Отсутствие четкости в определениях часто вызывает проблемы и взаимонепонимание, даже если стороны согласны с основной идеей.
Когда начинающий специалист безопасности веб-приложений приступает к обучению, его быстро вводит в заблуждение отсутствие стандартного языка. Подобная ситуация не только не способствует профессиональному овладению предметом, но и замедляет понимание картины в целом. Появление классификации угроз безопасности веб-приложений является исключительно важным событием в мире IT.
По известным причинам только система знаний, а не ее разрозненный, дискретный вариант, может служить показателем высшей квалификации разработчиков приложений, специалистов в области безопасности, производителей программных продуктов. На основе классификации в дальнейшем могут быть созданы методики обследования приложений, рекомендации по разработке приложений с учетом безопасности, требования к продуктам и службам. Следующая классификация есть результат проработки различных книг, десятков статей и презентаций. У ее истоков стоит Web Application Security Consortium, представители которой создали базу для разработки и популяризации стандартной терминологии описания подобных проблем (www.webappsec.org).
Представленная классификация окажется полезной прежде всего специалистам, хотя в целом материал направлен на широкий круг читателей, интересующихся проблемами компьютерной безопасности.
Очередной раз выходя в Интернет и привычно набирая в браузере дорогой сердцу адрес, мы убеждаемся снова и снова, что не так уж все и плохо: апокалипсис постоянно кто-то переносит, а мы живем в мире высоких технологий, и это не может не радовать. Интернет стал для многих из нас настолько привычным, что иногда кто-нибудь да и допустит мысль о его существовании со времени сотворения мира. Между тем за кажущейся простотой и удобством стоит четкая и отлаженная работа узлов Сети. Было бы наивно полагать, что все совершенно, особенно если речь идет о вещах, сосуществующих в столь динамичной среде. Просматривая горячие двадцатки SANS, предупреждения EEYE, горячий эксклюзив от SecurityLab, убеждаешься снова и снова: безопасность есть процесс, а не состояние.
В рамках данного раздела мы поговорим с вами о безопасности веб-серверов, а точнее постараемся внести ясность и создать некое подобие современной классификации веб-угроз. Предпосылки к созданию подобной классификации очевидны. За последние несколько лет индустрия безопасности веб-приложений адаптировала немалое количество не совсем точных терминов, описывающих уязвимости. Такие названия уязвимостей, как "подделка параметров" (Parameter Tampering), "меж-сайтовое выполнение сценариев" (Cross-site Scripting) и "отравление печений" (Cookie Poisoning) (да-да, именно так), мягко говоря, не совсем точно определяют суть проблемы и возможные последствия атак. Отсутствие четкости в определениях часто вызывает проблемы и взаимонепонимание, даже если стороны согласны с основной идеей.
Когда начинающий специалист безопасности веб-приложений приступает к обучению, его быстро вводит в заблуждение отсутствие стандартного языка. Подобная ситуация не только не способствует профессиональному овладению предметом, но и замедляет понимание картины в целом. Появление классификации угроз безопасности веб-приложений является исключительно важным событием в мире IT.
По известным причинам только система знаний, а не ее разрозненный, дискретный вариант, может служить показателем высшей квалификации разработчиков приложений, специалистов в области безопасности, производителей программных продуктов. На основе классификации в дальнейшем могут быть созданы методики обследования приложений, рекомендации по разработке приложений с учетом безопасности, требования к продуктам и службам. Следующая классификация есть результат проработки различных книг, десятков статей и презентаций. У ее истоков стоит Web Application Security Consortium, представители которой создали базу для разработки и популяризации стандартной терминологии описания подобных проблем (www.webappsec.org).
Представленная классификация окажется полезной прежде всего специалистам, хотя в целом материал направлен на широкий круг читателей, интересующихся проблемами компьютерной безопасности.
Классы атак
Современная классификация имеет иерархическую структуру. Классы атак разбиты по пунктам (1; 2 и т. д.) с соответствующими подпунктами (1); 2) и т. д.). Название класса атаки представлено как в русском варианте, так и в английском.
1. Аутентификация (Authentication):
1) подбор (Brute Force);
2) недостаточная аутентификация (Insufficient Authentication);
3) небезопасное восстановление паролей (Weak Password Recovery Validation).
2. Авторизация (Authorization):
1) предсказуемое значение идентификатора сессии (Credential/Session Prediction);
2) недостаточная авторизация (Insufficient Authorization);
3) отсутствие тайм-аута сессии (Insufficient Session Expiration);
4) фиксация сессии (Session Fixation).
3. Атаки на клиентов (Client-side Attacks):
1) подмена содержимого (Content Spoofing);
2) межсайтовое выполнение сценариев (Cross-site Scripting, XSS);
3) расщепление HTTP-запроса (HTTP Response Splitting).
4. Выполнение кода (Command Execution):
1) переполнение буфера (Buffer Overflow);
2) атака на функции форматирования строк (Format String Attack);
3) внедрение операторов LDAP (LDAP Injection);
4) выполнение команд операционной системы (OS Commanding);
5) внедрение операторов SQL (SQL Injection);
6) внедрение серверных расширений (SSI Injection);
7) внедрение операторов XPath (XPath Injection).
5. Разглашение информации (Information Disclosure):
1) индексирование директорий (Directory Indexing);
2) идентификация приложений (Web Server/Application Fingerprinting);
3) утечка информации (Information Leakage);
4) обратный путь в директориях (Path Traversal);
5) предсказуемое расположение ресурсов (Predictable Resource Location).
6. Логические атаки (Logical Attacks):
1) злоупотребление функциональными возможностями (Abuse of Functionality);
2) отказ в обслуживании (Denial of Service);
3) недостаточное противодействие автоматизации (Insufficient Anti-automation);
4) недостаточная проверка процесса (Insufficient Process Validation).
Пункт и подчиненные ему подпункты разбиты на разделы. Класс атаки имеет краткое описание и дополняется соответствующим "живым" примером. Ну что ж, начнем по порядку.
Аутентификация
Классифицируем атаки, направленные на обход или эксплуатацию уязвимостей в механизмах реализации аутентификации веб-серверов.
Подбор (Brute Force). Подбор, или просто «брут», как его ласково любят называть хакеры, представляет собой автоматизированный процесс проб и ошибок, основной задачей которого является угадывание имени пользователя, пароля, номера кредитной карты, ключа шифрования и т. д. Многие системы позволяют использовать слабые пароли или ключи шифрования, и пользователи часто выбирают легко угадываемые или содержащиеся в словарях парольные фразы. Трагизм еще и в том, что пользователи намеренно выбирают простые пароли, так как сложные, помимо времени ввода, неудобны еще и тем, что легко забываются. Воспользовавшись данной ситуацией, злонамеренный пользователь может применить электронный словарь (что чаще всего и делается) и попытаться использовать всю мощь содержащихся в нем комбинаций символов в качестве пароля. Если сгенерированный пароль позволяет получить доступ к системе, атака считается успешной, и атакующий может использовать учетную запись.
Подобная техника проб и ошибок может быть с успехом использована для подбора ключей шифрования. В случае использования сервером ключей недостаточной длины злоумышленник может получить используемый ключ, протестировав все возможные комбинации. Существует два вида подбора: прямой и обратный. При прямом подборе используются различные варианты пароля для одного имени пользователя (например, имя пользователя – Lamer, пароли – fuck, world, qwerty, 123321…). При обратном – перебираются различные имена пользователей, а пароль остается неизменным (например, имена пользователей – User, Intel, Sara, Vaviorka…, пароль – 12345678). В системах с миллионами учетных записей вероятность использования различными пользователями одного пароля довольно высока. Несмотря на популярность и высокую эффективность, подбор может занимать несколько часов, дней или лет. Данный вид атак широко используется преимущественно там, где отсутствует блокировка в случае неверного сочетания, – это может быть простой взлом NTLM-хэшей и т. д.
Недостаточная аутентификация (Insufficient Authentication). Данная уязвимость возникает тогда, когда веб-сервер позволяет атакующему получать доступ к важной информации или функциям сервера без должной аутентификации. Атаки подобного рода очень часто реализуются посредством интерфейса администрирования через сеть. Чтобы не использовать аутентификацию, некоторые ресурсы по умолчанию «сидят в укромном месте» по определенному адресу, который не указан на основных страницах сервера или других общедоступных ресурсах.
1. Аутентификация (Authentication):
1) подбор (Brute Force);
2) недостаточная аутентификация (Insufficient Authentication);
3) небезопасное восстановление паролей (Weak Password Recovery Validation).
2. Авторизация (Authorization):
1) предсказуемое значение идентификатора сессии (Credential/Session Prediction);
2) недостаточная авторизация (Insufficient Authorization);
3) отсутствие тайм-аута сессии (Insufficient Session Expiration);
4) фиксация сессии (Session Fixation).
3. Атаки на клиентов (Client-side Attacks):
1) подмена содержимого (Content Spoofing);
2) межсайтовое выполнение сценариев (Cross-site Scripting, XSS);
3) расщепление HTTP-запроса (HTTP Response Splitting).
4. Выполнение кода (Command Execution):
1) переполнение буфера (Buffer Overflow);
2) атака на функции форматирования строк (Format String Attack);
3) внедрение операторов LDAP (LDAP Injection);
4) выполнение команд операционной системы (OS Commanding);
5) внедрение операторов SQL (SQL Injection);
6) внедрение серверных расширений (SSI Injection);
7) внедрение операторов XPath (XPath Injection).
5. Разглашение информации (Information Disclosure):
1) индексирование директорий (Directory Indexing);
2) идентификация приложений (Web Server/Application Fingerprinting);
3) утечка информации (Information Leakage);
4) обратный путь в директориях (Path Traversal);
5) предсказуемое расположение ресурсов (Predictable Resource Location).
6. Логические атаки (Logical Attacks):
1) злоупотребление функциональными возможностями (Abuse of Functionality);
2) отказ в обслуживании (Denial of Service);
3) недостаточное противодействие автоматизации (Insufficient Anti-automation);
4) недостаточная проверка процесса (Insufficient Process Validation).
Пункт и подчиненные ему подпункты разбиты на разделы. Класс атаки имеет краткое описание и дополняется соответствующим "живым" примером. Ну что ж, начнем по порядку.
Аутентификация
Классифицируем атаки, направленные на обход или эксплуатацию уязвимостей в механизмах реализации аутентификации веб-серверов.
Подбор (Brute Force). Подбор, или просто «брут», как его ласково любят называть хакеры, представляет собой автоматизированный процесс проб и ошибок, основной задачей которого является угадывание имени пользователя, пароля, номера кредитной карты, ключа шифрования и т. д. Многие системы позволяют использовать слабые пароли или ключи шифрования, и пользователи часто выбирают легко угадываемые или содержащиеся в словарях парольные фразы. Трагизм еще и в том, что пользователи намеренно выбирают простые пароли, так как сложные, помимо времени ввода, неудобны еще и тем, что легко забываются. Воспользовавшись данной ситуацией, злонамеренный пользователь может применить электронный словарь (что чаще всего и делается) и попытаться использовать всю мощь содержащихся в нем комбинаций символов в качестве пароля. Если сгенерированный пароль позволяет получить доступ к системе, атака считается успешной, и атакующий может использовать учетную запись.
Подобная техника проб и ошибок может быть с успехом использована для подбора ключей шифрования. В случае использования сервером ключей недостаточной длины злоумышленник может получить используемый ключ, протестировав все возможные комбинации. Существует два вида подбора: прямой и обратный. При прямом подборе используются различные варианты пароля для одного имени пользователя (например, имя пользователя – Lamer, пароли – fuck, world, qwerty, 123321…). При обратном – перебираются различные имена пользователей, а пароль остается неизменным (например, имена пользователей – User, Intel, Sara, Vaviorka…, пароль – 12345678). В системах с миллионами учетных записей вероятность использования различными пользователями одного пароля довольно высока. Несмотря на популярность и высокую эффективность, подбор может занимать несколько часов, дней или лет. Данный вид атак широко используется преимущественно там, где отсутствует блокировка в случае неверного сочетания, – это может быть простой взлом NTLM-хэшей и т. д.
Недостаточная аутентификация (Insufficient Authentication). Данная уязвимость возникает тогда, когда веб-сервер позволяет атакующему получать доступ к важной информации или функциям сервера без должной аутентификации. Атаки подобного рода очень часто реализуются посредством интерфейса администрирования через сеть. Чтобы не использовать аутентификацию, некоторые ресурсы по умолчанию «сидят в укромном месте» по определенному адресу, который не указан на основных страницах сервера или других общедоступных ресурсах.