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

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

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

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

Недавно проведенные группой IT-специалистов при участии Министерства Национальной Безопасности США и Стэндфордского университета специальные исследования показали, что не существует Open Source-проектов с меньшим количеством ошибок, чем в программах с закрытыми исходными кодами. В последнее время сторонниками открытых проектов утверждается, что одним из главных преимуществ открытого кода является низкое количество ошибок по сравнению с закрытыми программами. Был проведен сравнительный анализ ста пятидесяти самых популярных Open Source-проектов и проприетарного кода более чем сотни компаний – более 60 млн строк на всех. Исследование показало, что Open Source-про-екты содержат ничуть не меньше ошибок, чем программы с закрытыми исходными кодами.

Какие именно ошибки программного кода компрометируют систему на атаку извне? Самые разнообразные. В качестве самого, пожалуй, яркого примера можно привести ошибку программного кода, посредством которого возможно переполнение буфера. Именно данная проблема (переполнение буфера) лежит в основе большинства уязвимостей и на сегодняшний день является самой распространенной в области безопасности сетевого ПО. Эта уязвимость активно используется вредоносным ПО, таким как компьютерные черви (например, CodeRed, Slammer, Lovesan) и вирусы. Указанная уязвимость с успехом применяется и для организации массированных DDoS-атак, что говорит само за себя.

Вновь обнаруженные уязвимости ПО регулярно публикуются на сайтах типа www.securityLab.ru. Обычно описание такой уязвимости включает в себя уровень ее опасности (например, критический) и содержит соответствующие программы для реализации данной уязвимости. При наличии подобной программы у атакующего осуществление атаки – дело самого ближайшего времени. В качестве горячего примера можно привести программу KaHt, эксплуатирующую уязвимость в службе DCOM RPC (уязвимы системы с первым сервис-паком). Не менее интересный пример SMBdie – программное средство, посредством которого возможно вызвать удаленный отказ в обслуживании (рис. 1.3).

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

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

Рис. 1.3. Программа SMBdie в действии

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Глава 13 Надежность программного обеспечения

Из книги Секреты и ложь. Безопасность данных в цифровом мире автора Шнайер Брюс

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


Распространение программного обеспечения и язык С++

Из книги Сущность технологии СОМ. Библиотека программиста автора Бокс Дональд

Распространение программного обеспечения и язык С++ Для понимания проблем, связанных с использованием C++ как набора компонентов, полезно проследить, как распространялись библиотеки C++ в конце 1980-х годов. Представим себе разработчика библиотек, который создал алгоритм


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

Из книги Getting Real (на русском) [вычитывается] автора 37signals

Гонка в запуске программного обеспечения Сделайте что-нибудь и идите быстроЗапуск программного обеспечения — лучший способ добиться инерции, поучаствовать в ралли командой, и отсеять идеи, которые не работают. Это должно быть приоритетом номер один в первый же день


5.5. Сопровождение программного обеспечения

Из книги ИНФОРМАЦИОННАЯ ТЕХНОЛОГИЯ. РУКОВОДСТВО ПО УПРАВЛЕНИЮ ДОКУМЕНТИРОВАНИЕМ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ автора Автор неизвестен

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


2.6. Установка программного обеспечения

Из книги Linux-сервер своими руками автора Колисниченко Денис Николаевич

2.6. Установка программного обеспечения Многие начинающие пользователи операционной системы Linux сталкиваются с проблемой установки нового программного обеспечения, а также удаления и обновления уже установленного. При описании установки той или иной программы в


17.2.1. Установка программного обеспечения

Из книги Человеческий фактор в программировании автора Константин Ларри Л

17.2.1. Установка программного обеспечения В качестве операционной системы, естественно, будем использовать ОС Linux. Метод настройки, рассмотренный в этой главе, подойдет для любого дистрибутива. Также вам потребуются пакет ррр версии 2.3.x (желательно самая новая версия) и


24 Цели программного обеспечения

Из книги Искусство программирования для Unix автора Реймонд Эрик Стивен

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


4.3. Иерархичность программного обеспечения

Из книги SAP R/3 Системное администрирование автора Хагеман Сигрид

4.3. Иерархичность программного обеспечения В проектировании иерархии функций или объектов определяется два направления. От выбора направления очень зависит иерархическое представление


4.3. Иерархичность программного обеспечения

Из книги TCP/IP Архитектура, протоколы, реализация (включая IP версии 6 и IP Security) автора Фейт Сидни М

4.3. Иерархичность программного обеспечения В проектировании иерархии функций или объектов определяется два направления. От выбора направления очень зависит иерархическое представление


11.7.6 Конфигурирование загрузки программного обеспечения

Из книги Linux: Полное руководство автора Колисниченко Денис Николаевич

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


11.2. СВОЙСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ

Из книги автора

11.2. СВОЙСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Следует выделить следующие свойства программного обеспечения.Корректность программного обеспечения — свойство безошибочной реализации требуемого алгоритма при отсутствии таких мешающих факторов, как ошибки входных данных,


7.5. Установка программного обеспечения

Из книги автора

7.5. Установка программного обеспечения В ОС Windows установка новых программ происходит просто: достаточно запустить setup.exe, ввести серийный номер, каталог для установки и нажать на кнопку «Далее». После этого вы можете поступить так. как рекомендует Microsoft: «откиньтесь на


8. Эффективное использование программного обеспечения

Из книги автора

8. Эффективное использование программного обеспечения Вы можете посчитать название этой главы несколько странным, однако оно в наилучшей степени отражает те приемы, которые в наши дни используются для управления компьютерными системами. Я надеюсь, что, прежде чем