Юридические аспекты криптографии
Использование криптографических средств в России регулируется
Для тех, кому лень читать этот бред, перескажу его основную мысль: использование шифровальных средств, не имеющих сертификата ФАПСИ, запрещено. Т.е. запрещено использование PGP, Pkzip с паролем, эзопова языка и проч. Что вполне естественно: Российское государство всегда очень волновалось, если не могло подглядеть или подслушать то, о чем говорят его граждане.
Поскольку большинство граждан РФ, желающих использовать криптографию, указ этот игнорирует и будет игнорировать, автор счел своим долгом обсудить возможные последствия таких действий.
Уголовный Кодекс РФ не содержит статьи, по которой можно было бы привлечь к ответственности нарушителя вышеупомянутого Указа Президента. Таким образом речь может идти только об административном правонарушении.
Поскольку Конституция РФ гарантирует тайну переписки, отслеживание электронной корреспонденции на предмет содержания шифрованного текста без санкции прокурора или решения суда является актом незаконным. Таким образом доказательство вашей вины получено незаконным путем, и теоретически судом рассмотрено быть не может.
Более того, согласно статье 272 УК РФ "Неправомерный доступ к охраняемой законом компьютерной информации... если это деяние повлекло... копирование информации...совершенное группой лиц по предварительному
сговору или организованной группой либо лицом с использованием
своего служебного положения... наказывается штрафом в размере от пятисот до восьмисот минимальных размеров оплаты труда или в размере заработной платы или иного дохода осужденного за период от пяти до восьми месяцев, либо исправительными работами на срок от одного года до двух лет,
либо арестом на срок от трех до шести месяцев, либо лишением
свободы на срок до пяти лет." Поскольку наша почта - это явно охраняемая законом компьютерная информация, а ФАПСИ и ФСБ - это, возможно, организованная группа, копирование нашей почты является деянием, способным повлечь за собой длительную отсидку.
Как вы понимаете, все это теория. Во-первых, прецедентов еще не было. Во-вторых, отправить за решетку сотрудника ФСБ за чтение письма представляется в сегодняшней России нереальным. Тем не менее все это знать полезно, хотя бы для того, чтобы не бояться уголовной ответственности. Автор не является юристом по образованию и эти комментарии были составлены с помощью знакомых юристов. Если уважаемый читатель является юристом и желает высказать свое мнение - most welcome. Хотелось бы услышать и мнение сотрудников ФАПСИ, но, боюсь, они браузер в глаза не видели.
Copyright © 1997
К вопросу о терминологии
К вопросу о терминологии в криптографии авторы книги стараются относиться весьма деликатно. На сегодняшний день в России существует одна из самых сильных криптографических школ в мире - наследие СССР. Советские криптоаналитики еще долго будут считаться одними из самых сильных специалистов в этой области. Соответственно наработаны и терминология, и большинство принципов таксономии, в том числе и адекватное переложение и адаптация на русский язык вновь появляющихся иностранных терминов.
Тем не менее вся эта информация до последнего времени была конфиденциальной и строжайше охранялась. Само слово "криптография" не вызывало никаких ассоциаций у подавляющего большинства математиков и специалистов по связи. Если необходимо было "закрыть" канал связи, то использовалась специальная аппаратура, которая представлялась для конечных пользователей "черным ящиком", в который надо было лишь воткнуть проводки, нажать на определенные кнопки и повернуть ручки.
С начала 90-х годов ситуация резко изменилась. Выпущено уже несколько сотен различных изданий по теме информационной безопасности, в том числе и по криптографии. Множество книг переведены с иностранных языков, каждый месяц появляются книги русских авторов по прикладной и теоретической криптографии.
К сожалению, количество выпускаемых книг не всегда сопровождается качеством. И особое внимание необходимо уделять именно тому, как вольно обращаются с терминами новоиспеченные "криптоматематики". Некоторые авторы "книг по криптографии" не имеют никакого отношения даже к математике, не говоря уж о кодах и шифрах. Потому и выходят казусы с "шифрацией", "криптованием" и "дешифрированием" данных.
Конечно, никто не застрахован от возможных нелепостей и казусов, связанных с написанием, редактированием, версткой, макетированием и печатью больших объемов текста. Поэтому авторы просят осведомленных читателей отнестись с пониманием к возможным техническим "ляпам".
А для того чтобы избежать технических накладок, авторы предлагают считать верными следующие трактовки зарубежных и отечественных терминов:
криптографическая атака (cryptoanalitic attack) - попытка криптоаналитика вызвать отклонения от нормального проведения процесса конфиденциального обмена информацией. Соответственно взлом или вскрытие, дешифрование шифра или шифросистемы - это успешное применение криптографической атаки; криптоанализ (cryptanalysis) и криптоаналитик (cryptanalytic) - соответственно набор методик и алгоритмов дешифрования криптографически защищенных сообщений, анализа шифросистем и человек, все это осуществляющий; дешифрование (deciphering) и расшифрование (decryption) - соответственно методы извлечения информации без знания криптографического ключа и со знанием оного. Термин "дешифрование" обычно применяют по отношению к процессу криптоанализа шифротекста (криптоанализ сам по себе, вообще говоря, может заключаться и в анализе шифросистемы, а не только зашифрованного ею открытого сообщения); криптографический ключ (cryptographic key, cryptokey, иногда просто key) - в случае классических криптосистем секретная компонента шифра. Должен быть известен только законным пользователям процесса обмена информации; зашифрование (encryption) - процесс зашифрования информации, то есть применения криптографического преобразования данных, эту информацию содержащих; аутентичность данных и систем (authenticity of information) - для данных аутентичность можно определить как факт подтверждения подлинности информации, содержащейся в этих данных, а для систем - способность обеспечивать процедуру соответствующей проверки - аутентификации данных; аутентификация (authentication) - процедура проверки подлинности данных, то есть того, что эти данные были созданы легитимными (законными) участниками процесса обмена информации; гамма-последовательность или просто гамма (gamma sequence, gamma) - обычно этот термин употребляется в отношении последовательности псевдослучайных элементов, которые генерируются по определенному закону и алгоритму. Однако в случае, когда это не так, употребляется модификация термина - например, "равновероятная гамма" или "случайная гамма" - для обозначения последовательностей, элементы которых распределены по равномерному вероятностному закону, то есть значения имеют сплошной спектр; гаммирование (gamma xoring) - процесс "наложения" гамма-последовательности на открытые данные. Обычно это суммирование в каком-либо конечном поле (например, в поле GF(2) (см. [4, 6 и 9]) такое суммирование принимает вид обычного "исключающего ИЛИ" суммирования); имитозащита - это защита данных в системах их передачи и хранения от навязывания ложной информации. Имитозащита достигается обычно за счет включения в пакет передаваемых данных имитовставки; имитовставка - блок информации, вычисленный по определенному закону и зависящий от некоторого криптографического ключа и данных; блочные (блоковые) и поточные (потоковые) шифры - авторы сознательно используют термин "блочный" шифр, а не "блоковый", как наиболее популярный и устоявшийся. Понятия "поточного" и "потокового" шифров идентичны и одинаково популярны, однако в силу симметрии авторы предпочитают использовать термин "поточный шифр", но "потоковая обработка информации"; криптографическая стойкость, криптостойкость (cryptographic strength) - устойчивость шифросистемы по отношению ко всем известным видам криптоанализа; принцип Керкхоффа (Kerchkoff) - принцип изобретения и распространения криптографических алгоритмов, в соответствии с которым в секрете держится только определенный набор параметров шифра (и в обязательном порядке криптографический ключ), а все остальное может быть открытым без снижения криптостойкости алгоритма. Этот принцип был впервые сформулирован в работе голландского криптографа Керкхоффа "Военная криптография" вместе с дюжиной других, не менее известных (например, о том, что шифр должен быть удобным в эксплуатации, а также о том, что шифр должен быть легко запоминаемым); развертывание или разворачивание ключа (key shedule) - процедура вычисления последовательности подключей шифра из основного ключа шифрования; раунд или цикл шифрования (round) - один комплексный шаг алгоритма, в процессе которого преобразовываются данные; подключ шифрования (round key, subkey) - криптографический ключ, вычисляемый и используемый только на этапе шифрования из основного ключа шифрования. Обычно применяется в качестве входа функций усложнения на различных раундах шифрования; шифр и шифросистема (cipher, cypher, ciphercode) - обычно выход криптосистемы и сама симметричная криптосистема соответственно. В зависимости от контекста шифр может обозначает "шифровку", то есть зашифрованное с его помощью сообщение, либо саму криптографическую систему преобразования информации.
Как я должен ответить, когда мне
В списке рассылки по системам обнаружения атак как-то спросили, как они должны ответить на следующий e-mail:
Ниже показана запись журнала регистрации, говорящая о соединение по протоколу Telnet с компьютера из Вашего домена. Компьютер, с которым осуществлялось соединение, не предоставляет этот сервис для общего пользования, так что эта попытка может говорить об осуществлении поиска уязвимых узлов. Мы относимся к этой проблеме очень серьезно и надеемся на аналогичную реакцию с Вашей стороны.
Nov 6 07:13:13 pbreton in.telnetd[31565]: refused connect from xx.xx.xx.xx
Эта запись была сгенерирована TCP Wrappers. Она показывает попытку несанкционированного доступа с вашего компьютера на указанный узел.
В любом случае - это доказательство зондирования, но не атаки. Кроме того, никаких других доказательств нет. Как подчеркнуто Грэгом Дрю существует ряд благоприятных причин:
Кто-то напечатал "telnet xx.xx.xx.xx" и IP-адрес неправильно напечатан. Кто-то хотел напечатать "telnet xx.xx.xx.xx 25" для соединения со службой SMTP для осуществления спама или иных действий. Этот кто-то мог забыть указать "25" или неправильно набрать номер порта. Кто-то мог фактически зондировать целевые компьютеры в ответ на спам. Я лично для отслеживания источника спама просматриваю информацию finger, rusers и т.д. Возможно, была зафиксирована обычная ошибка.
Имеются и другие менее вероятные возможности:
Ваш сервер уже может быть скомпрометирован и хакер сканирует целевой компьютер с скомпрометированного компьютера. Один из ваших сотрудников использует указанный компьютер для того, чтобы атаковать целевой компьютер (я работал в компании, в которой случалось такое).
Существует и другая возможность: эта была попытка атаки типа "социальный инжиниринг". При помощи данного сообщения кто-то пытается войти с Вами в контакт, чтобы узнать, какие действия Вы предпринимаете по этому поводу. Если Вы сделаете так, то поможете злоумышленнику много нового узнать о Вашей сети:
Законный IP-адрес целевого компьютера (хотя он не так интересен). Ваш собственный IP-адрес (вышеупомянутое сообщение было послано postmaster'у или иному известному адресату, но скорее всего ответите на него с Вашего собственного адреса). Ваш уровень готовности: если Вы ответили "мы не можем принять соответствующие меры, потому что у нас нет регистрационных файлов", то нарушитель понимает, что Вы лакомый кусок для атак. Это может быть "спам типа социальный инжиниринг". Отправителем сообщения может быть компания, продающая системы обнаружения атак.
Есть и положительные стороны от такого письма (особенно если вы не нашли ему подтверждения). Вы сможете проверить насколько эффективно работает ваша система регистрации и аудита. Если она отключена, то настало время включить ее.
Как я могу улучшить обнаружение атак/защиту под ОС Windows 95/Windows 98?
В этой части предполагается, что вы являетесь домашним пользователем, использующим Win95/Win98 для доступа к сети Интернет. Win95/Win98 не имеет возможностей аудита или создания регистрационных записей, вам действительно потребуется обновить ее до WinNT, если вы используете систему для каких-либо серьезных целей.
Установите самые последние патчи (несомненно).
Отключите совместное использование принтера. Когда совместное использование принтера включено, система создает разделяемый ресурс PRINTER$, который позволяет удаленным системам получать доступ к драйверам принтера из локальной директории system32. К сожалению, это позволяет удаленным системам получать доступ и к другим файлам, не имеющим никакого отношения к драйверам, таким как файл паролей Windows 95 (комбинированный с другими ошибками Win95).
Отключите совместное использование ресурсами. Как домашнему пользователю, вам, вероятно, не следует этого делать. Если вы должны сделать файлы доступными для совместного использования, убедитесь, что вы выбрали надежный пароль, и включайте его только на короткие моменты, когда вам необходимо делать файлы открытыми для совместного использования, затем отключайте его снова.
(еще больше информации будет потом)
Джон Козубик предлагает следующие меры по защите корпоративных пользователей. Т.к. ОС Windows 95/98 очень уязвимы, то они обеспечивают базовую площадку для проникновения на другие компьютеры сети. Windows 95 кэширует пароли в легко читаемом формате, поэтому файлы, содержащие эти пароли должны быть удалены.
del c:\windows\*.pwl
Файл кэшированных паролей будет первым, что ищут злоумышленники. Он имеет то же самое имя, что и пользователь, и кроме того плохо защищает хранимые пароли. Для запрета кэширования запустите:
REGEDIT /s \\MY_PDC\netlogon\nocache.reg
где, "nocache.reg" содержит:
REGEDIT4 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Network] "DisablePwdCaching"=dword:00000001
Как я могу усилить обнаружение атак/защиту предприятия?
Первое и самое главное, создайте политику безопасности. Предположим, что вы наблюдаете за сетью поздно вечером и вы видите, что развивается атака. Что вы делаете? Вы позволяете атаке развиться и собираете данные? Вы отсоединяете свою сеть от Internet? Если так, вы выдергиваете штекер на МСЭ между intra- и extra- сетью? Или вы полностью отключаете соединение с сетью Интернет (препятствуя доступу пользователей на ваш Web-сервер)? Кто имеет полномочия вытаскивать штепсель?
Вице-президентам корпорации необходимо четко расставить приоритеты. Давайте рассмотрим сценарий, когда вы думаете, что вас атакуют, поэтому вы вытаскиваете штепсель из розетки. Пользователи машут руками и выражают недовольство. И, оказывается, что вы ошиблись, поэтому вас собираются поджарить. Даже когда происходят явные атаки, некоторые люди вытаскивают штепсель, опасаясь таких последствий. Кража данных является понятием теоретическим, а недовольные пользователи являются очень реальными. Таким образом, вам необходима политика, которая определяет важность таких вещей и четко устанавливает процедуры, необходимые для выполнения, когда кажется, что имеет место атака.
Как только вы точно определили приоритеты, вам необходимо понять технологию. Это описывается в следующей секции.
Как я могу усилить обнаружение атак/защиту под ОС UNIX?
Не инсталлируйте больше сервисов, чем надо. Я установил все из моего RedHat Linux дистрибутива и теперь машина светится, как новогодняя елочка, когда я осуществляю сканирование портов. Я уже нашел несколько дыр на этой (тестовой) машине, которые я могу использовать для проникновения внутрь нее.
Используйте 'netstat' или TCP/UDP сканер и 'rpcinfo' для получения перечня всех сервисов на вашей машине. Опять же, убедитесь, что все, что вы не совсем точно понимаете, отключено.
(еще больше информации будет потом; откровенно, я давно занимаюсь администрированием Windows NT - поэтому мои профессиональные знания по Unix слабы).
Прочитайте ftp://ftp.auscert.org.au/pub/auscert/papers/unix_security_checklist.
ОС Macintosh является более защищенной, чем Windows 95, которая является более защищенной, чем UNIX. Причина заключается в том, что Macintosh представляет собой систему 'конечного пользователя', и поддерживают небольшое число сервисов, которые могут быть использованы хакерами. Наоборот, UNIX-машины повально используются в качестве серверов, с несколькими приложениями конечного пользователя. Windows NT живет одновременно в двух мирах. Как результат, Macintosh занимают последнее места в списке потенциально уязвимых ОС.
Как это бывает?
Случай первый. В разгар рабочего дня в операционном зале банка раздается звонок. Молодая операционистка поднимает трубку телефона и слышит мужской голос:
- С вами говорит администратор сети, Иван. Как вас зовут?
- Оля!..
- Олечка, мы сейчас проводим плановую модификацию программного обеспечения "Операционный день банка". Ты не могла бы назвать мне свой пароль?
- А мне говорили, что чужим нельзя называть свой пароль.
- Так я ведь не чужой! Я свой, я сотрудник отдела информатизации. Мой начальник - Петр Петрович Петров. Я хочу всю работу сделать поскорее. А то и тебе и мне придется оставаться после работы. А у тебя наверняка есть дела вечером. К тому же твоему начальнику тоже придется задержаться после работы. А он будет этим недоволен, что может отразиться и на тебе. Ты согласна?
- Да, согласна.
- Тогда назови свой пароль и все будет ОК.
- Мой пароль olja.
- ОК. Спасибо за помощь.
Случай второй. Пользователи получают письмо от имени службы технической поддержки своего Internet-провайдера со следующим текстом:
"Уважаемый пользователь бесплатной службы электронной почты "ОПАТЕЛЕКОМ"! Вас беспокоит служба технической поддержки сервера mail.domain.ru. В связи с участившимися в последнее время случаями краж паролей у наших пользователей мы просим срочно изменить Ваш существующий пароль на новый - o7gNaFu8. Данный пароль очень трудно подобрать хакерам и ваш почтовый ящик будет в полной безопасности.
Надеемся на Ваше понимание и содействие.
С уважением, служба технической поддержки сервера mail.domain.ru"
Как мне собрать достаточно доказательств о деятельности хакера?
NIDS собирает немало информации для идентификации злоумышленника. Однако высококвалифицированные хакеры используют различные методы для скрытия своего реального местоположения. Например, использования уже скомпрометированной системы в качестве площадки для дальнейших атак. Или подмена IP-адреса, что приводит к тому, что атака как бы исходит от компьютера, который даже может быть не включен.
Лучше всего собирать настолько много информации, насколько это возможно. Я, например, использую программу-сниффер в своей T-1-сети и храню все журналы регистрации на диске объемом 16 Гбайт. Вы можете посчитать это забавным, но я часто просматриваю эти данные. Удивительно как много попыток TCP\UDP-сканирования я постоянно вижу.
Также вы должны быть уверены, что в ваших системах "смотрящих" в Internet включена подсистема аудита и регистрации. Она поможет Вам разобраться, если вас атакуют.
Как можно создать единую политику безопасности для различных платформ?
Check Point FireWall-1 реально использует распределенную архитектуру клиент-сервер, что позволяет создавать политику безопасности в центре управления и затем автоматически распространять ее на все точки инспекции трафика. В дополнение к этому, поддерживается многопользовательский доступ к управлению системой безопасности в соответствии с назначенными привилегиями. Средства управления достаточно просты и наглядны, имеют интуитивный графический интерфейс пользователя, существенно упрощающий понимание политики безопасности.
Созданная же политика безопасности конвертируется системой в инспекционный сценарий на языке INSPECT, который затем распространяется на все необходимые узлы проверки трафика в сети. Так как язык INSPECT не зависит от платформы, любая система потенциально может выполнять функции firewall.
Как мы тестировали
Тестовый стенд состоял из одной клиентской рабочей станции, подключенной к серверу туннелирования. На другой стороне туннеля находился сервер, который мы использовали для проверки возможностей подключения и производительности. В качестве тестового сервера применялся компьютер на базе процессора Alpha (500-МГц) с памятью объемом 256 Мбайт, работающий под ОС Digital UNIX. А клиентской рабочей станцией для эмуляции рабочих характеристик типичного ноутбука пользователя, связанного с сетью по телефонной линии, служила более медленная система (ПК с 200-МГц Pentium Windows 95 OSR 2.5). Для каждого тестируемого продукта оценивались процесс инсталляции и конфигурирование клиентской рабочей станции, а также измерялась ее производительность, чтобы понять, как установка программного средства VPN влияет на работу конечного пользователя. Совместимость не тестировалась, так как на практике организации редко используют клиентское ПО одного производителя, а брандмауэр - другого.
Было бы, конечно, хорошо проверить, поддерживают ли продукты в действительности то суммарное число туннелей, о котором заявляют производители, однако единственный надежный метод проведения данного теста - создание сотен тысяч рабочих станций, подключенных к корпоративной сети по коммутируемым каналам, что в лабораторных условиях невыполнимо. Поэтому мы лишь оценили воздействие VPN-шифрования на производительность работы в сети и время задержки для конечного пользователя. Для этого использовалось соединение по одному каналу сети ISDN (64 кбит/с), который давал примерно ту же задержку, что при модемной связи, но зато обеспечивал повторяемость тестовых условий.
Для измерения пропускной способности и задержки на рабочей станции и сервере устанавливалось тестовое ПО, использующее протокол TCP/IP, которое позволяет измерить время задержки прохождения больших и малых IP-пакетов компрессируемых данных от рабочей станции до тестового сервера. Пропускная способность измерялась при передаче данных по протоколу TCP в однонаправленном режиме. Это достаточно типичная ситуация при скачивании по протоколу HTTP слегка сжатого файла, например графического изображения или исполняемой программы.
Как называют лиц, которые пытаются взломать или скомпрометировать систему?
Есть два слова для описания нарушителя: хакер (hacker) или взломщик (cracker). Хакер - это общее определение для человека, который хочет вмешаться в события. Добрый хакер - это человек, которому нравится проникать в собственный компьютер и который пытается понять, каким образом он работает. Злой хакер - это человек, которой нравится проникать в системы других людей. Добрые хакеры хотят, чтобы средства массовой информации прекратили обзывать всех "хакерами" и использовали вместо этого термин "взломщик". К сожалению, этого не происходит. В любом случае в этом FAQ используется термин "intruder" ("нарушитель") для обобщенного обозначения любого, кто пытается проникнуть в ваши системы.
Нарушители могут быть разбиты на две категории.
Outsiders - это нарушители из сети Internet, которые атакуют ваши внутренние ресурсы (удаление информации на корпоративном Web-сервере, пересылка спама через почтовый сервер и т.д.) и которые временами обходят ваш межсетевой экран (МСЭ) для того, чтобы проникнуть в вашу внутреннюю сеть. Злоумышленники могут атаковать из Internet, через модемные линии, через физическое подключение к каналам связи или из сети партнеров (поставщиков, заказчики, дилеры и т.д.).
Insiders - это те, кто находится внутри Вашей сети, и имеют полный доступ к вашим серверам. Они включают пользователей, неправильно использующих свои привилегии, или исполняющих роль привилегированного пользователя (например, с привилегированного терминала). Исследования показывают, что 80% дыр защиты создаются именно insiders. Заметим, что МСЭ не обеспечивают защиты против них.
Существует несколько типов нарушителей: Joy riders (Любители веселых прогулок в чужом автомобиле) из-за того, что они могут. Vandals (Вандалы) вызывают разрушения или оставляют свои следы на ваших Web-страницах. Profiteers (Спекулянты) намереваются получить прибыль от своих действий, таких как кража корпоративных данных и их продажа.
Как pешить пpоблему:
Соблюдать все пpавила безопасности, описанные ниже, и опеpативно устанавливать все испpавления пpогpамм, о котоpых вам сообщила ваша гpуппа компьютеpной безопасности или пpоизводитель ваших пpогpамм, используемых на веб-сеpвеpе.
Как правильно выбрать средство контроля за электронной почтой.
Рынок IT стремительно развивается. Новинки появляются день ото дня, и уследить за ними чрезвычайно сложно. Да и в уже существующие продукты постоянно добавляются новые функции и возможности, порой весьма экзотические. Разбираться в них просто не хватает времени. Но зачастую это и ни к чему. Приобретая комплект офисных программ, мы заранее представляем, для чего он нам нужен - для составления и редактирования документов и т. д. Некоторые особенности данного продукта, к примеру возможность разместить в документе видеоклип или включить звуковое сопровождение, могут нас лишь неожиданно порадовать.
К сожалению, при выборе средств безопасности нередко даже специалисты подчиняются описанному стереотипу. Многие только в самых общих чертах представляют, для чего им необходим тот или иной продукт. В качестве примера мы будем рассматривать такую важную задачу, как построение системы контроля корпоративной электронной почты. Ее основные задачи - защита от спама, выявление неблагонадежных сотрудников, предотвращение утечки конфиденциальной информации, контроль за целевым использованием электронной почты, обнаружение вирусов и "троянских коней", блокировка передачи файлов запрещенного типа - перечислит каждый. Но когда дело доходит до внедрения, администраторы только разводят руками: как настроить систему, кто будет определять полномочия пользователей, от чего отталкиваться и чем руководствоваться при назначении полномочий и т. д.
А ведь спектр средств защиты информации довольно обширен. Поэтому, прежде чем приобретать любую систему защиты, стоит задуматься о том, какие цели планируется достичь в результате ее внедрения. Данный процесс должен привести к составлению правил использования тех или иных ресурсов. В сумме все эти правила составляют общекорпоративную политику безопасности. Без ее наличия любая система защиты, даже самая изощренная, окажется бесполезной тратой денег. К тому же, имея четкие представления о том, что вам нужно, проще определиться и с необходимой функциональностью продукта.
Но как же подойти к подобной задаче? Ответственность за построение политики безопасности следует возложить на комиссию из представителей отделов безопасности и отделов автоматизации. Работу целесообразно начать с рассмотрения объекта, над которым производится действие. В нашем примере это будут электронные письма. Самые главные атрибуты писем - адреса отправителя и получателя. Все письма делятся на две категории (по направлению их движения): входящие и исходящие. Очевидно, что и к тем, и другим предъявляются различные требования. С внешними, по отношению к вашей организации, адресами все более или менее понятно: весь мир делится на ваших партнеров и клиентов, с которыми вас связывают некоторые доверительные отношения, и всех остальных. К последней категории писем следует относиться особенно осторожно, так как помимо родственников и друзей сотрудников в это множество входят и ваши конкуренты. Взаимоотношения с партнерами и клиентами тоже могут иметь разную степень доверия.
Внутренние почтовые адреса организации - второй критерий отбора при построении политики. В каждой организации параллельно существуют две структуры упорядочивания сотрудников: организационно-штатная и ролевая. Поясню сказанное. Компания состоит из руководства и (по нисходящей) департаментов, управлений, отделов, отделениий, рабочих групп и т. д. (с точностью до названий и порядка их следования в конкретной структуре). На каждом уровне иерархии есть начальник, его помощники и рядовые сотрудники. Это и есть организационно-штатная структура. Идея ролевой структуры заключается в том, что у каждого из сотрудников могут быть особые, отличные от других, обязанности и сферы деятельности даже в рамках одной рабочей группы.
После того как мы определились с двумя основными критериями отбора, нам осталось выполнить еще два шага.
Прежде всего придется составить модель взаимодействия между внешними и внутренними адресатами. К примеру, это можно реализвать по следующей схеме. Вся почта организации разделяется на входящую и исходящую.
Исходящая почта может идти:
от подразделения 1 к партнеру 1, к партнеру 2 и к прочим адресам; от подразделения 2 только к партнеру 3 и т. д.
Входящая почта может идти:
от партнера 1, партнера 2 и с прочих адресов в подразделение 1; от партнера 3 и с прочих адресов в подразделение 2 и т. д.
Затем необходимо опуститься на следующий уровень иерархии: подразделение 1 состоит из таких-то структурных единиц, а те в свою очередь... и т. д., вплоть до каждого конкретного сотрудника.
Насколько глубоко придется спускаться при построении модели взаимодействия, подскажут руководители структурных подразделений. Ведь именно они знают, какие роли отведены их подчиненным. Иллюстрацией к сказанному может служить отдел продаж гипотетической компании, каждый менеджер которого общается со своей и только со своей группой клиентов.
Как видим, уже на этом этапе накладываются весьма существенные ограничения на свободу электронной переписки сотрудников.
Второй шаг, и это заключительный этап в построении рассматриваемой политики безопасности, состоит в наложении ограничений на разрешенные почтовые взаимодействия. В отличие от скучного описания схемы взаимодействия на предыдущем шаге - это процесс творческий. Конкретные ограничения необходимо разместить на каждой ветви построенного дерева.
Для выработки таких правил, вероятно, придется пообщаться с различными категориями людей. Но прежде всего по поводу ограничений на исходящую информацию стоит посоветоваться с руководителями соответствующих структурных подразделений и представителями отдела безопасности, чтобы они составили перечни слов и выражений, характерных для конфиденциальной или другой информации, выход которой за пределы компании нежелателен. Решения "под копирку" здесь не подойдут. К примеру, появление в письмах слов "вакансия", "резюме" и т. п. типично для переписки отдела кадров, но в переписке других отделов это может означать, что один из сотрудников занялся поиском работы на стороне, и к нему, возможно, отныне стоит относиться с недоверием. Необходимо помнить и о разумности накладываемых ограничений. Установление излишних запретов приведет к тому, что впоследствии администраторы безопасности не смогут выделить настоящие нарушения в ворохе блокированных по пустым подозрениям писем.
После уточнения этих параметров, необходимо проконсультироваться у системных администраторов относительно прочих нежелательных характеристик почтовых сообщений: например, их размера, наличия вложений определенного типа и т. д. Таким образом можно ограничить поступление в корпоративную сеть спама и прочего непродуктивного трафика (видеоклипов, картинок, аудиофайлов, рассылок от различных развлекательных сайтов).
Даже если вы ознакомите с принятой политикой безопасности всех своих сотрудников, то это не значит, что все будут беспрекословно ее соблюдать. Всегда найдутся те, кто попытается обойти новую систему. А может быть, вы хотите внедрить данное средство незаметно для пользователей? В любом из этих случаев важно не только обнаружить факт нарушения, но и предусмотреть ответную реакцию на такое событие. Реагирование может предусматривать полное или временное блокирование письма-нарушителя, занесение записи о событии в журнал регистрации, оповещение о нем администратора или другого уполномоченного лица либо уведомление самого пользователя - выбор зависит от возможностей конкретного средства.
В результате можно составить следующее мнемоническое правило политики безопасности для электронной почты: "Кому, откуда/куда запрещено получать/отправлять письма, удовлетворяющие условию, и как реагировать на такие события".
После того как четко определены все требования, вы сможете оценить необходимую функциональность средства для контроля содержимого электронной почты либо удостовериться в достаточности встроенных функций уже используемого межсетевого экрана или вскоре приобретаемой системы обнаружения атак для реализации вашей политики безопасности.
Естественно, что конкретные ограничения будут постоянно подвергаться корректировке, но наличие грамотно построенной политики безопасности поможет легко адаптировать ваше средство к любым жизненным испытаниям.
Быть может, кто-то спросит, зачем средства контроля содержимого необходимы именно мне? Сомневающимся в их практической полезности имеет смысл рассмотреть следующие соображения.
Вспомните, сколько времени ваша система бездействовала после последнего сбоя в результате активизации полученного по почте вредоносного кода и оцените свои прямые и потенциальные потери от этого. А все ли ваши сотрудники довольны работой и зарплатой? Не переманивают ли кого-нибудь конкуренты, и не пересылает ли он будущим работодателям, в знак своей преданности, конфиденциальные материалы, среди которых фрагменты исходных кодов программ, которые вы создали с огромным трудом (текстов договоров, сведений о планируемых сделках и т. п.)? А вдруг сотрудник использует в переписке с партнерами ненормативную лексику, да еще по отношению к вашим конкурентам или политическим деятелям, и кто-то потом выдает это за официальное мнение компании? А что, если деньги компании уходят на оплату рабочего времени сотрудников, когда они просматривают видео или прослушивают аудиофайлы, которыми обмениваются со своими знакомыми и между собой.
Если вы уже решились на внедрение тех или иных средств защиты, то, надеюсь, что эта статья поможет использовать их на полную мощность.
Михаил Савельев - ведущий специалист НИП "Информзащита". С ним можно связаться по адресу: .
Как работает Java?
В основе технологии Java лежит клиент-серверная модель, а Java-программа состоит из нескольких блоков, каждый из которых выполняет определенную часть общей задачи. На стороне клиента присутствуют только те блоки, которые необходимы в данный момент. Причем наиболее часто используемые блоки хранятся в кэше на жестком диске или в оперативной памяти компьютера пользователя. Поскольку блок загружается с сервера, то и управлять такой системой можно с сервера, т. е. централизованно. Это также гарантирует, что пользователь всегда будет использовать самую последнюю версию программы.
Основной компонент этой технологии - виртуальный Java-процессор, который представляет собой среду для исполнения Java-команд, или так называемых байт-кодов. Любая Java-программа должна соответствовать спецификации виртуального Java-процессора, которая полностью определяет систему команд Java, типы данных, обрабатываемых Java-процессором, и его регистры. Кроме того, Java-процессор выполняет некоторые вспомогательные функции, например "сбора мусора", то есть освобождения неиспользуемой памяти.
Байт-коды разрабатывались так, чтобы максимально сократить среднюю длину команды. Java-процессор имеет минимум регистров, стековую архитектуру и часто использует косвенную адресацию. Поэтому большинство из команд занимает всего один байт, к которому добавляется (если необходимо) номер операнда - 0, 1, 2, 3 и так далее. Кроме того, для обработки каждого типа данных Java-процессор имеет свой набор команд. В результате средняя длина Java-команды составляет всего 1,8 байта (при длине команды классических RISC-процессоров в среднем четыре байта).
Кроме виртуального процессора, технология Java включает в себя (в качестве необязательного элемента) объектно-ориентированный язык программирования, построенный на основе языка C++, из которого убрали все лишнее и добавили новые механизмы для обеспечения безопасности и распределенных вычислений. Однако язык Java можно заменить любым другим достаточно совершенным языком программирования, добавив в него все необходимые элементы. Например, уже существует компилятор языка Ада, который генерирует программы в байт-кодах Java.
Язык Java дает программистам возможность не просто разрабатывать новые программы, но и использовать элементы уже написанных и проверенных программ. Такой модульный принцип позволяет быстро писать новые программные продукты и эффективно модернизировать старые. Кроме того, в стандарт языка входит множество полезных библиотек, на основе которых можно строить вычислительные системы любой сложности. Причем этот стандартный набор постоянно пополняется новыми важными функциями.
Еще одной особенностью Java являются аплеты. Аплет - это небольшая программка, в которой должно быть определено несколько обязательных функций. Аплет загружается по сети и может выполняться на Web-браузере, который поддерживает язык Java. Именно эта часть Java-технологии предназначена для использования во всемирной сети Internet, и поэтому защита должна распространяться как на сам аплет, так и на клиента сети, который использует этот аплет.
Как система обнаружения атак может
Карри: Это важные вопросы, которые должны тщательно рассматриваться при выборе системы обнаружения атак. Системы, основанные на профилях нападений хороши настолько, насколько хороши их базы данных сигнатур. Администратор должен иметь возможность создавать свои сигнатуры для известных атак. Реальный тест - может ли продавец не отставать от новых нападений и не только своевременно создавать новые сигнатуры, но и позволять корректировать старые, как временную меру. Механизмы распределения также важны. Когда Вы имеете дело с десятками, сотнями или тысячами модулей слежения системы обнаружения атак в одной компании, идея о ходьбе к каждому компьютеру с дискетой или CD-ROM неосуществима. Идеально, если система может быть дополнена новыми сигнатурами дистанционно. Чтобы принять меры против внесения поддельных сигнатур атак (например, как это произошло с распространением через сеть FIDO поддельных обновлений антивирусной базы для программы Dr.Web - примечание переводчика), необходимо использовать механизмы аутентификации и шифрования. Модификация сигнатур должна осуществляться без прерывания процесса обнаружения.
Саттерфилд: Идеально, если система обнаружения атак модифицируется, как минимум, ежеквартально. Сигнатуры атак строятся на основе бюллетеней безопасности, появляющихся в результате создания новых приложений, несущих в себе новые уязвимости. Самая лучшая модель модификации сигнатур в системах обнаружения атак представлена в антивирусных программах. В конечном счете, заказчики должны иметь возможность регулярной загрузки новых сигнатур, чтобы гарантированно иметь самую последнюю информацию об уязвимостях. Механизм распределения сигнатур должен быть построен в первую очередь по технологии "pull", а не "push" (т.е. вы должны получать обновления у производителя по своей инициативе, а не по его - примечание переводчика). Большинство заказчиков не хочет иметь автоматически модифицируемые системы из-за сложностей в управлении и повышенного риска безопасности. Желательно, если система "предупредит", что база данных сигнатур устарела и требует модификации. Затем система соединяется через Internet с Web-сервером производителя и загружает новую версию базы данных сигнатур.
Клаус: Имеется два источника получения новых сигнатур атак: компании (подобно ISS) и непосредственно пользователи. Хорошая система обнаружения атак должна не только получать регулярные обновления от экспертов компании-производителя, но и иметь механизм, позволяющий пользователям добавлять свои, специфичные сигнатуры. Поддержка системы обнаружения атак в актуальном состоянии требует постоянных усилий для проведения соответствующих исследований.
Ранум: В идеале, система обнаружения атак должна модифицировать сама себя. Как минимум, система обнаружения атак требует модификации словаря атак. Новые атаки будут появляться постоянно. Это закономерно. Но кто их разрабатывает? Прямо сейчас я вижу беспокоящую меня тенденцию, согласно которой, в компаниях, которые проектируют программные средства защиты, нанимают хакеров для разработки новых атак. Это мало чем отличается от использования труда вирусописателей компаниями, разрабатывающими антивирусные программы. Уже известен случай, когда инженер одного из производителей средств обнаружения атак опубликовал в журнале Phrack исходный текст инструментария для создания атаки SYN Flood типа "отказ в обслуживании" ("denial of service"). Спустя несколько недель этот производитель объявил, что они могут обнаруживать и блокировать атаку SYN Flood. Такое неэтичное поведение выставляет всех нас в плохом свете.
Спаффорд: Это зависит от используемой технологии. Если система обнаружения атак функционирует по принципу сравнения с сигнатурой, то необходимо загружать новые сигнатуры. Аналогично антивирусным сканерам. Если система обнаруживает аномальное поведение, то просто необходима периодическая подстройка. Например, система Tripwire не нуждается в модификации для получения новых атак. Необходимо только добавлять новые ресурсы, необходимые для контроля. Для систем, нуждающихся в новых профилях атак, их получение зависит от продавца или любой другой обслуживающей компании, обеспечивающей новые сигнатуры. Администратор может и сам создавать такие шаблоны, но это утомительно, требует большого количества исследований и подвержено ошибкам больше, чем в случае с профессиональными компаниями.
Как системы обнаружения атак "приноравливаются"
Ранум: Это не совсем правильная аналогия. Фильтрация, proxy, межсетевые экраны подобны броне вокруг Вашей сети. Системы обнаружения атак подобны хирургу, который сообщает Вам, что пуля прошла мимо вашей спины (т.е. не задела что-то важное - примечание переводчика). Первоначальная идея систем обнаружения атак состояла в том, что они были пассивными, т.е. "Системами Обнаружения Атак" ("Intrusion Detection System"), а не "Экспертами по Отражению Атак" ("Intrusion Countermeasure Expert" - ICE из Neuromancer). Межсетевые экраны и т.д. разработаны для активной или пассивной защиты, а системы обнаружения атак - для активного или пассивного обнаружения.
Карри: Это другой инструмент из защитного арсенала и он не должен рассматриваться как замена для любого из перечисленных механизмов. Конечно имеются некоторые перекрытия. Особенно с межсетевыми экранами. Последние уже выполняют некоторые ограниченные функции обнаружения атак, поднимая тревогу, когда "срабатывает" соответствующее правило. Системы обнаружения атак уникальны в том, что в отличие от межсетевых экранов, выполняющих множество различных функций (фильтрация пакетов, аутентификация пользователей, кэширование и т.д.), в них реализована всего одна функция, но реализована хорошо. Обнаружение атак в реальном масштабе времени, особенно на высоких сетевых скоростях, требует значительного количества выделенных ресурсов, которых не может обеспечить ни один из межсетевых экранов, кроме, пожалуй, самого дорогого и сложного.
Саттерфилд: Системы обнаружения атак в значительной степени дополняют названные технологии. В некоторых случаях они могут заменять фильтрацию, proxy и т.п. В других случаях это будет другой уровень защиты. Дистанционно управляемая система обнаружения атак позволяет контролировать потоки данных в реальном масштабе времени. Я полагаю, что это будет иметь огромное воздействие на то, как мы будем управлять сетями в будущем. Текущее управление сетью сосредоточено на идентификации и управлении структурой и конфигурацией сети. Управление, основанное только на этой информации, подобно управлению строительством скоростного шоссе без знания структуры движения на нем. Технология обнаружения атак позволяет контролировать поток данных аналогично наблюдению за структурой движения на скоростном шоссе.
Клаус: И обнаружение атак, и анализ защищенности - критичные компоненты эффективной стратегии защиты. Вы имеете межсетевой экран, так? Отлично. Вы знаете, работает он или нет? Вы имеете туннели через межсетевой экран, правильно? Они используются? Ваши внутренние системы были атакованы когда-нибудь? Откуда Вы это знаете? Что Вы должны делать после этого? Мир изменяется каждый день. Секрет эффективной защиты информации в разработке политики безопасности, введении ее в эксплуатацию, аудите и регулярном их пересмотре. Вы не сможете этого сделать без использования технологий обнаружения атак и анализа защищенности.
Спаффорд: Межсетевые экраны и фильтрация предназначены для того, чтобы предотвратить вторжение "плохих парней" из сети. Однако иногда эти механизмы терпят неудачу из-за ошибок разработки, аппаратных отказов, ошибок пользователей или просто невежества. Например, кто-то не понимает необходимости защиты сети и включает свой модем для доступа к рабочему компьютеру из дома. Межсетевой экран и proxy не могут не только защитить в этом случае, но и обнаружить этот случай. Системы обнаружения атак могут помочь в этом. Независимо от того, какова надежность фильтрации, пользователи зачастую находят способы обойти все Ваши преграды. Например, объекты ActiveX могут представлять новые направления для реализации угроз через межсетевые экраны. И, наконец, в большинстве систем наибольшую угрозу представляют люди, пользователи, действия которых должны также контролироваться.
Как защищены Java-аплеты?
Наиболее уязвимыми с точки зрения безопасности компонентом Java-технологии являются аплеты, поскольку их может использовать любой клиент, который вовсе не обязан знать правила "техни-ки безопасности" при работе с этими небольшими программками. Именно поэтому для аплетов предусмотрены самые жесткие методы защиты. Хотя различные браузеры и программы просмотра аплетов могут по-разному защищать информацию пользователя от нападения, но в общем случае аплету должно быть запрещено следующее:
читать, изменять, уничтожать и переименовывать локальные файлы; создавать локальные директории и читать их содержимое; проверять существование и параметры определенного файла; осуществлять доступ по сети к удаленному компьютеру; получать список сетевых сеансов связи, которые устанавливает локальный компьютер с другими компьютерами; открывать новые окна без уведомления пользователя (это необходимо для предотвращения "эмуляции" аплетом других программ); получать сведения о пользователе или его домашней директории; определять свои системные переменные; запускать локальные программы; выходить из интерпретатора Java; загружать локальные библиотеки; создавать потоки, которые не перечислены в ThreadGroup (класс, управляющий выполнением потоков - различных частей программы) этого аплета, и управлять ими; получать доступ к ThreadGroup другого аплета; определять свои объекты Class-Loader (Загрузчик Java-объектов) и SecurityManager (Диспетчер безопасности для аплетов); переобозначать системные объекты ContentHandlerFactory, SocketImplFactory и URLStreamHandler-Factory (эти классы управляют сетевой работой Java); получать доступ к любой упаковке, отличной от стандартных; определять классы, которые входят в локальную упаковку.
Эти правила обеспечивают следующие компоненты Java-технологии.
Собственно виртуальный Java-процессор, который постоянно контролирует свое состояние. Загрузчик аплетов и Java-программ, который контролирует загружаемые коды. Диспетчер безопасности (Secu-rityManager), контролирующий и блокирующий опасные действия аплетов.
В классе SecurityManager перечислены методы, которые используются системой для контроля действий аплета в зависимости от характеристик окружающей среды. Программа, которая применяется для просмотра аплета, создает подкласс SecurityManager, который и реализует необходимую политику безопасности. Ссылка на этот SecurityManager записывается в объекте System.
Еще один механизм безопасности встроен в загрузчик аплетов и программ (ClassLoader). Браузер переопределяет этот класс и реализует свои собственные правила работы с сетевыми протоколами. Одна из основных функций загрузчика объектов - разделение пространства имен разных аплетов и операционной системы, что позволяет избежать их взаимного влияния.
Другая, не менее важная, функция загрузчика - верификация байт-кодов, т. е. проверка правильности полученного элемента Java-программы и его целостности. В процессе верификации выясняется следующее:
соответствует ли версия полученного блока версиям остальных элементов системы; сохранен ли формат исполняемого байт-кода; соответствует ли программа спецификации конкретного виртуального Java-процессора; может ли возникнуть переполнение или исчерпание стека; все ли регистры Java-процессора используются правильно; нет ли некорректных преобразований типов.
Целями такой проверки являются выявление неправильного использования косвенной адресации, которое может привести к нарушению в работе виртуального процессора, и проверка целостности аплета. Этот механизм обеспечивает защиту и надежную работу распределенной программы, что позволяет не загружать в браузер всю Java-программу целиком, а подгружать ее небольшими блоками по мере необходимости.
Сам виртуальный Java-процессор также имеет встроенные механизмы защиты от нападения. Например, поскольку байт-коды Java интерпретируются, то можно контролировать индексы массивов, что позволяет избежать переполнение буфера - самой распространенной и опасной ошибки. Встроенные механизмы обработки исключительных ситуаций позволяют эффективно решать возникающие конфликты, а "сборщик мусора", который очищает неиспользуемую память, не дает возможности "нападающему" просмотреть "отходы", которые могут содержать полезную информацию.
Как защититься?
Никакими техническими мерами защититься от социального инжиниринга практически невозможно. А все потому, что злоумышленники используют слабости не технических средств, а как уже говорилось выше, слабость человеческой души. Поэтому единственный способ противодействовать злоумышленникам - постоянная и правильная работа с человеческим фактором.
Если вы - сотрудник организации, то необходимо провести обучение корпоративных пользователей, включая и тех, кто обращается к данным, системам и сетям извне (т.е. партнеров и клиентов). Такое обучение может проводиться как силами самой организации, так и при помощи приглашенных специалистов, а также в специализированных учебных центрах, которые стали в последнее время появляться в России, как грибы после дождя. Форма обучения может быть разная - начиная от теоретических занятий и обычных прктикумов и заканчивая online-семинарами, проводимыми через Internet, и ролевыми играми. Во время обучения обычные пользователи (не занимающиеся вопросами информационной безопасности в рамках своей основной работы) должны изучить следующие темы (помимо других тем, связанных с правильным выбором паролей, общими положениями политики безопасности организации и т.д.):
Как идентифицировать подозрительные действия и куда сообщать о них? Что может ожидать пользователей в процессе реализации атак со стороны внешних и внутренних злоумышленников? Ни в коем случае нельзя забывать о внутренних угрозах - ведь по статистике основное число инцидентов безопасности происходит именно изнутри организации. Какое поведение пользователя может уменьшить потенциальный ущерб, наносимый данным, системам и сетям?
Эти же темы должны изучаться и теми пользователями, которые используют компьютеры и сеть Internet из дома, в своих личных целях. Однако, если для корпоративного пользователя возможны описанные выше варианты обучения, то домашний пользователь может о них забыть. Не каждый человек готов выложить из своего кармана от 100 до 500 долларов за курс, выгода от которого достаточно эфемерна. Ведь атаку вас может ждать в будущем, а деньги надо выкладывать уже сейчас. Поэтому рядовому пользователю остается только самообразование по книгам, журналам и Internet, которые подчас ничем не уступают дорогостоящему обучению (в части информативности).
Прежде чем начинать реализовывать процесс корпоративного обучения, зачастую очень дорогостоящий, необходимо оценить уровень знаний персонала компании, который будет эксплуатировать имеющуюся или создаваемую инфраструктуру защиты информации. Если персонал не обладает необходимыми знаниями, то спросите кандидатов на обучение, каких знаний им не хватает. Несмотря на кажущуюся абсурдность этого совета, зачастую это самый простой путь, чтобы с минимальными затратами достичь максимальных результатов. Особенно тогда, когда вы не в состоянии правильно оценить уровень знаний своих сотрудников. Проанализируйте собранную информацию и разработайте (возможно с привлечением сторонних организаций) программу обучения сотрудников по вопросам обеспечения информационной безопасности. Такая программа должна быть разделена как минимум на две части. Первая часть должна быть ориентирована на рядовых сотрудников, а вторая - на персонал, отвечающий за информационную безопасность. Помимо всего прочего обучение должно быть обязательным для всех новых сотрудников, принимаемых на работу, и должно рассматривать все аспекты функциональных обязанностей служащего. По мере разработки этой программы примените ее в организации.
Необходимо периодически проверять эффективность обучения и готовности служащих к выполнению действий, связанных с обеспечением информационной безопасности. Регулярно проводите для своего персонала занятия по повышению квалификации, рассказывающие о новых изменениях в стратегии и процедурах безопасности, а также устраивайте "разбор полетов" после зафиксированных серьезных инцидентов. Для этого необходимо проводить регулярные тренинги, повышающие квалификацию персонала и отрабатывающие ситуации, которые могут появляться в реальности. Если такие ролевые игры проводятся у военных или в авиакомпаниях, то почему бы вам не использовать этот проверенный временем способ? Это позволит удостовериться, что персонал организации знает свои обязанности "на 5" и сможет адекватно реагировать на регулярно возникающие в последнее время критические ситуации, связанные с информационной безопасностью.
Как защититься от большинства компьютерных атак
Защита сети от компьтерных атак - это постоянная и нетривиальная задача; но ряд простых средств защиты смогут остановить большинство попыток проникновения в сеть. Например, хорошо сконфигурированный межсетевой экран и антивирусные программы, установленные на всех рабочих станциях, смогут сделать невозможными большинство компьютерных атак. Ниже мы кратко опишем 14 различных средств защиты, реализация которых поможет защитить вашу сеть.
Оперативная установка исправлений для программ (Patching) Компании часто выпускают исправления программ, чтобы ликвидировать неблагоприятные последствия ошибок в них. Если не внести исправления в программы, впоследствии атакующий может воспользоваться этими ошибками и проникнуть в ваш компьютер. Системные администраторы должны защищать самые важные свои системы, оперативно устанавливая исправления для программ на них. Тем не менее, установить исправления для программ на всех хостах в сети трудно, так как исправления могут появляться достаточно часто. В этом случае надо обязательно вносить исправления в программы на самых важных хостах, а кроме этого установить на них другие средства защиты, описанные ниже. Обычно исправления должны получаться ТОЛЬКО от производителей программ. Обнаружение вирусов и троянских коней Хорошие антивирусные программы - незаменимое средство для повышения безопасности в любой сети. Они наблюдают за работой компьютеров и выявляют на них вредоносные программы. Единственной проблемой, возникающей из-за них, является то, что для максимальной эффективности они должны быть установлены на всех компьютерах в сети. На установку антивирусных программ на всех компьютерах и регулярное обновление антивирусных баз в них может уходить достаточно много времени - но иначе это средство не будет эффективным. Пользователей следует учить, как им самим делать эти обновления, но при этом нельзя полностью полагаться на них. Помимо обычной антивирусной программе на каждом компьютере мы рекомендуем, чтобы организации сканировали приложения к электронным письмам на почтовом сервере. Таким образом можно обнаружить большинство вирусов до того, как они достигнут машин пользователей. Межсетевые экраны Межсетевые экраны (firewalls) - это самое важное средство защиты сети организации. Они контролируют сетевой трафик, входящий в сеть и выходящий из нее. Межсетевой экран может блокировать передачу в сеть какого-либо вида трафика или выполнять те или иные проверки другого вида трафика. Хорошо сконфигуированный межсетевой экран в состоянии остановить большинство известных компьютерных атак. Вскрыватели паролей (Password Crackers) Хакеры часто используют малоизвестные уязвимые места в компьютерах для того, чтобы украсть файлы с зашифрованными паролями. Затем они используют специальные программы для вскрытия паролей, которые могут обнаружить слабые пароли в этих зашифрованных файлах. Как только слабый пароль обнаружен, атакующий может войти в компьютер, как обычный пользователь и использовать разнообразные приемы для получения полного доступа к вашему компьютеру и вашей сети. Хотя это средство используются злоумышленниками, оно будет также полезно и системным администраторам. Они должны периодически запускать эти программы на свои зашифрованные файлы паролей, чтобы своевременно обнаружить слабые пароли. Шифрование Атакующие часто проникают в сети с помощью прослушивания сетевого трафика в наиболее важных местах и выделения из него имен пользователей и их паролей. Поэтому соединения с удаленными машинами, защищаемые с помощью пароля, должны быть зашифрованы. Это особенно важно в тех случаях, если соединение осуществляется по Интернет или с важным сервером. Имеется ряд коммерческих и бесплатных программ для шифрования трафика TCP/IP (наиболее известен SSH). Сканеры уязвимых мест Это программы, которые сканируют сеть в поисках компьютеров, уязвимых к определенным видам атак. Сканеры имеют большую базу данных уязвимых мест, которую они используют при проверке того или иного компьютера на наличие у него уязвимых мест. Имеются как коммерческие, так и бесплатные сканеры. Грамотное конфигурирование компьютеров в отношении безопасности Компьютеры с заново установленными операционными системами часто уязвимы к атакам. Причина этого заключается в том, что при начальной установке операционной системы обычно разрешаются все сетевые средства и часто разрешаются небезопасным образом. Это позволяет атакующему использовать много способов для организации атаки на машину. Все ненужные сетевые средства должны быть отключены. Боевые диалеры(war dialer) Пользователи часто обходят средства защиты сети организации, разрешая своим компьютерам принимать входящие телефонные звонки. Пользователь перед уходом с работы включает модем и соответствующим образом настраивает программы на компьютере, после чего он может позвонить по модему из дома и использовать корпоративную сеть. Атакующие могут использовать программы-боевые диалеры для обзвонки большого числа телефонных номеров в поисках компьютеров, обрабатывающих входящие звонки. Так как пользователи обычно конфигурируют свои компьютеры сами, они часто оказываются плохо защищенными и дают атакующему еще одну возможность для организации атаки на сеть. Системные администраторы должны регулярно использовать боевые диалеры для проверки телефонных номеров своих пользователей и обнаружения сконфигурированных подобным образом компьютеров. Имеются как коммерческие, так и свободно распространяемые боевые диалеры. Рекомендации по безопасности (security advisories) Рекомендации по безопасности - это предупреждения, публикуемые группами по борьбе с компьютерными преступлениями и производителями программ о недавно обнаруженных уязвимых местах. Рекомендации обычно описывают самые серьезные угрозы, возникающие из-за этих уязвимых мест и поэтому являются занимающими мало времени на чтение, но очень полезными. Они описывают в-целом угрозу и дают довольно конкретные советы о том, что нужно сделать для устранения данного узявимого места. Найти их можно в ряде мест, но двумя самыми полезными являются те рекомендации, которые публикует группа по борьбе с компьютерными преступлениями и Средства обнаружения атак (Intrusion Detection) Системы обнаружения атак оперативно обнаруживают компьютерные атаки. Они могут быть установлены за межсетевым экраном, чтобы обнаруживать атаки, организуемые изнутри сети. Или они могут быть установлены перед межсетевым экраном, чтобы обнаруживать атаки на межсетевой экран. Средства этого типа могут иметь разнообразные возможности. Имеется Средства выявления топологии сети и сканеры портов Эти программы позволяют составить полную картину того, как устроена ваша сеть и какие компьютеры в ней работают, а также выявить все сервисы, которые работают на каждой машине. Атакующие используют эти средства для выявления уязвимых компьютеров и программ на них. Системные администраторы должны использовать эти средства для наблюдения за тем, какие программы и на каких компьютерах работают в их сети. С их помощью можно обнаружить неправильно сконфигурированные программы на компьютерах и установить исправления на них. Группа по расследованию происшествий с безопасностью В каждой сети, независимо от того, насколько она безопасна, происходят какие-либо события, связанные с безопасностью (может быть даже ложные тревоги). Сотрудники организации должны заранее знать, что нужно делать в том или ином случае. Важно заранее определить следующие моменты - когда вызывать правоохранительные органы, когда вызывать сотрудников группы по борьбе с компьютерными преступлениями, когда следует отключить сеть от Интернет, и что делать в случае компрометации важного сервера. предоставляет общие консультации в рамках США. отвечает за консультирование гражданских государственных учреждений в США. Политики безопасностиСистема сетевой безопасности насколько сильна, насколько сильно защищено самое слабое ее место. Если в рамках одной организации имеется несколько сетей с различными политиками безопасности, то одна сеть может быть скомпрометирована из-за плохой безопасности другой сети. Организации должны написать политику безопасности, в которой определялся бы ожидаемый уровень защиты, который должен быть везде единообразно реализован. Самым важным аспектом политики является выработка единых требований к тому, какой трафик должен пропускаться через межсетевые экраны сети. Также политика должна определять как и какие средства защиты (например, средства обнаружения атак или сканеры уязвимых мест) должны использоваться в сети. Для достижения единого уровня безопасности политика должна определять стандартные безопасные конфигурации для различных типов компьютеров. Тестирование межсетевых экранов и WWW-серверов на устойчивость к попыткам их блокирования Атаки на блокирование компьютера распространены в Интернет. Атакующие постоянно выводят из строя WWW-сайты, перегружают компьютеры или переполняют сети бессмысленными пакетами. Атаки этого типа могут быть очень серьезными, особенно если атакующий настолько умен, что организовал продолжительную атаку, у которой не выявить источник. Сети, заботящиеся о безопасности, могут организовать атаки против себя сами, чтобы определить, какой ущерб может быть нанесен им. Мы рекомендуем проводить этот вид анализа на уязвимость только опытным системным администраторам или специальным консультантам.
Какая платформа наилучшим образом подходит для FireWall-1?
Это достаточно часто задаваемый вопрос, но на него, к сожалению, нельзя однозначно ответить. При выборе платформы необходимо учитывать множество факторов, как-то специфические сетевые конфигурации, размеры защищаемой сети, требуемая производительность и реальные знания персонала организации.
Check Point Software Technologies считает, что все точки доступа к сети должны быть защищены в соответствии с требованиями используемой платформы и решаемых задач. Но использование для этих целей специально спроектированных аппаратно - программных комплексов во многих случаях не оправдано. Поэтому Check Point FireWall-1 поддерживает различные платформы и операционные системы, включая NT и UNIX, маршрутизаторы, коммутаторы и другие сетевые устройства. Важно, что все эти устройства используют одно и то же программное обеспечение и могут управляться с использованием общего графического интерфейса пользователя из административного центра. Основным параметром при выборе платформы может стать количество сетевых интерфейсов, поддерживаемых ей. Например, платформы только с двумя сетевыми интерфейсами не могут поддерживать демилитаризованную зону сети, поэтому такие платформы категорически не рекомендуется использовать из соображений безопасности.
Какие бесплатные системы обнаружения атак доступны?
Наиболее полный список систем обнаружения атак можно получить по адресу: .
4.1.1 Network Flight Recorder (NFR)
Анализатор пакетов под UNIX, основанный на libcap/tcpdump. Насколько я знаю, NFR поставляется с небольшим число сигнатур атак, но так как исходный текст NFR доступен, то многие специалисты сами пишут фильтры для нее. (Однако не многие специалисты имеют необходимый опыт и время для такой работы - примечание переводчика). Общее описание можно найти по адресу .
4.1.2 Bro
Система обнаружения атак Vern Paxson's Bro. Также основана на libcap. Я не слышал о фактах применения этой системы. Более подробную информацию можно получить в: .
4.1.3. AAFID
Идея распределенного агента для обнаружения атак, предложенная COAST. Я не знаю, сколько в этой идее вымысла, а сколько реальности.
4.1.4. Shadow
Я думаю, что это проект используемый в Вооруженных силах США для обнаружения атак. Имеется интересный документ () в котором описаны случаи распределенных в пространстве атак, обнаруженных этой системой.
4.1.5. Argus
Это не система обнаружения атак. Однако, она контролирует сетевые пакеты и события в журналах регистрации. Вы можете затем обрабатывать эти данные для обнаружения атак.
См. для большей информации или
4.1.n Другие
Nnstat
Какие другие кроме NIDS существуют контрмеры?
Межсетевые экраны
Многие люди думают о межсетевых экранах, как о первой и единственной линии обороны. Это означает, что если злоумышленники смогут обойти ее (что просто реализуется , тем более что атак совершается сотрудниками компании), то они будут неконтролируемыми внутри корпоративной сети. Лучшим подходом было бы думать, что МСЭ - это последняя линия обороны. Вы в первую очередь должны правильно конфигурировать свои компьютеры и использовать обнаружение атак. И только потом устанавливать межсетевой экран. Помните, что практически любой современный маршрутизатор обладает функциями межсетевого экрана.
Аутентификация
Вы должны использовать системы анализа защищенности, которые автоматизируют поиск учетных записей без паролей. Вы должны использовать пароли не менее чем из 7 символов (включая цифры, пунктуацию и символы в верхнем и нижнем регистрах), используя для их проверки специальные программы встроенные в операционные системы или дополняющие их (PASSFILT.DLL для Windows NT и Crack для Unix - примечание переводчика). Вы также можете использовать системы Single-Sign On или интегрировать системы типа RADIUS/TACACS в Unix или Windows NT, а также использовать встроенные возможности (например, Kerberos в Windows 2000). Эти системы аутентификации помогут устранить опасность использования паролей, передаваемых "открытым текстом" по протоколам Telnet, FTP, IMAP, POP и т.д.
VPN (Virtual Private Networks)
VPN создает защищенное соединение через Internet. Сейчас это используют многие технологии. Например, протокол PPTP создает зашифрованное соединение по PPP над TCP (некорректный пример, особенно после нахождения "дыры" в реализации PPTP в Windows - примечание переводчика). Новая версия IPsec дополняет традиционный IP новыми механизмами защиты.
Шифрование
Шифрование становится все более популярным. Вы можете шифровать электронную почту, шифровать файлы или шифровать всю файловую систему (последний вариант является наилучшим).
(Другие методы
Существуют и другие методы, дополняющие применение систем обнаружения атак. Например, системы разграничения доступа к ресурсам компьютера, системы анализа защищенности - примечание переводчика).
Какие есть другие ресурсы по защите информации?
5.2.1 Purdue's COAST -архив
Если вы хотите найти сервер в Internet с самым большим количеством информации по защите, обратитесь по адресу:
5.2.2 SANS-Институт
Я думаю, что это самое лучшее место для обучения по вопросам защиты информации для людей, которые сами не являются хакерами. Их аудитория -профессионалы в области информационных технологий, которым необходимо защищать свои сети. Для большей информации смотрите:
5.2.3 L0pht Heavy Industries
Есть некоторые хакеры с достаточно хорошими инструментами и полезными системами уведомления (тревоги), нацеленными на Windows. Для большей информации смотрите:
5.2.4 Технические контрмеры против атак
Мне нравится этот сервер; он сдержит массу хорошо организованной информации по атакам. Для большей информации смотрите:
5.2.5 Список рассылки по системам обнаружения атак
Пошлите строку subscribe ids в теле сообщения электронной почты по адресу:
Какие есть ограничения у систем обнаружения атак?
Рассмотрим следующие ограничения:
Подмена адреса/посредничество: Одна из целей обнаружения атак заключается в том, чтобы указать пальцем на того, кто вас атакует. Это может оказаться трудным по целому ряду причин. В случае 'smurf'-атаки, например, вы получаете тысячи ответов на запрос, который вы никогда не посылали. NIDS как раз и обнаруживает эти ответы, но не может обнаружить того, кто послал поддельный пакет. При предсказании номера ТСР-последовательности (TCP Sequence Number Prediction) поддельные IP-адреса используются так, чтобы NIDS не могла точно определить откуда действует хакер. В конце концов, большинство хакеров будут 'хвастаться' своими атаками через FTP или Web- procy-сервера, или организовывать свои атаки с других серверов, которые они уже взломали. Таким образом, найти того, кто атакует ваш сервер будет очень трудно, не поможет и конфигурирование фильтров IP-адресов в вашем МСЭ.
Ограничения по ресурсам: NIDS страдает от того факта, что она требует немалые ресурсы для удержания хакеров. Большинство NIDS разбирает TCP-потоки, но немногие из них разбирают пакеты (из-за требуемых ресурсов центрального процессора и оперативной памяти). Нарушители, которые фрагментируют свои пакеты, часто могут остаться необнаруженными. Аналогично, хакеры могут потратить месяцы, медленно зондируя сеть. Опять же, NIDS не имеют достаточно ресурсов для того, хранить журналы регистрации очень долго для того, чтобы сравнивать прошедшие события с событиями, которые имеют место в настоящий момент во время атаки. В конце концов, несмотря на то, что устройства, работающие в режиме "прослушивания" (promiscuous) трафика могут поддерживать T-1-соединения с сетью Интернет, им требуется гораздо больше времени в случае 100 Мбит/сек или гигабитных скоростей на главной магистрали.
Какие инструменты используют хакеры для проникновения в мои системы?
4.3.1 UNIX-утилиты
Эти утилиты либо поставляются вместе со знаменитой UNIX-платформой, либо могут быть загружены бесплатно.
ping
чтобы определить "жив" ли атакуемый хост
traceroute
чтобы найти маршрут к атакуемому хосту
nslookup/dig
чтобы открыть всю вашу DNS информацию
whois
чтобы найти информацию о регистрации в Internic
finger
чтобы определить, кто входил в атакуемую систему, или найти информацию о пользователях
rpcinfo
чтобы определить, какие RPC-сервисы запущены
showmount
чтобы отобразить все разделяемые ресурсы машины
SAMBA
Отображает информацию о совместно используемых ресурсах Windows NT SMB
telnet
позволяет вам подключаться и "играть" с любым тексто-ориентированным протоколом (HTTP, FTP, SMTP и т.д.)
4.3.2 WinNT-утилиты
Все из UNIX-утилит, упоминавшихся выше, могут быть использованы вместе с Windows NT. Есть также некоторые утилиты, характерные только для Windows NT.
nbtstat
показывает NetBIOS информацию об удаленной машине
net view
это LANMAN-программа, которая позволяет вам дистанционно просматривать совместно используемые ресурсы сети Windows NT
4.3.3 Специальные утилиты для хакерской деятельности
Стандартный набор инструментов для хакера
netcat
характеризуется как швейцарский армейский нож для "TCP/IP", позволяющий хакерам создавать скрипты взаимодействия по различным протоколам, особенно по тексто-ориентированным протоколам.
crack / NTcrack / L0phtCrack / и т.д.
Позволяет взламывать сетевые пароли (атаки по словарю или подбор пароля). Эти пакеты также содержат утилиты для выгрузки паролей из баз данных и перехват их из сети.
Sniffing утилиты
Для просмотра необработанного трафика, такие как Gobbler, tcpdump или даже Sniffer© Network Analyzer такой честной перед богом компании, как Network Associates
TCP и UDP сканеры портов
Для сканирования/зондирования доступных портов. Сканеры портов могут также запускаться в большом количестве смешанных режимов для того, чтобы избежать регистрации.
Ping sweepers
Для обнаружения активности большого количества компьютеров.
Exploit packs
Которые представляют собой набор из одной или более программ, которые знают, каким образом использовать уязвимости в системах (обычно, как только пользователь входит в систему).
Средства дистанционного анализа защищенности
Такие как SATAN, которые ищут большое количество хорошо известных уязвимостях в компьютерах во всей сети.
War dialers
Которые осуществляют большое количество телефонных звонков в поисках модемных номеров.
NAT (NetBIOS Audit Tools)
Основан на исходном коде SAMBA и является полезным для получения информации NetBIOS/SMB с Windows и SAMBA-серверов.
Сканеры
Программы (типа SATAN, ISS, CyberCop Scanner) которые ищут уязвимости в системах. Они автоматизируют поиск большого числа уязвимостей, обеспечивая хакера большими результатами с минимальными затратами.
Какие коммерческие системы обнаружения атак являются доступными?
Имеется таблица, собранная из различных источников.
RealSecure | Internet Security Systems, Inc. | TCP/IP | Ethernet, Fast Ethernet, FDDI, Token Ring | SMB, NFS, DNS, HTTP, FTP, Telnet, SNMP, SMTP, RPC | На уровне сети На уровне хоста | Windows NT, Unix | E-mail, консоль, пейджер, телефон, SNMP, реконфигурация МСЭ и маршрутизаторов, блокировка учетных записей, завершение соединения | Первая система, которая получила распространение в России | ||
OmniGuard Intruder Alert | Axent Technologies | Не применимо | Не применимо | Журналы регистрации, события от маршрутизаторов Cisco, su, события от МСЭ | На уровне хоста | Windows NT, Unix, Netware | Пейджер, e-mail | |||
NetRanger | Cisco Systems | TCP/IP | Ethernet, Fast Ethernet, FDDI, Token Ring | SMB, NFS, DNS, HTTP, FTP, Telnet, SNMP, SMTP, RPC | На уровне сети | Solaris | Пейджер, e-mail, консоль | Система была разработана компанией WheelGroup, которую приобрела корпорация Cisco. | ||
Kane Security Monitor | Security Dynamics | Не применимо | Не применимо | Журналы регистрации, БД NT SAM, реестр NT | На уровне хоста | Windows NT, Netware | Пейджер, консоль, звуковой сигнал, e-mail | Система была разработана компанией Intrusion Detection, которую приобрела корпорация Security Dynamics | ||
Network Flight Recorder | NFR | TCP/IP | Ethernet, Fast Ethernet, FDDI | DNS, HTTP, FTP, Telnet, SMTP, RSH | На уровне сети | Unix | Пейджер, факс, консоль, e-mail |
4.2.1 CyberCop компании Network Associates
Я вижу, что многие люди неправильно информированы относительно CyberCop. Первоначально CyberCop был создан в компании Network General (разработчиками программы Sniffer) на основе технологии обнаружения атак, лицензированной у компании WheelGroup. CyberCop использовал Web/Java интерфейс. Network Associates купила Network General (точнее McAfee Associates и Network General объединились - примечание переводчика), а Cisco купила компанию WheekGroup. По неизвестной причине Cisco отказалась возобновлять лицензионное соглашение (потому что компания Cisco выпускает конкурирующую систему обнаружения атак NetRanger - примечание переводчика) и насколько мне известно Network Associates больше не предлагает CyberCop.
Однако NAI любит название CyberCop и использует его для новых продуктов. У компании Secure Networks она приобрела систему анализа защищенности Ballista и назвала ее CyberCop Scanner.
Также NAI предлагает систему, называемую CyberCop Server, которая относится к классу систем обнаружения атак на уровне хоста и функционирует под управлением Sun и Windows NT. Я думаю, что этот продукт основан на системе Stalker, разработанной компанией Haystack и приобретенной компанией NAI.
Для большей информации смотрите: .
4.2.2 RealSecure компании Internet Security Systems, Inc. (ISS)
Это единственное ПО, работающее на большом количестве Windows и UNIX-платформ. Для большей информации смотрите: . Система создана в 1996 году. (Обнаруживает атаки, как на уровне сети, так и на уровне операционной системы - примечание переводчика).
4.2.3 NetRanger компании WheelGroup/Cisco
В отличие от Cybercop и RealSecure, которые контролируют трафик в режиме прослушивания трафика (promiscuous), NetRanger - это маршрутизатор, который просматривает трафик, проходящий через него. Компания WheelGroup в 1998 была куплена Cisco, поэтому можно предположить, что вы увидите это ПО, представленное во всех других маршрутизаторах последней (или в межсетевом экране Pix - примечание переводчика). Для большей информации смотрите: .
4.2.4 Netective компании Netect
Для большей информации смотрите: .
4.2.4 SessionWall-3 компании AbirNet/Memco
Для большей информации смотрите: .
4.2.5 ID-Trak компании Internet Tools
Для большей информации смотрите: .
4.2.6 SecureNet Pro компании MimeStart
Для большей информации смотрите: .
4.2.8 Kane Security Monitor (KSM) компании Security Dynamics
Система создана в 1996.
4.2.7 Network Flight Recorder
Более конфигурируемый набор инструментов, чем plug-and-play система обнаружения атак. Система создана в 1998 году.
Какие места являются интересными?
Вот несколько мест, которые собирают информацию с других серверов. Наверное стоит взглянуть.
5.3.1 NIH security site
Для большей информации смотрите:
5.3.2 NTSecurity.net
Для большей информации смотрите: .
Какие наиболее распространенные процессы сканирования с целью разведки?
1.9.1 Ping sweeps
В течение этого простого процесса сканирования диапазон IP-адресов анализируется утилитой ping с целью определения активных компьютеров. Заметим, что большинство более сложных сканеров будет использовать другие протоколы (такие как SNMP sweep), чтобы делать ту же самую вещь.
1.9.2 TCP-сканирование
Зондирования открытых TCP-портов в поисках сервисов, которые может использовать нарушитель. Сеансы сканирования могут использовать обычные TCP-соединения или скрытые (stealth) сеансы сканирования, которые используют наполовину открытые соединения (с тем, чтобы защитить их от регистрации в журналах) или FIN-сеансы сканирования (никогда не открывают порт, но тестируют, если что-то прослушивается). Сеансы сканирования могут быть либо последовательными, либо случайными, либо сконфигурированы по перечню портов.
1.9.3 UDP-сканирования
Эти сеансы сканирования являются несколько более трудными, потому что UDP - протокол без установления виртуального соединения. Метод заключается в том, чтобы послать "мусорный" UDP-пакет к намеченному порту. Большинство машин будут реагировать с помощью ICMP-сообщения "destination port unreachable", указывающего, что на данном порту нет прослушиваемого сервиса. Однако, многие компьютеры "душат" ICMP-сообщения, поэтому вы не сможете осуществлять очень быстрое UDP-сканирование.
1.9.4 Идентификация ОС
Путем посылки недопустимых (или странных) ICMP или TCP-пакетов нарушитель может идентифицировать ОС. Стандарты обычно устанавливают, каким образом компьютеры должны реагировать на легальные пакеты, поэтому машины имеют тенденцию быть единообразными в своей реакции на допустимые входные данные. Однако стандарты упускают (обычно намеренно) реакцию на недопустимые входные данные. Таким образом, уникальные реакции каждой ОС на недопустимые входные данные формируют сигнатуру, которую хакеры могут использовать для того, чтобы понять под чьим управлением функционирует выбранный компьютер. Этот тип деятельности имеет место на нижнем уровне (вроде скрытых сеансов TCP-сканирования), на котором анализируемые системы не регистрируют события.
Какие наиболее серьезные слабости в существующих коммерчески распространяемых системах?
Саттерфилд: Многие продукты управляются локально. Локальное управление системами обнаружения атак, аналогично управлению другими средствами защиты, имеет значительные недостатки, которые, зачастую, проявляются только через некоторое время после развертывания системы. Масштабируемость жизненно важна для эффективного применения системы, особенно в крупных сетях. Вторая проблема - производительность. Большинство коммерческих систем обнаружения атак не может эффективно функционировать даже в сетях Ethernet (10 Мбит/с), не говоря уже о сетях ATM и других более скоростных магистралях.
Клаус: Мы столкнулись с двумя основными проблемами. Во-первых, вы должны быть уверены, что ваша система обнаружения атак соответствует вашей сети. А, во-вторых, вы должны ответить на вопрос: "Что делать потом?". Необходимо настроить приобретенную систему таким образом, чтобы она обнаруживала атаки и распределяла их по приоритетам с учетом специфики вашей сетевой инфраструктуры. Вы не имеете старых версий операционной системы SunOS? Следовательно, вы неуязвимы к атакам типа "UDP Bomb". Это знание уменьшает вероятность ложных обнаружений. Однако для такой настройки требуется знание топологии сети и сведений об используемом программном и аппаратном обеспечении. Ни одна из современных систем обнаружения атак не проводит такого рода предварительной настройки. Ответ на вопрос "Что делать потом?" также немаловажен. Предположим, что система обнаружения атак сообщает о событии DNS Hostname Overflow. Что это означает? Почему это плохо? Как я должен реагировать в ближайшей и далекой перспективе? Многие современные системы не обеспечивает такой уровень подробности. Кроме этого иногда очень трудно отделить важную информацию от второстепенной. Необходимо иметь немалый опыт в области обнаружения атак, чтобы формализовать его и заложить в систему.
Ранум: Самая большая слабость - наличие огромного числа приложений, которые имеют неизвестные уязвимости. Для типичной системы обнаружения атак основной способ определения нападения - проверка на соответствие сигнатуре. Однако, это ограниченное с технической точки зрения решение.
Карри: Обнаружение атак в коммерческих системах - все еще новая, неисследованная область. Производители разрабатывают системы в очень быстром темпе. Хотя существуют некоторые очевидные слабости масштабируемости, удаленной модификации и т.п., большинство производителей уже решило эти проблемы в альфа-версиях или в версиях, находящихся в процессе опытной эксплуатации. Имеется только одна, действительно серьезная, на данный момент нерешенная, проблема - база данных сигнатур. Написание модуля слежения для системы обнаружения атак - достаточно простая задача. Для этого необходим хороший алгоритм сопоставления с образцом, организация буферизации данных и эффективные алгоритмы кодирования. Но самый лучший в мире модуль слежения бесполезен без полной, всесторонней базы данных сигнатур атак, которая должна быть очень быстро обновляемой, так как новые атаки и уязвимости обнаруживаются постоянно. Создание такой базы данных требует наличия хорошо осведомленных экспертов, имеющих доступ к большому числу источников информации об атаках. Способность создания и обновления такой базы данных будет главным параметром, по которому будут оцениваться производители систем обнаружения атак в следующие 12-24 месяцев.
Спаффорд: Современные производители сосредотачивают свое внимание на обнаружении внешних атак, а не на выработке обобщенного подхода к обнаружению нарушений стратегии защиты. Выработка этого подхода - это область активных исследований в ближайшее время.
Какие проблемы создают объемы
Клаус: Переполнение данных - одна из главных проблем с системами обнаружения атак. Имеется два основных пути - управление отчетами программы и наличие "здравых" средств управления данными. Хорошая система обнаружения атак должна иметь возможность точной настройки - некоторые атаки могут обнаруживаться, а могут и нет; определенные атаки могут изменять некоторые свои параметры (например, число портов, открытых в определенный промежуток времени, - примечание переводчика), варианты реагирования также могут быть настроены. Эта настройка позволяет вам управлять тем, что и как сообщает вам система обнаружения атак. Хорошая идея - интегрировать средство обнаружения атак с системой анализа защищенности. Это позволит вам сконцентрироваться на самых важных данных, сохранив менее критичные данные для последующего анализа. Хорошая система обнаружения атак способна генерировать сообщения об атаке, выдавать их на экран, и иметь контекстно-зависимую справочную систему. Она также должна иметь эффективные механизмы управления данными, чтобы персонал мог анализировать собранные данные удобным для себя образом. Персонал, работающий с системой обнаружения атак, должен не только быть обучен правилам работы с ней, но и знать, как интегрировать ее в инфраструктуру своей организации.
Что касается аутсорсинга, то компании могут иметь разные точки зрения на него. Некоторые не используют аутсорсинг, так как созданных системой обнаружения атак данных достаточно для принятия соответствующих решений. Другие, напротив, желают воспользоваться аутсорсингом, поскольку они не так хорошо разбираются в защитных механизмах и технологиях и им необходима сторонняя помощь. Все это зависит от критичности данных и здравого смысла конечного пользователя системы обнаружения атак.
Ранум: Если вы записываете весь трафик на загруженной сети, то недорогой жесткий диск будет делать это медленнее, чем система обнаружения атак "пишет" на него (например, в сетях Fast Ethernet пропускная способность равна 100 Мбит/сек, а скорость доступа к современным "стандартным" жестким дискам равна 24-80 Мбит/сек - примечание переводчика). Вы должны знать, что сохранять, а что нет. Например, если вы контролируете доступ к Web-серверу, то, вероятно, нет необходимости сохранять все графические GIF-файлы. Полезнее хранить URL к ним. Если вы - секретная спецслужба, ищущая секретные данные в изображениях (стеганография - наука о методах скрытия самого факта передачи сообщения, в т.ч. и скрытие данных в графическом изображении - примечание переводчика), то вы предъявляете совершенно другие требования. Приспосабливаемость к различным требованиям по управлению данными является большой проблемой современных систем обнаружения атак, - сколько данных записывать; как долго их хранить; как представить их конечному пользователю? Я чувствую, что большинство пользователей не захочет иметь дела с этими проблемами. Им проще будет приобрести систему обнаружения атак, как часть комплексного решения по обеспечению информационной безопасности сети, предлагаемого внешней организацией и поддерживаемого 24 часа в сутки, 7 дней в неделю (аналогичные услуги в последнее время получили широкое распространение за рубежом - примечание переводчика).
Карри: Проблема не в количестве данных. Это всего лишь побочный эффект. Реальная проблема в том, что вы будете делать, когда система обнаружения атак уведомит вас о нападении? Когда вы получаете такое уведомление, вы должны реагировать быстро и правильно - любая ошибка может стоить вам дорого. Кроме того, вы не можете уменьшить число ложных срабатываний без риска пропустить реальную атаку. Таким образом, вы должны уметь отделять зерна от плевел. Как только вы решили, что тревога реальна, что это значит? Как вы реагируете? Автоматический ответ хорош, но это последнее, что вы должны предлагать своим заказчикам. То есть вы нуждаетесь в постоянном человеческом присутствии и возможности обработки оператором почти всех тревог. Это требует выделенного, опытного персонала, который постоянно контролирует эти атаки, знает, как они реализуются и, что более важно, знает, что с ними делать. Обучение и укомплектование персонала для решения этой задачи сложно - большинство компаний не имеет такой возможности, не может себе позволить создавать такие подразделения, не имеет на это времени и, даже если они смогли бы сформировать их, то у них нет на это соответствующих материальных ресурсов.
Саттерфилд: Действительно, управление данными - самая большая проблема перед всем семейством средств защиты информации. Это особенно важно для технологии обнаружения атак. На скоростях 100 Мбит/сек и выше система обнаружения атак должна собирать и анализировать большое количество данных. Ранние прототипы систем обнаружения атак фиксировали нажатия клавиш, которые сохранялись на локальном жестком диске и затем, ночью, передавались на центральную консоль для обработки на следующий день. Это работало, но было не оперативно и не соответствовало требованиям работы в реальном режиме времени.
Современные технологии оперируют интеллектуальными датчиками, которые собирают только те пакеты, которые могут содержать возможные нарушения защиты. Пакеты анализируются датчиком, а затем, в виде кодированного сигнала передаются дальше. Фактические данные, вызвавшие тревогу, доступны, но уже не имеют большого значения. Дело в том, что датчик должен быть интеллектуальным и должен уметь выбирать только важную информацию. Остальное игнорируется. Это единственный способ создать крупномасштабную систему обнаружения атак, функционирующую в реальном режиме времени с заданной эффективностью. Эта технология очень мощная. Она обеспечивает сбор и отображение заинтересованным лицам всей информации об уровне защищенности организации. Хорошая система обнаружения атак будет разрабатываться таким образом, чтобы она могла эксплуатироваться обычным техником. Однако, пока все еще необходима экспертиза для анализа данных и выработки варианта реагирования. "Пробел в умении защищать" не дает многим организациям понять, как себя защищать на достаточно серьезном техническом уровне. Следовательно, я думаю, что большое количество организаций обратится к аутсорсингу в области сетевой безопасности. Мы часто слышим от клиентов, что их компании "не нуждаются в аутсорсинге". Однако, после того, как мы им демонстрируем требования к обучению и затраты на 24-часовое поддержание соответствующего уровня безопасности они пересматривают свои позиции. Часто задается один вопрос. Кому вы скорее доверите свою защиту? Служащим, которые могут на следующей неделе работать на ваших конкурентов, или поставщику услуг, связанному контрактом? Этот вопрос обычно ведет к очень интересному обсуждению. Сотрудники службы аутсорсинга - это текущий контроль местных тревог. Фактически, потребители поняли, что системы оповещения, расположенные на предприятии, имеют мало значения, если они не имеют удаленного контроля. Сколько раз вы останавливались на улице, чтобы узнать, почему раздается сигнал тревоги из дома соседа? Ответ - вы обычно ждете шестичасовых новостей, чтобы узнать об этом.
Спаффорд: Системы обнаружения не должны генерировать много данных. Что касается заданных вопросов, то позвольте мне обратить ваше внимание, что мы проводим исследования в этих областях (за исключением обучения и укомплектования персоналом) и пока не нашли лучшего решения.
Какие проблемы встречаются у IDS?
См. документ по адресу для знакомства с этими проблемами.
6.1.1 Распределенное по времени сканирование
Из-за большого объема сетевого трафика NIDS с трудом поддерживают регистрацию продолжительного трафика. Таким образом, трудно обнаруживать "распределенное по времени сканирование" (ping sweeps или port scans), при котором нарушители сканируют один порт/адрес каждый час.
6.1.2 Загруженные сегменты
В настоящее время NIDS не могут поддерживать сильно загруженные сегменты, например, 100-Мбит/сек. Таким образом, в то время как они являются подходящими для незначительно загруженных сетей или WAN-связей, они имеют проблемы с сильно загруженными сегментами.
6.1.3 Коммутируемые сети
Коммутируемые сети ставят множество проблем перед NIDS, а также перед сетевым анализом вообще. Есть много решений этой проблемы, но они не всегда являются удовлетворительными. Некоторые решения:
embed
Некоторые продукты внедрены непосредственно в сам коммутатор. Однако это просто усугубляет проблему, указанную выше, в случае сильно загруженных сегментов. Объединительные платы на задней панели коммутатора работают на скоростях несколько Гбит/сек.
monitor port
Многие коммутаторы имеют "monitor port" (span port, mirror port, managed port - примечание переводчика) для установки сетевых анализаторов. NIDS также может быть легко присоединена к этому порту. Очевидная проблема заключается в том, что порт запускается на гораздо более низкой скорости, чем объединительная плата на коммутаторе, поэтому NIDS не сможет увидеть весь трафик на сильно загруженном сегменте.
inter-switch соединение
Поскольку многие коммутаторы конфигурируются иерархическим образом, качественное обнаружение может быть обеспечения путем установки NIDS на соединения между коммутаторами. Однако большинство NIDS могут только обрабатывать ограниченный объем полосы пропускания, и вероятно насыщаются в таких случаях.
6.1.4 Скоординированные атаки с невысокой пропускной способностью
Иногда хакеры собираются вместе и запускают медленное сканирование с многочисленных IP-адресов. Это затрудняет диагностику атаки системой обнаружения атак.
Какие существуют свободно распространяемые системы обнаружения атак?
4.4.1. TCP Wrappers
TCP Wrappers - модуль для Unix, который функционирует между inetd и сетевыми сервисами (типа ftp, telnet и т.д.). Inetd передает информацию TCP Wrappers, который осуществляет аутентификацию по IP-адресу и регистрирует все соединения. Затем, если необходимо, TCP Wrappers вызывает соответствующий сервис.
Каким является типичный сценарий атаки?
Стадия 1: внешняя разведка. Нарушители собирают как можно больше информации об атакуемой системе, ничем себя не выдавая. Они могут делать это, собирая доступную информацию, или маскируясь под обычного пользователя. На этой стадии вы действительно не сможете обнаружить их. Нарушитель будет высматривать "кто есть кто", чтобы собрать как можно больше информации о вашей сети, которая зарегистрирована вместе с вашим доменным именем (таким как, например, microsoft.com). Нарушитель, возможно, пройдется по вашим DNS-таблицам (используя 'nslookup', 'dig' или другие утилиты, используемые для работы с DNS), чтобы найти имена ваших машин. Нарушитель будет разыскивать другую информацию для открытого использования, такую как ваши публичные Web- и FTP- сервера с анонимным входом. Нарушитель может просматривать новые статьи или пресс-релизы о вашей компании и т.д.
Стадия 2: внутренняя разведка. Нарушитель использует более сильные методы для получения информации, но по-прежнему не делает ничего вредного. Он может пройти через все ваши Web-страницы и посмотреть CGI-скрипты, которые очень часто подвергаются хакерским атакам. Он может запустить утилиту 'ping' для того, чтобы посмотреть какие компьютеры активны в сети. Он может провести сканирование UDP/TCP-портов на намеченных для атаки компьютерах для того, чтобы определить доступные сервисы. Он может запустить утилиты типа 'rpcinfo', 'showmount', 'snmpwalk' и т.д. для того, чтобы определить, какие службы являются доступным. В данный момент нарушитель ведет "нормальную" деятельность в сети и нет ничего, что могло быть классифицировано как нарушение. В этот момент NIDS могут сказать вам, что "кто-то дергает за ручки дверей", но пока еще никто не ломится в закрытую дверь.
Стадия 3: exploit. Нарушитель пересекает границу и начинает использовать возможные уязвимости на выделенных компьютерах. Нарушитель может попытаться скомпрометировать CGI скрипт, посылая команды shell в полях входных данных. Нарушитель может попытаться использовать хорошо известные уязвимости "переполнения буфера", посылая большое количество данных. Нарушитель может начать проверку учетных записей с легко подбираемыми (или пустыми) паролями. Хакер может пройти через несколько стадий атаки. Например, если хакер смог получить доступ к учетной записи обычного пользователя, то затем он будет пытаться совершать дальнейшие подвиги для того, чтобы получить доступ к учетной записи супервизора root/admin.
Стадия 4: скрытие следов. На этой стадии хакер успешно проник в вашу сеть. Теперь цель хакера заключается в том, чтобы скрыть свидетельства атак путем исправления журналов регистрации. Они могут инсталлировать специальные утилиты, дающие им удаленный доступ, возможность замены существующих сервисов своими собственными "троянскими конями", или возможность создавать свои собственные учетные записи и т.д. Системы контроля целостности (SIV) могут часто обнаруживать нарушителя именно на этом этапе, отслеживая измененные системные файлы. Далее хакер будет использовать систему в качестве опорной площадки для проникновения в другие системы или компьютеры, поскольку большинство сетей имеет незначительное число средств для защиты от внутренних атак.
Стадия 5: прибыль. Нарушитель использует преимущества своего статуса для кражи конфиденциальных данных, злоупотребления с системными ресурсами (т.е. организует атаки в другие сайты с вашего сервера) или стирает Web-страницы.
Другой сценарий начинается по-другому. Скорее это атака на конкретный сервер, и нарушитель может просто просканировать случайный адрес в сети Internet, пытаясь найти конкретную дыру. Например, нарушитель может попытаться просканировать всю сеть Интернет в поисках машин, которые имеют дыру SendMail DEBUG. Они просто атакуют те компьютеры, которые находят. Они не нацеливаются непосредственно на Вас, и они в действительности просто даже не хотят знать, кем вы являетесь. (При заданном перечне хорошо известных уязвимостей и перечне IP-адресов, есть хороший шанс, что есть несколько машин, которые имеют хотя бы одну из этих уязвимостей).
Каким образом я могу реализовать систему обнаружения атак на своем предприятии?
Подумайте о том, каким образом вы можете сконфигурировать следующие системы для того, чтобы обнаруживать нарушителей:
Операционные системы, такие как Windows NT и UNIX, поступают с встроенными функциями аудита/создания регистрационных записей, которые могут быть использованы для мониторинга наиболее важных ресурсов с точки зрения защиты. В разделе ниже обсуждается вопрос, каким образом сконфигурировать Windows и UNIX для того, чтобы сделать возможным обнаружение атак.
Сервисы, такие как Web-сервера, SMTP-сервера и базы данных, также включают функции регистрации и аудита. Более того, есть много инструментов, которые могут быть использованы для анализа этих файлов с целью обнаружения сигнатур атак.
Системы обнаружения атак на уровне сети, которые просматривают сетевой трафик, пытаясь обнаружить атаки. В следующем разделе перечисляется большое количество таких продуктов.
Системы обнаружения атак на уровне ОС и приложений, которые анализируют действия пользователей системы, пытаясь обнаружить атаки.
Межсетевые экраны обычно имеют некоторые возможности по обнаружению сетевых атак. Кроме того, блокирование атак - это их главная цель, которую было бы глупо не использовать.
Платформы управления сетью (такие как, например, OpenView) имеют механизмы для того, чтобы помочь сетевым менеджерам установить варианты реагирования о подозрительной деятельности. Как минимум, все SNMP-устройства должны посылать "Authentication Failure" traps на консоль управления и должны извещать администраторов, когда это происходит.
Каким образом я могу улучшить обнаружение атак/защиту под ОС Windows NT?
Выполнение пунктов следующего перечня сделает вашу ОС WinNT более защищенной, включая как улучшение функций обнаружения, так и функции защиты. Они перечисляются в порядке своей важности.
Инсталлируйте самую последнюю версию service packs и "hot fixes". Они перечислены по адресу http://www.microsoft.com/security/. Если вы используете WinNT 4.0 и у вас нет инсталлированного Service Pack #3 (SP3), нарушитель может проникнуть внутрь вашей системы. ИНСТАЛЛЯЦИЯ: Используйте файловую систему NTFS вместо FAT. NTFS допускает, чтобы права доступа устанавливались на каждый файл/директорию. NTFS также позволяет проводить аудит для каждого файла/директории. Заметим, что много людей рекомендуют использовать FAT в качестве загрузочного дисковода и NTFS для всех остальных дисководов (вследствие простоты использования DOS для устранения проблем на FAT-дисководе). Однако использование NTFS для всех драйверов определенно является более безопасным. USRMGR: Переименуйте учетную запись "administrator". Наиболее распространенная атака заключается в использовании атаки по словарю или "подбор пароля" на учетную запись "administrator". Обычные учетные записи могут быть сконфигурированы на автоматическую (и временную) "блокировку" после нескольких неудачных попыток подбора пароля. Однако, эта возможность не применима для учетной записи administrator, потому что это делает возможными атаки типа "отказ в обслуживании" (т.е. помешать администрированию компьютера путем блокировки учетной записи administrator). USRMGR: Создать новую учетную запись с именем "administrator" для фиксации попыток вторжения. USRMGR: Сделайте недоступным учетную запись "guest". Вы, возможно, также захотите переименовать эту учетную запись. Как только вы переименовали учетную запись с именем "guest", вы можете захотеть создать новую учетную запись, названную "guest" для фиксации хакерских атак. NTFS: Сделайте недоступным доступ на запись для группы "Everyone" в директорию %systemroot%/system32. REGEDT32: Включите аудит для контроля доступа к ключу "HKEY_LOCAL_MACHINE\Security" для того, чтобы обнаруживать удаленный доступ к системному реестру. ИНСТАЛЛЯЦИЯ: Не инсталлируйте все программные продукты в директорию "C:\WINNT". Иногда нарушители могут получить доступ к файлам, если они знают название файла. Еще лучше, инсталлируйте все в C:\WINNT, затем переинсталлируйте всю в какую-нибудь другую директорию, затем запустите аудит внутри директории C:\WINNT, чтобы он предупредил вас, когда люди будут получать доступ к инсталлированным файлам. ИНСТАЛЛЯЦИЯ: Используйте загрузочный раздел (boot partition) только для загрузочных и системных файлов. Разместите данные и приложения на отдельном логическом диске. Также неплохая идея - отделить приложения от данных. ПАНЕЛЬ УПРАВЛЕНИЯ: Сделайте доступным функцию "Password Protected" в хранителе экрана. Самый лучший хранитель экрана - это "Blank Screen". Вы, возможно, думаете, что хранители экранов запускаются в процессе ожидания, но это не всегда так, поэтому вы можете улучшить характеристику вашего сервера, используя "Blank Screen". Это также снизит потребление мощности у монитора, особенно в тех, которые могут обнаруживать blank screen и самостоятельно отключаться. И, наконец, некоторые хранители экрана (например, PointCast) являются уязвимыми для атак. REGEDT32: Отключите автоматическое включаемое совместное использование ADMIN$, C$, D$, и т.д. через параметр "AutoShare" в реестре. Этот параметр находится в ключе "HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters", и представляет "AutoShareServer" для Windows NT Server или "AutoShareWks" для Windows NT Workstation. Он имеет тип DWORD со значением '1' - доступно (default), или значением '0' - недоступно. Вам придется добавить значение самостоятельно, потому что его нет в реестре. REGEDT32: Отключите информацию об учетных записях и разделяемых ресурсах через анонимный доступ. Добавьте "RestrictAnonymous" типа DWORD со значением "1" к ключу "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA". Заметим, что если вы видите ошибку "Could not find domain controller for this domain." в момент установки доверенных связей с доменом, вам придется изменить их обратно. USRMGR: Если вы используете домен (а не рабочую группу), измените права пользователя "Access this computer from the network" на "Authenticated Users", а не на "Everyone". Это сделает невозможным удаленный доступ через локальные учетные записи на вашем компьютере, и позволит осуществлять доступ только через учетные записи домена. PASSPROP: Позволяет блокировать учетную запись "administrator" для удаленного доступа. Это делает возможной ситуацию, когда удаленный нарушитель отключается после трех раз ввода неправильного пароля. После блокировки администратор может войти только локально на консоль системы. Также вы можете сделать полностью недоступным удаленный доступ администратора в USRMGR, удалив право "Access this computer from the network" из "Administrators", но это сделает невозможным все удаленное администрирование, что довольно сильно затруднит администрирование в крупном межсетевом окружении под управлением Windows NT.
Также можно рассмотреть такой вариант предотвращения несанкционированного использования компьютера. Джон Козубик предлагает использовать такой сценарий входа в систему, чтобы осуществить принудительную загрузку хранителя экрана, защищенный паролем. В сценарий входа в систему включите строку подобную этой:
regedit /s \\MY_PDC\netlogon\scrn.reg
В файл "scrn.reg" поместите текст:
REGEDIT4 [HKEY_CURRENT_USER\Control Panel\Desktop] "ScreenSaveTimeOut"="1800" "ScreenSaveActive"="1" "SCRNSAVE.EXE"="c:\winnt\system32\logon.scr" "ScreenSaverIsSecure"="1"
Это приводит к приглашению ввести пароль после 30 минут неактивности рабочей станции (эта возможность не заставляет пользователя перерегистрироваться на компьютере; только вынуждает их повторно ввести пароль, прежде чем они снова получат доступ к компьютеру).
Каким образом нарушители получают пароли?
Нарушители получают пароли следующими путями:
Перехват открытого текста: Большое количество протоколов (Telnet, FTP, HTTP) используют передачу незашифрованные паролей при передаче по сети между клиентом и сервером. Нарушитель с помощью анализатора протоколов может "слушать" сеть в поисках таких паролей. Никаких дальнейших усилий не требуется; нарушитель может начать немедленно использовать эти пароли для регистрации в систему (сеть).
Перехват зашифрованного текста: Большинство протоколов, однако, использует некоторое шифрование паролей. В этих случаях нарушителю потребуется провести атаку по словарю или "подбор пароля" для того, чтобы попытаться провести дешифрование. Заметим, что вы по-прежнему не знаете о присутствии нарушителя, поскольку он/она является полностью пассивным и ничего не передает по сети. Взлом пароля не требует того, чтобы передавать что-нибудь в сеть, тогда как собственный компьютер нарушителя используется для аутентификации вашего пароля.
Повторное использование: В некоторых случаях нарушителям нет необходимости расшифровывать пароль. Они могут повторно передать зашифрованный пароль в процессе аутентификации.
Кража файла с паролями: Вся база данных пользователя обычно хранится в одном файле на диске. В ОС UNIX этим файлом является /etc/passwd (или некоторое зеркало этого файла) и в ОС Windows NT это SAM-файл. В любом случае, как только нарушитель получает этот файл, он/она может запускать программы взлома (описанные выше) для того, чтобы найти слабые пароли внутри данного файла.
Наблюдение: Одна из традиционных проблем при защите паролей заключается в том, что пароли должны быть длинными и трудными для расшифровки (для того, чтобы сделать Dictionary и Brute Force взломы неприемлемыми). Однако часто такие пароли очень трудно запомнить, поэтому пользователи записывают их где-нибудь. Нарушители могут часто обыскивать рабочие места пользователей для того, чтобы найти пароли, записанные на небольших клочках бумаги (обычно под клавиатурой). Нарушители могут также подглядывать пароли, стоя за спиной пользователя.
Социальный инжиниринг: Наиболее распространенный (удивительно успешный) метод - просто позвонить пользователю и сказать: "Привет, это Леха из отдела автоматизации. Мы пытаемся решить некоторые проблемы в сети, кажется, что они исходят от твоего компьютера. Какой пароль ты используешь?". Многие пользователи в такой ситуации называют свой пароль. (Во многих корпорациях существует политика, которая предписывает пользователям никогда не выдавать свой пароль, даже своим собственным подразделениям автоматизации, но этот метод по-прежнему является успешным. Одним из легких способов выполнить его заключает в звонке новичку, который работает менее месяца, и спросить у него пароль, затем взломать их, сделав это таким образом, что они долго будут помнить :-)
Каким образом нарушители проникают в системы?
Основные пути, по которым нарушители проникают в систему:
Физическое вторжение. Если нарушитель имеет физический доступ к компьютеру (т.е. они могут использовать клавиатуру или часть системы), они смогут проникнуть в нее. Методы могут быть различными - от специальных привилегий, которые имеет консоль, до возможности использования части системы и снятия винчестера (и чтения/записи его на другой машине).
Системное вторжение. Этот тип хакерской деятельности предполагает, что нарушитель уже имеет учетную запись в системе как пользователь с невысокими привилегиями. Если в системе не установлены самые последние патчи защиты, у нарушителя есть хороший шанс попытаться совершить известную атаку для получения дополнительных административных привилегий.
Удаленное вторжение. Этот тип хакерской деятельности подразумевает, что нарушитель пытается проникнуть в систему через сеть с удаленной машины. Этот нарушитель действует без каких-либо специальных привилегий. Существует несколько типов такой хакерской деятельности. Например, нарушитель тратит гораздо больше времени и усилий, если между ним или ей и выбранной машиной установлен МСЭ.
Заметим, что системы обнажения атак на уровне сети прежде всего имеют отношение к удаленному (дистанционному) вторжению.
Каким образом NIDS сравнивает сигнатуры с входящим трафиком?
Трафик состоит из IP-пакетов, проходящих через сеть. NIDS способна захватывать эти пакеты по мере их прохождения через сеть. NIDS состоит из специального TCP/IP-стека, который разбирает IP-пакеты и TCP-потоки. Затем они применяет некоторые из следующих методов:
Проверка стека протокола. Большое количество атак, таких как "Ping-Of-Death" или "TCP Stealth Scanning" используют, лежащие в основе всего стека протоколов TCP/IP, нарушения в IP, TCP, UDP и ICMP-протоколов для того, чтобы атаковать компьютеры. Простая проверка системы может показать недопустимые пакеты. Эта проверка может включать контроль допустимых, но подозрительных пакетов, таких как, например, несколько фрагментированных пакетов.
Проверка прикладных протоколов. Большое количество атак используют недопустимые режимы протоколов, например, "WinNuke", который использует недопустимые параметры NetBIOS-протокола. Для того чтобы эффективно обнаруживать эти атаки NIDS должна заново реализовать широкий ряд прикладных протоколов для того, чтобы обнаруживать подозрительные или недопустимые действия.
Создание новых регистрируемых событий NIDS может быть использована для расширения возможностей подсистемы аудита вашего ПО управлению сетью. Например, NIDS может просто регистрировать все протоколы на уровне приложения, используемые на компьютере. Системы регистрации событий в поступающем потоке данных (Windows NT Event Log, UNIX syslog, SNMP TRAPS и т.д.) могут затем сравнивать эти события с другими событиями в сети.
Каким образом обнаруживаются атаки?
Есть два основных способа обнаружения атак.
Распознавание сигнатуры является наиболее распространенным методом, при котором входящий/исходящий трафик сравнивается с известными "сигнатурами". Например, большое число TCP-соединений с различными портами указывает на то, что кто-то занимается сканированием TCP-портов.
Обнаружение аномалий является другим методом, когда отклонения от основного режима функционирования описываются такими параметрами как внезапное увеличение трафика, использование CPU, обращения к файлом и т.д.). Этот метод менее эффективный, чем распознавание сигнатуры, но имеет преимущество, которое заключается в том, что он может улавливать атаки, для которых нет сигнатур. Обнаружение аномалий с этой точки зрения является более теоретическим и представляет собой тему для интенсивных исследований (некоторые исследователи получают степень Ph.D. просто классифицируя сигнатуры), особенно в области нейронных сети, нечеткой логики или других методов искусственного интеллекта.
Обратите внимание, что обнаружение может осуществляться как в реальном масштабе времени, так и путем чтения журналов регистрации уже прошедших событий.
Какими являются некоторые наиболее распространенные варианты использования?
1.8.1 CGI-скрипты
CGI-программы являются незащищенными "по умолчанию". Типичные уязвимости включают прохождение зараженных данных непосредственно к командной оболочке, использование скрытых уязвимостей, конкретизирующих любое имя файла в системе, или, иначе, открывающих гораздо больше информации о системе, чем надо. Наиболее хорошо известная ошибка CGI - это 'phf'-библиотека, поставляемая вместе с NCSA httpd. 'Рhf'-библиотека может быть использована для получения любого файла с Web-сервера. Другие хорошо-известные CGI-скрипты, которые нарушитель возможно попытается использовать: TextCounter, GuestBook, EWS, info2www, Count.cgi, webdist,cgi, php.cgi, files.pl, nph-test-cgi, nph-publish, AnyForm, FormMail. Если вы видите, что кто-то пытается получить доступ к одному или всем из этих CGI-скриптов (и вы не используете их), то это ясно указывает на попытку вторжения.
1.8.2 Атаки на Web-сервер
Помимо выполнения CGI-программ, Web-сервера имеют другие возможные дыры. Большое количество Web-серверов (включая IIS 1.0 и NetWare 2.x) имеют "дыру", из-за которой название файла может включать ряд последовательностей "../" в названии пути для перемещения еще куда-либо в файловой системе и получения любого файла. Другая широко распространенная ошибка - это переполнение буфера в поле запроса или в одном из остальных HTTP-полей.
1.8.3 Атаки на Web-броузер
По-видимому, Web-броузеры компаний Microsoft и Netscape имеют уязвимости (хотя, конечно, в самых свежих версиях, насколько нам известно в данный момент, пока еще они не найдены. Что не отрицает их наличия - примечание переводчика). К таким атакам можно отнести URL-, HTTP-, HTML-, фрейм-, JavaScript-, Java- и ActiveX-атаки.
URL-поля могут стать причиной переполнения буфера, в процессе обработки в заголовке HTTP или выполнении в некоторой форме. Также старые версии Internet Explorer содержали ошибку, позволяющую выполнять файлы с расширением .LNK или .URL.
HTTP-заголовки могут использоваться для реализации атак путем передачи информации полям, которые не предназначены для приема этой информации.
HTML-теги часто могут быть использованы для атаки (например, MIME-переполнение в теге <EMBED> Netscape Communicator).
JavaScript делает возможной функцию "загрузка файла". В теории это действие безопасно, т.к. требует заполнения пользователем полей "имя файла" и нажатия кнопки submit. Однако, JavaScript может автоматизировать эту деятельность и, как следствие, хакер может выложить Web-страницу с указанным скриптом на свой сайт, и как только осуществляется переход пользователя на эту страницу, происходит загрузка указанных в скрипте файлов.
Фреймы могут также использоваться как часть атаки при помощи JavaScript или Java (например, хакер может создать фрейм размером 1х1 пиксел с враждебным кодом внутри).
Java имеет неплохую модель защиты, однако в ней иногда обнаруживаются ошибки. По умолчанию Java-апплеты не имеют доступа к ресурсам локального компьютера, но иногда необходимо, чтобы эта функция была разрешена. Этим и пользуются злоумышленники, обходя защитные механизмы модели безопасности Java.
ActiveX является более опасным, чем Java, так как считается доверенным кодом и имеет полный доступ к ресурсам локального компьютера. Вы можете неосторожно загрузить вирус, который был случайно или намеренно внедрен в код третьего разработчика.
1.8.4 SMTP (SendMail)-атаки
SendMail является чрезвычайно сложной и широко используемой программой, и как следствие, она является наиболее частым источником найденных уязвимостей. В прежние времена (времена червя Мориса), хакеры обычно использовали уязвимости в команде DEBUG или скрытой WIZ-характеристике для взлома протокола SMTP. В настоящее время они часто пытаются использовать переполнение буфера. SMTP также может быть использован в атаках с целью разведки, например, использование команды VRFY для определения имен пользователей на удаленной системе.
1.8.5 Доступ
Неудачные попытки регистрации, неудачные попытки доступа к файлам, взлом паролей, злоупотребление административными привилегиями.
1.8.6 IMAP
Пользователи запрашивают e-mail от серверов через IMAP-протокол (в противовес SMTP-передачам e-mail между серверами). Хакеры нашли большое количество ошибок в нескольких популярных IMAP-серверах.
1.8.7 IP spoofing
Есть диапазон атак, которые используют возможность подмены (или 'spoof') вашего IP-адреса. Тогда как исходный адрес посылается вместе с каждым IP-пакетом, на самом деле он не используется для маршрутизации. Это означает то, что вы можете притвориться, что вы являетесь соседом, когда посылаете пакеты к серверу. Однако все ответы будут возвращаться вашему соседу. Несмотря на то, что вы не увидите каких-либо данных таким способом, вы по-прежнему можете воспользоваться преимуществами этой атаки. Например, реализация атак типа "отказ в обслуживании" с указанием фальшивого адреса.
IP spoofing часто используется как часть различных атак:
SMURF
Исходный адрес при широковещательной передаче подделан таким образом, чтобы большое число машин ответила обратно жертве с данным исходным адресом, тем самым выводя ее из строя большим числом ответных пакетов ("отказ в обслуживании").
TCP sequence number prediction
При TCP-соединении выбирается порядковый номер последовательности, позволяющий восстанавливать пакеты в правильном порядке. Старые реализации стека TCP/IP выбирали предсказуемые порядковые номера, позволяя злоумышленникам создать TCP-соединение от имени поддельного IP-адреса, что потенциально позволяет обойти систему защиты.
DNS poisoning через предсказание последовательности
DNS-сервера используют рекурсивные запросы доменных имен. Таким образом, DNS-сервер, отвечающий на запрос пользователя, сам становится клиентом для следующего в цепочке DNS-сервера. Порядковые номера, используемые при этом, легко предсказываются. Злоумышленник может послать запрос к DNS-серверу и его ответ подделывается таким образом, чтобы выглядеть ответом от следующего сервера из цепочки. Этот подделанный ответ может использоваться для введения в заблуждения пользователей.
1.8.8 Buffer Overflows
Некоторые другие атаки типа "buffer overflow":
DNS overflow
DNS-серверу посылается длинное имя (больше чем 256 байт).
statd overflow
1.8.9 Атаки на DNS
DNS является важным компонентов сети и несанкционированный доступ к нему позволяет скомпрометировать доверенные соединения.
DNS cache poisoning
Каждый DNS-пакет содержит раздел Questions и раздел Answers. Уязвимые сервера будут доверять (и кэшировать) Answers, которые Вы посылаете серверам наряду с Questions. Многие, но не все DNS-сервера были исправлены в ноябре 1998 года.
DNS poisoning через предсказание последовательности
См. выше.
DNS overflow
См. выше.
Kerberos
Технология аутентификации и шифрования Kerberos () была разработана в Массачусетском технологическом институте и «выпущена в свет» в 1987 году. С того момента эта технология превратилась в стандарт, которым занимается рабочая группа Common Authentication Technology Working Group, сформированная при Internet Engineering Task Force.
Свободно распространяемые версии Kerberos предлагаются для платформ Macintosh, Unix и Windows. Коммерческие реализации созданы Microsoft, Oracle, Qualcomm и рядом других компаний. Microsoft вызвала критику специалистов, работающих на этом рынке, интегрировав в Windows 2000 версию Kerberos, не в полной мере соответствующую стандарту.
Классификация компьютерных атак
Когда мы говорим "компьютерная атака", мы имеем в виду запуск людьми программ для получения неавторизованного доступа к компьютеру. Формы организации атак весьма разнообразны, но в целом все они принадлежат к одной из следующих категорий:
Удаленное проникновение в компьютер: программы, которые получают неавторизованный доступ к другому компьютеру через Интернет (или локальную сеть) Локальное проникновение в компьютер: программы, которые получают неавторизованный доступ к компьютеру, на котором они работают. Удаленное блокирование компьютера: программы, которые через Интернет (или сеть) блокируют работу всего удаленного компьютера или отдельной программы на нем (для восстановления работоспособности чаще всего компьютер надо перезагрузить) Локальное блокирование компьютера: программы, которые блокируют работу компьютера, на котором они работают Сетевые сканеры: программы, которые осуществляют сбор информации о сети, чтобы определить, какие из компьютеров и программ, работающих на них, потенциально уязвимы к атакам. Сканеры уязвимых мест программ: программы, проверяют большие группы компьютеров в Интернете в поисках компьютеров, уязвимых к тому или иному конкретному виду атаки. Вскрыватели паролей: программы, которые обнаруживают легко угадываемые пароли в зашифрованных файлах паролей. Сейчас компьютеры могут угадывать пароли так быстро, что казалось бы сложные пароли могут быть угаданы. Сетевые анализаторы (снифферы): программы, которые слушают сетевой трафик. Часто в них имеются возможности автоматического выделения имен пользователей, паролей и номеров кредитных карт из трафика.
Классификация систем обнаружения атак
Обнаруживать, блокировать и предотвращать атаки можно несколькими путями. Первый, и самый распространенный, способ - это обнаружение уже реализуемых атак. Т.е. если обратиться предыдущему разделу и вспомнить этапы реализации атак, то в соответствии с этой классификацией данный способ функционирует на втором этапе осуществления атаки. Этот способ применяется в "классических" системах обнаружения атак (например, RealSecure компании Internet Security Systems), межсетевых экранах и т.п. Однако, "недостаток" средств данного класса в том, что атаки могут быть реализованы повторно. Они также повторно обнаруживаются и блокируются. И так далее, до бесконечности. Второй путь - предотвратить атаки еще до их реализации. Осуществляется это путем поиска уязвимостей, которые могут быть использованы для реализации атаки. И, наконец, третий путь - обнаружение уже совершенных атак и предотвращение их повторного осуществления. Таким образом, системы обнаружения атак могут быть классифицированы по этапам осуществления атаки (рис.3.):
Системы, функционирующие на первом этапе осуществления атак и позволяющие обнаружить уязвимости информационной системы, используемые нарушителем для реализации атаки. Иначе средства этой категории называются системами анализа защищенности (security assessment systems) или сканерами безопасности (security scanners). Обычно системы анализа защищенности не принято относить к классу средств обнаружения атак, однако, если следовать описанным выше этапам осуществления атаки, то такое отнесение вполне логично. Системы, функционирующие на втором этапе осуществления атаки и позволяющие обнаружить атаки в процессе их реализации, т.е. в режиме реального (или близкого к реальному) времени. Именно эти средства и принято считать системами обнаружения атак в классическом понимании. Помимо этого в последнее время выделяется новый класс средств обнаружения атак - обманные системы. Системы, функционирующие на третьем этапе осуществления атаки и позволяющие обнаружить уже совершенные атаки. Эти системы делятся на два класса - системы контроля целостности, обнаруживающие изменения контролируемых ресурсов, и системы анализа журналов регистрации.
Рисунок 3. Классификация систем обнаружения атак по этапу осуществления атаки
Помимо этого, существует еще одна распространенная классификация систем обнаружения нарушения политики безопасности - по принципу реализации: host-based, т.е. обнаруживающие атаки, направленные на конкретный узел сети, и network-based, направленные на всю сеть или сегмент сети. Обычно на этом дальнейшая классификация останавливается. Однако системы класса host-based можно разделить еще на три подуровня:
Application IDS, обнаруживающие атаки на конкретные приложения; OS IDS, обнаруживающие атаки на операционные системы; DBMS IDS, обнаруживающие атаки на системы управления базами данных.
Выделение обнаружения атак на системы управления базами данных (СУБД) в отдельную категорию связано с тем, что современные СУБД уже вышли из разряда обычных приложений и по многим своим характеристикам, в т.ч. и по сложности, приближаются к операционным системам. Таким образом, классификация систем обнаружения атак по уровню реализации выглядит следующим образом (рис.4.):
Можно заметить, что это деление соответствует уровням информационной системы предприятия (рис.1.).
Рисунок 4. Классификация систем обнаружения атак по принципу реализации
Классификация уязвимостей
Уязвимостью (vulnerability) я называю любую характеристику информационной системы, использование которой нарушителем может привести к реализации угрозы. При этом неважно, целенаправленно используется уязвимость или это происходит ненамеренно. В качестве нарушителя может выступать любой субъект корпоративной сети, который попытался осуществить попытку несанкционированного доступа к ресурсам сети по ошибке, незнанию или со злым умыслом.
Проблема уязвимостей и их обнаружения исследуется очень давно, и за время ее существования предпринимались различные попытки классифицировать уязвимости по различным критериям. Например, американские проекты Protection Analysis Project и RISOS, исследования лаборатории COAST или компании Internet Security Systems и т.д. Каждая организация приводила и обосновывала свою классификацию. Однако ни одна классификация не может быть категоричной. Например, уязвимость, использование которой для ОС Unix (например, переполнение буфера демона statd) может иметь самые плачевные последствия (самый высокий приоритет), для ОС Windows NT может быть вообще не применима или иметь очень низкую степень риска. Кроме того, существует неразбериха и в самих названиях атак и уязвимостей. Например, одна и та же атака, может иметь совершенно различные наименования у разных производителей (Таблица 1).
Таблица 1. Различные названия одной и той же уязвимости
CERT | CA-96.06.cgi_example_code |
CyberSafe | Network: HTTP 'phf' Attack |
ISS | http-cgi-phf |
AXENT | phf CGI allows remote command execution |
Bugtraq | PHF Attacks - Fun and games for the whole family |
BindView | #107 - cgi-phf |
Cisco | #3200 - WWW phf attack |
IBM ERS | Vulnerability in NCSA/Apache Example Code |
CERIAS | http_escshellcmd |
L-3 | #180 HTTP Server CGI example code compromises http server |
Для устранения описанной неразберихи с именованием уязвимостей и атак в 1999 году компания MITRE Corporation (http://www.mitre.org) предложила решение, независимое от различных производителя средств поиска уязвимостей. Это решение было реализовано в виде базы данных CVE (Common Vulnerability Enumeration), которая затем была переименована в Common Vulnerabilities and Exposures. Это позволило всем специалистам и производителям разговаривать на одном языке. Так, например, описанные в таблице 1 различные названия одной и той же уязвимости получили единый код CVE-1999-0067.
В разработке базы данных CVE помимо экспертов MITRE принимали участие специалисты многих известных компаний и организаций. Например, ISS, Cisco, BindView, Axent, NFR, L-3, CyberSafe, CERT, Carnegie Mellon University, институт SANS, UC Davis Computer Security Lab, CERIAS и т.д. О своей поддержке базы CVE заявили компании Internet Security Systems, Cisco, Axent, BindView, IBM и другие. Однако, несмотря на столь привлекательную инициативу, база данных CVE пока не получила широкого распространения среди производителей коммерческих продуктов.
В процессе практической деятельности я разработал свою классификацию, отражающую этапы жизненного цикла любой информационной системы (Таблица 2).
Таблица 2. Категории уязвимостей
Проектирование ИС | Уязвимости проектирования |
Реализация ИС | Уязвимости реализации |
Эксплуатация ИС | Уязвимости конфигурации |
Смысл уязвимостей второй категории (уязвимости реализации) заключается в появлении ошибки на этапе реализации в программном или аппаратном обеспечении корректного с точки зрения безопасности проекта или алгоритма. Яркий пример такой уязвимости - "переполнение буфера" ("buffer overflow") во многих реализациях программ, например, sendmail или Internet Explorer. Кстати, приведенный выше пример с ракетой Ariane 5 относится именно к этой категории уязвимостей. Обнаруживаются и устраняются такого рода уязвимости относительно легко - путем обновления исполняемого кода или изменения исходного текста уязвимого ПО. Еще одним примером уязвимостей реализации является случай с компьютерами Tandem, произошедший 1 ноября 1992 г. и 7 января 1993 г. В 3 часа ночи функционирование большинства компьютеров Tandem во всем мире было нарушено по причине сбоя в подсистеме BASE23 Nucleus, приводящего к переполнению переменной микрокода таймера при определении времени. Из-за этой ошибки значения системных часов было сброшено на декабрь 1983 г., что иногда приводило к неправильной интерпретации данных в различных финансовых приложениях.
Последняя причина возникновения уязвимостей - ошибки конфигурации программного или аппаратного обеспечения. Наряду с уязвимостями реализации они являются самой распространенной категорией уязвимостей. Существует множество примеров таких уязвимостей. К их числу можно отнести, например, доступный, но не используемый на узле сервис Telnet, использование "слабых" паролей или паролей менее 6 символов, учетные записи (accounts) и пароли, остановленные по умолчанию (например, SYSADM или DBSNMP в СУБД Oracle), и т.д. Обнаружить и исправить такие уязвимости проще всего (Таблица 3).
Таблица 3. Возможности по обнаружению и устранению уязвимостей
Уязвимости проектирования | Трудно и долго Трудно и долго (иногда невозможно) |
Уязвимости реализации | Относительно трудно и долго Легко и относительно долго |
Уязвимости конфигурации | Легко и быстро Легко и быстро |
Компьютерные преступления (кто и как их совершает)
(истории из опыта Билла Хэнкока, эксперта по компьютерной безопасности)
Владимир Казеннов,
>>>
Компоненты системы Internet Scanner
Система Internet Scanner&153; состоит из трех основных подсистем, предназначенных для тестирования сетевых устройств и систем (Intranet Scanner), межсетевых экранов (Firewall Scanner) и Web-серверов (Web Security Scanner).
Компоненты системы RealSecure
Система RealSecure использует распределённую архитектуру и содержит два основных компонента RealSecure Detector и RealSecure Manager. Первый компонент отвечает за обнаружение и реагирование на атаки, и состоит из двух модулей - сетевого и системного агентов. Сетевой агент устанавливается на критичный сегмент сети и обнаруживает атаки путем "прослушивания" трафика. Системный агент устанавливается на контролируемый узел и обнаруживает несанкционированную деятельность, осуществляемую на данном узле.
Компонент RealSecure Manager отвечает за настройку и сбор информации от RealSecure Detector. Управление компонентами системы RealSecure 3.0 возможно осуществлять как с централизованной консоли, так и при помощи дополнительного модуля, подключаемого к системе сетевого управления HP OpenView (HP OpenView Plug-In Module).
Контейнеры
Существенное влияние на надежность стегосистемы и возможность обнаружения факта передачи скрытого сообщения оказывает выбор контейнера.
Например, опытный глаз цензора с художественным образованием легко обнаружит изменение цветовой гаммы при внедрении сообщения в репродукцию "Мадонны" Рафаэля или "Черного квадрата" Малевича.
По протяженности контейнеры можно подразделить на два типа: непрерывные (потоковые) и ограниченной (фиксированной) длины. Особенностью потокового контейнера является то, что невозможно определить его начало или конец. Более того, нет возможности узнать заранее, какими будут последующие шумовые биты, что приводит к необходимости включать скрывающие сообщение биты в поток в реальном масштабе времени, а сами скрывающие биты выбираются с помощью специального генератора, задающего расстояние между последовательными битами в потоке.
В непрерывном потоке данных самая большая трудность для получателя - определить, когда начинается скрытое сообщение. При наличии в потоковом контейнере сигналов синхронизации или границ пакета, скрытое сообщение начинается сразу после одного из них. В свою очередь, для отправителя возможны проблемы, если он не уверен в том, что поток контейнера будет достаточно долгим для размещения целого тайного сообщения.
При использовании контейнеров фиксированной длины отправитель заранее знает размер файла и может выбрать скрывающие биты в подходящей псевдослучайной последовательности. С другой стороны, контейнеры фиксированной длины, как это уже отмечалось выше, имеют ограниченный объем и иногда встраиваемое сообщение может не поместиться в файл-контейнер.
Другой недостаток заключается в том, что расстояния между скрывающими битами равномерно распределены между наиболее коротким и наиболее длинным заданными расстояниями, в то время как истинный случайный шум будет иметь экспоненциальное распределение длин интервала. Конечно, можно породить псевдослучайные экспоненциально распределенные числа, но этот путь обычно слишком трудоемок. Однако на практике чаще всего используются именно контейнеры фиксированной длины, как наиболее распространенные и доступные.
Возможны следующие варианты контейнеров:
Контейнер генерируется самой стегосистемой. Примером может служить программа MandelSteg, в которой в качестве контейнера для встраивания сообщения генерируется фрактал Мандельброта. Такой подход можно назвать конструирующей стеганографией. Контейнер выбирается из некоторого множества контейнеров. В этом случае генерируется большое число альтернативных контейнеров, чтобы затем выбрать наиболее подходящий для сокрытия сообщения. Такой подход можно назвать селектирующей стеганографией. В данном случае при выборе оптимального контейнера из множества сгенерированных важнейшим требованием является естественность контейнера. Единственной же проблемой остается то, что даже оптимально организованный контейнер позволяет спрятать незначительное количество данных при очень большом объеме самого контейнера. Контейнер поступает извне. В данном случае отсутствует возможность выбора контейнера и для сокрытия сообщения берется первый попавшийся контейнер, не всегда подходящий к встраиваемому сообщению. Назовем это безальтернативной стеганографией.
Контроль доступа на основе содержания передаваемой информации
Во многих случаях необходимо контролировать доступ не на основе IP-адресов или каких-либо данных об отправителях/получателях, а в зависимости от содержания передаваемой информации. Например, многие атаки на сеть основаны на внедрении вирусов в коды загружаемых пользователями предприятия программ или в макросы загружаемых документов. Часто источником угроз является содержимое электронной почты, рассылаемой в массовом порядке. Еще одним распространенным типом содержания, представляющего потенциальную опасность для сети, являются Java и ActiveX апплеты, загружаемые в компьютеры предприятия при просмотре активных Web-страниц.
Средства контроля содержания могут также служить эффективным дополнением для традиционных средств контроля доступа в том случае, когда, например, доступ на уровне пользователей был ошибочно задан слишком свободно, но известен список ключевых слов, содержащихся в конфиденциальных документах.
Так как для каждого типа потенциально опасного содержания требуется применение специфических методов контроля, то доступ по содержанию обычно выполняется отдельными продуктами, дополняющими функции межсетевого экрана. Однако, для повышения оперативности защиты важно, чтобы экран мог самостоятельно выполнять некоторый набор примитивных функций, часто также относимых к контролю доступа по содержанию, например:
разрешение выполнения только определенного подмножества операций, определенных в протоколе (например, только команды GET в протоколе FTP или метода GET в протоколе HTTP), доступ только по определенному списку URL, доступ на основе списка разрешенных адресов электронной почты.
В остальных случаях межсетевой экран должен уметь взаимодействовать со специализированными продуктами, передавая им проверку определенного типа содержания.
Система безопасности FireWall-1/VPN-1 поддерживает развитые методы контроля доступа на основе содержания передаваемой информации. Модуль FireWall-1/VPN-1 позволяет задавать правила доступа для различных типов объектов-ресурсов, которые классифицируются в зависимости от типа протокола доступа (HTTP, FTP, SMTP), выполняемой протокольной операций (например, только GET для ресурса протокола FTP), адресов отправителя или получателя и других признаков.
Если в контролируемом трафике встречается ресурсный объект, удовлетворяющий заданным в правилах признакам, то его содержание проверяется и над ним выполняется некоторое действие. Базовые проверки и действия выполняют модули Security Server, входящие в состав FireWall-1/VPN-1, а более специфический контроль, содержания, например, проверка на наличие вирусов, контроль содержания электронной почты или блокирование Java и ActiveX угроз, может быть выполнен продуктами третьих фирм на основе открытых протоколов платформы OPSEC.
Платформу OPSEC сегодня поддерживают многие ведущие производители продуктов контроля содержания, например, Symantec, Contenet Security, Aladdin Knowledge Systems, Trend Micro, X-Stop, JSB Software Technologies, и процесс присоединения к OPSEC продолжается. Это дает возможность системам безопасности на основе FireWall-1/VPN-1 осуществлять разносторонний контроль содержания путем привлечения лучших продуктов третьих фирм и в то же время сохранять традиционный для FireWall-1 способ управления этим процессом - на основе правил политики.
Контроль и разграничение доступа
Технологии Интернет позволяют создать экономически выгодную глобальную коммуникационную инфраструктуру, которая обеспечит доступ в мировых масштабах работникам компании, покупателям, производителям оборудования, поставщикам и ключевым партнерам по бизнесу. Это является существенным расширением возможностей обмена совместно используемой информацией, однако увеличивает риск подвергнуть свою корпоративную сеть новым рискам и угрозам.
Как организация может противостоять неавторизованному доступу и защитить свои ресурсы и информацию? Контроль доступа - фундаментальный элемент любой политики безопасности, непосредственно ориентированный на решение этой задачи.