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).
   Рис. 3.1. Классификация угроз безопасности РВС
 
   1. По характеру воздействия:
   • пассивное (класс 1.1);
   • активное (класс 1.2).
   Пассивным воздействием на распределенную вычислительную систему можно назвать воздействие, которое не оказывает непосредственного влияния на работу системы, но способно нарушать ее политику безопасности. Именно отсутствие непосредственного влияния на работу распределенной ВС приводит к тому, что пассивное удаленное воздействие практически невозможно обнаружить. Примером типового пассивного удаленного воздействия в РВС служит прослушивание канала связи в сети. При пассивном воздействии, в отличие от активного, не остается никаких следов (от того, что атакующий просмотрит чужое сообщение в системе, ничего не изменится).
   Под активным воздействием на распределенную ВС понимается воздействие, оказывающее непосредственное влияние на работу системы (изменение конфигурации РВС, нарушение работоспособности и т. д.) и нарушающее принятую в ней политику безопасности. Практически все типы удаленных атак являются активными воздействиями. Это связано с тем, что в самой природе разрушающего воздействия заложено активное начало. Очевидным отличием активного воздействия от пассивного является принципиальная возможность его обнаружения (естественно, с большими или меньшими усилиями), так как в результате его осуществления в системе происходят определенные изменения.
   2. По цели воздействия:
   • нарушение конфиденциальности информации либо ресурсов системы (класс 2.1);
   • нарушение целостности информации (класс 2.2);
   • нарушение работоспособности (доступности) системы (класс 2.3).
   Этот классификационный признак является прямой проекцией трех основных типов угроз: раскрытия, целостности и отказа в обслуживании.
   Цель большинства атак – получить несанкционированный доступ к информации. Существуют две принципиальные возможности такого доступа: перехват и искажение. Перехват – это получение информации без возможности ее искажения. Примером перехвата может служить прослушивание канала в сети. Такая атака является пассивным воздействием и ведет к нарушению конфиденциальности информации.
   Искажение информации означает полный контроль над информационным потоком между объектами системы или возможность передачи сообщений от имени другого объекта. Очевидно, что искажение информации ведет к нарушению ее целостности, то есть представляет собой активное воздействие. Примером удаленной атаки, цель которой – нарушение целостности информации, может служить типовая удаленная атака (УА) «ложный объект РВС».
   Принципиально иной целью атаки является нарушение работоспособности системы. В этом случае основная цель взломщика – добиться, чтобы операционная система на атакованном объекте вышла из строя и, следовательно, для всех остальных объектов системы доступ к ресурсам данного объекта был бы невозможен. Примером удаленной атаки, целью которой является нарушение работоспособности системы, может служить типовая атака «отказ в обслуживании».
   3. По условию начала осуществления воздействия.
   Удаленное воздействие, как и любое другое, может начать осуществляться только при определенных условиях. В распределенных ВС существуют три вида таких условий:
   • атака после запроса от атакуемого объекта (класс 3.1);
   • атака после наступления ожидаемого события на атакуемом объекте (класс 3.2);
   • безусловная атака (класс 3.3).
   В первом случае взломщик ожидает передачи от потенциальной цели атаки запроса определенного типа, который и будет условием начала осуществления воздействия. Примером подобных сообщений в ОС Novell NetWare может служить запрос SAP (атака описана в [11]), а в Internet – запросы DNS и ARP. Удаленные атаки класса 3.1 на объекты сети рассмотрены далее в главе 4. Следует отметить, что такой тип удаленных атак наиболее характерен для распределенных ВС.
   При осуществлении атаки класса 3.2 атакующий осуществляет постоянное наблюдение за состоянием операционной системы объекта атаки и при возникновении определенного события в этой системе начинает воздействие. Как и в предыдущем случае, инициатором начала атаки выступает сам атакуемый объект. Примером такого события может быть прерывание сеанса работы пользователя с сервером в ОС Novell NetWare без выдачи команды LOGOUT [11].
   При безусловной атаке ее начало не зависит от состояния системы атакуемого объекта, то есть воздействие осуществляется немедленно. Следовательно, в этом случае его инициатором является атакующий. Пример воздействия данного вида рассмотрен в главе 4.
   4. По наличию обратной связи с атакуемым объектом:
   • с обратной связью (класс 4.1);
   • без обратной связи, или однонаправленная атака (класс 4.2).
   Если взломщику требуется получить ответ на некоторые запросы, переданные на объект воздействия, то есть между атакующим и целью атаки существует обратная связь, которая позволяет ему адекватно реагировать при изменении ситуации, то такое воздействие можно отнести к классу 4.1. Подобные удаленные атаки наиболее характерны для распределенных ВС.
   Инициатор удаленной атаки без обратной связи, напротив, не реагирует ни на какие изменения, происходящие на атакуемом объекте. Воздействие данного вида обычно осуществляется передачей на атакуемый объект одиночных запросов, ответы на которые атакующему не нужны. Примером подобных атак – их можно назвать однонаправленными – является типовая атака «отказ в обслуживании», а также атаки, рассмотренные в главе 4.
   5. По расположению субъекта атаки относительно атакуемого объекта:
   • внутрисегментное (класс 5.1);
   • межсегментное (класс 5.2).
   Рассмотрим ряд определений.
   Субъект атаки, или источник атаки – это атакующая программа или оператор, непосредственно осуществляющие воздействие.
   Хост (host) – сетевой компьютер.
   Маршрутизатор, или роутер (router) – устройство, обеспечивающее маршрутизацию пакетов обмена в глобальной сети.
   Подсеть (subnetwork в терминологии Internet) – логическое объединение, совокупность хостов, являющихся частью глобальной сети, для которых маршрутизатором выделен одинаковый номер. Хосты внутри одной подсети могут взаимодействовать непосредственно, минуя маршрутизатор.
   Сегмент сети (segment) – физическое объединение хостов. Например, сегменты сети образуются совокупностью хостов, подключенных к серверу по схеме «общая шина». При такой схеме подключения каждый хост имеет возможность подвергать анализу любой пакет в своем сегменте.
   Для осуществления удаленного воздействия чрезвычайно важно, как по отношению друг к другу располагаются субъект и объект атаки, то есть в одном или в разных сегментах они находятся. В случае внутрисегментной атаки, как следует из названия, субъект и объект атаки находятся в одном сегменте, а при межсегментной – в разных.
   Данный классификационный признак позволяет судить о так называемой степени удаленности атаки. Далее показано, что на практике межсегментное воздействие осуществить значительно труднее, чем внутрисегментное, но и опасность оно представляет гораздо большую. В таком случае объект и субъект атаки могут находиться на расстоянии многих тысяч километров друг от друга, что существенно усложняет возможность непосредственного обнаружения атакующего и адекватной реакции на атаку.
   6. По уровню эталонной модели ISO/OSI, на котором осуществляется воздействие:
   • физический (класс 6.1);
   • канальный (класс 6.2);
   • сетевой (класс 6.3);
   • транспортный (класс 6.4);
   • сеансовый (класс 6.5);
   • представительный (класс 6.6);
   • прикладной (класс 6.7).
   Международная организация по стандартизации (ISO) приняла стандарт ISO 7498, описывающий взаимодействие открытых систем (OSI), к которым относятся и распределенные ВС. Любой сетевой протокол обмена, как и любую сетевую программу, можно с той или иной степенью точности спроецировать на эталонную многоуровневую модель OSI. Такая проекция позволит описать в терминах модели OSI функции, заложенные в сетевой протокол или программу. Поскольку удаленная атака также является сетевой программой, представляется логичным рассматривать такие воздействия на распределенные ВС, проецируя их на эталонную модель ISO/OSI.

