Основы защиты систем от несанкционированного доступа
Изначально материал назывался "Автоматизированная банковская система глазами хакера", однако фактически тематика статьи выходит за рамки этого заголовка, поскольку рекомендации, даваемые автором, касаются не только банковской сферы. С другой стороны, всем очевидно, что политики безопасности банков всегда отличаются "повышенной параноидальностью", поэтому некоторые вещи, обязательные для реализации в атоматизированной банковской системе (далее АБС), могут быть избыточными с т.з. вашей организации. И тем не менее мы можем рассматривать политику безопасности банка как своего рода эталонную модель.
Введение
Задача защиты информации, хранимой в компьютерных системах, от несанкционированного доступа (НСД), является весьма актуальной. Для решения этой задачи используется целый комплекс средств, включающий в себя технические, программно-аппаратные средства и административные меры защиты информации.
Построение надежной защиты компьютерной системы невозможно без предварительного анализа возможных угроз безопасности системы. Этот анализ должен включать в себя:
• оценку ценности информации, хранящейся в системе;
• оценку затрат времени и средств на вскрытие системы, допустимых для злоумышленников;
• оценку характера хранящейся в системе информации, выделение наиболее опасных угроз (несанкционированное чтение, несанкционированное изменение и т.д.);
• построение модели злоумышленника - другими словами, оценка того, от кого нужно защищаться - от постороннего лица, пользователя системы, администратора и т.д.;
• оценку допустимых затрат времени, средств и ресурсов системы на организацию ее защиты.
При проведении такого анализа защищенной системы эксперт фактически ставит себя на место хакера, пытающегося преодолеть ее защиту. Но для того, чтобы представить себя на месте хакера, вначале нужно понять, кто же такой хакер, от которого нужно защищать систему. В частности, нужно ответить на следующие вопросы:
• насколько высок профессиональный уровень хакера;
• насколько полной информацией об атакуемой системе обладает хакер;
• имеет ли хакер легальный доступ к атакуемой системе, если да, каковы его полномочия;
• какие методы атаки хакер будет применять с наибольшей вероятностью.
В настоящем материале рассматриваются вопросы, связанные с проведением анализа угроз для автоматизированной банковской системы (АБС) со стороны хакера. Рассматриваются типичный облик высококвалифицированного хакера, типичные атаки АБС, приводятся рекомендации по организации защиты АБС от действий хакеров.
Кто такие хакеры?
Хотя слово "хакер" в последнее время встречается в литературе очень часто, у употребляющих его авторов до сих пор не сложилось единое понимание того, кто же такие хакеры. Обычно со словом "хакер" ассоциируется специалист, обладающий очень высокой квалификацией в области компьютерной безопасности. По поводу того, как хакеры используют свои знания, имеются серьезные разногласия. Одни авторы называют хакерами тех, кто пытается взломать защищенные системы для того, чтобы затем сформулировать рекомендации по совершенствованию их защиты. Другие называют хакерами только "компьютерных асов", использующих свои знания в преступных целях. Мы не будем касаться нравственно-этических аспектов деятельности хакеров, и будем понимать под хакером лицо, которое пытается преодолеть защиту компьютерной системы, неважно, в каких целях.
В отношении атакуемой системы хакер может выступать в одной из следующих ролей:
• постороннее лицо, не имеющее легального доступа к системе. Хакер может атаковать систему только с использованием общедоступных глобальных сетей;
• сотрудник организации, не имеющий легального доступа к атакуемой системе. Более вероятна ситуация, когда в такой роли выступает не сам хакер, а его агент (уборщица, охранник и т.д.). Хакер может внедрять в атакуемую систему программные закладки. Если хакер сумеет подсмотреть или подобрать пароль легального пользователя, он может перейти в роль пользователя или администратора;
• пользователь системы, обладающий минимальными полномочиями. Хакер может атаковать систему, используя ошибки в программном обеспечении и в администрировании системы;
•- администратор системы. Хакер имеет легально полученные полномочия, достаточные для того, чтобы успешно атаковать систему. Для нейтрализации этой угрозы в системе должны быть предусмотрены средства противодействия несанкционированным действиям администраторов;
• разработчик системы. Хакер может встраивать в код системы "люки" (недокументированные возможности), которые в дальнейшем позволят ему осуществлять несанкционированный доступ (НСД) к ресурсам системы.
Профессиональный уровень хакеров варьируется в очень широких пределах. В роли хакера может выступать как школьник, случайно нашедший программу взлома на одном из серверов Internet, oак и профессионал. В телеконференциях Internet iеоднократно встречались сообщения о существовании организованных хакерских групп, поставивших взлом компьютерных систем на коммерческую основу. Руководство такими группами осуществляется профессионалами высочайшей квалификации.
В дальнейшем под словом "хакер" мы будем подразумевать наиболее высококвалифицированных хакеров, действия которых представляют наибольшую угрозу безопасности защищенных систем. Можно выделить следующие характерные черты такого хакера:
1. Хакер всегда в курсе последних новинок науки и техники в области компьютерной безопасности. Он регулярно просматривает материалы хакерских серверов Internet, читает хакерские телеконференции (newsgroups), выписывает несколько журналов по компьютерной безопасности.
2. Перед тем, как атаковать систему, хакер собирает максимум информации о ней. Он заранее выясняет, какое программное обеспечение используется в системе, старается познакомится с ее администраторами. Зная личные качества администратора, проще искать ошибки в политике безопасности системы.
3. Хакер не пренебрегает оперативно-техническими и агентурными методами. Для проникновения в защищенную сеть может быть достаточно поставить "жучок" в кафе, где обычно обедают администраторы.
4. Перед тем, как атаковать систему, хакер по возможности опробует средства атаки на заранее изготовленной модели. Эта модель представляет собой один или несколько компьютеров, на которых установлено то же программное обеспечение и соблюдается та же политика безопасности, что и в атакуемой системе.
5. Хакер не атакует систему, пока не будет уверен (или почти уверен) в успехе.
6. При первой атаке системы хакер обычно пытается внедрить в атакуемую систему программную закладку. Если внедрение закладки проходит успешно, вторая атака уже не требуется.
7. Атака системы происходит быстро. Администраторы обычно узнают об атаке только после ее окончания.
8. Хакер не использует особенно изощренных алгоритмов атаки системы - чем сложнее алгоритм атаки, тем больше вероятность ошибок и сбоев при его реализации.
9. Хакер не осуществляет атаку вручную - он пишет необходимые программы. При атаке системы чрезвычайно важна быстрота действий.
10. Хакер никогда не атакует систему под своим именем или со своего сетевого адреса.
11. Хакер заранее продумывает порядок действий в случае неудачи. Если атака не удалась, хакер старается замести следы. Если это невозможно, он старается оставить ложный след. Если, например, атака производится через Internet, ложный след можно оставить, проведя очень грубую и заведомо неудачную атаку системы с другого адреса. При анализе журнала аудита администратору будет трудно заметить следы основной атаки среди огромного количества зарегистрированных событий.
12. Если в атакуемой системе предусмотрен аудит, хакер старается его отключить.
13. Программная закладка, внедренная в систему, заметна только хакеру. С точки зрения других пользователей система работает как обычно.
14. При обнаружении программная закладка самоуничтожается. Кроме того, часто закладка программируется так, что ее самоуничтожение происходит, когда ей долго никто не пользуется. В этом случае хакеру не нужно беспокоиться об уничтожении вещественных доказательств.
Возможные атаки автоматизированной банковской системы
В общем случае автоматизированная банковская система включает в себя три основных уровня:
• одна или несколько систем управления базами данных (СУБД);
• одна или несколько операционных систем (ОС), обслуживающих СУБД и системы документооборота;
• сетевое программное обеспечение, обеспечивающее информационное взаимодействие рабочих станций и серверов банковской сети.
Атака АБС может осуществляться на любом из перечисленных уровней. Пусть, например, хакеру требуется прочитать определенные записи из базы данных (БД). Хакер может попытаться:
• прочитать эти записи средствами СУБД (атака на уровне СУБД);
• прочитать файлы БД (атака на уровне ОС);
• отправить в сеть пакеты определенного вида, получив которые, сервер БД предоставит хакеру требуемую информацию (атака на уровне сети).
Поскольку методы осуществления НСД к ресурсам АБС существенно различаются в зависимости от того, на каком уровне происходит атака АБС, эти методы для разных уровней целесообразно рассмотреть отдельно.
Возможные атаки на уровне СУБД
Защита базы данных является одной из наиболее простых задач защиты информации. Это обусловлено тем, что базы данных имеют четко определенную внутреннюю структуру, и операции над элементами баз данных также четко определены. Обычно над элементами баз данных определены всего четыре основные операции: поиск, вставка, замена и удаление. Другие операции носят вспомогательный характер и используются относительно редко. Такая простая структура системы защиты упрощает ее администрирование и сильно усложняет задачу преодоления защиты СУБД. В большинстве случаев хакеры даже не пытаются атаковать СУБД, поскольку преодолеть защиту АБС на уровнях операционной системы и сети гораздо проще.
Тем не менее, в отдельных случаях преодоление хакером защиты, реализуемой СУБД, вполне возможно. Такая ситуация имеет место в следующих случаях:
• если в АБС используется СУБД, защита которой недостаточно надежна;
• если используется недостаточно хорошо протестированная версия СУБД, содержащая ошибки в программном обеспечении;
• если администраторы базы данных допускают грубые ошибки при определении политики безопасности.
Кроме того, известны две атаки СУБД, для защиты от которых требуются специальные меры. К ним относятся:
• "атака салями", когда результаты округления результатов арифметических операций прибавляются к значению некоторого элемента базы данных (например, к сумме, хранящейся на личном счету хакера);
• статистическая идентификация. Эта атака позволяет получать конкретные значения тех полей базы данных, для которых доступна только статистическая информация. Основная идея заключается в том, чтобы так задать параметры запроса, что множество записей, по которым собирается статистика, включает в себя только одну запись.
Для реализации атаки на СУБД хакер должен как минимум являться пользователем СУБД.
Возможные атаки на уровне ОС
Защитить операционную систему гораздо сложнее, чем СУБД. Это обусловлено тем, что число различных типов защищаемых объектов в современных ОС может достигать нескольких десятков, а число различных типов защищаемых информационных потоков - нескольких сотен. ОС имеет очень сложную внутреннюю структуру и поэтому задача построения адекватной политики безопасности для ОС решается значительно сложнее, чем для СУБД.
Среди начинающих хакеров распространено мнение, что наиболее эффективные и опасные атаки ОС организуются с помощью сложнейших программных средств, использующих последние достижения науки и техники. Считается, что хакер обязательно должен быть программистом высочайшей квалификации.
На самом деле для преодоления защиты ОС вовсе не обязательно писать сложную программу. Искусство хакера заключается не в том, чтобы суметь написать программу, которая взламывает любую защиту, а в том, чтобы найти уязвимое место в конкретной системе защиты и суметь им воспользоваться. При этом наилучшие результаты достигаются при использовании самых простейших методов "влезания" в выявленные "дыры" в защите ОС. Чем проще алгоритм атаки, тем больше вероятность того, что атака пройдет успешно - возможности хакера по предварительному тестированию алгоритма атаки обычно сильно ограниченны. Возможность практической реализации той или иной атаки на ОС в значительной мере определяется архитектурой и конфигурацией ОС.
Тем не менее, существуют атаки, которые могут быть применены практически к любым операционным системам. К ним относятся следующие атаки:
1. Кража ключевой информации.
Может реализовываться с использованием следующих методов:
• подсматривание пароля при вводе пользователем. Существуют люди, которые могут подсмотреть вводимый пароль, глядя только на движения рук по клавиатуре. Поэтому то, что обычно при вводе пароль не высвечивается на экране, не гарантирует невозможность компрометации пароля;
• получение пароля из командного файла. Некоторые ОС при сетевой аутентификации (подключении к серверу) допускают ввод пароля из командной строки. Если аутентификация происходит с использованием командного файла, пароль пользователя присутствует в этом файле в явном виде;
• некоторые пользователи, чтобы не забыть свой пароль, записывают его в записные книжки, на бумажки, которые затем приклеивают к нижней части клавиатуры, и т.д. Для злоумышленника узнать такой пароль не составляет никакого труда. Особенно часто такая ситуация имеет место, если администраторы заставляют пользователей использовать длинные, труднозапоминаемые пароли;
• кража внешнего носителя ключевой информации. Некоторые ОС допускают использование вместо паролей внешних носителей информации (ключевые дискеты, Touch Memory, Smart Card и т.д.). Использование внешних носителей повышает надежность защиты ОС, но в этом случае появляется угроза кражи носителя с ключевой информацией;
• перехват пароля программной закладкой.
2. Подбор пароля. Могут использоваться следующие методы:
• неоптимизированный перебор;
• перебор, оптимизированный по статистике встречаемости символов и биграмм;
• перебор, оптимизированный с использованием словарей вероятных паролей;
• перебор, оптимизированный с использованием знаний о пользователе. В этом случае в первую очередь опробуются пароли, использование которых пользователем представляется наиболее вероятным (имя, фамилия, дата рождения, номер телефона и т.д.);
• перебор, оптимизированный с использованием знаний о подсистеме аутентификации ОС. Если ключевая система ОС допускает существование эквивалентных паролей, при переборе из каждого класса эквивалентности опробуется всего один пароль.
Все эти методы могут применяться в совокупности.
Если хакер не имеет доступа к списку пользователей ОС, подбор пароля пользователя представляет серьезную опасность только в том случае, когда пользователь использует тривиальный, легкоугадываемый пароль. Если же хакер получает доступ к списку пользователей, хакер может осуществлять перебор, не имея прямого доступа к атакуемому компьютеру или сети (например, хакер может унести список пользователей ОС домой и запустить программу перебора паролей на своем домашнем компьютере). В этом случае за приемлемое время может быть подобран пароль длиной до 8-10 символов.
3. Сканирование жестких дисков компьютера.
Хакер последовательно считывает файлы, хранящиеся на жестких дисках компьютера. Если при обращении к некоторому файлу или каталогу хакер получает отказ, он просто продолжает сканирование дальше. Если объем жесткого диска компьютера достаточно велик, можно быть уверенным, что при описании прав доступа к файлам и каталогам этого диска администратор допустил хотя бы одну ошибку. При применении этой атаки все файлы, для которых были допущены такие ошибки, будут прочитаны хакером. Несмотря на примитивность данной атаки, она во многих случаях оказывается весьма эффективной. Для ее реализации хакер должен быть легальным пользователем ОС. Если в ОС поддерживается адекватная (или близкая к адекватной) политика аудита, данная атака будет быстро выявлена, но если хакер организует атаку под чужим именем (именем пользователя, пароль которого известен хакеру), выявление этой атаки ничем ему не грозит.
4. Данный метод можно применять не только для сканирования дисков локального компьютера, но и для сканирования разделяемых ресурсов локальной сети.
5. "Сборка мусора".
Если в ОС допускается восстановление ранее удаленных объектов, хакер может воспользоваться этой возможностью для восстановления объектов, удаленных другими пользователями. В простейшем случае хакеру достаточно просмотреть чужую "мусорную корзину". Если хакер использует для сборки мусора программную закладку, он может "собирать мусор" не только на дисках компьютера, но и в оперативной памяти.
6. Превышение полномочий.
Используя ошибки в программном обеспечении или администрировании ОС, хакер получает в системе полномочия, превышающие предоставленные ему согласно текущей политике безопасности. Превышение полномочий может быть достигнуто следующими способами:
• запуск программы от имени пользователя, обладающего необходимыми полномочиями;
• запуск программы в качестве системной программы (драйвера, сервиса, демона и т.д.), выполняющейся от имени ОС;
• подмена динамически подгружаемой библиотеки, используемой системными программами, или несанкционированное изменение переменных среды, описывающих путь к такой библиотеке;
• модификация кода или данных подсистемы защиты ОС.
7. Атаки класса "отказ в обслуживании".
Эти атаки нацелены на полный или частичный вывод ОС из строя. Существуют следующие атаки данного класса:
• захват ресурсов - программа захватывает все ресурсы компьютера, которые может получить. Например, программа присваивает себе наивысший приоритет и уходит в вечный цикл;
• бомбардировка трудновыполнимыми запросами - программа в вечном цикле направляет операционной системе запросы, выполнение которых требует больших затрат ресурсов компьютера;
• бомбардировка заведомо бессмысленными запросами - программа в вечном цикле направляет операционной системе заведомо бессмысленные (обычно случайно генерируемые) запросы. Рано или поздно в ОС происходит фатальная ошибка;
• использование известных ошибок в программном обеспечении или администрировании ОС.
Если программное обеспечение ОС не содержит ошибок, и если в ОС соблюдается адекватная политика безопасности, все перечисленные атаки малоэффективны. Однако, как показано в [3], такая ситуация крайне маловероятна. Поэтому система защиты АБС обязательно должна быть устойчива к ошибкам программного обеспечения и администраторов. Меры защиты, которые должны быть предприняты для повышения устойчивости ОС к ошибкам, сильно различаются для разных ОС. Но какие бы меры защиты не принимались, полностью устранить угрозу преодоления хакером защиты ОС невозможно. Администраторы АБС должны так построить политику безопасности, что даже преодоление хакером рубежа защиты, создаваемого операционной системой, не позволило ему нанести серьезный ущерб АБС.
Если атака ОС не является конечной целью хакера, а используется как первый этап атаки АБС, наибольший интерес для хакера представляют файлы баз данных и файлы программного обеспечения, используемого СУБД. Поэтому АБС должна быть построена так, чтобы эти файлы не были доступны ни одному пользователю ОС рабочих станций. Доступ к БД должен быть возможен только через сервер базы данных. В противном случае хакер, преодолев защиту рабочей станции, сможет доступ к файлам БД.
В некоторых распределенных информационных системах в качестве серверов баз данных используются обычные файловые серверы. В этом случае пользователи СУБД могут получить доступ к файлам БД средствами операционной системы. Хакер, преодолев защиту ОС, также получит доступ к файлам БД. Хотя хакер не сможет использовать средства СУБД для доступа к внутренней структуре этих файлов, при наличии определенной квалификации это и не нужно - хакер сможет восстановить структуру базы данных вручную.
Для того чтобы хакер, преодолевший защиту ОС, не смог причинить серьезный ущерб информации, хранящейся в базе данных, распределенная СУБД должна иметь архитектуру клиент-сервер. При этом должны выполняться следующие требования:
• на рабочую станцию передаются только те данные, которые запрошены пользователем;
• файлы БД, хранящиеся на сервере, не являются разделяемыми с точки зрения ОС - разделение данных между пользователями имеет место только на уровне СУБД;
• при сетевом взаимодействии рабочих станций и серверов баз данных не используются объектно-ориентированные сетевые протоколы (типа SMB).
Эти требования достаточно очевидны, но, как показывает опыт, далеко не всегда администраторы ими руководствуются.
На всех компьютерах, входящих в состав АБС, должны быть установлены достаточно защищенные операционные системы (SCO UNIX, Windows NT, Solaris и др., но не Windows 95 или OS/2). Для каждой операционной системы политика безопасности должна быть адекватной. При определении адекватной политики безопасности целесообразно ориентироваться на требования класса защиты C2 "Оранжевой книги".
Возможные атаки на уровне сети
На уровне сетевого программного обеспечения возможны следующие атаки на АБС:
1. Прослушивание канала (возможно только в сегменте локальной сети). Практически все сетевые карты поддерживают возможность перехвата пакетов, передаваемых по общему каналу локальной сети. При этом рабочая станция может принимать пакеты, адресованные другим компьютерам того же сегмента сети. Таким образом, весь информационный обмен в сегменте сети становится доступным хакеру. Для успешной реализации этой атаки компьютер хакера должен располагаться в том же сегменте локальной сети, что и атакуемый компьютер.
2. Перехват пакетов на маршрутизаторе. Сетевое программное обеспечение маршрутизатора имеет доступ ко всем сетевым пакетам, передаваемым через данный маршрутизатор, что позволяет осуществлять перехват пакетов. Для реализации этой атаки хакер должен иметь привилегированный доступ хотя бы к одному маршрутизатору сети. Поскольку через маршрутизатор обычно передается очень много пакетов, тотальный их перехват практически невозможен. Однако отдельные пакеты вполне могут быть перехвачены и сохранены для последующего анализа хакером. Наиболее эффективен перехват пакетов FTP, содержащих пароли пользователей, а также электронной почты.
3. Создание ложного маршрутизатора. Хакер отправляет в сеть пакеты определенного вида, в результате чего компьютер хакера становится маршрутизатором и получает возможность осуществлять предыдущую угрозу. Ложный маршрутизатор необязательно заметен всем компьютерам сети - можно создавать ложные маршрутизаторы для отдельных компьютеров сети и даже для отдельных соединений.
4. Навязывание пакетов. Хакер отправляет в сеть пакеты с ложным обратным адресом. С помощью этой атаки хакер может переключать на свой компьютер соединения, установленные между другими компьютерами. При этом права доступа хакера становятся равными правам того пользователя, чье соединение с сервером было переключено на компьютер хакера.
5. Атаки класса "отказ в обслуживании". Хакер отправляет в сеть пакеты определенного вида, в результате чего один или несколько компьютеров сети полностью или частично выходят из строя.
Сетевой уровень АБС обычно наиболее уязвим для атак хакеров. Это обусловлено тем, что канал связи, по которому передаются сетевые пакеты, является открытым - каждый, кто имеет физический доступ к этому каналу, может отправлять в канал пакеты произвольного содержания. Для обеспечения надежной защиты сетевого уровня АБС необходимо добиться максимальной "закрытости" сетевых каналов связи, другими словами, максимально затруднить несанкционированный информационный обмен в защищаемой сети.Существуют следующие меры защиты, позволяющие это осуществить:
1. Максимальное ограничение объема защищаемой сети. Чем больше сеть (географически и по числу компьютеров), тем труднее ее защищать.
2. Изоляция сети от внешнего мира. Если сеть АБС имеет выход в Internet, то задача организации ее защиты существенно усложняется. Это обусловлено тем, что в этом случае любой пользователь Internet имеет физический доступ к защищаемой сети. Если в системе защиты сети АБС имеется ошибка (в программном обеспечении или политике безопасности), воспользоваться ей может любой пользователь Internet. Если изолировать защищаемую сеть от Internet невозможно, администраторы защищаемой сети должны уделять особое внимание ограничению доступа к сети пользователей Internet.
3. Шифрование сетевого трафика. Эта мера защиты позволяет полностью устранить угрозу перехвата пакетов. С другой стороны, шифрование трафика несколько снижает производительность сетевого программного обеспечения.
4. Цифровая подпись сетевых пакетов. Все пакеты, передаваемые по сети, должны быть подписаны криптографически стойкой цифровой подписью. Данная мера позволяет полностью устранить угрозу навязывания пакетов и большинство угроз, связанных с отказом в обслуживании. Однако, для того, чтобы эта мера защиты принесла реальную пользу, необходимо, чтобы цифровая подпись пакета была обязательна и неподписанные пакеты игнорировались. В противном случае цифровая подпись защищает только от искажения легально отправленных пакетов, но не от навязывания пакетов хакером. Обязательное применение цифровой подписи пакетов возможно только в том случае, когда программное обеспечение, необходимое для подписывания пакетов, установлено на каждом компьютере сети. Если защищаемая сеть имеет выход в Internet, цифровая подпись пакетов малоэффективна.
5. Межсетевые экраны (firewalls). Межсетевые экраны фильтруют передаваемые через маршрутизатор пакеты, не пропуская через маршрутизатор потенциально опасные пакеты, которые, возможно, были отправлены в сеть в ходе атаки сети хакером. Среди администраторов сетей распространено мнение, что межсетевые экраны позволяют надежно защитить локальные сети от атак хакеров из Internet, и являются в некотором роде панацеей. Однако это мнение в корне неверно.
Дело в том, что задача фильтрации пакетов является задачей искусственного интеллекта. Программа, не обладающая интеллектом, не всегда способна отличить потенциально опасный пакет от абсолютно безвредного. В результате при использовании межсетевых экранов типичной является ситуация, когда межсетевой экран, с одной стороны, не защищает от некоторых атак, и, с другой стороны, препятствует нормальной работе сетевого программного обеспечения.
Межсетевые экраны могут рассматриваться только как дополнительное средство защиты, которое целесообразно использовать, если защищаемую сеть невозможно изолировать от других сетей. При этом должны выполняться следующие требования:
• все пути передачи пакетов через межсетевые экраны должны быть статическими. Другими словами, сеть должна быть отконфигурирована так, что пакеты, относящиеся к одному сетевому соединению, проходили через один и тот же межсетевой экран. В противном случае невозможна корректная фильтрация фрагментированных пакетов. Если защищаемая сеть не очень велика, целесообразно организовать связь защищаемой сети с внешним миром через единственный маршрутизатор, оснащенный межсетевым экраном;
• политика фильтрации пакетов должна быть основана на принципе "все, что явно не разрешено, то запрещено";
• количество сетевых протоколов, используемых при взаимодействии защищаемой сети с внешним миром, должно быть максимально ограничено.
Несколько полезных советов (вместо заключения)
Выше были перечислены наиболее типичные подходы к взлому защищенных компьютерных систем, которые могут быть применены к автоматизированным банковским системам. Все перечисленные методы атаки и защиты АБС описаны в наиболее общей форме. Применения этих методов в конкретных ситуациях могут заметно отличаться от приведенных здесь описаний.
Тем не менее, даже в самом общем случае существуют определенные правила, которых целесообразно придерживаться при организации защиты. Эти правила сформулированы ниже в виде практических советов.
1. Всегда будьте в курсе последних новинок науки и техники в области компьютерной безопасности. Регулярно просматривайте материалы хакерских серверов Internet, подпишитесь на хакерские телеконференции (newsgroups). Подпишитесь на несколько журналов по компьютерной безопасности. Будьте образованнее вашего противника.
2. Не старайтесь организовать абсолютно надежную защиту - чем мощнее защита системы, тем труднее пользователям с ней работать.
3. Храните в тайне информацию о реализации защиты АБС. Чем меньше хакер знает об атакуемой системе, тем труднее ему осуществить атаку.
4. Не пренебрегайте административными мерами защиты.
5. Постарайтесь максимально ограничить объем защищаемой сети. Не подключайте защищаемую сеть к Internet без крайней необходимости.
6. Перед тем, как приобрести новое программное обеспечение, почитайте о нем на хакерских серверах Internet.
7. Размещайте серверы БД в охраняемом помещении. Никто не должен иметь доступ к базам данных иначе чем через сеть.
8. Не допускайте хранения конфиденциальной информации на рабочих станциях сети.
9. Ни один сервер БД не должен предоставлять услуги файлового сервера.
10. Все без исключения пакеты, передаваемые по открытым каналам связи, должны шифроваться.
11. Все без исключения пакеты должны подписываться цифровой подписью независимо от того, по какому каналу связи передается пакет.
12. Все пути передачи пакетов в защищаемой сети должны быть статическими.
13. Если защищаемая сеть физически связана с другими сетями, все пакеты, приходящие извне или уходящие вовне, должны проходить через межсетевые экраны. При этом должны осуществляться шифрование и подписывание пакетов.
14. Не пренебрегайте аудитом. Любая атака АБС должна быть зафиксирована в журнале аудита. Просматривайте журнал аудита не реже одного раза в день.
15. Если в журнале аудита зафиксировано необычно много событий, изучите новые записи этого журнала особо внимательно. Не исключено, что хакер подсовывает вам ложный след.
16. Регулярно проверяйте целостность программного обеспечения АБС.
17. Регистрируйте все изменения политики безопасности в специальном журнале (неэлектронном). Программная закладка, внедренная хакером, не сможет изменить данные в бумажном журнале. Регулярно сравнивайте текущую политику безопасности с той, которая описана в этом журнале.
18. Создайте в системе несколько ловушек для хакеров. В роли ловушки может выступать, например, документ с заманчивым именем, прочитать который невозможно без использования программной закладки. Если система аудита зафиксировала успешное обращение к этому документу, значит, хакер сумел внедрить закладку в защищаемую систему.
19. Регулярно тестируйте политику безопасности, принятую в вашей системе, специальными программами (satan, с2test и т.д.). Результаты работы этих программ рассматривайте как информацию к размышлению. Если программа тестирования говорит, что защищенность системы очень низка, посмотрите, к каким угрозам уязвима ваша система по мнению этой программы. Возможно, для вашей системы эти угрозы неактуальны. Если же программа тестирования, наоборот, сообщает, что с защитой в вашей системе все в порядке, это еще не повод успокаиваться.
Проскурин В.Г. Академия ФСБ России
Сетевые решения. Статья была опубликована в номере 12 за 2000 год в рубрике save ass…