Атака на Internet
Шрифт:
Разумеется, в маленьких организациях, где все знают администратора, это не сработает, зато в больших есть пространство для применения своих способностей.
Вот как использовали СИ такие люди, как Кевин Митник и Роско:
«И Роско, и Кевин гордились своим умением общаться с людьми. На их взгляд, в любом разговоре можно было подчинить себе собеседника, если говорить авторитетным тоном знатока, даже если в этой области ты ничего не смыслишь. Время от времени они названивали в отдел дистанционной связи какой-нибудь компании и недовольным начальственным голосом требовали объяснить, почему тот или иной номер АТС не удается набрать из города. И напуганный оператор объяснял им, как набрать интересующий их номер.
Обычно в таких случаях Кевин предпочитал импровизировать, полагаясь на свою интуицию, а Роско возвел свое умение разговаривать с людьми чуть ли не в ранг искусства. Он вел специальную записную книжку, куда вписывал имена и должности телефонисток и операторов разных фирм и их начальников. Там же он помечал, новички они или опытные работники, насколько хорошо информированы, расположены к разговорам или нет. Заносил он в книжку и сведения, так сказать, личного характера, добытые в течение долгих часов разговоров по телефону: увлечения, имена детей, любимые виды спорта и места, где они любят бывать в отпуске и по выходным» [5].
В некоторых источниках предлагается ходить с видеокамерой, изображая репортера, и почаще наводить ее на клавиатуру пользователей. Здесь сработает предположение, что людям наверняка захочется увидеть себя по телевизору. Можно даже попросить человека сделать вид, что он только что пришел на работу и садится за компьютер. Ну и, разумеется, попросить включить его и начать работу.
Социальная инженерия посредством сети Internet
Беседы через Internet
Для выявления паролей через IRC злоумышленники используют два или более одновременно открытых клиента IRC. Желательно иметь права оператора канала, но необязательно. Один из клиентов представляет собой bot (робот-исполнитель), а другой – это сам злоумышленник (например, BOB). Как происходит СИ:
BOB: Для получения прав оператора просто пошли сообщение роботу канала, но сначала необходимо проидентифицировать свой DNS. Если ты не знаешь, как это сделать, напиши /msg bot identify твой_пароль. Робот должен запомнить имя, DNS и впоследствии аутентифицировать тебя по набранному
После чего действительному оператору канала желательно сказать, что нет времени, и необходимо убегать. Все это для того, чтобы не появилось подозрения в соучастии.
Как только «пациент» посылает роботу такое сообщение, для создания полной иллюзии необходимо ответить от имени робота что-нибудь вроде такой фразы:
Имя_пациента: Клиент аутентифицирован. Установка прав оператора. Теперь злоумышленник имеет пароль пользователя. Конечно, совсем необязательно, что это пароль применялся еще где-либо, но люди, не искушенные в безопасности, по привычке пишут везде один и тот же пароль.Электронная почта
Работа с помощью электронной почты почти не отличается от работы с телефоном, но есть некоторые особенности:
• в случаях переписки с незнакомыми людьми письма должны иметь соответствующий вид. Например, подпись в конце письма должна быть стандартной для больших компаний: следует указать имя, фамилию, должность, название организации, адрес и телефон;
• при переписке со «знакомыми» людьми необходимо выдерживать дружеский стиль;
• желательно не посылать письмо напрямую, а использовать поддельный адрес и/или скрывать IP-адрес, откуда пришло письмо.
Введем маленькое отступление для объяснения того, каким образом можно послать письмо с поддельным обратным адресом и что это значит. В любом передаваемом электронном письме существует header (заголовок), содержащий служебную информацию, такую как дата отправки, IP-адрес машины, с которой отправили письмо, название отправляющей программы, обратный адрес отправителя и т. д.
Эту информацию обычно можно просмотреть либо в программе, работающей с вашей почтой, либо в «сыром» виде, с помощью любого текстового редактора.
Вот, что можно увидеть в этом заголовке:
From Nikolay@imagine.msk.ru Wed Jan 9 17:50:40 1999
Received: from mail1.relcom.ru (mail1.relcom.ru [193.125.152.4]) by info.tsu.ru (8.8.5/
8.8.2) with ESMTP id RAA01375 for <eugene@tsu.ru>; Wed, 9 Jan 1999 17:15:22 +0800 (TSD)
Received: from gw.imagine.msk.ru (root@localhost) by mail1.relcom.ru (8.7/8.7/akolb/
960402) with SMTP id HAA07617 for <eugene@tsu.ru>; Fri, 9 Jan 1997 07:13:46 GMT
Received: from nick (nick.imagine.msk.ru [123.123.123.123]) by gw.imagine.msk.ru with
SMTP id FAA06917 for <eugene@tsu.ru>; Fri, 8 Jan 1999 11:18:55 +0300
Message-Id: <s3b3a19f.011@gw.imagine.msk.ru>
X-Mailer: Mozilla 4.01 [en] (Win95; I)
Date: Fri, 8 Jan 1999 11:18:20 +0300
X-UIDL: 867984288.012
From: Nikolay <Nikolay@imagine.msk.ru>
To: eugene@tsu.ru
Subject: For you information
Status: ROЧто здесь может заинтересовать вас или получателя вашего письма?
Прежде всего, это поля «Received:», где содержится информация о маршруте, который прошло письмо. Как правило, последнее поле «Received:» показывает адрес машины, с которой это сообщение было отправлено. В самом простом случае, как здесь, будет написан IP-адрес. Тогда получатель письма точно сможет узнать, пришло ли оно от его знакомого.
Существует несколько способов сделать так, чтобы эти адреса не записывались или чтобы туда записалась ложная информация.
Во-первых, можно использовать широко распространенные в Internet программы, позволяющие заполнить поля From, To и Host – адрес сервера, через который будет отправлена почта. Желательно выбирать сервер, не записывающий, откуда пришло письмо. Идеальный вариант, если этот сервер является еще и почтовым сервером реального отправителя.
Во-вторых, можно просто перенастроить ваш почтовый клиент (Netscape, Outlook Express, The Bat) на другое имя отправителя и другой адрес почтового сервера.
В третьих, можно использовать серверы, переправляющие почту, но стирающие всю информацию о пути прохождения сообщения, – так называемые remailers. Этот способ не очень эффективен, так как соответствующая информация все равно отразится в заголовке.
Мало того, что вы подмените адрес, в некоторых случаях придется поменять и имя программы-отправителя «X-Mailer:». Ну знаю я, что мой друг питает отвращение к Outlook Express, а тут вдруг пользуется им… Может быть, придется изменить даже дату отсылки сообщения! Если отправитель находится в противоположной точке земного шара и разница во времени составляет 12 часов (дата отправки обычно показывается всеми почтовыми программами), то отправление письма в 5 утра может насторожить получателя. Вопрос с датами в любом случае нужно прорабатывать подробнее, так как некоторые серверы ее изменяют, некоторые пишут ее относительно GMT и т. д.
Есть еще один вариант отправки – с помощью программы telnet. 25-й SMTP-порт – стандартный для приемки писем; к почтовому серверу можно подсоединиться на этот порт и самому набрать все поля.
Для получения информации об интерфейсе общения можно набрать команду HELP. Обычно требуется ввод следующих полей:
• «rcpt to:» – кому отсылается письмо;
• «mail from:» – от кого пришло письмо;
• «data» – тело письма.
В тех случаях, когда сервер не записывает IP-адрес отправителя, этот метод тоже может помочь. Не будем останавливаться на деталях процесса, добавим только, что обычно проверкой подлинности письма никто не занимается, да и осуществить такую процедуру сможет далеко не каждый. Поэтому при «работе» с обыкновенными пользователями об этом, как правило, не задумываются, но иногда все же стоит перестраховаться.
Программа-пейджер
Вот, наконец, добрались и до ICQ (I seek you). Как мы уже упоминали, ICQ – это некоторое подобие электронной почты, а значит, с ней можно делать почти все, что и с e-mail. Кроме того, ICQ похожа на IRC, соответственно – те же комментарии. Чем же это средство общения отличается от описанных выше, и как его можно реально использовать в социальной инженерии?
Для тех, кто пока еще не знаком с ICQ, кратко объясним ее суть. В то время, когда вы работаете, она постоянно загружена на вашем компьютере, причем обычно показывается рабочая панель, на которой вы можете увидеть предварительно внесенные имена своих друзей и знакомых. Те из них, у кого в данный момент запущена эта программа, будут показаны вам в самом верху с различными иконками статуса (доступен, недоступен, временно ушел и т. д.). Для общения можно выбрать тип разговора – либо просто послать письмо, либо поговорить в режиме реального времени (больше похоже на программу talk (UNIX), чем на IRC).
Программа разработана не так давно, но уже широко используется, несмотря на множество ее недостатков. В последнее время в Internet стали появляться программы, которые способны тем или иным образом нарушить работу ICQ. Что же можно сделать с их помощью? Послать сообщение от чужого имени, дать возможность постороннему лицу увидеть список друзей, узнать пароль пользователя или просто удаленно вывести программу из строя. Не надо обладать особой проницательностью, чтобы придумать, как применить все это на практике. Да и отличить подделанное сообщение в ICQ значительно труднее, чем в e-mail. Для того чтобы исправить эти недостатки, фирма Mirabilis, разработчик ICQ, время от времени выпускает новые версии.
Все приведенные выше примеры не выдуманы, а взяты из реальной жизни. Они показывают, что наибольшую опасность для организаций представляют люди, а не слабая защита операционных систем. Далее рассмотрим, каким образом можно оградить себя от подобных методов несанкционированного проникновения.
Возможности защиты от социальной инженерии
Тесты на проникновение
Тестирование системы защиты – это метод выявления недостатков безопасности с точки зрения постороннего человека (взломщика). Он позволяет протестировать схему действий, которая раскрывает и предотвращает внутренние и внешние попытки проникновения и сообщает о них. Используя этот метод, можно обнаружить даже те недостатки защиты, которые не были учтены в самом начале, при разработке политики безопасности. Тест должен разрешить два основных вопроса:
• все ли пункты политики безопасности достигают своих целей и используются так, как это было задумано;
• существует ли что-либо, не отраженное в политике безопасности, что может быть использовано для осуществления целей злоумышленника.
Все попытки должны контролироваться обеими сторонами – как взломщиком, так и «клиентом». Это поможет протестировать систему гораздо эффективнее. Необходимо также свести к минимуму количество людей, знающих о проведении эксперимента. При тестировании могут быть затронуты деликатные вопросы частной жизни сотрудников и безопасности организации, поэтому желательно получить предварительное разрешение на проведение такой акции. Ваше непосредственное начальство обязательно должно быть в курсе происходящего.
Профессионалам в области безопасности при проведении теста необходимо иметь такое же положение, как и у потенциального злоумышленника: в их распоряжении должны быть время, терпение и максимальное количество технических средств, которые могут быть использованы взломщиком. Более того, проверяющим следует расценить это как вызов своему профессионализму, а значит, проявить столько же рвения, сколько и взломщик, иначе тесты могут не достичь необходимого результата.
Требования, предъявляемые к человеку, проводящему тесты:
1. Необходимо быть дружелюбным, легко располагающим к себе и вызывать симпатию.
2. Иметь хорошие технические знания.
Вот пример подобного тестирования, описанный И. Винклер (National Computer Security Association). Эксперимент провели с разрешения компании, о его ходе было проинформировано только «высокое» начальство.
«В самом начале атакующие выполнили поиск в Internet для получения представления об организации. Изучение дополнительных баз данных позволило установить имена большого числа сотрудников организации и ее руководства. Поиск в телефонном справочнике дал телефонный номер офиса компании поблизости от атакующих. Звонок в офис позволил получить копию ежегодного отчета компании, а также бесплатный телефонный номер компании. Для получения этой информации не потребовалось ничего объяснять.
Объединив данные ежегодного отчета с данными, полученными из Internet, атакующие получили имена и должности многих лиц из руководства вместе с информацией о проектах, над которыми они работают. Следующим шагом было получение телефонного справочника компании, что позволило установить имена еще ряда сотрудников и получить полное представление об организационной структуре компании.
С бесплатного телефонного номера был сделан звонок по основному номеру компании для контакта со службой рассылки. Звонивший сказал, что он новый сотрудник и хочет узнать, какую информацию требуется указать для пересылки по почте в США и за границу. В результате атакующие узнали, что требуется только два числа – личный номер сотрудника и номер торгового центра. Звонок в отдел графики подтвердил важность этих двух чисел.
Используя телефонный справочник, атакующие стали звонить десяткам служащих в разных отделах для получения личных номеров служащих, которые могли быть использованы для последующих атак. Номера обычно узнавались так: проверяющий выдавал себя за сотрудника отдела кадров, который по ошибке звонил не тому сотруднику и спрашивал номер для того, чтобы понять, что он ошибся.
Затем атакующие определили, что они могут попытаться получить имена новых сотрудников, которые, скорее всего, наименее осведомлены об угрозах компании. Используя информацию первой фазы атаки, были установлены
имена нескольких руководителей компании. Телефонный справочник позволил установить имя служащего, который, скорее всего, и является руководителем. На этот момент времени было установлено, что самым лучшим методом получения имен новых служащих будет заявление, что руководитель хочет сам познакомиться с новыми служащими компании. Проверяющие собрались заявить, что выполняют поручение руководителя, а затем, что руководитель был расстроен, так как полученная информация уже устарела.Удача сопутствовала им, и на звонок в отдел по работе с новыми сотрудниками ответил автосекретарь. Сообщение позволило установить: 1) отдел переехал; 2) имя человека, за которым закреплен телефонный номер; 3) новый телефонный номер. Имя человека было важно, так как знание конкретного имени увеличивает правдоподобность вопросов звонившего. Было уже поздно, и этот человек уже ушел. Это позволило атакующему заметить в разговоре, что отсутствующий человек обычно предоставляет информацию. Атакующий также заявил, что очень большой начальник был сильно расстроен. Его «пожалуйста» побудило человека, отвечавшего по телефону, дать запрошенную информацию. Были получены имена всех сотрудников, начавших работать в течение этой недели, и для многих стали известны отделы, в которых они работают.
Затем было установлено, что атакующим следует избегать контакта с сотрудниками отдела информационных систем, так как те, скорее всего, знают о важности защиты паролей. При звонках новым сотрудникам атакующие выдавали себя за сотрудников отдела информационных систем и проводили с ними по телефону краткий инструктаж по компьютерной безопасности. В ходе этого инструктажа атакующий получал базовую информацию, включая типы используемых компьютерных систем, используемые приложения, номер сотрудника, идентификатор пользователя и пароль. В одном случае атакующий предложил новому сотруднику сменить пароль, так как пароль легко угадать.
Demon Dialer (программа, выясняющая наличие модемов на противоположном конце линии) и звонок в справочную службу отдела информационных систем дали телефонные номера модемов компании. Эти номера позволили атакующим использовать скомпрометированные идентификаторы. Получение информации о модемах позволило обойти очень сложную систему брандмауэра и сделать ее бесполезной. В ходе дальнейших атак аналогичные методы использовались для того, чтобы получить свой собственный идентификатор в компьютерах компании. После этого атакующие заставили служащих компании послать им коммуникационную математику, которая организует безопасное соединение».
Осведомленность
Осведомленность играет ведущую роль в защите организации от проникновения в информационные системы с помощью СИ, так как СИ основана на использовании таких сторон человеческой природы, как неосторожность и беззаботность. Осведомленность является ключевым моментом и вследствие того, что это предварительная, предупреждающая мера, нацеленная на усвоение самими служащими основных принципов и необходимых правил защиты. Разумеется, этот аспект требует обучения и тестирования сотрудников.
Основные шаги для усиления безопасности компьютерных систем компании:
1. Привлечение внимания людей к вопросам безопасности.
2. Осознание сотрудниками всей серьезности проблемы и принятие политики безопасности организации.
3. Изучение и внедрение необходимых методов и действий для повышения защиты информационного обеспечения.
Осведомленность должна быть включена во все уровни организации, начиная с самого верхнего, где и принимается политика безопасности. На основе этой политики и распределения ответственности можно создавать модель защиты. После разбора вышеописанного примера И. Винклер дает советы по разработке и внедрению политики безопасности, позволяющей защититься от СИ:
Не полагайтесь на систему внутренней идентификацииАтакующих иногда просят аутентифицироваться с помощью указания их личного номера сотрудника. К радости взломщиков, такие номера часто используются и могут быть легко получены от реальных сотрудников. У атакующего обычно имеется список номеров сотрудников, и он готов к любому вопросу. Многие компании полагаются на похожие системы идентификации. Компаниям следует иметь отдельный идентификатор для работ, связанных с поддержкой информационных систем. Наличие такого идентификатора позволит отделить функции технического сопровождения от других и обеспечит дополнительную безопасность как для работ по сопровождению, так и для взаимодействия сотрудников в организации.
Реализуйте систему проверки с помощью встречного звонка, когда сообщаете защищенную информациюОт многих атак можно было бы защититься, если бы служащие компании проверяли личность звонившего, набрав его телефонноый номер, который указан в телефонном справочнике компании. Эта процедура не очень удобна в повседневной работе, однако при сопоставлении с возможными потерями неудобства будут оправданы. Если от сотрудников потребовать делать встречные звонки любому, кто просит сообщить персональную или конфиденциальную информацию, риск утечки информации будет сведен к минимуму. Использование АОН также может пригодиться для этой цели.
Реализуйте программу обучения пользователей в области безопасностиХотя предоставление своего пароля постороннему может показаться глупым для читателей данной книги, многие компьютерные пользователи не увидят в этом ничего плохого. Компании тратят огромные суммы, закупая самое современное оборудование и программы, но необходимость обучать пользователей игнорируется. Компьютерные профессионалы должны понимать: то, что для них естественно, может быть неизвестно остальным. Хорошая программа обучения пользователей может быть реализована с минимальными затратами и сохранить компании миллионы.
Назначьте ответственных за техническую поддержкуКаждый сотрудник компании обязан лично познакомиться с ответственным за техническую поддержку и обращаться исключительно к нему. При этом на 60 пользователей достаточно одного ответственного. Пользователи должны немедленно связываться с аналитиком, если к ним обращается некто, заявляющий, что он сотрудник службы технической поддержки.
Создайте систему оповещения об угрозахАтакующие знают, что, даже если их обнаружат, у служащего нет возможности предупредить других сотрудников об атаках. В результате атака может быть продолжена с минимальными изменениями и после компрометации. По существу, компрометация только улучшит атаку, так как атакующие узнают, что именно не срабатывает.
Социальная инженерия для проверки политики безопасностиСоциальная инженерия является единственным подходящим методом проверки эффективности политики безопасности. Хотя многие тесты проверяют физические и электронные уязвимые места, но лишь некоторые анализы безопасности исследуют бреши, создаваемые людьми. Следует, однако, отметить, что тесты такого типа должны проводить только квалифицированные и надежные люди.
Методы социальной инженерии, применяемые злоумышленником, представляют серьезную угрозу информационной безопасности для любой организации. Нужно создать и разработать различные варианты политики безопасности, определить правила корректного использования телефонов, компьютеров и т. д. Необходимо учитывать и неосведомленность в области безопасности, так как любые средства технического контроля (независимо от их эффективности) могут быть использованы людьми ненадлежащим образом. В итоге тестирование системы безопасности должно обеспечить вам защиту от проникновения.Часть II Протоколы
Глава 3 Удаленные атаки на распределенные вычислительные системы
Непостижимо все, что в мире есть,
К тому ж изъянов в том, что есть, не счесть.
О. Хайям. Рубаи
Основной особенностью любой распределенной системы, как уже отмечалось, является то, что ее компоненты рассредоточены в пространстве и связь между ними физически осуществляется при помощи сетевых соединений, а программно – при помощи механизма сообщений. При этом все управляющие сообщения и данные, пересылаемые между объектами распределенной ВС (РВС), передаются по сетевым соединениям в виде пакетов обмена. Данная особенность и является основной для рассматриваемых в этой главе удаленных атак на инфраструктуру и протоколы распределенных ВС.
Классификация угроз безопасности распределенных вычислительных систем
Еще в конце 80-х – начале 90-х годов такого понятия и научного направления, как сетевая безопасность, по сути, не существовало. В те годы только зарождалось направление, связанное с компьютерной безопасностью вообще (особенно это относится к России), поэтому в научных исследованиях, посвященных анализу угроз безопасности ВС, не проводилось разделения между угрозами, специфичными для распределенных и локальных вычислительных систем. В одном исследовании, проделанном отечественными авторами [1], была предложена систематизация информационных разрушающих воздействий на ВС и рассмотрены их основные типы, в том числе описывались и классифицировались воздействия, присущие только распределенным ВС. Такой обобщенный подход к систематизации является правомочным, но, к сожалению, он не позволяет точно охарактеризовать и классифицировать воздействия, присущие именно РВС. Это связано с тем, что распределенные вычислительные системы обладают серьезными отличиями от локальных ВС. Поэтому в последующих научных работах [25, 31] применялся подход к систематизации угроз, когда из всего множества A угроз ВС (A = {a. | i = 1..N}, где a. – i-я угроза ВС) рассматривалось подмножество угроз B, присущих только распределенным ВС (B = {h | i = 1..M}, где h – i-я угроза РВС). Соответственно для данного множества угроз B предлагалась своя классификация. Однако и такой подход к систематизации не был лишен недостатков, так как все угрозы из множества B в зависимости от объекта, подвергающегося воздействию, можно разделить на следующие два подмножества:
• удаленные атаки на инфраструктуру (под инфраструктурой сети мы будем понимать сложившуюся систему организации отношений между объектами сети и используемые в сети сервисные службы) и протоколы сети (множество B1);
• удаленные атаки на телекоммуникационные службы или серверы предоставления удаленного сервиса (множество B2).
Первые используют уязвимости в сетевых протоколах и в инфраструктуре сети, а вторые – уязвимости в телекоммуникационных службах («дыры», программные закладки, программные ошибки).
Проведенный анализ причин успеха реальных воздействий (из множества B1) на различные распределенные вычислительные системы позволил выделить основные причины, по которым возможна реализация данных угроз:
• использование широковещательной среды передачи (например, Ethernet);
• применение нестойких алгоритмов идентификации удаленных субъектов и объектов РВС;
• использование протоколов динамического изменения маршрутизации с нестойкими алгоритмами идентификации;
• применение алгоритмов удаленного поиска с использованием широковещательных и направленных поисковых запросов;
• возможность анонимного захвата одним субъектом РВС множества физических или логических каналов связи.
Иными словами, возможный успех атак из множества B1 обусловлен наличием в распределенной системе одной (или нескольких) из вышеназванных причин. Систематизация основных причин успеха угроз безопасности РВС позволила ввести понятие типовой угрозы безопасности РВС (из множества B1), инвариантной к типу РВС, и создать систематизацию типовых угроз безопасности РВС из множества B1, которая рассмотрена далее.
Итак, перейдем к классификации угроз из выделенного множества B1. Основная цель любой классификации состоит в том, чтобы предложить такие отличительные признаки, используя которые, можно наиболее точно описать характеризуемые явления или объекты. Поскольку ни в одном из известных авторам научных исследований не проводилось различия между локальными и удаленными информационными воздействиями на ВС, применение уже известных обобщенных классификаций для описания удаленных воздействий не позволяет более или менее точно раскрыть их сущность и описать механизмы и условия их осуществления. Для более точного описания угроз безопасности РВС (из множества B1) предлагается следующая классификация (см. рис. 3.1).