Модели механизмов реализации типовых угроз безопасности РВС

Понятие типовой угрозы безопасности

   Исследования информационной безопасности различных распределенных ВС, проводимые нами в течение последних лет, показали, что, независимо от используемых сетевых протоколов, топологии и инфраструктуры исследуемых распределенных ВС, механизмы реализации удаленных воздействий на РВС инвариантны по отношению к особенностям конкретной системы. Это объясняется тем, что распределенные ВС проектируются на основе одних и тех же принципов, а следовательно, имеют практически одинаковые проблемы безопасности. Поэтому и оказывается, что причины успеха удаленных атак на различные РВС одинаковы (подробнее см. в главе 6). Таким образом, появляется возможность ввести понятие типовой угрозы безопасности РВС. Типовая угроза безопасности – это удаленное информационное разрушающее воздействие, программно осуществляемое по каналам связи и характерное для любой распределенной ВС. Соответственно типовая удаленная атака – это реализация типовой угрозы безопасности РВС.
   Классификация типовых удаленных атак на РВС приведена в табл. 3.1.
Таблица 3.1. Классификация типовых удаленных атак на распределенные ВС
   Рассмотрим модель типовых угроз безопасности РВС из множества угроз, направленных на инфраструктуру и протоколы РВС. Эта модель включает в себя:
   • описание угрозы;
   • описание механизмов реализации угрозы;
   • классификацию угрозы;
   • графовую модель взаимодействия объектов РВС в проекции на физический (или канальный) и сетевой уровни модели OSI;
   • графовую модель взаимодействия объектов РВС при реализации данной угрозы в проекции на физический (или канальный) и сетевой уровни модели OSI.

Графовая модель взаимодействия объектов РВС

   Рассмотрим предлагаемую графовую модель взаимодействия объектов РВС в проекции на физический, канальный и сетевой уровни модели OSI. На входе у модели находится адрес объекта, с которого передается сообщение и на который необходимо доставить сообщение; на выходе – итоговый результат (доставлено ли сообщение). Основная задача данной модели РВС состоит в формировании на графе пути между заданными входными параметрами модели (между двумя объектами).