Как обеспечить защиту информации в сети от хакерских атак? Журин Сергей, к.т.н. e-mail: sizh@mail.ru Пришло время, когда компьютерная безопасность вышла на первый план в работе любой организации. Ущерб от хакерских атак сопоставим с годовыми бюджетами крупнейших мировых стран. По данным исследования, проведенного Information Week по заказу PricewaterhouseCoopers, в 2000г. общая сумма ущерба, нанесенного интернет-бизнесу вирусами и хакерскими атаками, превысила 1,6 трлн. американских долларов. Крупные компании уже не могут полагаться только на профессионализм собственных программистов. Возможность причинения большого ущерба в результате взлома информационных систем привела к возникновению нового вида коммерческого страхования - от ущерба, нанесенного хакерами. Максимальная сумма возмещения в известной английской страховой компании Lloyd's по этому виду страхования составляет 100 млн. долларов. По прогнозам аналитиков, через 10 лет мировой рынок страхования компьютерных систем от хакеров достигнет объема в несколько миллиардов долларов. При этом эксперты сходятся во мнении, что время одиночных хакеров уходит. Им на смену пришли целые команды компьютерных взломщиков, способные на атаки с глобальными последствиями. Одним из последних примеров тому является возникшее после терактов в США объединение американских хакеров под названием Dipatchers. В законодательство наиболее развитых в сфере информационных технологий стран уже внесены законы, устанавливающие суровую ответственность за взлом компьютерных систем безопасности. Однако борьба с хакерством сильно затруднена, поскольку их очень сложно отследить. Известны прецеденты удачного поиска компьютерных террористов. Наглядным примером является процесс над 16-летним жителем Калифорнии, США, ставшим всемирно известным под псевдонимом Mafiaboy. Он сумел в конце 2000г. взломать сайты, как Amazon.com, CNN.com, eBay.com и Yahoo.com. В результате, прямой ущерб от его действий составил около 1,7 млрд. долларов. 1 Что делать? Как обеспечить защиту от хакеров? Причем даже не от хакеров, которым скучно и поэтому они захотят взломать сеть, а от нанятых конкурентов программистов-профессионалов, один из которых работал раньше в компании? Типы хакеров и их помощников В отношении атакуемой системы хакер может быть: Внешний нарушитель, не имеющий легального доступа к системе. Хакер может атаковать систему только с использованием общедоступных сетей, например модем. Выделенная сеть обычно не используется, поскольку обнаружить ее пользователя по сетевому адресу достаточно несложно; Сотрудник организации, не имеющий легального доступа к атакуемой системе: уборщица, охранник и т.д. Он может помочь хакеру подсмотреть пароль, написанный на мониторе или бумажке под клавиатурой. Пользователь системы, обладающий минимальными полномочиями в системе. Он может внедрять в атакуемую систему программные закладки и найти пароль администратора или атаковать систему, используя ошибки в программном обеспечении и в администрировании системы; Администратор системы. Хакер имеет легально полученные полномочия, достаточные для того, чтобы успешно атаковать систему. Для нейтрализации этой угрозы в системе должны быть предусмотрены средства противодействия несанкционированным действиям администраторов; Разработчик системы. Хакер может встраивать в код системы “программные люки”, которые в дальнейшем позволят ему осуществлять несанкционированный доступ к ресурсам системы. Например, разработчик автоматизированной банковской системы может задать время, по которому деньги переведутся на другой счет 2 (года через три), или при открытии счета на зарезервированное имя в этом банке, этот счет будет обладать особыми привилегиями. Тактика действий хакера Тактика действий хакера в отношении атакуемой системы обычно состоит из следующих элементов: 1. Просмотр материалов хакерских серверов Internet, хакерских телеконференций, журналов по компьютерной безопасности. Анализ новых программ взлома, новых программ защиты информации. Профессиональный хакер всегда в курсе последних новинок. 2. Сбор информации о системе: какое программное обеспечение используется в системе, знакомство с пользователями. Зная личные качества администратора, проще искать ошибки в политике безопасности системы, а зная пользователей его личную жизнь достаточно не сложно подобрать пароль: не секрет что пароль обычно состоит или из простых слов, типа «бог» (что особенно характерно для системных администраторов), или последовательности соседних клавиш, а также из набора значимых для человека слов: имя жены, ребенка, номер квартиры, дата свадьбы. Это и проще запоминается и приятней набирается. 3. Дистанционное наблюдение на действиями пользователями: с помощью длиннофокусных объективов можно разглядеть какие клавиши набирает пользователь перед входом в систему. 4. Разработка программ внедрения. При атаке системы чрезвычайно важна быстрота действий, которую может дать только программа. Перебор паролей вручную, поиск точек входа в систему, которые показывают в фильмах ушел в прошлое: такие атаки легко обнаруживаются. Тем более программы сделают этот вход в миллион раз быстрее. 5. Отладка средств атаки на заранее изготовленной модели. Эта модель представляет собой один или несколько компьютеров, на которых 3 установлено то же программное обеспечение и соблюдается та же политика безопасности, что и в атакуемой системе. 6. Анализ успешности действий. Если хакер будет раскрыт, он может провалится на допросе и выдать других хакеров: они обычно связаны друг с другом достаточно тесно. Также при невысокой вероятности успешных действий начинать атаку плохо, потому что после обнаружения атаки все входы в систему будут закрыты. 7. Порядок действий в случае неудачи. Если атака не удалась, хакер проводит очень грубую и заведомо неудачную атаку системы с другого адреса. 8. Совершение атаки. Атака системы происходит быстро. Администраторы обычно узнают об атаке только после ее окончания. Это является одним из самых плохих качеств хакерской атаки – неожиданность. Если при вооруженном нападении нарушителя какоето время видно, его можно задержать, найти по следам, то хакерская атака может пройти даже незамеченной, после чего, например, компания может разориться из-за потери ноу-хау. 9. Программное заметание следов. Программная закладка с помощью которой была осуществлена акция (подбор пароля, копирование файлов,…) после реализации акции самоуничтожается. Возможные атаки на информацию в сети и способы защиты от них Атака может осуществляться на уровне СУБД, операционной системы, сети. 1. Атаки на уровне СУБД Атака на уровне СУБД используется достаточно редко и связана, в основном только с неправильной политикой системного администратора разграничения прав доступа легальных пользователей. 4 Защита от атак на уровне СУБД обеспечивается грамотной политикой безопасности (в основном разграничение прав доступа), и использованием сертифицированного программного обеспечения. 2. Атаки на уровне ОС ОС имеет очень сложную внутреннюю структуру, ежесекундно в системе выполняется десятки разных процессов, а если это сервер, то около сотни. Различная архитектура и конфигурация ОС является ведущим фактором при определении уязвимых мест: неиспользуемые, неблокированные порты, файлы хранения паролей. Хакеры могут использовать стандартные программы сканирования портов, подбора паролей. Во многих открытых операционных системах разработчики оставляют «потайные» ходы, которые используются для отладки системы. Часто эти ходы не убираются при продаже программного продукта и хакеры используют их. Пароли к ресурсам и программам, которые Windows отображает звездочками, легко можно узнать с помощью маленькой программки OpenPass. Запустив эту программу вместо звездочек отобразятся сами пароли. В WindowsXX максимальная длина пароля составляет 8 символов, а все сохраненные пароли находятся в файлах *.PWL в зашифрованном виде (расширение файла - PassWord List). Алгоритм шифрования в Windows'95 был очень слаб, причем в Win API существовала недокументированная функция 'WNetEnumCachedPasswords', возвращающая все пароли. Начиная с OSR2 недокументированная функция убрана, а методом шифрования выбран алгоритм RC4. Ядро парольной защиты задумано в общем неплохо, но все символы пароля хранятся в верхнем регистре, поэтому пароль довольно быстро расшифровывается. Это можно сделать при помощи ряда типовых хакерских программ. Программный пакет Microsoft Office является самым популярным и наиболее используемым для подготовки документов. При работе с приложениями MS Office возникает проблема обеспечения 5 конфиденциальности информации, хранящейся в документах. К сожалению не все способы защиты, реализованные в этом пакете, позволяют надежно защитить информацию. Существующие стандартные программы перебора паролей можно найти на нескольких сайтах Интернета. Распространяемые бесплатные версии этих программ позволяют узнать пароль из трех-четырех символов. Но за 50$ разработчики предлагают подвезти программу по взлому паролей любой длины программ Microsoft Office. Рассмотрим атаки, которые могут быть применены практически к любым операционным системам: 1. Кража ключевой информации. Может реализовываться с использованием следующих методов: Подсматривание пароля при вводе пользователем. Кража носителя. Перехват пароля программной закладкой, при вводе его пользователем. Например, программа эмулирует окно ввода пароля, после ввода запоминает его и перегружает систему, якобы из-за ошибки. 2. Подбор пароля. Могут использоваться следующие методы, которые могут быть реализованы хакерскими программами (для типовых систем) или парольными закладками: неоптимизированный перебор; перебор, оптимизированный по статистике встречаемости символов; перебор, оптимизированный с использованием словарей вероятных паролей; перебор, оптимизированный с использованием знаний о пользователе. В этом случае в первую очередь опробуются пароли, использование которых пользователем представляется наиболее вероятным (имя, фамилия, дата рождения, номер телефона и т.д.); перебор, оптимизированный с использованием знаний о подсистеме аутентификации ОС. Например, сервер mtu использовал начальные символы для всех пользователей AVT, далее следовал 6 шестисимвольный цифровой код, для которого создавался пароль по определенному алгоритму. В случае нахождения такого алгоритма хакером, использование «денег» пользователей для входа в сеть и манипуляция их счетами была бы достаточно простой. Анализ файла, в котором хранятся пароли. Если известен хотя бы один пароль, например пользователя который похитил этот файл, то задача поиска остальных паролей несколько упрощается. А если известен механизм шифрования, характерный для типовых ОС, то выудить часть паролей будет для профессионального хакера достаточно просто. 3. Сборка мусора. Часто операционная система уничтожает файл, не стирая физически его с диска. Например, классическая схема, применяемая в FAT32 – замена первого символа файла на «х», при уничтожении файла пользователем. Этот файл можно успешно восстановить программкой unerase из стандартного пакета Norton Utilities. Также в системах NTFS, Novell Netware есть стандартные программы восстановления удаленных файлов. Особенно хорошо восстанавливаются файлы при использовании большого дискового пространства: ОС не успевает стереть связи между кластерами удаленных файлов при заполнении новых кластеров. 4. Превышение полномочий. Используя ошибки в администрировании ОС, хакер может превысить полномочия: запуск программы от имени необходимыми полномочиями; пользователя, обладающего запуск программы в качестве системной программы, выполняющейся от имени ОС; подмена динамически подгружаемой библиотеки, используемой системными программами, или изменение переменных среды, описывающих путь к такой библиотеке. 5. Атаки для вывода ОС из строя: программа присваивает себе наивысший приоритет и уходит в вечный цикл; 7 программа в вечном цикле направляет операционной системе запросы, выполнение которых требует больших ресурсов компьютера; программа в вечном цикле направляет операционной системе заведомо бессмысленные запросы. Рано или поздно в ОС происходит фатальная ошибка; Защита от атак на уровне ОС. Администраторы сети должны так построить политику безопасности, что даже преодоление хакером рубежа защиты, создаваемого операционной системой, не позволило ему нанести серьезный ущерб информации. Необходимо разграничивать права доступа, анализировать подключения удаленных пользователей, менять пароли,… На всех компьютерах, должны быть установлены достаточно защищенные операционные системы (SCO UNIX, Windows NT, Solaris и др., но не Windows 95 или OS/2). Типовой политикой хакера является подбор пароля. При этом доступ к ресурсам становится прозрачным. Это значительно проще других методов взлома. Наиболее эффективной контрмерой против подбора паролей является комбинация продуманной политики по выбору паролей и взвешенной политики блокирования учетных записей. Для того чтобы свести к минимуму риск подобного взлома, приложение должно блокировать учетную запись после нескольких неудачных попыток входа. Однако не следует впадать и в другую крайность - следует не забывать о том, что при параноидальной политике блокирования учетных записей может искусственно возникнуть состояние отказа в обслуживании. Воспользовавшись этим, злоумышленник сможет заблокировать все учетные записи системы. Многие разработчики выбирают золотую середину - блокируют учетную запись на некоторое время, скажем, на десять минут, что позволяет достаточно эффективно противостоять попыткам подбора паролей, существенно снижая производительность работы взломщика. Применение строгой политики по выбору паролей обеспечивает снижение случайного угадывания регистрационных данных пользователя. Достаточно большой объем перечня возможных вариантов паролей, а также длина пароля не менее восьми символов в комбинации с надежной политикой блокирования учетных 8 записей позволяют успешно противостоять попыткам взлома путем перебора всех возможных вариантов. 3. Атаки на уровне сети На уровне сетевого программного обеспечения возможны следующие атаки на АС: 1. Перехват пакетов, передаваемых по общему каналу локальной сети. 2. Создание ложного маршрутизатора. Хакер отправляет в сеть пакеты определенного вида, в результате чего компьютер хакера становится маршрутизатором. 3. Навязывание пакетов. Хакер отправляет в сеть пакеты с ложным обратным адресом. С помощью этой атаки хакер может переключать на свой компьютер соединения, установленные между другими компьютерами. При этом права доступа хакера становятся равными правам того пользователя, чье соединение с сервером было переключено на компьютер хакера. Защита от атак на уровне сети. Сетевой уровень АС обычно наиболее уязвим для атак хакеров, хотя и несколько более сложен. Для обеспечения надежной защиты сетевого уровня АС необходимо добиться максимальной “закрытости” сетевых каналов связи. Существуют следующие меры защиты, позволяющие это осуществить: 1. Уменьшение количества защищаемых компьютеров и концентрация их в одном помещении. 2. Изоляция сети от внешнего мира. Необходимо обязательно физически отключить сеть от других, особенно от Интернета. 3. Шифрование сетевого трафика. Эта мера защиты позволяет полностью устранить угрозу перехвата пакетов. Но шифрование трафика снижает производительность сети. 9 4. Цифровая подпись сетевых пакетов. Все пакеты, передаваемые по сети, должны быть подписаны криптографически стойкой цифровой подписью. 5. Межсетевые экраны. В настоящее время существуют следующие типовые пакеты. Agnitum Outpost Firewall Свободно распространяемый программный продукт компании Agnitum. Поддерживает русский язык, имеет очень подробную документацию по установке и настройкам, при инсталляции не вызывает никаких затруднений. Имеет Windows-подобный интерфейс, имеется большое количество стандартных правил, что тоже немаловажно для начинающих. Имеет обучающий режим, активизирующийся при первой загрузке, после каждого входящего и исходящего соединения в режиме обучения создает правила в диалоге с пользователем. Все правила, сразу же после создания, применяются для фильтрации входящего и исходящего трафика. Кроме режима обучения имеет: режим блокировки; режим полной блокировки; разрешающий режим, когда фаервол пропускает весь трафик, который явно не запрещен правилами. Фаервол позволяет создавать IPсписок на трафик (демилитаризованную зону). Имеется режим Stealth, при включении которого компьютер не отвечает на внешние запросы. Фаерволом ведутся подробные журналы, ведется статистика подключений (в реальном времени). Программа поддерживает следующие возможности: Кеширование DNS - позволяет быстрее перемещаться по URL; Детектор атак - определяет сканирование, блокирует атаку и анализирует подозрительные действия; Реклама - вырезает баннеры и все на них похожее. Norton Internet Secutiry (NIS) Предоставляет возможности фаервола, описанного выше. Имеет режим автоматического создания правил для программ, которые известны NIS. Имеет три уровня обеспечения безопасности (minimal, normal, high), в зависимости от выбранного уровня конфигурирует обработку входящего и исходящего трафика. Умеет отсекать баннеры, предоставляет возможность работы нескольких 10 пользователей с индивидуально настроенными правилами работы. В программе имеется стандартный набор правил, есть возможность ручной настройки каждого правила. Ведет журналы логов, статистику подключений, может обновляться через Интернет. ZoneAlarm Продукт компании ZoneLabs. Имеет яркий, но понятный для пользователя интерфейс. К программам, которым разрешено или запрещено обращение к сети, ZoneAlarm выводит не только названия, но и ярлыки, выделяя этим самым, какая из программ в данный момент работает с сетью. Программа различает два вида соединений: соединения в локальной сети и Internet-соединения. При этом позволяет для каждой программы разрешать или запрещать соединения отдельно в локальной сети и отдельно с Internet'ом. Предусмотрена гибкая настройка локальной зоны, можно вводить как единичные IP-адреса, так и их диапазоны и подсети. Имеется три вида статуса для программы, "желающей" выйти с сеть: разрешение, запрет и 'неопределенный статус'. Имеется функция блокирования всех входящих и исходящих соединений, с возможностью автоматической активации этого режима по истечении установленного времени. Для любой программы есть возможность выставить статус PASS LOCK, который позволяет ей при активном "замке" получать доступ к сети. Фаервол может производить настройку трех уровней безопасности: высокого, среднего и низкого. Программа ведет логи всех сообщений и запросов. Кроме всего прочего в фаерволе имеется функция отслеживания обращений VBScripts в письмах электронной почты, средства для построения графиков количества принятых и переданных пакетов. MailControl Она находится в памяти компьютера и следит за информацией, отправляемой на почтовые сервера. Причем в отличии от фаервола она покажет не только на какой почтовый сервер и чем отправляется информация, но и укажет E-mail адресата. Для MailControl можно определить, какие приложения будут заниматься отправкой почты. О попытках отправить информацию какими-либо неизвестными программами MailControl сразу же сообщит. 11 Как обеспечить защиту? Использование только программ защиты не может обеспечить полной защиты: для этого используется целый комплекс средств, включающий в себя технические, программно-аппаратные средства и административные меры защиты информации. Для этого необходимо провести анализ возможных угроз безопасности: 1. оценить ценность информации, хранящейся в системе; 2. Выделить наиболее опасные угрозы; 3. Построить модель нарушителя в зависимости от ценности защищаемой информации:: насколько высок профессиональный уровень хакера, насколько полной информацией о системе может обладать хакер, какие методы атаки будут применяться. При этом необходимо анализировать: кто из сотрудников ушел из организации, по каким причинам, можно ли ожидать хакерских атак от своих пользователей. 4. Защитить наиболее привлекательную информацию в локальной (физически не подключенной к другим сетям), менее привлекательную с использованием программных средств защиты с соблюдением следующих рекомендаций: Не желательно организовать очень сильную защиту – чем мощнее защита системы, тем труднее пользователям с ней работать. Будут чаще сбои в системе и она будет медленнее работать. Иногда файервол может отказать в типовом запросе легальному пользователя. Целесообразно максимально ограничить количество защищаемых компьютеров. Не подключать защищаемую сеть к Internet. Лучше использовать несколько отдельных рабочих станций для выхода в Internet. Если защищаемая сеть физически связана с другими сетями, все пакеты, приходящие извне или уходящие вовне, должны проходить через 12 межсетевые экраны. При этом должны осуществляться шифрование и подписывание пакетов. Вести журнал аудита. Любая атака АС должна быть зафиксирована в журнале аудита. Менять пароли и задавать их должен только администратор. Использовать только лицензионное программное обеспечение. Перед тем, как приобрести новое программное обеспечение, почитать о нем на хакерских серверах. Создать в системе несколько ловушек для хакеров, например документ с заманчивым именем и просматривать возможные атаки для этотго документа. Регулярно просматривать материалы хакерских журналы по компьютерной безопасности. серверов Internet, Пароль должен меняться каждый день по определенному алгоритму для особо защищенных сетей. 13