Ступени к информационной безопасности

Компьютеры все глубже проникают в нашу повседневную жизнь. Однако с ростом информатизации обостряются проблемы безопасности. Компьютеры и компьютерные сети становятся средством совершения таких "традиционных" преступлений, как подлоги, хищения, махинации, диверсии и пр. Наш лексикон пополнился новыми терминами: "компьютерная преступность", "вредоносные программы", "программные вирусы и закладки", "компьютерные войны", "хакеры", "компьютерные вандалы" и т. д. В уголовном кодексе некоторых стран приняты специальные статьи, относящиеся к посягательствам на компьютерную информацию. Однако "карательные" меры не могут радикально решить возникшую проблему. Во всем мире растет число компьютерных преступлений и материальный ущерб от них.

Надо отдать должное крупнейшим мировым производителям операционных систем и прикладных программ, которые большое внимание уделяют безопасности. С появлением очередных версий программного обеспечения наряду со значительным расширением функциональных возможностей мы узнаем о тех или иных новшествах, повышающих стойкость систем и сетей к несанкционированному доступу (НСД) злоумышленников. Но проходит время, и мы узнаем о различных атаках на системы безопасности, о слабостях программного обеспечения и способах получения несанкционированного доступа к информации. Почему же так происходит? Новые криптографические алгоритмы, увеличение длины ключа, совершенствование протоколов управления и взаимодействия элементов системы, казалось бы, должны решить все проблемы всерьез и надолго. Причин, конечно же, множество. В рамках одной статьи трудно дать универсальные рекомендации для правильного выбора систем защиты. Поэтому рассмотрим лишь некоторые общие случаи.

Локальная сеть

Попробуем глазами хакера взглянуть на стоящую перед ним задачу. Производить прямую атаку на криптографические алгоритмы сложно. Даже специальные лаборатории с мощным научным и техническим потенциалом практически не могут это осуществить, а хакеры, как правило, не имеют соответствующего математического и криптографического образования. Но если есть известные и доступные методы и способы атаки, то это меняет дело. Вывод первый: используйте в системе хорошо зарекомендовавшие себя стандартные криптографические алгоритмы и с осторожностью относитесь к применению новых: они могут таить в себе "подводные камни". Должно пройти время для их всеобщего признания и утверждения в качестве стандарта хотя бы одной из известных в мире организаций по стандартизации в области криптографии.

Много полезной информации о системе можно извлечь при подключении к сети. Анализ трафика работы пользователя позволяет хакеру узнать пароли или условия входа в систему, идентификационные данные, ключи, смысловое содержание передаваемых и принимаемых данных. Впоследствии эта информация может быть использована для входа в систему с правами легального пользователя. Даже завладев частичными полномочиями, есть шанс нанести серьезный ущерб системе. Вывод второй: применение защищенных сетевых протоколов, основанных на надежных криптографических алгоритмах шифрования и аутентификации, сведут на нет все усилия хакера в данном направлении. В последнее время появились новые стандарты на протоколы, учитывающие концепцию безопасности, в том числе относящиеся к семейству TCP/IP, например IPv6. Спектр прикладных программ, реализующих функции защиты, как по отдельности, так и в целом, достаточно широк, выбор есть.

"Добро пожаловать" или "Посторонним вход воспрещен"?

Смоделируем для хакера задачу проще: средство защиты или его аналог с пользовательской документацией находятся у него в руках. "Разве такое может быть?" — спросите вы. В том-то и дело, что вполне. Например, бухгалтеру предприятия стало накладно возить каждый день в банк платежные поручения и брать выписки о балансе расчетного счета. Узнав об автоматизированной системе "клиент-банк" и всех преимуществах этого сервиса, он обращается в банк и устанавливает у себя необходимое аппаратное и программное обеспечение. Кто может дать гарантию, что одним из клиентов не окажется компьютерный злоумышленник? Итак, программный комплекс клиента и соответствующее оборудование у хакера есть. Что дальше? Вскрытие криптографического алгоритма — сложная задача. Остается проверенный способ — дизассемблирование программы, ее трассировка одновременно на двух компьютерах для изучения механизмов защиты и точек принятия решения. Если есть ошибки в протоколах обмена или реализации системы безопасности, то этим незамедлительно можно воспользоваться, а впоследствии изучить трафик работы реального клиента и выявить отличия. При этом программы защиты пользователя и злоумышленника разнятся только идентификационной и ключевой информацией. Не представляет сложности определить место хранения этих секретных данных. Вот и готова программа-шпион, которую легко отладить на своем рабочем месте. Существует множество способов перенести ее на машину клиента. После активизации ключи пользователя в одном из сеансов связи могут быть переданы в открытый канал вместе с сообщением.

Производители программных средств защиты для исключения подобных случаев рекомендуют применять строгие организационные меры, не допускать к компьютеру посторонних лиц, не использовать компьютер с защитой не по назначению, опечатывать комнату и пр.

"Железные" ворота

В чем же принципиальное отличие программных средств защиты от аппаратных? Почему хакеры пасуют перед последними? Для того чтобы получить ответы на поставленные вопросы, необходимо разобраться в принципах работы программы на персональном компьютере и в специальном устройстве.

