Учебник для вузов в. Олифер Н. Олифер Компьютерные Принципы, технологии, протоколы
Скачать 22.28 Mb.
|
восстановлением ключей. Вопрос, включать ли в продукты безопасности средства восстановления ключей, в последние годы приобрел политический оттенок. В США прошли бурные дебаты, тему которых можно примерно сформулировать так: обладает ли правительство правом доступа к любой частной информации при условии, что на это есть постановление суда? И хотя в такой широкой постановке проблема восстановления ключей все еще не решена, необходимость включения средств восстановления в корпоративные продукты ни у кого сомнений не вызывает. Принцип доступности данных не должен нарушаться из-за волюн таризма сотрудников,^монопольно владеющих своими закрытыми ключами. Ключ может быть восстановлен при выполнении некоторых условий, которые должны быть четко определены в политике безопасности предприятия. Как только принимается решение о включении в систему безопасности средств восстанов ления, возникает вопрос, как же быть с надежностью защиты данных, как убедить поль Аутентификация, авторизации, аудит 869 зователя в том, что его закрытый ключ не употребляется с какими-либо другими целями, не имеющими отношения к резервированию? Некоторую уверенность в секретности хра нения закрытых ключей может дать технология депонирования ключей. Депонирование ключей — это предоставление закрытых ключей на хранение третьей стороне, надежность которой не вызывает сомнений. Этой третьей стороной может быть правительственная организация или группа уполномоченных на это сотрудников предприятия, которым оказывается полное доверие. Аутентификация информации Под аутентификацией информации в компьютерных системах понимают установление подлинности полученных по сети данных исключительно на основе информации, содер жащейся в полученном сообщении. Если конечной целью шифрования информации является защита от несанкционирован ного ознакомления с этой информацией, то конечной целью аутентификации информации является защита участников информационного обмена от навязывания ложной информа ции.Концепция аутентификации в широком смысле предусматривает установление под линности информации как при наличии взаимного доверия между участниками обмена, так и при его отсутствии. В компьютерных системах выделяют два вида аутентификации информации: □ аутентификация хранящихся массивов данных и программ — установление факта того, что данные не подвергались модификации; □ аутентификация сообщений — установление подлинности полученного сообщения, в том числе решение вопроса об авторстве этого сообщения и установление факта приема. Цифровая подпись Для решения задачи аутентификации информации используется концепция цифровой, или электронной, подписи. Согласно терминологии, утвержденной Международной организацией по стандартизации (ISO), под термином «цифровая подпись» понимаются методы, позволяющие устанавливать подлинность автора сообщения (документа) при возникновении спора относительно авторства. Основная область применения цифровой подписи — это финансовые документы, сопровождающие электронные сделки, документы, фиксирующие международные договоренности и т. п. До настоящего времени чаще всего для построения схемы цифровой подписи использо вался алгоритм RSA. Как уже отмечалось (см. раздел «Алгоритм RSA»), в основе этого алгоритма лежит концепция Диффи—Хеллмана. Она заключается в том, что каждый пользователь сети имеет свой закрытый ключ, необходимый для формирования подписи, а соответствующий этому секретному ключу открытый ключ, предназначенный для про верки подписи, известе^рвсем другим пользователям сети. На рис. 24.18 показана схема формирования цифровой подписи по алгоритму RSA. Подпи санное сообщение состоит из двух частей: незашифрованной части, в которой содержится исходный текст Туи зашифрованной части, представляющей собой цифровую подпись. Цифровая подпись Sвычисляется с использованием закрытого ключа (D, п) по формуле: S = Т°mod п. 870 Глава 24. Сетевая безопасность т Исходный текст - .....—.... — і Закрытый J I ключ (D, п) ^Шифрование ^ закрытым ^ключом S = TDmod п, Т т S Исходный текст Цифровая подпись Рис. 24.18. Схема формирования цифровой подписи по алгоритму RSA Сообщение посылается в виде пары (Г, 5). Каждый пользователь, имеющий соответствую щий открытый ключ (Е, гг), получив сообщение, отделяет открытую часть Г, расшифровы вает цифровую подпись S и проверяет равенство: Т= SE mod п. Если результат расшифровки цифровой подписи совпадает с открытой частью сообщения, считается, что документ подлинный, не претерпел никаких изменений в процессе пере дачи, а автором его является именно тот человек, который передал свой открытый ключ получателю. Если сообщение снабжено цифровой подписью, то получатель может быть уверен, что оно не было изменено или подделано по пути. Такие схемы аутентификации называются асимметричными. К недостаткам данного алгоритма можно отнести то, что длина подписи в этом случае равна длине сообщения, что не всегда удобно. Если помимо проверки целостности документа, обеспечиваемой цифровой подписью, надо обеспечить его конфиденциальность, то после применения к тексту цифровой подписи вы полняют шифрование и исходного текста, и цифровой подписи (рис. 24.19). т Исходный текст (D. П) Шифрование закрытым ^ ключом D у Т Т Исходный текст S Цифровая подпись . — і Шифрова закрытым .ключом X 'і Закрытый / ключ (D, п) ние | = XDmod n j і Зашифрованное сообщение Y Передача Сравнение Рис. 24.19. Обеспечение конфиденциальности документа с цифровой подписью Антивирусная защита 871 Другие методы цифровой подписи основаны на формировании соответствующей сообще нию контрольной комбинации с помощью симметричных алгоритмов типа DES. Учитывая более высокую производительность алгоритма DES по сравнению с RSA, он более эффек тивен для подтверждения аутентичности больших объемов информации. А для коротких сообщений типа платежных поручений или квитанций подтверждения приема, наверное, лучше подходит алгоритм RSA. Аутентификация программных кодов Компания Microsoft разработала средства для доказательства аутентичности программных кодов, распространяемых через Интернет. Пользователю важно иметь доказательства, что программа, которую он загрузил с какого-либо сервера, действительно содержит коды, раз работанные определенной компанией. Протоколы защищенного канала (см. далее) типа SSL помочь здесь не могут, так как позволяют удостоверить только аутентичность сервера. Суть технологии аутентикода (authenticode), разработанной Microsoft, состоит в следующем. Организация, желающая подтвердить свое авторство на программу, должна встроить в распространяемый код так называемый подписывающий блок (рис. 24.20). Этот блок состоит из двух частей. Первая часть — сертификат этой организации, полученный обычным образом от какого-либо сертифицирующего центра. Вторую часть образует за шифрованный дайджест, полученный в результате применения односторонней функции к распространяемому коду. Шифрование дайджеста выполняется с помощью закрытого ключа организации. ^ Подписывающий блок w Исходный код программы T Сертификат Зашифрованный дайджест Закрытый ключ (D, п) организации-производителя организации- производителя Дайджест программного кода d(T) Шифрование дайджеста по алгоритму RSA [d(T)]Dmod п Рис. 24.20. Схема получения аутентикода Антивирусная защита Антивирусная защита«используется для профилактики и диагностики вирусного зараже ния, а также для восстановления работоспособности пораженных вирусами информационных систем. Термин «вирусы» толкуется здесь расширенно — это не только собственно вирусы, но и другие разновидности вредоносных программ, такие как черви, троянские и шпионские программы. 872 Глава 24. Сетевая безопасность Профилактика заключается в проверке файлов на присутствие вирусов перед их загруз кой на защищаемый компьютер и тем более перед их выполнением на этом компьютере. Диагностический характер носит процедура проверки файлов уже находящихся в памяти компьютера. После констатации вирусного заражения наступает этап восстановления «здоровья» вычислительной системы, который может потребовать как весьма жестких мер, когда из системы удаляются все зараженные файлы, так и не столь жестких, когда файлы исправляют, удаляя из них вредоносный код. Большинство антивирусных программ в той или иной степени расходуют ресурсы тести руемой системы. Иногда это может вызвать заметное снижение скорости выполнения пользовательских приложений. Однако это не должно быть причиной отключения анти вирусных проверок, так как ущерб от «работы» вирусов, как правило, с лихвой превышает затраты вычислительных ресурсов и времени пользователя (администратора) на борьбу с вирусами. Для защиты от вирусов используют три группы методов: □ Методы, основанные на анализе содержимого файлов(как файлов данных, так и файлов с кодами команд). К этой группе относятся сканирование сигнатур вирусов, а также проверка целостности и сканирование подозрительных команд. □ Методы, основанные на отслеживании поведения программпри их выполнении. Эти методы заключаются в протоколировании всех событий, угрожающих безопасности системы и происходящих либо при реальном выполнении проверяемого кода, либо при его программной эмуляции. □ Методы регламентации порядка работыс файлами и программами. Эти методы от носятся к административным мерам обеспечения безопасности. Один из наиболее распространенных методов этой группы состоит в том, что в системе (компьютере или корпоративной сети) выполняются только те программы, запись о которых присут ствует в списке программ, разрешенных к выполнению в данной системе. Этот список формируется администратором сети из проверенного программного обеспечения. Сканирование сигнатур CMmatypa вируса — атб уникальная последовательность байтов, которая всегда присутствует в определенном виде вирусов и по которой этот вид вируса можно с большой вероятностью опознать. Из этого определения следует основная идея метода сканирования сигнатур. Для каждого вновь обнаруженного вируса специалистами выполняется анализ кода, на основании ко торого определяется сигнатура. Полученный кодовый фрагмент помещают в специальную базу данных вирусных сигнатур, с которой работает антивирусная программа. К размеру сигнатуры предъявляются противоречивые требования. С одной стороны, для того чтобы повысить вероятность правильной диагностики вируса, сигнатура должна быть достаточно длиной — как минимум 8-12 байт, а еще лучше 64 байта. С другой стороны, учитывая огромное число существующих к настоящему моменту вирусов (сотни тысяч), увеличение длины сигнатуры увеличит и без того большой объем базы данных сигнатур. Система сканирования сигнатур работает следующим образом. Содержимое тестируемого файла сравнивается с каждой из заданных в базе данных этой системы сигнатур. Обна Антивирусная защита 873 ружив совпадение, система автоматически ставит подозрительный файл на карантину то есть блокирует файл от возможного использования. Одним из надежных способов такого блокирования является временное шифрование зараженного файла. ПРИМЕЧАНИЕ--------------------------------------------------------------------------------------------------- Различные методы шифрования и упаковки вредоносных программ используют и хакеры. После шифрования или архивирования даже известный вирус становится «невидимым» для обычного сканера сигнатур. Затем система сканирования оповещает своего пользователя об обнаружении зараженных файлов и о своих действиях, предпринятых по отношению к ним, а также предлагает поль зователю выбрать тот или иной вариант дальнейших действий. В частности, она может предложить удалить файл или попытаться восстановить файл путем удаления вредонос ного кода и, возможно, реконструкции его исходной структуры. Процедура сканирования может выполняться как для отдельных файлов, так и для со держимого всего диска, как регулярно, в соответствии с заранее заданным расписанием, так и время от времени по инициативе пользователя. Некоторые антивирусные системы выполняют сканирование файлов синхронно с выполнением тех или иных операций с фай лами: открытием, закрытием файлов или отправкой их в виде почтовых вложений; иногда такая тактика помогает быстрее обнаружить появление вируса. К достоинствам данного метода относят относительно низкую долю ложных срабатываний. Главным же недостатком является принципиальная невозможность обнаружить присут ствие в системе нового вируса, для которого еще нет сигнатуры в базе данных антивирусной программы. Кроме того, создание базы данных сигнатур является делом очень трудоемким, а ее эксплуатация требует постоянного оперативного обновления, что может представлять проблему как для производителей, так и для пользователей антивирусных средств. Метод контроля целостности Метод контроля целостности основывается на том, что любое неожиданное и беспричин ное изменение данных на диске является подозрительным событием, требующим особого внимания антивирусной системы. Действительно, любой вирус обязательно оставляет свидетельства своего пребывания на диске. Такими «следами» может быть искажение данных в уже существующих файлах или появление новых исполняемых файлов. Факт изменения данных — нарушение щлостности — легко устанавливается путем сравне ния контрольной суммы (или дайджеста), заранее подсчитанной для исходного состояния тестируемого кода, и контрольной суммы (дайджеста) текущего состояния тестируемого кода. Если они не совпадают, значит, целостность нарушена и имеются все основания про вести для этого кода дополнительную проверку, например, путем сканирование вирусных сигнатур. В отличие от сканирования сигнатур метод контроля целостности позволяет обнаружи вать следы деятельности любых, в том числе неизвестных, вирусов, для которых в базе данных еще нет сигнатур. Кроме того, он работает быстрее, поскольку операции подсчета контрольных сумм требуют меньше вычислений, чем операции сравнения кодовых фраг ментов. 874 Глава 24. Сетевая безопасность Сканирование подозрительных команд В арсенале вирусных программ есть особенно опасные средства. Примером такого гроз ного оружия может служить код, вызывающий форматирование жесткого диска. Каждый случай обнаружения такого кода должен переводить систему в состояние тревоги, или, по крайней мере, система должна уведомить пользователя об этом событии и попросить подтверждения, прежде чем выполнить операцию, которая может привести к катастрофи ческим последствиям. Известно, что вирусные программы разных видов могут содержать функционально по добные (но программно не идентичные) блоки. Например, многие виды вирусов содержат функцию внедрения в исполняемый код. Для этого они сначала отыскивают файлы с рас ширениями ехе, а затем выполняют для них операции открытия и записи. И хотя совокуп ность этих действий может быть реализована разными кодовыми последовательностями, ее все же можно характеризовать некоторыми общими признаками, которые могут стать опознавательным знаком для функции внедрения вируса. Если в результате сканирования в файле обнаруживают некоторое число подозрительных команд и/или признаков подозрительных кодовых последовательностей, то делается пред положение о вредоносной сущности файла и предпринимаются дополнительные действия по его проверке. Этот метод обладает хорошим быстродействием, но довольно часто он не способен вы являть новые вирусы. Отслеживание поведения программ Принципиально другим подходом по сравнению с методами сканирования содержимого файлов являются методы, основанные на анализе поведения программ во время их выпол нения. Этот метод обнаружения вирусов можно сравнить с поимкой преступника «за руку» на месте преступления. Тестируемую программу запускают на выполнение, инструкцию за инструкцией, но все ее подозрительные действия контролируются и протоколируются антивирусной системой. Если программа пытается выполнить какую-либо потенциально опасную команду, например записать данные в исполняемый файл другой программы, то ее работа приостанавливается, и антивирусная система запрашивает пользователя о том, какие действия ей надо предпринять. Антивирусные средства данного типа часто требуют активного участия в тестировании пользователя, призванного реагировать на многочисленные предупреждения системы, значительная часть которых может оказаться впоследствии ложными тревогами. ПРИМЕЧАНИЕ-------------------------------------------------------------------------------------------------- Важной характеристикой любого антивирусного средства является частота ложных положительных («Да, это вирус») и ложных отрицательных («Нет, вирус отсутствует») заключений. Если система слишком часто бьет лсдесНую тревогу, то пользователь этой системы может вообще перестать реаги ровать на эти сигналы, однако если она слишком часто объявляет зараженный файл «чистым», то возникает вопрос о качестве антивирусного средства. При использовании антивирусных систем, анализирующих поведение программ, всегда существует риск «пропустить удар» от вируса, в результате которого по ошибке будет Сетевые экраны 875 выполнена команда вирусного кода, способная нанести ущерб защищаемому компьютеру или сети. Для устранения этого недостатка был разработан другой метод, который тоже строит рабо ту по распознаванию вирусов на основе анализа выполнения программ, однако тестируемая программа выполняется в искусственно созданной (виртуальной) вычислительной среде, которую иногда называют песочницей (sandbox). Такой способ называют эмуляцией. При эмуляции так же, как и при реальном выполнении, фиксируются все подозрительные дей ствия программы, однако в этом случае отсутствует риск повреждения информационного окружения. Принцип работы антивирусных средств, построенных на основе анализа поведения про грамм, показывает, что эти средства могут использоваться для обнаружения не только известных, но и не известных вредоносных программ. |