Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Как называют лиц, которые пытаются взломать или скомпрометировать систему?




Есть два слова для описания нарушителя: хакер (hacker) или взломщик (cracker). Хакер - это общее определение для человека, который хочет вмешаться в события. Добрый хакер - это человек, которому нравится проникать в собственный компьютер и который пытается понять, каким образом он работает. Злой хакер - это человек, которой нравится проникать в системы других людей. Добрые хакеры хотят, чтобы средства массовой информации прекратили обзывать всех "хакерами" и использовали вместо этого термин "взломщик". К сожалению, этого не происходит. В любом случае в этом FAQ используется термин "intruder" ("нарушитель") для обобщенного обозначения любого, кто пытается проникнуть в ваши системы.

Нарушители могут быть разбиты на две категории.

Outsiders - это нарушители из сети Internet, которые атакуют ваши внутренние ресурсы (удаление информации на корпоративном Web-сервере, пересылка спама через почтовый сервер и т.д.) и которые временами обходят ваш межсетевой экран (МСЭ) для того, чтобы проникнуть в вашу внутреннюю сеть. Злоумышленники могут атаковать из Internet, через модемные линии, через физическое подключение к каналам связи или из сети партнеров (поставщиков, заказчики, дилеры и т.д.).

Insiders - это те, кто находится внутри Вашей сети, и имеют полный доступ к вашим серверам. Они включают пользователей, неправильно использующих свои привилегии, или исполняющих роль привилегированного пользователя (например, с привилегированного терминала). Исследования показывают, что 80% дыр защиты создаются именно insiders. Заметим, что МСЭ не обеспечивают защиты против них.

Существует несколько типов нарушителей: Joy riders (Любители веселых прогулок в чужом автомобиле) из-за того, что они могут. Vandals (Вандалы) вызывают разрушения или оставляют свои следы на ваших Web-страницах. Profiteers (Спекулянты) намереваются получить прибыль от своих действий, таких как кража корпоративных данных и их продажа.

Каким образом нарушители проникают в системы?

Основные пути, по которым нарушители проникают в систему:

Физическое вторжение. Если нарушитель имеет физический доступ к компьютеру (т.е. они могут использовать клавиатуру или часть системы), они смогут проникнуть в нее. Методы могут быть различными - от специальных привилегий, которые имеет консоль, до возможности использования части системы и снятия винчестера (и чтения/записи его на другой машине).

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

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

Заметим, что системы обнажения атак на уровне сети прежде всего имеют отношение к удаленному (дистанционному) вторжению.

Почему нарушители могут проникать внутрь систем?

Программное обеспечение (ПО) всегда имеет ошибки и уязвимости. Системные администраторы и программисты никогда не могут отследить и исключить все возможные проблемы. Нарушителю же надо найти только одну "дыру", чтобы проникнуть внутрь.

Ошибки ПО

Ошибки ПО можно классифицировать следующим образом:

Переполнение буфера. Почти все уязвимости, о которых вы можете прочитать в прессе, связаны с этой проблемой. Типичный пример - программист, который хранения имени пользователя выделает только 256 символов. Несомненно, программист думает, что ни у кого не будет имени состоящего, из более чем 256 символов. Но хакер думает иначе, "Что произойдет, если я введу ложное имя пользователя длиннее 256 символов?" Где хранятся дополнительные символы? Если хакеры выполнят свою работу "правильно", они могут послать 300 символов, включая исполняемый код, который будет выполняться сервером, что может привести к опасным последствиям. Хакеры находят эти ошибки различными путями. Прежде всего, в Сети имеется исходный код для массы сервисов. Хакеры, как правило, просматривают этот код в поисках программ и утилит, имеющих проблемы с переполнением буфера. Во-вторых, хакеры могут и сами изучать программы с целью определить, имеют ли они какие-нибудь проблемы, хотя чтение двоичного кода является достаточно трудной задачей. В третьих, хакеры будут исследовать каждый участок программы, который работает с входными данными, и будут пытаться переполнить его с помощью случайных (произвольных) данных. Если программа выходит из строя, то появляется хороший шанс для проникновения внутрь. Отметим, например, что эта проблема является широко распространенной в программах, написанных на C/C++, но редкой в программах, написанных на языке Java.