ПК относятся к классу так называемых открытых систем: они разрешают пользователям вносить изменения в программное обеспечение или создавать новое. Программист из всего огромного массива данных, находящихся в оперативной памяти, может выделить код выполняемой в настоящий момент программы. Его анализ, изменение и запуск модифицированного кода являются "открытыми воротами" для распространения вирусов. Поэтому вместо вопроса "Можно ли "вскрыть" программу?" правильнее будет задать следующий: "Сколько времени требуется для этого, какие предоставляются средства и какова цель работы?".

В отличие от ПК специальные устройства предназначены для решения конкретных задач. При этом код приложения выполняется, как правило, из постоянной памяти программ, его нельзя изменить или заставить работать по-другому. Кроме того, если верно выбран процессор устройства, то код программы гарантированно защищен и от чтения. Вскрытие специальных средств защиты возможно в случаях неправильного их проектирования, допущенных ошибок разработки программного обеспечения или размещения в коде программных закладок.

Однако существует дилемма. С одной стороны, программные средства не обеспечивают достаточно надежной защиты, а с другой — с помощью аппаратных невозможно комплексно решить все вопросы автоматизации, так как большая часть операций по обработке данных выполняется программно.

Истина — в "золотой середине"

Хорошим и относительно недорогим средством для решения задач защиты информации от несанкционированного доступа являются программно-аппаратные устройства, которые приступают к выполнению своих функций еще в момент начальной работы BIOS компьютера, до загрузки операционной системы. Система безопасности разрешает запустить ОС только после предъявления зарегистрированной смарт-карты и ввода пароля, блокируя тем самым несанкционированное включение компьютера. Вслед за идентификацией пользователя производится проверка целостности файлов операционной системы, запускаемых приложений и ключей Registry. После загрузки ОС устанавливаются драйверы защиты, которые являются связующим элементом между BIOS и операционной системой и непосредственно управляют механизмами защиты. До момента инициализации этих драйверов клавиатура и порт мыши блокируются, что не позволяет нарушить последовательность загрузки ОС и проверку целостности ключевых элементов системы.

Устройства защиты информации от НСД дополнительно предоставляют функцию разграничения прав доступа пользователей к ресурсам (объектам) компьютера. Под объектами системы защиты понимаются технические средства и информация, доступ к которым должен контролироваться. На одном и том же рабочем месте может быть создано несколько таких объектов. Конфигурация рабочего места задается соответствующими файлами, которые считываются при включении компьютера (или после сброса) из защищенного профиля пользователя и записываются до загрузки операционной системы поверх файлов конфигурации, находящихся на винчестере. Это позволяет оперативно перенастраивать рабочее место под конкретного пользователя и защищает от модификации файлы конфигурации перед непосредственным выключением компьютера. Права доступа назначаются индивидуально пользователю для каждого объекта. Нередко подобные системы безопасности преодолеваются простым извлечением устройств защиты из компьютера. Но если организационные меры так слабы, что пользователям удается вскрывать компьютеры, то они могут извлечь из него и винчестер, содержащий всю необходимую информацию. В этом случае система защиты от НСД устанавливает режим прозрачного шифрования, который позволяет хранить информацию на внешних носителях (винчестер, дискета, ZIP, MO) в зашифрованном виде. При обращении к таким данным драйвер "на лету" выполняет их дешифровку, предоставляя приложению открытую информацию. Аналогичный принцип реализован при передаче данных по сетям с протоколом TCP/IP. В списке указываются IP-адреса абонентов, с которыми обмен информацией должен происходить в зашифрованном виде. При необходимости для обеспечения целостности документов и аутентификации абонентов эта информация может подписываться.

Основным элементом любой системы защиты является ключевая информация. От того, как построена подсистема хранения и распределения ключей, во многом зависит безопасность и стойкость всей системы. Известные способы изготовления ключей с использованием перфокарт, дискет, "заглушек" параллельных портов, магнитных карт, электронных карт памяти (memory card), Touch-memory имеют главный недостаток — хранимая в них информация может быть прочитана с помощью специальных, относительно недорогих средств и в относительно небольшие сроки. Эти носители ключей легко копируются, подделываются и эмулируются. Единственно надежным способом обезопасить ключи, находящиеся на внешнем носителе, является использование криптографических программ, которые выполняются микроконтроллером, встроенным в защищаемую память. Данный тип карт относится к классу микропроцессорных, или смарт-карт (smart card). ПО микроконтроллера смарт-карты защищено на технологическом, аппаратном и программном уровнях. С целью применения электронной карты для широкого круга задач программное обеспечение микроконтроллера выполняется в виде операционной системы, которая позволяет пользователю создавать необходимое количество разнообразных приложений и самостоятельно записывать ключевую информацию.

Выбор системы защиты — чрезвычайно ответственный момент, поэтому должен осуществляться индивидуально при решении конкретной задачи. Необходимо учесть множество факторов воздействия на систему, составить модель предполагаемых угроз, оценить масштабы возможных потерь, сравнить их со стоимостью средств защиты. Правильный выбор системы защиты обеспечит целостность вашей информации, безопасность самой системы в период ее эксплуатации, позволит продлить срок ее жизни и, в конечном итоге, сократить расходы на нее.