иб. ибб. Информационная безопасность предполагает отсутствие угроз, направленных на
Скачать 3.29 Mb.
|
Тема 6. Удаленные сетевые атаки Содержание темы: 1. Сетевые атаки. 2. Обобщенный сценарий атаки. 3. Примеры атаки. Введение. Основные виды угроз были рассмотрены ранее. Рассмотрим угрозы при сетевом взаимодействии. Общепринято выделять следующие основные угрозы: угрозы целостности; угрозы конфиденциальности; угрозы доступности. Эти обобщенные виды угроз не дают представления о конкретной угрозе. Поэтому, исходя из общей схемы межсетевого взаимодействия, для случая удаленных атак можно выделить два основных типа угроз. 1. Угрозы, вызываемые участниками информационного обмена: отказ от получения данных после их получения; отказ от передачи данных после их передачи; отказ от достигнутого соглашения. 2. Угрозы, вызываемые третьей стороной (атакующим): вставка данных в обмен; отказ в обслуживании. Среди угроз для сети организации и ее систем можно выделить старые и новые угрозы. Старые угрозы реализуются атаками, базирующимися на использовании хорошо известных уязвимостей и скриптов атак (эксплойтов). Такие угрозы исходят от недостаточно компетентных хакеров (называемых script kiddies) или совершенно некомпетентных (называемых newbies). Скри́птовый язы́к (англ. scripting language, в русскоязычной литературе принято название язык сценариев) — язык программирования, разработанный для записи «сценариев», последовательностей операций, которые пользователь может выполнять на компьютере. Простые скриптовые языки раньше часто называли языками пакетной обработки (batch languages или job control languages). Сценарии обычно интерпретируются, а не компилируются (хотя часто сценарии компилируются каждый раз перед запуском). В прикладной программе, сценарий (скрипт) — это программа, которая автоматизирует некоторую задачу, которую без сценария пользователь делал бы вручную, используя интерфейс программы. Эти категории нарушителей используют готовые скрипты атак и могут совершенно не понимать действительных механизмов применяемых (используемых) эксплойтов, а также их возможных побочных действий. Но это не уменьшает их опасность для организаций, так как реализация старых незащищенных угроз может нанести значительный ущерб, если организация не примет соответствующих мер. Новые угрозы являются более серьезными и потенциально опасными для организации. Эти угрозы характеризуются направленными попытками нанести ущерб, получить информацию, нарушить операции функционирования и т.д. Реализуют новые угрозы обычно квалифицированные взломщики, обладающие детальными знаниями механизмов сетевого взаимодействия и логики функционирования приложений. Для получения необходимой информации нарушители используют специально разработанные средства и скрипты (которые потом могут использовать более слабые категории нарушителей для проведения своих атак). Как правило, новые угрозы используют неизвестные или только что обнаруженные уязвимости. Все множество угроз можно разделить на внешние и внутренние. Внешними угрозами являются те, которые исходят извне. Внутренние угрозы инициируются субъектом, имеющим доступ к инфраструктуре организации. Классическим примером внутренней угрозы является случай, когда обиженный увольнением сотрудник наносит ущерб информации организации. Вопрос 1. Сетевые атаки. Каждый год открываются новые уязвимости, но знания, необходимые для проведения атаки, уменьшаются, чему в значительной мере способствует сеть Интернет (рис. 6.1). Рис. 6.1. Сложность средств атак и необходимая степень знаний Новые и старые внешние угрозы реализуются посредством сетевых атак или удаленных сетевых атак. Под удаленной сетевой атакой будем понимать воздействие на программные компоненты целевой системы с помощью программных средств. Таким образом, атака является попыткой получить данные или осуществить проникновение. Обычно выделяют три основных типа атак: 1) атаки разведки (проб, сбора информации); 2) атаки получения доступа; 3) атаки отказа в обслуживании. Эти типы атак не всегда используются отдельно и обычно применяются в сочетании для достижения атакующим своих целей. Атаки разведки используются для сбора информации о целевой сети или системе. Такие атаки кажутся безобидными для целевой системы и могут рассматриваться сетевыми администраторами как «сетевой шум» или надоедливое поведение. Но информация, собранная на этапе разведки, используется для проведения атаки. Средства проведения разведки могут быть как обычными, входящими в состав операционной системы (ОС), так и специально разработанными. Поскольку точные знания о целевой системе и ее уязвимостях могут обеспечить успешность атаки, атаки разведки должны рассматриваться как серьезная угроза. Атаками получения доступа являются такие атаки, которые включают неавторизованное использование целевого хоста или группы хостов. Средство, с помощью которого атакующий получает доступ к инфраструктуре, обычно зависит от используемой уязвимости, которая присутствует в ОС, в приложении или в защитном механизме. Часто эти уязвимости открываются атакующим при проведении разведки. Атаки получения доступа могут осуществляться вручную или с использованием автоматизированных или даже автоматических средств. Атаки получения доступа можно разбить на три вида неавторизованной деятельности: извлечение данных (чтение, копирование, перемещение); доступ к системе (нарушитель получает реальный доступ к системе с различным уровнем привилегий); расширение привилегий (необходимо атакующему как для полного управления системой, так и для скрытия своего взлома). Третьим типом атак являются атаки отказа в обслуживании, когда атакующий пытается препятствовать доступу легальных пользователей к системе или службе. Часто эти атаки реализуются переполнением ресурсов инфраструктуры запросами (легитимными или поддельными) на доступ к службе. Такие атаки могут быть направлены как на отдельный хост, так и на сеть в целом. Одной из серьезных проблем в области компьютерной безопасности является отсутствие единой терминологии. Данная проблема усугубляется следующими обстоятельствами: многообразием используемых терминов, которые уже существуют в языке; преобладанием переводных книг, в которых переводчики используют неоднозначные термины (исключением из этого правила является блестящий перевод книги «Новый словарь хакера», в котором, к сожалению, не содержатся термины, вошедшие в компьютерный обиход за последние годы); некорректным использованием производителями и продавцами средств защиты терминов, которые должны убедить покупателя приобретать именно их продукт; отсутствием стандартизованных списков терминов и устоявшейся терминологии. Любая сетевая атака направлена на программное средство атакуемого хоста. В качестве атакуемого программного средства может выступать сетевой стек операционной системы, другой системный код, прикладная программа, т.е. элемент прикладного или системного программного обеспечения. Атака, как правило, возможна из-за наличия ошибок и просчетов при разработке, реализации, настройке или использовании данного программного средства. Рассмотрим основные элементы терминологии сетевых атак Ошибка — погрешность в программном коде данного программного средства. Возможны ошибки, которые не проявились или еще не были использованы злоумышленниками. Просчет — недостаток программного средства, который определяется как его программным кодом, так и недостатком самого проекта или способом применения средства. Ошибки и просчеты представляют собой уязвимости. Уязвимость — это недостаток программного средства, которым может воспользоваться злоумышленник. Злоумышленник для известной ему уязвимости разрабатывает или использует готовые (разработанные другими) шаблоны атак. Экземпляр шаблона атаки, созданный для компрометации конкретного фрагмента кода программного средства, является программой атаки, или эксплойтом. При проведении атаки злоумышленник использует сценарий атаки, который предусматривает использование различных шаблонов в зависимости от поведения (реакции) атакуемой системы. Таким образом, атака — это процесс реализации некоторого сценария атаки. В ходе атаки злоумышленник получает данные (реакции атакуемой системы), которые свидетельствуют об успехе (неудаче) применения данного шаблона или служат основанием для применения определенного шаблона атаки. Описание каждой атаки может быть основано на используемых ею уязвимостях атакуемой системы. Успешная атака называется вторжением. При осуществлении вторжения злоумышленник достигает своей основной цели — получает доступ к системе, приобретает возможность исполнения своего программного кода или вызывает прекращение (ограничение) выполнения функций атакованной системы. Дальнейшие цели или этапы действий злоумышленника могут включать в себя расширение полученных привилегий, внедрение своего программного кода, принятие мер по маскировке своего присутствия и факта вторжения и т.д. Вопрос 2. Обобщенный сценарий атаки. Статистика нарушений безопасности показывает, что количество атак имеет тенденцию к экспоненциальному росту. Сама сеть Интернет является благодатной почвой для вторжений в компьютерные системы. Объединение компьютеров в сети позволяет пользователям совместно использовать данные, программы и вычислительные ресурсы. Кроме того, громадное число эксплойтов доступно в Интернете. Поэтому даже пользователи с минимальными познаниями могут осуществить успешный взлом. Это связано с тем, что значительная часть пользователей Интернета не уделяет достаточного внимания проблемам обеспечения безопасности. При обнаружении уязвимости в программном продукте требуется время для ее устранения. Это время складывается из времени разработки корректирующей программы (заплатки, патча — patch), установки этого патча на соответствующий сервер компании и выставления объявления о наличии патча. Это требует от пользователя или системного администратора постоянного просмотра соответствующих сайтов производителей программного обеспечения и программных продуктов. Далее требуется установка соответствующего патча на компьютер. При наличии в организации множества компьютерных систем, множества операционных систем и программных продуктов такие операции становятся достаточно дорогими и ресурсоемкими. Поэтому значительная часть пользователей и не подозревает о наличии уязвимостей, наличии соответствующих патчей и необходимости их установки. В таком случае злоумышленнику нужно только найти соответствующую компьютерную систему. Рассмотрим обобщенный сценарий атаки, который можно представить в виде следующих шагов: пассивная разведка; активная разведка; выбор (разработка) эксплойта; взлом целевой системы; загрузка «полезного груза» (которым, как правило, является вредоносная программа); сокрытие следов взлома. Конечно, данная последовательность может быть нарушена или могут быть исключены отдельные шаги данного сценария. Кратко рассмотрим эти этапы. Пассивная разведка Данный этап называется пассивным, так как злоумышленник не входит в непосредственный контакт с целью или входит с соблюдением общепринятых правил (например, посещая сайт компании, куда входит целевая система). Целью данного этапа является сбор информации о цели, поэтому часто его называют рекогносцировкой цели. В качестве цели может выступать как конкретный хост (сервер), так и целая сеть организации. Достаточно часто цель выбирается из условия простого поиска системы, содержащей известную уязвимость, к которой злоумышленник имеет эксплойт. Для сбора информации могут использоваться существующие в Интернете сайты и базы данных, предоставляющие сетевые адреса доменных имен и блоки сетевых адресов. Злоумышленник может отыскивать номера телефонов, имена и фамилии персонала организации, их почтовые адреса. Большой интерес для злоумышленника представляют партнерские и дочерние организации, взаимодействующие с целевой организацией. Кроме того, используются всевозможные открытые источники и публикации (конференции, службы передачи сообщений, рекламные материалы и т.д.). Сбору информации способствуют определенные базы данных, находящиеся в Интернете, и специальные программы, позволяющие получить такую информацию. Среди них отметим whois, базу данных ARIN (American Registry for Internet Numbers), APNIC (Asia-Pasific Network Information Center) и др. Например, запрос в whois, содержащий название компании Microsoft, дает следующие результаты (значительная часть информации опущена для краткости): WHOIS (от англ. who is — «кто?») — сетевой протокол прикладного уровня, базирующийся на протоколе TCP (порт 43). Основное применение — получение регистрационных данных о владельцах доменных имен, IP-адресов и автономных систем. Протокол подразумевает архитектуру «клиент-сервер и используется для доступа к публичным серверам баз данных (БД) регистраторов IP-адресов и регистраторов доменных имён. Текущая версия этого протокола описана в RFC 3912. Чаще всего WHOIS-клиенты реализованы в виде консольных программ. Однако, поскольку для многих пользователей командная строка недоступна или неудобна, на основе консольных клиентов обычно создаются веб-формы, доступные пользователям на многих сайтах в Интернете. Кроме того, существуют WHOIS-клиенты и с графическим интерфейсом. Изначально целью появления системы WHOIS на свет было дать возможность системным администраторам искать контактную информацию других администраторов IP-адресов или доменных имен (аналогично «Белым страницам», «white pages»). У WHOIS есть аналог — стандарт протокола RWhois. Microsoft Corp (MSFT) Microsoft Corporation (ZM23-ARIN) noc@microsoft.com +1- 425-882-8080 Microsoft (ZM39-ARIN) noc@microsoft.com +1-425-882-8080 Microsoft Corp (AS13811) MSLI 13811 Microsoft Corp (AS14719) MICROSOFT-CORP-BCENTRAL 14719 Microsoft Corp (AS8068) MICROSOFT-CORP MSN-AS-BLOCK 8068 - 8075 Microsoft Corp (AS3598) MICROSOFT-CORP-AS 3598 Microsoft Corp (AS5761) MICROSOFT-CORP MSN-AS SATURN 5761 Microsoft Corp (AS'6182) MICROSOFT-CORP MSN-AS-4 6182 Microsoft Corp (AS6194) MICROSOFT-CORP MSN-AS-3 6194 Microsoft Corp (AS6291) MICROSOFT-CORP MSN-AS 6291 Microsoft Corp (AS13399) MICROSOFT-CORP MSN-AS-2 13399 Microsoft Corp (AS23468) MICROSOFT-CORP-XBOX-ONLINE 23468 Microsoft Corp NETBLK-MSOFT-NET (NET-198-105-232-0-1) 198.105.232.0 - 198.105.235.255 Microsoft Corp MSOFT-2 (NET-198-105-233-0-1) 198.105.233.0 - 198.105.233.255 Microsoft Corp MSOFT-4 (NET-198-105-235-0-1) 198.105.235.0 - 198.105.235.255 Microsoft Corp MSOFT-3 (NET-198-105-234-0-1) 198.105.234.0 - 198.105.234.255 Microsoft Corp MSOFT-1 (NET-198-105-232-0-2) 198.105.232.0 - 198.105.232.255 Microsoft Corp MICR0S0FT-1 (NET - 199 - 1 03 - 90 - 0 - 1 ) 199.103.90.0 - 199.103.91.255 Microsoft Corp MICR0S0FT-NET1 (NET-204 - 79 - 27 - 0 -1) 204.79.27.0 - 204. 79.27.255 и т.д. Активная разведка Этап проведения активной разведки называют сканированием. Злоумышленник пытается определить структуру интересующей его сети, точки доступа, доступные узлы и хосты, расположение маршрутизаторов и межсетевых экранов, установленные операционные системы и их версии, открытые порты и работающие службы, версии установленных программных продуктов. На этом этапе злоумышленник входит в контакт с объектами интересующей его системы, поэтому его действия могут быть обнаружены средствами защиты целевой системы. Для решения задач проведения активной разведки (сканирования) злоумышленник может использовать большое количество разнообразных средств, многие из которых являются общедоступными. Среди них такие средства, как ping, traceroute, nmap (http://www.insecure.org/nmap) SuperScan (http://www.foundstone.com). Свободное наличие таких средств во многом обусловлено тем, что они активно используются системными администраторами для решения текущих проблем управления и защиты сетей. Существует множество методик и средств, позволяющих определить операционную систему, установленную на хосте, и ее версию. Разработаны методы так называемого скрытого (stealth) сканирования, не позволяющие определить источник, проводящий сканирование. Кроме того, может использоваться «замедленное» сканирование, когда злоумышленник посылает отдельные запросы через большие интервалы времени. В этом случае достаточно высока вероятность того, что на целевой системе не обратят внимания на отдельные запросы. |