Неожиданные комбинации. Программы обычно составляются с использованием многих слоев (уровней) кода, включая ядро операционной системы (ОС) в качестве основы для большой части других слоев. Нарушители могут часто посылать входные данные, которые являются бессмысленными для одного слоя (уровня), но много значащими для другого. Наиболее распространенный язык для обработки входных данных пользователя на Web - PERL. Программы, написанные на PERL, как правило, будут посылать эти входные данные к другим программам для дальнейшей оценки. Наиболее распространенный хакерский метод - ввести строку типа "| mail < /etc/passwd". И она будет выполняться, потому что PERL "просит" ОС запустить дополнительную программу с этими входными данными. Однако ОС перехватывает символ '|' и запускает 'mail' -программу, которая передает нарушителю файл паролей по электронной почте.

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

Состязания. Большинство систем сегодня являют "многозадачными ". Это означает, что они могут выполнять одновременно более одной программы. Есть опасность, если двум программам требуется доступ к одним и тем же данным в одно и то же время. Представим себе две программы А и В, которым необходимо изменить один и тот же файл. Для того, чтобы модифицировать файл, каждая программа должна сначала загрузить файл в оперативную память, изменить содержание в памяти, затем скопировать из памяти обратно в файл. Состязание имеет место, когда программа A читает файл в памяти, а затем производит изменение. Однако, до того как А запишет файл, программа В вступит в действие и полностью прочитает/модифицирует/запишет в файл. Теперь программа A записывает свою собственную копию обратно в файл. Поскольку программа А начала свое копирование до того, как программа В сделала свои изменения, все эти изменения, сделанные программой В, будут потеряны. Так как вы получаете последовательность событий как раз в правильном порядке, "состязание" проявляется очень редко. Нарушители, обычно, делают сотни и тысячи попыток, прежде чем они смогут реализовать данную ситуацию и проникнуть в систему.

Конфигурация системы

Ошибки в конфигурации системы можно классифицировать следующим образом:

Конфигурации по умолчанию: Большинство систем поставляется покупателям с конфигурациями, установленными по умолчанию, и облегчающими использование систем. К сожалению, "облегчающие использование" означает "легко взламываемые". Практически любой компьютер, поставляемый с ОС UNIX или WinNT, может быть легко взломан.

Ленивые администраторы: Поразительное количество машин сконфигурировано с пустым root/administrator паролем. Это связано с тем, что администраторы слишком ленивы для того, чтобы сразу сконфигурировать компьютер. Они хотят побыстрее включить и запустить его с минимумом действий. К сожалению, позднее они устраняют эту проблему с паролем, позволяя нарушителям легко получать несанкционированный доступ к компьютеру. Одна из первых вещей, которую сделает нарушитель при проникновении в сеть, заключается в том, что он просканирует все компьютеры на предмет пустых паролей.

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

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

Взлом пароля

Это довольно-таки специфическая категория:

Действительно слабые пароли: Большинство людей используют в качестве паролей свои имена, имена своих детей, супруга/супруги, любимого(ой) или модели машины. Также есть пользователи, которые выбрали в качестве пароля выбрали слово "пароль" или "password" или вообще никакого слова. В целом существует перечень из не менее чем 30 возможностей, которые может использовать нарушитель для подбора паролей.

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

Подбор пароля: Аналогично атаке по паролю, нарушитель старается использовать все возможные комбинации символов. Короткий пароль, состоящий из 4-х букв в нижнем регистре, может быть взломан за несколько секунд (приблизительно полмиллиона возможных комбинаций). Длинный семизначный пароль, состоящий из символов в нижнем и верхнем регистре, а также чисел и знаков препинания (10 триллионов комбинаций) может потребовать не один месяц для взлома, допуская что вы можете осуществлять миллион комбинаций в секунду.

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...