
ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ В ИНТЕРНЕТЕ
КЛАССИФИКАЦИЯ УГРОЗ
Основу нормативно-правовой базы информационной безопасности в нашей стране составляют Доктрина информационной безопасности Российской Федерации [1], утвержденная Президентом Российской Федерации 9 сентября 2000 г., и принятый 27 июля 2006 г. Федеральный закон «Об информации, информационных технологиях и о защите информации» № 149-ФЗ [2]. Доктрина информационной безопасности Российской Федерации определяет цели, задачи, принципы и основные направления обеспечения информационной безопасности Российской Федерации, а также основные принципы государственной политики и функции государства в области информационной безопасности. Здесь же рассмотрены мероприятия по реализации государственной политики обеспечения информационной безопасности РФ, среди которых важную роль играют совершенствование и развитие законодательства в области информационной безопасности, комплексное противодействие угрозам информационной безопасности и повышение правовой культуры и компьютерной грамотности граждан.
Упомянутый Федеральный закон регулирует отношения, возникающие при поиске, получении, передаче, производстве и распространении информации; применении информационных технологий и обеспечении защиты информации.
В настоящее время в нашей стране нормативно-правовая база обеспечения информационной безопасности еще далека от совершенства и нуждается в развитии. Серьезные шаги в этом направлении на государственном уровне были сделаны только после ряда уголовных дел. Самым первым было дело программистов Волжского автомобильного завода, умышленно внесших деструктивные изменения в программу управления технологическим процессом, что нанесло заводу значительный ущерб. Затем последовало дело сотрудника Игналинской атомной электростанции, использовавшего в системе управления станцией несанкционированные программные модули, что привело к искажению информации на пульте оператора атомного реактора. Руководители многих предприятий становились
объектами шантажа со стороны уволенных сотрудников, имевших доступ к администрированию информационной системы и грозящих уничтожением важных данных или блокировкой производственных процессов. В результате Уголовный кодекс, введенный в действие 1 января 1997 г., уже содержал главу, посвященную преступлениям в сфере компьютерной информации. В ней предусматривались наказания за следующие преступления:
-
Неправомерный доступ к компьютерной информации (ст. 272).
-
Создание, использование и распространение вредоносных компьютерных программ (ст. 273).
-
Нарушение правил эксплуатации компьютеров, компьютерных систем и сетей (ст. 274).
Зарубежный опыт показывает, что для справедливого наказания киберпреступников вовсе не обязательно вводить дополнительные понятия и статьи в Уголовный кодекс. В некоторых странах такие преступления наказываются по конечному результату действий злоумышленника: хищение, вымогательство, хулиганство и т.д.
Требования законодательства составляют верхнюю ступень в иерархии нормативных документов по информационной безопасности. Ниже идут требования ИТ стандартов и стандартов по управлению рисками (Базель //, COSJ, CoBIT, ITIL). Следующая ступень — требования стандартов по безопасности {ISO 17799, ISO 27001, СТР-К, Стандарт ЦБ по И Б). Самое нижнее место в иерархии занимают внутренние стандарты, политики и регламенты предприятий. В них очень нуждаются большие и территориально распределенные организации. Эти документы регламентируют использование программного обеспечения и оборудования, определяют зоны ответственности администраторов и сотрудников, облегчают подготовку оборудования, его администрирование, снижают расходы на лицензионное программное обеспечение и его обновление.
Широкое проникновение информационных технологий во все области современной жизни неизмеримо повышает важность борьбы с компьютерными преступлениями, особенностью которых является их низкая раскрываемость. Сам факт хищения (копирования) информации может долгое время оставаться незамеченным, если для этого заблаговременно не приняты специальные меры. Даже обнаружив «утечку» данных, пострадавшие фирмы не торопятся признавать факт преступления и ставить в известность правоохранительные органы, боясь отпугнуть вкладчиков, акционеров и клиентов таким проявлением халатности и ненадежности систем защиты информации. Таким образом, официальной статистике компьютерных преступлений не стоит очень доверять. Она оказывается сильно заниженной.
Анализ этой, далеко не полной, информации позволяет выделить основные черты современных компьютерных преступлений:
-
компьютерные преступления совершаются группами лиц, располагающими самым современным компьютерным и телекоммуникационным оборудованием;
-
сотрудники атакуемых фирм принимают активное участие в подавляющем большинстве компьютерных преступлений;
-
сеть Интернет, насыщенная новыми сетевыми сервисами, построенная на базе широкополосных каналов связи, в отсутствие централизованного управления и цензуры служит отличной средой для информационно-психологического воздействия на людей, обмена криминальной информацией и создания специальных распределенных систем для атак на намеченные заранее цели.
Подключение к сети Интернет домашнего компьютера стало повсеместным явлением. Отсутствие навыков защиты информации на своем компьютере у большинства простых пользователей делает их домашние компьютеры легкой добычей преступников, похищающих личные конфиденциальные данные: номера кредитных карточек, номера счетов, компрометирующую информацию и т.д. Такой компьютер легко превратить в элемент системы для атаки на заранее намеченную цель в Сети. Известны случаи создания очень больших распределенных систем подконтрольных преступникам компьютеров, принадлежащих ничего не подозревающим частным лицам. Порой такие сети служат предметом торга. Ее можно купить и использовать для атаки, например, на сетевой сервис конкурента (интернет-магазин, сайт и т.д.).
В литературе, посвященной защите информации, можно найти множество различных определений самого понятия информационной безопасности. Для наших целей удобно будет определить его как защищенность информации, обрабатываемой в информационно-вычислительной системе, от случайных или намеренных воздействий внутреннего или внешнего характера, чреватых нанесением ущерба владельцам информационных ресурсов или пользователям информации.
Обеспечение информационной безопасности, как это следует из приведенного выше определения, не сводится только к защите информационной системы от посягательств злоумышленников. Очень важной является защита от воздействий естественных случайных и стихийных факторов, таких, как сбои оборудования, аварии систем жизнеобеспечения зданий, стихийные бедствия, случайные ошибки людей, работающих в системе.
Основной целью любой информационной системы является обеспечение конфиденциальности, целостности и доступности для всей обрабатываемой в ней информации.
Конфиденциальность означает, что возможность ознакомления с информацией (со смыслом данных или сведений) должны иметь только уполномоченные на это лица.
Целостность означает, что возможность внесения изменений в информацию должны иметь только уполномоченные на это лица.
Доступность означает, что уполномоченные лица обязательно имеют возможность авторизованного доступа к информации в санкционированный период времени.
Этим же целям служат мероприятия по поддержанию информационной безопасности, которые, естественно, должны обеспечивать выполнение информационной системой ее задач. Иногда к списку задач информационной безопасности добавляют еще две:
Учет — обязательную фиксацию и анализ всех значимых действий всех работающих с информацией лиц.
Неотрекаемость и неапеллируемость — обеспечение невозможности для отправителя информации отречься от факта отправки и невозможности для получателя отказаться от факта ее получения.
Последнее особенно важно в организациях с электронным документооборотом, включающим документы с юридической или финансовой значимостью. Правовой основой использования электронного документооборота в Российской Федерации служит Федеральный закон № 1-ФЗ «О цифровой электронной подписи» от 10 января 2002 г. [3]. Его целью является «обеспечение правовых условий использования электронной цифровой подписи в электронных документах, при соблюдении которых электронная цифровая подпись в электронном документе признается равнозначной собственноручной подписи в документе на бумажном носителе».
В качестве основных направлений информационной безопасности можно выделить физическую и компьютерную безопасность.
Физическая безопасность включает в себя обеспечение безопасности самого оборудования информационной системы и контроль доступа пользователей к этому оборудованию. Сюда же можно отнести физическую защиту пользователей от злонамеренных действий и защиту информации невиртуального характера: распечаток, служебных справочников, внешних носителей информации и т.д.
Компьютерная (сетевая, телекоммуникационная, безопасность данных) безопасность — обеспечение безопасности информации, находящейся в виртуальном виде на всех этапах ее жизненного цикла в информационной системе: при создании, хранении, обработке и пересылке по сети.
Угрозой информационной безопасности будем называть возможное событие, процесс или явление, которое при воздействии на информационную систему в целом или на отдельные ее компоненты может нанести ущерб интересам ее пользователей.
Разные авторы используют различные системы классификации угроз компьютерной безопасности, основанных на определенных
признаках. Перечислим некоторые из них. Самая общая классификация основана на природе их возникновения.
Естественные угрозы — угрозы, вызванные объективными физическими процессами и природными явлениями, независящими от деятельности человека.
К естественным угрозам относятся стихийные бедствия (пожары, наводнения, землетрясения, взрывы газа, ураганы и т.д.) и неконтролируемые физические явления типа молнии.
Искусственные угрозы — угрозы, вызванные деятельностью человека. Их можно разделить на непреднамеренные, вызванные ошибками в проектировании и обслуживании информационной системы и обслуживающих ее систем (энергоснабжения, обеспечения климатических параметров и т.д.), ошибками в программном обеспечении. Сюда же относят угрозы от запуска технологических программ и несанкционированного использования игровых, обучающих и других программ, не являющихся необходимыми для выполнения сотрудниками служебных обязанностей, несанкционированное использование модемов, точек беспроводного доступа и других коммуникационных устройств. Ввод ошибочных данных, случайное отключение систем защиты, заражение компьютерными вирусами и утрата паролей или ключей шифрования также относятся к этой категории. В отличие от непреднамеренных угроз, преднамеренные угрозы связаны с преступными целями злоумышленников, пытающихся использовать результаты реализации этих угроз в корыстных целях. Сюда можно отнести физическое разрушение всей информационной системы или отдельных ее компонентов, нарушение функционирования системы, внедрение своих агентов или вербовку агентов среди обслуживающего персонала информационной системы, перехват (тем или иным способом) информации, передаваемой по каналам связи, взлом криптозащиты и т.п.
Можно классифицировать угрозы информационной безопасности по отношению злоумышленника к объекту атаки.
Внутренние угрозы — это угрозы информационной безопасности со стороны персонала организации. По статистике от 70 до 80% всех компьютерных преступлений осуществляется при помощи сотрудников компаний, работающих или уволенных. Они хорошо понимают реальную цену информации, обрабатываемой информационной системой компании, и, иногда, имеют к ней доступ с правами, достаточными для хищения.
Внешние угрозы — связаны с участием лиц, не принадлежащих к персоналу атакуемой организации.
Другая классификация основана на различиях в положении источника угрозы безопасности относительно цели нападения.
Локальные угрозы — связаны с проникновением злоумышленника на территорию организации и непосредственным использованием для атаки одного из компьютеров информационной системы или прямым подключением к локальной компьютерной сети фирмы изнутри.
Удаленные угрозы — это угрозы, реализуемые издалека по каналам связи. Порой злоумышленники находятся на очень большом расстоянии от атакуемой системы, используя для атаки компьютерную сеть или телефонные соединения. Развитие сети Интернет и повсеместное использование распределенных (порой глобально распределенных) информационных систем выводит этот тип атак на лидирующие позиции.
Детализируя угрозы, можно выделить угрозы потокам данных — это угрозы передаваемой по сети информации. В современных информационных системах практически каждый из составляющих их элеменов вовлечен в процесс активного обмена данными. Поэтому атака может быть направлена на сегмент сети или конкретный ее узел, а ее целью может быть даже простой анализ проходящей по сети информации, который может дать злоумышленнику достаточно данных для последующего проникновения в информационную систему.
Продолжая перечисление различных способов классификации угроз информационной безопасности, необходимо упомянуть следующие:
-
по степени зависимости от активности атакуемой информационной системы: независящие от нее и проявляющиеся в процессе работы системы;
-
по степени воздействия на систему: пассивные, ничего не меняющие в системе, и активные, изменяющие ее структуру и содержание;
-
по этапам доступа к информации: на этапе доступа пользователя к ресурсам или после получения доступа к ним;
-
по способу доступа к ресурсам информационной системы: прямой стандартный путь доступа и скрытый, нестандартный;
-
по месту расположения информации в системе: доступ к внешним запоминающим устройствам, доступ к оперативной памяти, доступ к линиям связи, доступ к информации, отображаемой на экране монитора или на принтере, и т.д.
Этот список можно продолжать. Более детальную информацию можно легко найти в пособиях по информационной безопасности.
На практике чаще всего атаки носят смешанный характер. При этом используется вся доступная злоумышленникам информация, как полученная непосредственно от внутренних источников, так и в результате удаленного изучения атакуемой системы.
Специалисты уделяют такое большое внимание классификации угроз, поскольку эффективная защита строится как защита от типов
угроз, а не от их конкретных реализаций, число которых растет с катастрофической быстротой. При этом новые классы угроз возникают сравнительно редко.
Правильно построенная защита должна носить комплексный характер. Например, заражение компьютерным вирусом или троянской программой может быть достигнуто разными способами. Можно удаленно взломать компьютер и активировать на нем вирус. Можно заразить вирусом дискету, CD-диск или любое другое съемное запоминающее устройство и, подойдя к компьютеру, заразить его, обратившись к зараженному носителю. Можно послать работающему за ним сотруднику письмо «соблазнительного» содержания, открыв которое, он сам активирует вредоносную программу или посетит зараженный сайт. Все эти действия приведут к одному и тому же результату — удачной атаке на систему. Предотвратить это можно, создав многоуровневую комплексную защиту не только от компьютерных вирусов и троянских программ, но и от способов их «доставки» на атакуемую систему.
Международное интернет-сообщество серьезно обеспокоено обеспечением безопасности веб-серверов, в настоящее время предлагающих пользователям все возрастающее количество различных сервисов в сети Интернет. Международная группа Web Application Security Consortium (www.webappsec.org), состоящая из экспертов и специалистов, обладающих большим опытом практической работы, ставит своей целью внедрение в практику лучших методов обеспечения безопасности веб-приложений. Они разработали детальную классификацию угроз безопасности веб-серверов, основной целью которой является выработка единого языка, так необходимого разработчикам приложений, специалистам в области безопасности, производителям программных продуктов и аудиторам для взаимодействия. Детальная классификация и подробное описание угроз безопасности позволяют понять риски, связанные с возможными атаками на веб-приложения, предотвратить возникновение уязви-мостей на этапе разработки программных продуктов. Она может служить руководством для оценки правильности и полноты учета угроз при проектировании, разработке и проверке безопасности сайтов, а также при выборе решений для защиты веб-приложений.
В основу этой классификации положены основные направления и объекты атак на веб-приложения. Ими являются:
-
Аутентификации пользователей.
-
Авторизация пользователей в системе.
-
Клиенты веб-приложений.
-
Несанкционированное выполнение кода.
-
Разглашение информации.
-
Логические атаки на сервисы.
Подробное описание перечисленных атак будет дано ниже.
Литература к главе
-
Доктрина информационной безопасности Российской Федерации. Утверждена Президентом Российской Федерации 9 сентября 2000 г. № Пр-1895.
-
Закон Российской Федерации от 27 июля 2006 г. № 149-ФЗ «Об информации, информационных технологиях и о защите информации».
-
Федеральный закон от 10 января 2002 г. № 1-ФЗ «Об электронной цифровой подписи».
ВНУТРЕННЯЯ И ВНЕШНЯЯ БЕЗОПАСНОСТЬ
Основное внимание будет уделено угрозам, в основе которых лежит использование компьютерных сетей, применяющих протокол TCP/IP. При этом деление на внутреннюю и внешнюю безопасность позволяет выделить угрозы, исходящие изнутри информационной системы и внешние по отношению к ней. Наличие в любой современной информационной системе компьютерной сети, как правило, построенной на основе TCP/IP протокола и использующей веб-технологии, и внутренних систем защиты обусловливает возможность применения интернет-технологий при реализации как внутренних, так и внешних угроз.
Все процессы и объекты системы могут подвергаться атакам. Поэтому для построения эффективной защиты необходимо понимание того, как происходит обработка информации в системе. Рассмотрим кратко жизненный цикл информации. Она либо попадает в систему извне в виде информационного потока, пришедшего из других информационных систем, либо создается внутри самой системы пользователями или программами. Она может существовать в виде разнообразных документов, баз данных и файлов различной природы. Переходя от одной части системы к другой, исходная информация изменяет форму представления, порождает новые информационные потоки, возможно, выходящие за пределы системы. Потеряв актуальность, она перестает существовать. Таким образом, угрозы информационной безопасности могут быть направлены на процессы хранения, обработки и передачи информации. Иногда эти процессы сложно разделить, поскольку обработка подразумевает хранение промежуточных результатов и временных файлов, которые также могут являться целью атаки.
При работе с информацией происходит обмен данными как между составляющими систему частями, так и с другими информационными системами, включенными в бизнес-процесс. Внутренний и внешний обмен информацией может существенно различаться по используемой среде и протоколам передачи данных. Но все эти процессы должны быть включены в рассмотрение наряду с процессами обработки и хранения информации, а среду передачи информации нужно изучать как полноценную информационную систему со своими свойствами и уязвимостями. В хорошо защищенной системе тщательно защищенные компьютеры обмениваются данными по хорошо защищенным каналам связи. Нельзя упускать из виду возможные ответвления информационных потоков и не очевидные с первого взгляда места, где информация может проявляться в виде распечаток и копий на дискетах и других носителях.
Подавляющее большинство существующих ныне локальных и глобальных компьютерных сетей используют для передачи информации стек протоколов TCP/IP, а повсеместное распространение оптоволоконных линий связи сделало возможным построение больших сетей масштаба города на основе технологии Ethernet, изначально предназначенной для создания локальных сетей. Использование интернет-технологий для построения внутренней сети предприятия позволяет применять одни и те же инструменты как для доступа к внутренним сервисам, так и для работы в сети Интернет. За такими сетями закрепилось название Интранета. Естественно, общность используемых технологий приводит к возможности реализации одних и тех же угроз информационной безопасности как во внутренней сети предприятия, так и в Интернете. К сожалению, создатели протокола TCP/IP не предполагали столь широкого его распространения и не уделили должного внимания вопросам безопасности передаваемой по сети информации. Повсеместное внедрение интернет-технологий привело к необходимости разработки надежных средств защиты информации, совместимых с протоколом TCP/IP. Такие средства были созданы на основе современных криптографических алгоритмов. Примером могут служить известные протоколы IPSec, ISAKMP, IKE, SSL и др.
Существует большое количество различных сетевых протоколов, реализующих сложный процесс сетевого обмена данными. Теоретическое описание различных стадий этого процесса дает модель взаимодействия открытых систем (OSI). Модель выделяет семь уровней обработки информации (рис. 26.1). В передающей системе информация проходит сверху вниз от уровня Приложения до Физического уровня, а в принимающей — снизу вверх.
В случае передачи данных предназначенная для отправки информация обрабатывается последовательно программными модулями, реализующими функции соответствующих уровней. При этом она разбивается на сетевые пакеты, которые по мере продвижения вниз, на нижние уровни, «обрастают» данными, необходимыми для успешной пересылки по сети: адресами, контрольными суммами и т.д. Попав в пункт назначения, пакеты претерпевают обратную трансформацию, проходя по всем уровням снизу вверх, и на уровне Приложения вновь собираются в приемлемую для пользователя форму. Из-за симметрии процесса на одноименных уровнях в отправившей информацию системе и принимающей системе пакеты имеют один и тот же вид, так что создается впечатление прямого обмена данными между этими уровнями, что схематично показано на рис. 26.1.
Такая архитектура взаимодействия сетевых устройств позволяет независимо вносить изменения в программы, реализующие протоколы соответствующих уровней, не затрагивая остальные. Необходимо отметить, что в полном объеме модель OSI не реализована ни в одном из существующих сетевых протоколов.
Защита информации и целостности данных в приложениях обеспечивается на верхних уровнях — приложения и представления. За надежность доставки отвечает транспортный уровень. На сетевом уровне можно скрыть внутреннюю сетевую структуру информационной системы. На канальном уровне можно защититься от угроз, связанных с несанкционированным использованием широковещательных сообщений. Защита от использования побочных излучений аппаратуры и физического внедрения в сеть связана с физическим уровнем. Все эти соображения необходимо учитывать при создании модели безопасности системы.
Одним из основных объектов атак на информационные системы являются потоки информации, связывающие отдельные части системы друг с другом и систему с внешним миром. По способу воздействия на передаваемую информацию атаки на потоки данных обычно делят на пассивные, целью которых является прослушивание или копирование сетевого трафика, и активные, направленные на изменение или полную подмену данных. Последние включают в себя блокировку данных путем физического отсоединения системы от сети или переполнения сети посторонними пакетами.
Построение надежной защиты внутрисистемного трафика базируется на модели информационных потоков предприятия. Создание такой модели — сложная задача, поскольку для этого не существует универсальных инструментов, способных учесть специфику бизнес-процессов и отвечающих им информационных потоков. Ошибки в модели могут впоследствии привести к образованию уязвимостей в системе информационной безопасности, созданной на ее основе. Поэтому обязательным шагом является тщательная проверка модели информационных потоков, требующая скрупулезного анализа технической документации к системам и конфигураций работающих компьютеров, сетеобразующего и другого оборудования. Эта работа сравнима по объему с созданием самой модели.
Компьютерная сеть современной компании может иметь сложную структуру и большую протяженность. В транснациональных корпорациях сети достигают планетарного размера и порой охватывают несколько континентов. Такие системы, как правило, состоят из сегментов, которые с помощью программных или аппаратных шлюзов (или межсетевых экранов) и промежуточного сетеобразующего оборудования соединены между собой. В этом случае внутрисистемный трафик можно разделить на два типа, имеющих разную природу. При так называемой внутрисегментной пересылке данные передаются от компьютера-источника к компьютеру-получателю через сетеобразующее оборудование, в пределах данного сегмента, ограниченного шлюзом или межсетевым экраном.
Если трафик выходит за пределы данного сегмента, он называется межсегментным. Как правило, в этом случае сетевые пакеты идут от компьютера-отправителя через шлюз его сети и промежуточное сетеобразующее оборудование к шлюзу системы-получателя и только потом достигают адресата.
Нормальная работа современного предприятия невозможна без передачи информации между партнерами по бизнесу, поставщиками и клиентами и т.п. Широкое распространение получили средства удаленного управления банковскими счетами и осуществления электронных платежей, различные веб-сервисы для обмена информацией и размещения заказов у партнеров. В связи с этим необходимо очень серьезно подходить к обеспечению безопасности межсистемной передачи информации. Это легко сделать, если обе системы используют в своей работе одинаковые протоколы безопасности или разработчики имеют детальную информацию об используемых средствах обеспечения защиты обеих систем. Если же механизмы обеспечения безопасности хотя бы одной из систем неизвестны разработчикам, задача становится очень сложной. Возможно, в этом случае придется пожертвовать некоторыми аспектами безопасности или использовать альтернативные способы защиты данных.
Естественно, злоумышленники используют различные методы для атак на трафик разных типов.
Прежде чем рассматривать специфические атаки на веб-службы, рассмотрим общие для всех сетевых приложений способы реализации угроз безопасности. Как указывалось выше, атака на сеть и работающие в ней сервисы может быть осуществлена на любом уровне модели OSI. Существенные различия между приложениями с точки зрения передачи данных по сети возникают только на уровнях Приложения и Представления семиуровневой модели. Способы атаки на более низких уровнях практически полностью зависят от деталей организации взаимодействия сетевых устройств, а не от специфики работающих приложений. Поэтому все они присутствуют в классификации угроз веб-приложениям, разработанной международной группой Web Application Security Consortium.
Межсегментный трафик легче всего перехватить, подключив прослушивающее устройство там, где есть гарантированная возможность копирования данных. Для этой цели более всего подходят: выход сегмента, где расположен компьютер — источник данных, вход сегмента, в котором расположен компьютер — адресат и промежуточное сетеобразующее оборудование, если есть уверенность, что именно оно будет участвовать в передаче данных.
Лучшей точкой для подключения с целью перехвата внутрисегментного трафика служит оборудование, формирующее данный сегмент сети.
С точки зрения логической топологии наиболее распространенные в настоящее время компьютерные сети, сети типа Ethernet, представляет собой шину, к которой подключены все компьютеры сети. Таким образом, все устройства сегмента получают все пакеты, проходящие по сети. Адресация осуществляется при помощи так называемого MAC (Media Acces Со/^/-о/)-адреса, физического адреса сетевого адаптера, присваиваемого ему фирмой-производителем при изготовлении. М4С-адрес содержит информацию о фирме-производителе и номере устройства и является уникальным идентификатором сетевого адаптера. При получении пакета данных сетевой адаптер сравнивает содержащийся в нем М4С-адрес адресата со своим. При совпадении пакет принимается для дальнейшей обработки. В противном случае пакет отбрасывается. Такой режим работы устанавливается для сетевого адаптера по умолчанию.
Физически эта схема реализуется при помощи двух типов сетеобразующего оборудования: коммутаторов и концентраторов. При этом физическая топология сети будет отличаться от ее логической топологии. Указанные приборы реализуют физическую топологию типа «звезда», при которой все сетевые устройства напрямую подключены к сетеобразующему устройству. Концентратор имеет несколько портов для подключения сетевых устройств (компьютеров и сетеобразующего оборудования). Каждый входящий в любой порт пакет копируется во все остальные порты.
В отличие от концентратора коммутатор обладает более развитым «интеллектом». После подключения компьютера к одному из его портов коммутатор заносит в таблицу номер порта и М4С-адрес подключенного к нему устройства. Теперь он может направлять сетевые пакеты сразу в тот порт, к которому подключено устройство, МАС-адрес которого указан в качестве конечного пункта сетевого пакета. Если М4С-адрес получателя не значится в таблице соответствия, коммутатор работает как концентратор, копируя пакет во все порты. Переход от использования концентраторов к построению сетей на основе коммутаторов позволяет существенно снизить нагрузку на сеть и повысить ее быстродействие.
Изменив настройки, сетевой адаптер можно перевести в режим прослушивания сети, в котором он принимает все приходящие сетевые пакеты, которые затем можно проанализировать при помощи специальной программы — сниффера. Такая технология прослушивания очень хорошо работает в сетях Ethernet, построенных из концентраторов.
Большая часть современных сетей Ethernet построена на основе сетевых коммутаторов. В этом случае описанное выше прослушивание сети на первый взгляд кажется невозможным. Однако уровень «интеллекта» коммутаторов ограничен размером их памяти и заложенными в них алгоритмами работы. При переполнении внутренних таблиц, хранящих номера портов и соответствующие им М4С-адреса, коммутатор, чтобы не блокировать работу сети, временно начинает работать в режиме концентратора, копируя приходящие пакеты во все порты. В это время можно прослушивать сетевой трафик. Такую ситуацию можно создать искусственно, периодически устраивая «М4С-шторм» при помощи генератора сетевых пакетов со случайными MAC адресами в поле адреса компьютера-отправителя.
Сложная топология больших сетей, построенных на коммутаторах, дает в руки злоумышленников новые возможности получения доступа к сетевому трафику. В таких сетях для предотвращения зацикливания пакетов используют специальный протокол — Spanning Tree Protocol (STP). Он служит для логического отключения некоторых из портов формирующих сеть коммутаторов, что позволяет разорвать сетевые «петли». Его особенностью является возможность переключения коммутатора в режим концентратора при помощи служебных команд. Таким образом, можно анализировать сетевой
трафик, периодически посылая коммутаторам сфальсифицированные служебные STP- пакеты.
Такое пассивное прослушивание атакуемой сети дает богатый материал для анализа на всех уровнях модели OSI. В первую очередь — это информация об адресном пространстве, структуре сети, используемых типах сетевого оборудования и работающих в ней сетевых сервисах, некоторые из которых передают всю информацию, включая идентификационные данные пользователей, в открытом виде. Анализ сетевого трафика даже при использовании в сети криптографических средств дает информацию о корреляциях между различными компонентами трафика и другие статистические характеристики. Все эти данные могут быть использованы при разработке планов новых атак.
Рассмотрим несколько типичных активных атак на потоки данных на нижних уровнях модели OSI, работающих независимо от используемых в сети сервисов.
Атака повтором заключается в повторной отправке перехваченного злоумышленником запроса на выполнение каких-либо действий в системе. При этом запрос не видоизменяется, а просто еще раз (а возможно, и не один) отправляется адресату. Целью такой атаки является повторное выполнение запросов авторизованного пользователя системы, выгодных злоумышленнику. Это может быть перечисление денег на его счет, запуск процессов, требующих значительных вычислительных или других ресурсов, для достижения перегрузки системы или многократный запрос платных услуг от имени хозяина системы и т.д. Существует множество запросов, повторное выполнение которых может принести пользу атакующему и нанести ущерб остальным.
Атака типа «Man-in-the-middle» (посредник) заключается в том, что злоумышленник получает контроль над шлюзом, расположенным между системами, обменивающимися информацией (например, между клиентом и сервером), и становится посредником между ними. При этом оба корреспондента уверены в том, что общаются друг с другом напрямую. Такая ситуация становится возможной, когда криптографические ключи при инициации процесса обмена сообщениями отправляются адресату без доверенного контроля пути следования. Контролируя шлюз, злоумышленник имеет возможность перехватить отправленные одному из корреспондентов криптографические ключи и в дальнейшем отвечать от его имени системе, инициировавшей сеанс связи. При этом он отправляет второй системе свои криптографические ключи и в дальнейшем поддерживает два сеанса связи — по одному с каждым из корреспондентов. Он получает сообщения от одного из них, расшифровывает и перекодирует их, имея возможность вносить изменения, и отправляет адреса-
ту от имени отправителя. Аналогичную обработку проходят сообщения, посылаемые в обратном направлении.
Атака путем перехвата сессии позволяет получить доступ к данным на одном из компьютеров системы (например, на одном из серверов) даже в том случае, когда для этого требуется авторизация пользователя. Для ее организации используются особенности протокола TCP, отвечающего в стеке протоколов TCP/'IP'за гарантированную доставку сообщений. Это один из протоколов, ориентированных на соединение. Прежде чем начать передачу данных, устанавливается соединение с сервером, которое может включать предварительную идентификацию и аутентификацию хоста — клиента. Если злоумышленник умеет произвольно менять адрес отправителя в посылаемых в сеть пакетах, он может организовать перехват сессии между одним из компьютеров-клиентов и сервером. Для этого ему необходимо подключиться к сегменту сети, в котором находятся клиент и сервер. Прослушивая сеть, можно получить информацию о начале сеанса связи между клиентом и сервером. После ее начала отправляемые пакеты маркируются последовательными номерами, значения которых увеличиваются на величину, равную количеству байтов информации в пакете. Начальный номер генерируется генератором случайных чисел. К сожалению, программные генераторы случайных чисел генерируют не настоящие, а так называемые псевдослучайные числа, последовательность которых всегда повторяется, но их распределение на интервале от 0 до 1 очень близко к равномерному. Зная все это, злоумышленник может после удачной идентификации клиента послать ему от имени сервера сообщение о конце сессии или блокировать его работу любым другим способом (например, с помощью атаки «отказ в обслуживании»). Получив изданных прослушивания трафика информацию о параметрах сессии, он может продолжать работать с сервером от имени уже прошедшего идентификацию клиента, посылая серверу следующие по очереди пакеты.
В сложных сетях с динамической маршрутизацией можно изменить направление следования пакетов путем атаки на маршрутизатор. Путем фальсификации служебных пакетов протокола маршрутизации злоумышленник может изменить штатные маршруты следования информации таким образом, чтобы иметь возможность ее копирования или изменения.
Рассмотренные выше схемы атак на потоки данных могут применяться как при внутрисистемной, так и межсистемной передаче информации.
Удаленные атаки можно разделить на внутрисегментные и межсегментные в зависимости от взаимного расположения источника атаки и атакуемого объекта. Внутрисегментные атаки проще по исполнению, однако в этом случае службе информационной безопасности легче принять меры по локализации и устранению источника угрозы. В случае межсегментных атак обнаружить источник опасности и воздействовать на него гораздо сложнее, поскольку он может находиться за тысячи километров от атакуемой системы, в другой стране.
Простейший сценарий удаленной атаки состоит в том, что злоумышленник готовит программный модуль, способный распространяться по сети, не имея в виду никакой конкретной цели атаки. Данный модуль, внедрившись на компьютер случайной жертвы, выполняет действия, для которых он предназначен, и, возможно, сообщает создателю о результатах своей работы. Так распространяются компьютерные вирусы и троянские программы. В настоящее время происходит некоторое смещение акцентов в деятельности авторов подобных программ. Все чаще и чаще целью злоумышленников становится поиск на компьютере жертвы информации, использование которой могло бы принести вполне материальную выгоду: конфиденциальной информации о хозяине компьютера, пригодной для шантажа, номеров кредитных карт, информации о банковском счете и т.д. Например, такой вирус может зашифровать часть жесткого диска компьютера-жертвы и потребовать плату за его расшифровку.
Если объект атаки определен заранее, возможны несколько вариантов развития событий в зависимости от степени самоуверенности и богатства арсенала злоумышленника. На практике они могут перетекать друг в друга. Различия основаны на степени подготовленности к атаке. В простейшем случае злоумышленник последовательно применяет все имеющиеся в его распоряжении средства, направленные на использование определенных уязвимостей в операционной системе, в надежде, что какое-нибудь из них сработает.
Более обстоятельный подход предполагает предварительный сбор сведений об атакуемой системе. Прежде всего необходимо определить сетевой адрес компьютера-жертвы. Для этого можно использовать и вполне открытые источники. Например, службу WHOIS, которая может дать информацию о владельце доменного имени, сотрудниках, отвечающих за работу службы доменных имен, месте расположения фирмы, адресах .ОЛФ-серверов и т.д. Дальнейшую информацию можно получить от самого A/WT-cepeepa, в базе данных которого могут быть зафиксированы основные сетевые сервисы (вебсерверы, серверы электронной почты и т.п.). При удачном стечении обстоятельств возможно и получение более детальной информации. Следующим шагом будет получение информации о работающих в системе сетевых сервисах. Для этого существует большое количество программ, доступных через сеть Интернет. Самые простые из них (сканеры портов) последовательно посылают запросы всем возможным сервисам по данному сетевому адресу и фиксируют в журнале положительные ответы исследуемой системы. Далее необходимо лишь определить, в какой из работающих на компьютере-жертве служб существует уязвимость, позволяющая получить над ним контроль. Очень ценной может быть и информация об установленной на атакуемой машине операционной системе, поскольку входящие в нее службы также обладают уязвимостями и могут быть использованы для взлома системы. Например, различные операционные системы по-разному реагируют на некорректные сетевые пакеты, приходящие в их адрес. Анализируя ответ системы на получение таких пакетов, можно определить, под управлением какой операционной системы работает атакуемый компьютер.
Существуют сложные программные комплексы, способные самостоятельно не только определить, какие службы работают на компьютере-жертве, но и обнаружить неустраненные уязвимости, провести на них атаку до ее полного успешного завершения.
Сообщения об обнаруженных уязвимостях сервисов и операционных систем регулярно публикуются на сайтах уполномоченных организаций. Компании — производители программного обеспечения регулярно выпускают обновления и «заплатки» для своих программных продуктов.
Перейдем к описанию наиболее известных классов удаленных атак.
Компьютерные вирусы. Компьютерные вирусы и троянские программы имеют много общих свойств, поэтому имеет смысл рассмотреть их совместно. Компьютерные вирусы — это специальные вредоносные программы, которые могут внедряться в некоторые файлы на компьютере и выполнять на нем нежелательные для пользователя действия. В отличие от вируса троянская программа имеет своей основной целью взаимодействие со своим создателем. Она отправляет ему информацию о компьютере-жертве и его пользователях или предоставляет ему доступ к зараженной машине. Следует отметить, что в настоящее время не существует четких границ между этими понятиями. Троянские программы могут также выполнять деструктивные действия, а вирусы докладывать своему автору о результатах работы.
Как правило, внедрение таких программ в систему требует некоторых действий пользователя. Атаки, совершенно не требующие участия пользователя, возможны, но они очень сложны и встречаются редко. Основными причинами заражения компьютеров вирусами являются:
-
Ошибки в работе сервисов.
-
Несвоевременное обновление программного обеспечения.
-
Ошибки в конфигурации системы.
-
Установка пользователем постороннего программного обеспечения.
Часто злоумышленник имеет своей целью не получение контроля над атакуемой системой, а нарушение ее функционирования. Примером такой атаки на доступность информации может служить атака типа «отказ в обслуживании».
Атака «отказ в обслуживании». Сформулированная выше цель такой атаки может быть достигнута различными путями. В процессе получения запроса от клиента, его обработке и отправке ответа задействовано большое количество систем: сетеобразующее оборудование и линии связи, компьютер, работающий под управлением той или иной операционной системы, запущенные на нем сервисы, ожидающие запросов от клиентов по сети. Атаке может подвергнуться любая из них. Удаленные атаки этого типа чаще всего направлены на:
-
создание аномально большого сетевого трафика, превышающего пропускную способность сети, в том сегменте, к которому подключен атакуемый сервер;
-
обеспечение аномально большой загрузки процессора атакуемого сервера путем предоставления ему большого числа вычислительных заданий;
-
установку такого большого числа сетевых соединений с атакуемым сервером, чтобы занять все открытые порты и все допустимые для каждого из них соединения;
-
создание условий для перерасхода системных ресурсов, например, путем генерации огромного количества данных, которые необходимо сохранять в памяти сервера. При этом совершенно неважно, какой из работающих на компьютере сервисов создает эти данные. Недоступной становится вся система.
Добиться указанных выше целей можно двумя способами: либо сформировав специальный, не всегда правильный запрос к серверу, либо отправив в его адрес большое количество совершенно правильных запросов, для обработки которых необходимы мощности, превышающие возможности системы или каналов связи.
Первый способ требует хорошего знания деталей работы сетевых сервисов. Это предъявляет высокие требования к квалификации злоумышленника, создающего фактически новый вариант атаки на сервис. Такая атака неотразима в силу своей неожиданности, но работает этот метод считанное число раз, пока фирма — производитель программного обеспечения не выпустит соответствующее обновление для атакуемого сервиса.
Второй способ проще в исполнении. Например, пользователи иногда неумышленно организуют такую атаку на почтовый сервер своих корреспондентов, посылая им электронное письмо очень большого объема. Эта атака даже имеет свое название «mailbomb». Спамовые рассылки по электронной почте тоже можно отнести к категории таких атак. Однако по-настоящему неотразимыми эти ата ки стали после появления атак «распределенный отказ в обслуживании».
Распределенный отказ в обслуживании. Если трафик в направлении атакуемого сервера создается одним компьютером, от такой атаки сравнительно легко защититься, запретив системе обрабатывать запросы, идущие с данного сетевого адреса. Атакуемая фирма может даже договориться со своим интернет-провайдером о соответствующей фильтрации такого трафика. Поскольку для достижения поставленной злоумышленником цели совершенно безразлично, откуда приходит лавина пакетов, блокирующих сервер, возникла идея использовать для генерации зловредного трафика компьютеры ничего не подозревающих пользователей сети Интернет по всему миру.
Такая атака проходит в два этапа. На первом, подготовительном, этапе злоумышленник заражает специальной троянской программой как можно больше компьютеров в сети Интернет, используя для этого любые доступные ему способы. Единственное, что умеет делать эта программа, — это в заранее установленное время или по команде злоумышленника посылать поток запросов на атакуемый сервер. Такие компьютеры называют зомби-системами. С начала генерации запросов начинается второй этап — собственно атака.
С точки зрения атакуемого, все приходящие на сервер запросы вполне корректны и посланы большим количеством разных клиентов. Просто их очень много, и система не в состоянии все их обработать. Мощь такой атаки неизмеримо выше, чем в случае примитивной реализации, поскольку теоретически можно создать очень большое число зомби-систем, что многократно увеличивает создаваемый трафик.
Атаки типа «маскировка». В этот класс атак включают все удаленные атаки, в ходе проведения которых злоумышленник выдает себя не за того, кем он является на самом деле. Спектр таких атак довольно широк и простирается от атак, связанных с овладением учетными данными авторизованного пользователя системы, до манипуляций с таблицами адресов системы доменных имен и различных протоколов стека TCP/IP.
В случае, если в системе идентификация и аутентификация производятся только на основе сетевого адреса, злоумышленник при помощи генератора сетевых пакетов имеет возможность получить к ней доступ с самыми широкими правами, вплоть до администраторских.
Получив доступ к серверу доменных имен, злоумышленник может изменить его базу данных таким образом, чтобы все запросы, посылаемые, например, на веб-сервер атакуемой компании, попадали на его собственный сервер. Дальнейшие действия ограничиваются только его фантазией и теми целями, которые он ставит перед собой. Например, имитация приглашения ввода учетных данных позволит ему собирать идентификаторы и пароли пользователей системы, чтобы в дальнейшем использовать их для доступа к ее ресурсам.
Подмена самого сервера доменных имен на заранее подготовленный злоумышленником также вызовет перенаправление запросов пользователей системы в нужное ему место. Для этого необходимо лишь в нужный момент ответить на запрос клиента от имени DNS-сервера. Если компьютеры системы получают сетевые адреса автоматически от DHCP-сервера, то, получив к нему доступ, можно соответствующим образом изменить информацию об адресах различных сетевых служб, передаваемую этим сервером своим клиентам. Это приведет к перенаправлению запросов на созданные злоумышленником ложные серверы.
В широко распространенных сетях Ethernet для правильной адресации на канальном уровне модели OSI необходимо знать физический адрес своего корреспондента. Для его определения по сетевому адресу служит протокол ARP (Address Resolution Protocol). В принципе его также можно использовать для перенаправления запросов пользователей и ответов серверов на ложные адреса.
Рассмотрим типичные способы реализации угрозы нарушения конфиденциальности, т.е. получения несанкционированного доступа к информации. Можно выделить следующие виды несанкционированного доступа:
-
доступ к носителям информации;
-
локальный доступ к отдельным персональным компьютерам;
-
локальный доступ к ресурсам сети;
-
удаленный доступ к отдельным компьютерам или ресурсам сети.
Первые два вида не имеют отношения к интернет-технологиям и упомянуты исключительно для общности. Рассмотрим два последних случая.
Для получения доступа к ресурсам системы злоумышленники используют любые способы. При этом объектом атаки не всегда являются программно-технические средства. Пользователи и администраторы системы также могут подвергнуться воздействию.
Социальная инженерия. Атаки этого типа не связаны напрямую с подробностями технической реализации информационной системы. Основной инструмент таких атак — воздействие на персонал и пользователей системы с целью получения разного рода информации на основе психологических методов с использованием таких человеческих качеств, как необоснованное доверие к ненадежно идентифицированному человеку, лень, невнимательность и другие слабости. Это не что иное, как использование так называемого человеческого фактора. В этих случаях действенной защитой могут служить только административные меры, предусматривающие строгие (например, материальные) наказания вне зависимости от последствий с оповещением об этом всех сотрудников предприятия.
Применение интернет-технологий позволяет использовать методы социальной инженерии для атак как на информационные системы в целом, так и на отдельных людей. Ежедневно тысячи владельцев электронных почтовых ящиков во всем мире получают письма якобы от своих знакомых с «интересными» предложениями посмотреть вложенную в письмо фотографию или перейти по указанной в письме ссылке на «замечательный» сайт. Попытка последовать совету, возможно, даже даст обещанный результат, но прежде сработает программный модуль, который заразит компьютер доверчивого пользователя троянской программой, предназначенной для сбора информации о пользователе и его компьютере и отправки ее через Интернет хозяину. При этом спектр деструктивных действий может быть гораздо шире.
Клиенты известных банков получают электронные письма якобы от банка с просьбой пройти перерегистрацию (подтвердить получение некоторой суммы на счет, проверить работу системы управления счетом и т.п.) на специальной странице банка в Интернете, ссылка на которую приводится в письме. Как правило, адрес и даже дизайн страницы очень похожи на настоящие. Последовав предложению авторизоваться для входа в систему, пользователь сообщит злоумышленникам свою идентификационную информацию для доступа к банковскому счету через Интернет.
Можно привести множество примеров такого рода. Во всех случаях жертве предлагается очень важная причина для перехода по указанному в письме адресу. Например, срочно необходимо обновить базу данных антивирусной программы из-за эпидемии страшного компьютерного вируса или срочно проверить правильность своих данных.
Особенностью таких атак является абсолютная добровольность (вольная или невольная), с которой пользователь делится со злоумышленником конфиденциальной информацией, необходимой для входа в систему. Бороться с такими атаками очень сложно, поскольку они используют самые разные слабости людей и могут быть нацелены на особенности характера и спонтанные реакции конкретного сотрудника предприятия.
Те же результаты могут быть получены и с помощью рассмотренных выше атак на потоки данных, если злоумышленнику удастся отклонить запрос клиента с правильного пути и направить его на подставной сервер.
Одним из средств противодействия угрозам нарушения конфиденциальности является использование средств идентификации и аутентификации пользователей.
Идентификация пользователя представляет собой сравнение предъявляемого пользователем идентификатора с имеющимися в базе ранее выданных системой.
Аутентификация — проверка принадлежности предъявленного пользователем идентификатора именно этому пользователю. Это проверка подлинности пользователя.
Очень часто используется понятие учетной записи, представляющее собой объединение идентификатора и пароля пользователя.
Выполнение пользователем каких-либо действий в защищенной таким способом системе возможно только после удачного прохождения им процедур идентификации и аутентификации. При этом система может затребовать у пользователя:
-
индивидуальный объект заданного типа (удостоверение, пропуск, магнитную карту и т.д.), называемый токеном;
-
биометрические характеристики (голосовые характеристики, отпечатки пальцев, рисунок сетчатки глаза и т.д.);
-
знание некоторой информации (пароль).
Различают прямую аутентификацию и аутентификацию с участием третьей стороны. В первом случае в процессе участвуют только две стороны: пользователь и система, ресурсами которой он хочет воспользоваться. Второй вариант подразумевает участие третьей доверенной стороны. В случае автоматизированной информационной системы в этом качестве может выступать сервер аутентификации.
Остановимся подробно на аутентификации при помощи пароля, поскольку аутентификация при помощи токенов и биометрических характеристик применяется в основном при локальном доступе в систему. Большинство интернет-сервисов используют парольные системы.
Пароль представляет собой известную только данному пользователю последовательность символов. Способы проверки правильности пароля могут быть различными:
-
по хранимой в системе копии пароля или его свертке;
-
по некоторому проверочному значению;
-
без передачи информации о пароле проверяющей стороне, так называемое доказательство с нулевым разглашением. Эти методы появились в середине 1980-х — начале 1990-х гг. Основная идея метода состоит в том, что существует возможность доказательства знания правильного пароля без его передачи. После нескольких циклов информационного обмена проверяющая сторона с заданной вероятностью делает вывод о том, что пользователю пароль известен.
Особое внимание разработчики программного обеспечения уделяют способам хранения паролей. Наиболее часто используются следующие:
-
в отрытом виде;
-
в виде свертки;
-
в зашифрованном виде.
Способ хранения паролей в системе изменить невозможно, поэтому необходимо очень тщательно проследить все ответвления информационных потоков, связанные с содержащими пароли файлами или базами данных. Во многих системах для обеспечения отказоустойчивости создается резервная копия этих данных. Если злоумышленник сможет получить в свое распоряжение файл с паролями или его копию, у него будет достаточно времени, чтобы попробовать его проанализировать и получить дополнительную информацию, которую можно использовать при взломе системы.
Одним из самых распространенных в настоящее время является протокол http, служащий основой для создания веб-сайтов. Современные его модификации позволяют создавать сложные системы, включающие различные сервисы. Для подключения к такому сервису не нужны клиентские программы, достаточно использовать интернет-обозреватель, который сейчас поставляется с любой операционной системой. Широта использования протокола и тот факт, что веб-страница фактически представляет собой программу, исполняемую на клиентском компьютере, естественно, привлекает злоумышленников.
Клиент-серверная технология предполагает обмен запросами и ответами между двумя участниками процесса, клиентом и сервером. В обработке клиентских запросов на веб-сервере участвуют специальные программы (скрипты, интерпретаторы и т.д.). Они выполняют на серверной стороне задания клиента для придания большей динамичности взаимодействию клиента и сервера. Злоумышленник может попытаться найти возможные уязвимости этих программ. Прежде всего это связано с ошибками разработчиков, которые не всегда обладают достаточным опытом и профессионализмом для создания сложных веб-порталов.
Рассмотрим основные угрозы безопасности веб-серверов в соответствии с перечнем классификаций угроз веб-сервисам.
На первом месте в этой классификации стоят Атаки на средства аутентификации.
Основными типами угроз безопасности в процессе аутентификации являются:
Подбор (Brute Force). В современной форме это автоматизированный процесс проб и ошибок, направленный на определение правильной информации, запрашиваемой системой. Это может быть имя пользователя, пароль, номер кредитной карточки, ключ шифрования и т.д.
Применительно к определению параметров учетной записи выделяют прямой и обратный подбор. В первом случае известно имя
пользователя, и технология подбора применяется для определения пароля. Во втором — подбором определяется имя пользователя при известном пароле. Применение обратного подбора может быть оправдано в системах с большим количеством учетных записей, где высока вероятность использования одного пароля различными пользователями.
Время и ресурсы, необходимые для успешного завершения подбора, зависят от количества возможных вариантов подбираемой комбинации символов, а оно нелинейно зависит от ее длины и числа символов в алфавите, используемом для составления этой комбинации. Стремясь уменьшить время подбора, злоумышленники привлекают дополнительные данные для оптимизации процесса. Чаще всего это достигается за счет использования словарей, содержащих возможные парольные фразы.
Недостаточная аутентификация (Insufficient Authentication). Эта уязвимость возникает, когда разработчики сайтов оставляют для части ресурсов возможность доступа без проверки учетных данных пользователя. Ошибочно считать, что страница будет недоступной, если нигде на сайте не упомянут ее адрес. Методами доступа к таким страницам могут служить перебор типичных файлов и директорий, анализ сообщений об ошибках и журналов перекрестных ссылок. Даже простое чтение документации к приложению может дать злоумышленнику необходимую информацию. Все ресурсы должны быть защищены адекватно важности их содержимого и функциональных возможностей.
Небезопасное восстановление паролей (Weak Password Recovery Validation). Большая часть веб-сервисов, требующих идентификации пользователей, делает скидку на их забывчивость и предусматривает механизмы восстановления утраченного пароля. В некоторых случаях атакующий имеет возможность несанкционированно получать, модифицировать или восстанавливать пароли других пользователей.
Как правило, для восстановления пароля используются механизмы альтернативной аутентификации пользователя по ответу на секретный вопрос или его персональным данным (ИНН, адрес, почтовый индекс и т.п.), вводимым в процессе регистрации на сайте. Возможно также использование подсказок, позволяющих пользователю вспомнить забытую информацию. Слабым местом таких алгоритмов является простота подбора или угадывания ответов на вопросы и прозрачность подсказок, которые оставляют для себя пользователи. Нельзя забывать, что при желании персональную информацию практически любого пользователя можно найти в Интернете или имеющихся в продаже базах данных различных ведомств.
Атаки на клиентов (Client-side Attacks). Современные реализации http протокола включают в себя возможность выполнения на клиент-
ской стороне программного кода, загружаемого с сервера. Потенциально это открывает для злоумышленников возможность загрузки и выполнения на клиентском компьютере вредоносных программ. Ситуация осложняется тем, что пользователь не ожидает атаки со стороны сайта, доверяет ему. На использовании этого доверия основаны различные способы атак на клиентов сервера. Рассмотрим некоторые из них:
Подмена содержимого {Content Spoofing). Для выполнения этого класса атак злоумышленник должен тем или иным способом спровоцировать пользователя перейти по специально созданной ссылке. Она может быть доставлена при помощи любого из существующих в сети Интернет способов обмена информацией якобы от надежного адресата. Возможно и автоматическое ее открытие в браузере пользователя с использованием межсайтового выполнения сценариев.
При подготовке такой ссылки атакующий стремится убедить пользователя, что просматриваемая им страница сгенерирована надежным сервером, а не передана из внешнего источника.
При генерации динамических страниц их содержимое может подгружаться из динамических источников HTML кода, ссылка на который передается как параметр. Изменив значение этого параметра на адрес страницы со своего сервера, злоумышленник может изменить содержимое страницы необходимым ему контентом. При этом пользователь в строке адреса обозревателя увидит знакомый адрес сервера и будет уверен в том, что просматривает данные с безопасного сервера, в то время как на странице будет присутствовать внешнее содержимое.
Эта атака может использоваться для создания ложных страниц, таких, как формы ввода пароля, пресс-релизы и т.д.
Межсайтовое выполнение сценариев (Cross-site Scripting, XSS). Эта угроза безопасности связана с возможностью передачи злоумышленником веб-серверу исполняемого кода, созданного на одном из языков программирования активного содержимого веб-страниц. Этот код впоследствии будет перенаправлен на компьютер пользователя и исполнен в контексте безопасности сервера. В его распоряжении окажутся все данные, доступные с помощью интернет-обозревателя. При этом для атакующего открываются большие возможности. Он может завладеть идентификационными параметрами пользователя, перенаправить его на другой сервер, осуществив подмену содержимого и т.д.
Ссылки на код или сам код может быть передан в адресах, заголовках HTTP запросов, значениях полей форм и т.п.
Существует две разновидности атак этого типа. Постоянные отличаются от непостоянных тем, что при их осуществлении передача
кода серверу и передача его клиенту осуществляются в разных HTTP запросах.
При организации непостоянной атаки необходимо заставить пользователя, как в случае подмены содержимого, перейти по заранее подготовленной ссылке. В случае удачи код, внедренный в URL или заголовки запроса, будет передан клиенту и выполнен в его браузере.
При постоянной атаке код передается серверу и хранится на нем до тех пор, пока атака не будет реализована. Для этого удобно использовать форумы, электронную почту с веб-интерфейсом и чаты. Пользователь подвергается атаке, просто зайдя на сайт с внедренным кодом.
Существуют и более изощренные атаки на клиентов веб-сервисов, основанные на использовании различных уязвимостей, например, расщепление HTTP запроса и др.
Следующий класс атак направлен на несанкционированное выполнение команд или программного кода на веб-сервере.
Веб-сервер обрабатывает приходящие к нему запросы пользователей, используя данные из этих запросов для динамической генерации страниц, которые он потом возвращает клиентам в качестве ответа. При этом содержащиеся в запросе данные используются для формирования команд, исполнение которых на сервере позволяет сформировать необходимый ответ. Здесь скрыта возможность модификации команд по желанию злоумышленника. Очень часто специально подобранные запросы приводят к неожиданным для разработчиков эффектам: от зависания операционной системы до предоставления злоумышленнику возможности выполнения любой программы на сервере.
Вопрос о проверке корректности получаемых сервером данных становится очень важным при разработке программ большим коллективом программистов. Ошибки подобного рода возможны при стыковке разработанных различными людьми частей программы.