Kali Linux: формализация исследований и типы атак

Автор: admin от 12-10-2017, 12:10, посмотрело: 30

Сегодня представляем вашему вниманию перевод разделов 11.3 и 11.4 книги «Kali Linux Revealed». Они посвящены формализации исследований безопасности информационных систем и типам атак, на устойчивость к которым проверяют системы во время анализа их защищённости.



Kali Linux: формализация исследований и типы атак



Часть 1. Kali Linux: политика безопасности, защита компьютеров и сетевых служб


Часть 2. Kali Linux: фильтрация трафика с помощью netfilter

Часть 3. Kali Linux: мониторинг и логирование

Часть 4. Kali Linux: упражнения по защите и мониторингу системы

Часть 5. Kali Linux: оценка защищённости систем

Часть 6. Kali Linux: виды проверок информационных систем

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



Неважно, какая именно категория уязвимостей вас интересует. Что бы это ни было, Kali упрощает поиск инструментов и эксплойтов. Меню Kali на рабочем столе разделено на категории, которые помогают в поиске подходящих средств. Кроме того, на веб-сайте Kali Tools можно найти обширные перечни инструментов, доступных в Kali, организованных по категориям и снабжённых, для удобства, тегами. Каждая страница инструмента содержит подробные сведения о нём, а также примеры его использования



?11.4.1. Атака типа «отказ в обслуживании»



Атаки на отказ в обслуживании (Denial of Service attack, DoS) используют уязвимости для блокировки работы служб, обычно — приводя к остановке уязвимого процесса. Категория Stress Testing (Стресс-тестирование) в меню приложений Kali содержит множество инструментов, ориентированных на решение этой задачи.



Многие, когда встречаются с термином «атака на отказ в обслуживании», думают об атаках, потребляющих ресурсы, которые выполняются из множества источников, одновременно направленных на одну цель. Однако, такая атака — это уже так называемая распределённая атака типа «отказ в обслуживании» (Distributed Denial Of Service Attack — DDoS). Такие атаки редко являются частью профессионального исследования защищённости систем.



Вместо этого единичные DoS-атаки чаще всего являются результатом неудачной попытки эксплуатации уязвимости. Если автор эксплойта выпустил частично функциональный код, доказывающий возможность атаки (Proof of Concept, PoC), и он был использован кем-то на практике, это может привести к ситуации, аналогичной DoS-атаке. Даже качественно написанный эксплойт может работать только при совпадении множества специфических обстоятельств и приводить к отказу атакуемой службы в других случаях. Может показаться, что решением проблемы является использование только как следует проверенных эксплойтов, или написание собственных эксплойтов. Однако, как бы там ни было, никаких гарантий при использовании эксплойтов нет, это ставит атакующего в жёсткие рамки, приводя к неоправданным ограничениям, что ведёт к смягчению исследований. Ключ к решению проблемы — компромисс. Не пользуйтесь PoC-эксплойтами и непроверенным кодом при проведении реальных исследований и всегда следите за тем, чтобы юрист компании мог прикрыть вас от других неприятностей.



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



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



?11.4.2. Нарушение целостности информации в памяти



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



Подобные атаки обычно называют атаками типа «переполнение буфера», хотя это — слишком упрощённый термин. Самые распространённые типы нарушения целостности информации в памяти сильно различаются, для их эксплуатации требуются особые подходы и технические приёмы. Вот распространённые типы атак на память:




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


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


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


  • Атака на функции форматирования строк. Когда программа принимает то, что ввёл пользователь, и форматирует ввод без проверки данных, злоумышленник может узнать необходимые ему адреса памяти, либо данные в памяти могут быть перезаписаны. Это зависит от используемых символов форматирования.




?11.4.3. Атаки на веб-приложения



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



Веб-атаки чрезвычайно распространены, так как многие организации достигли уровня, на котором они имеют очень мало общедоступных служб. Два наиболее распространённых вида атак такого вида — это SQL-инъекции и межсайтовый скриптинг (Cross-site Scripting — XSS).




  • SQL-инъекции. Эти атаки направлены на приложения, при разработке которых допущены ошибки в подсистемах проверки и очистки пользовательского ввода. Это ведёт к возможности извлекать информацию из баз данных таких приложений или даже получать полный контроль над серверами.


  • Межсайтовый скриптинг. Как и в случае с SQL-инъекциями, атаки, основанные на XSS, возможны из-за неправильного обращения с пользовательским вводом. Это позволяет атакующему манипулировать пользователем или сайтом, захватывая сессии и выполняя в браузере собственный код.




Часто веб-приложения бывают сложными, обладающими обширными возможностями, а порой и непростой для понимания логикой работы. Они представляют собой удобную мишень для злоумышленников. В разделе Web Application Analysis (Анализ веб-приложения) меню приложений Kali Linux вы можете найти полезные инструменты для проверки устойчивости веб-приложений к атакам. Кроме того, тут стоит обратить внимание на метапакет kali-linux-web.



?11.4.4. Взлом паролей



Взлом паролей — это атаки на системы аутентификации различных служб. Такие атаки часто делят на онлайновые и оффлайновые. В соответствии с этой классификацией устроен и раздел Password Attack (Взлом паролей) меню приложений Kali. В ходе онлайновой атаки делается попытка войти в систему, перебирая множество паролей. При проведении оффлайновой атаки проводится работа с хэшированными или зашифрованными паролями, полученными атакующим. Цель этой работы — раскрыть исходные пароли. Защита от оффлайновых атак заключается в повышении сложности паролей, что увеличивает трудоёмкость их раскрытия. Однако, существуют методы, позволяющие подбирать даже очень сложные пароли, например, заключающиеся в использовании вычислений на мощных видеокартах, благодаря использованию которых удаётся значительно повысить производительность программ-взломщиков. Метапакет kali-linux-gpu содержит множество инструментов, ориентированных на быстрый подбор паролей.



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



В ходе исследования очень важно понимать потенциальные последствия атак такого рода.



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



?11.4.5. Атаки на клиентские системы



Целью большинства атак являются серверы, но, так как серверные службы становится атаковать всё сложнее, злоумышленники выбирают более лёгкие цели, например — клиентские системы. При таком подходе атакующего интересуют различные приложения, установленные на компьютере сотрудника организации, которую он пытается взломать. Соответствующие инструменты, помогающие проводить такие атаки, можно найти в категории Social Engineering Tools (Инструменты социальной инженерии) меню приложений Kali.



Такие атаки эффективнее всего проводились в начале 2000-х, их целями были Flash, Adobe Reader и Java. В этих случаях атакующий попытается добиться того, чтобы жертва посетила специально подготовленный веб-сайт. Такой сайт будет содержать особый код, который может воспользоваться уязвимостями в клиентских приложениях, что приведёт к возможности запустить на целевой системе то, что нужно атакующему.



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



Итоги



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



Уважаемые читатели! Оценка безопасности информационных систем — это комплекс мероприятий, ошибки при планировании или проведении которых могут грозить исследователю и компании, на которую он работает, серьёзными проблемами с законом. Что вы можете посоветовать для того, чтобы свести к минимуму риск возникновения таких проблем в российском правовом поле?

Источник: Хабрахабр

Категория: Системное администрирование, Linux

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
Полужирный Наклонный текст Подчеркнутый текст Зачеркнутый текст | Выравнивание по левому краю По центру Выравнивание по правому краю | Вставка смайликов Выбор цвета | Скрытый текст Вставка цитаты Преобразовать выбранный текст из транслитерации в кириллицу Вставка спойлера
Введите два слова, показанных на изображении: *