tanenbaum_seti_all.pages (525408), страница 247
Текст из файла (страница 247)
Передача данных при использовании Вв~ С 551 связана еще одна проблема: у принпипалов может не быть сертификатов, а даже если онн есть, далеко не всегда производится проверка соответствия ключей и сертификатов. В 1996 году корпорация гхсгзсаре Согппгоп)са1юпз направила 551. на стандартизацию в 1ЕТК Результатом стал станларт Т1.5 (Тгапзрогг ).ауег 5есцг)гу — защита транспортного уровггя). Он описан в КРС 2246.
В 551. при создании стандарта Т1 5 было внесено пе так уж много изменений, однако их оказалось достаточно для того, чтобы 55!. версии 3 и Т1.5 стали несовместимыми. Например, в целях усиления ключа был изменен способ вычисления ключа сеанса по подготовительному ключу и нопсам. Т15 также известен как 551- версии 3.1. Первая реализация появилась в 1999 году, однако до снх пор не очень понятно, заменит ли ТЕ5 551., даже учитывая то, что Т1.5 несколько надежнее. Проблема с ключами КС4, между прочим, никуда не исчезла. Защита переносимых программ Иьгенсвание ресурсов и соединения — это две области, которые, несомненно, тесно связаны с защитой информации во Всемирной паутине.
Однако существуют и другие, не менее важныс вопросы, связанные с той же темой. Поначалу веб-страницы представляли собой полностью статические НТМ1.-файлы и нс содержали исполняемый код. Теперь жс па веб-страницах очень часто встречаются небольшие программьп „)ача-апилеты, управляющие элементы Астгчех, скрипты )ача5сг! рп Загрузка и выполнение таких переносимых программ, очевидно, связаны Защита информации во Всемирной паутине 921 с большим риском возникновения массовых атак, Были разрабо~аны разлпчныс методы, направленные на минимизацию зтого риска. Далее мы обозначим некоторые вопросы, связанные с проблемами зашиты переносимых программ.
Защита зача-апплетоа )ача-апплеты — зто небольшие программы на языке )ача, откомпилированные в машинный язык со стековой организацией под названием )УМ ()ача Ъ'|гы1а1 МасЫпе — виртуальная машина )ача). Такис программы могут размещаться на веб-страницс и загружаться вместе с ией. После загрузки страницы апплсты обрабатываются интерпретатором )ЧМ в браузерс, как показано на рис.
8.48. Виртуальное адресное пространства ОхЕЕЕЕЕ Ненадежный впплет Песочница Интерпретатор Надежный впплет Рис. 8.48. Апппеты могут интерпретироваться веб-брвувером Преимущество интерпретируемого кода перед компилируемым состоит в том, что перед неполучением изучается каждая инструкция. Это дает интерпретатору возможность проверить состоятельность адреса инструкции. Кроме того, системные вызовы также перехватываются и интерпретирун>тся. Как нмешш они обрабатываются, зависит от политики зашиты информации. Например, если апплет надежный (например, он был создан на локальном диске), его системные вызовы могут обрабатываться без дополнительных проверок.
Если жс апплет не может считаться надежным (например, он был загружен из Интернета), его можно поместить в так называемую песочницу, регулирующую его повеление и пресекающую его попытки использовать системные ресурсы. Если апплет пгятастся захватить системный ресурс, вызов передается монитору безопасности, который может разрешить или запретить данное действие. Монитор исследует вызов с точки зрсния локальной политики защиты информации и затем принимает нужное решение.
Таким образом, можно предоставить апплстам доступ к некоторым (по пе ко всем) ресурсам. К сожалениях в реальной жизни такая модель работает плохо, в ней постоянно возникают ошибки. АсбчеХ управляющие злементы АстрвеХ вЂ” зто двоичные программы, рассчитанные на процессор Репь1пщ, которые можно внедрять в веб-страницы. Когда на странице 922 Глава 8. Безопасность в сетях встречается такая программа, производится проверка необходимости ее выполнения, и в случае положительного ответа она запускается.
Эти программы не интерпретируются и не помешаются в песочницы, поэтому они обладают такими же возможностями, как обычные пользовательские программы, и, в принципе, могут нанести большой вред. Таким образом, вся защита информации в данном случае сводится к вопросу о том, стоит ли запускать управляющий элемент. Для принятия таких решений корпорацией М(сгоэой был выбран метод, базируюшийся на подписях кода. Суть в том, что каждый элемент Аст1чеХ снабжается цифровой подписью, а именно хашем кода, подписанным его создателем с использованием открытого ключа. Когда браузер встречает управляющий элемент, он вначале проверяет правильность подписи, убеждаясь в том, что код не был заменен по дороге.
Если подпись корректна, браузер проверяет по своим внутренним таблицам, можно ли доверять создателю программы. Возможно, про самого создателя ничего не известно, но сушествует цепочка заверений, ведущая к какому-либо известному своей надежностью разработчику. Если создатель надежный, программа выполняется, в противном случае игнорируется. Система, созданная М!сгоэо(г для проверки управляющих элементов АсбкеХ, называется Аитпепт1соде. Полезно противопоставлять друг другу подходы )ага и АсйчеХ.
В первом случае не производятся никакие попытки установить авторство апплета. Вместо этого используется интерпретатор, который запрещает апплету совершать определенные нежелательные действия. Что касается метода подписания кода, то в этом случае, напротив, поведение программы во время ес выполнения никак не отслеживается. Если опа была получена из проверенного источника и по дороге не была изменена, она просто запускается. Проверка самого кода пс осуществляется. Если программист намеренно написал код, форматируюгций жесткий диск и стирающий флэш-память компьютера„и при этом он считается проверенным и надежным программистом, то код выполнится и выведет из строя компьютер (если только в браузере не отключены управляюшие элементы Ас11чеХ).
Многие считают, что доверять неизвестным производителям программного обеспечения несколько легкомысленно. Чтобы доказать это, один программист из Сиэтла основал свою компанию и добился получения сертификата надежности, что не так уж сложно. После этого он написал управляюший элемент Аст1- чеХ, который всего-навсего выключал компьютер. Он распространил свою пРограмму весьма широко, и она выключила не одну тысячу компьютеров. Впрочем, машины после этого можно было запросто включить заново, поэтому никакого ушерба такой управляющий элемент нанести не мог. цель проекта состояла в том, чтобы указать миру на наличие проблемы.
Официальная реакция выразилась в отзыве сертификата для данного конкретного управляюшего элемента, и на этом инцидент был исчерпан. Но проблема-то решена не была, и нечистые на Руку программисты могли продолжать использовать эту дыру в зашите (багВп(ге1 и ВраЯогб, 2602).
Поскольку нет никакой возможности проследить за деятельностью всех компаний, пишущих переносимые программы, вскоре метод подписания кода может представлять собой довольно серьезную угрозу. Социальный аспект 92З 3ама8спр1 В )ачабсг1рг вообще отсутствует какая-либо официальная модель системы защиты информации, зато существует длинная история неудачных попыток ее внедрения. Каждый производитель пытается придумать что-нибудь свое.
Например, в Хегзсаре Хач1яагог версии 2 было реализовано нечто подобное )ача-модели, а уже в четвертой версии прослеживаются черты модели подписей кода. Суть проблемы в том, что чужеродной программе разрешается выполнять какие-то действия. Это может привести к непредсказуемым последствиям. С точки зрения безопасности это то же самое, что позвать в гости вора и пытаться внимательно следить за тем, чтобы он не проник из кухни в гостиную.
Если произойдет что-нибудь неожиданное, а вы в этот момент отвлечетесь, может случиться что угодно. Аргументом в защиту переносимых программ служит то, что с их помогцью легко реализуются флэш-графика и быстрое взаимодействие с пользователем. Создатели веб-сайтов обычно считают, что зто гораздо важнее, чем защита информации, особенно когда дело касается какого-нибудь чужого компьютера. Вирусы Вирусы — это своеобразная форма переносимого кода. Только в отличие от приведенных выше примеров, запускать такие программы никто не хочет. Основное отличие вирусов от обычных переносимых программ заключается в том, что они воспроизводят сами себя. Когда в систему проникает вирус (с всб-страницы, во вложении электронного письма или как-то еще), для начала он заражает исполняемые программы, хранящиеся на диске, При запуске какой-либо из этих программ управление передается вирусу, а тот обычно пытается распространить свое действие еще и па другие машины, например, рассылая самого себя по электронной почте всем адресатам из адресной книги жертвы.
Некоторые вирусы заражают загрузочный сектор жесткого диска, поэтому вирус активируется при загрузке машин. Вирусы в какой-то момент стали представлять собой крупномасштабную проблему для Интернета н принесли многомиллиардные убытки. Какого-либо простого решения проблемы не существует. Возможно, положение может спасти создание нового поколения операционных систем, базирующихся на защищенных микроядрах, и сплоченность пользователей, процессов и ресурсов. Социальный аспект Интернет и технологии защиты информации — это те области, в которых очень тесно сплелись социальные вопросы, государственная политика и технологии.
Далее мы кратко рассмотрим три проблемы; конфиденциальность, свободу слова и авторские права. Совершенно очевидно, что в рамках этой книги мы сможем дать лишь поверхностное описание этой темы. Более подробную информацию следует искать в (Аш)егэоп, 2001; Саган)ге! и Ярайоп), 2002; Бсппе!ег, 2000). Многие материалы можно прочитать в Интернете. Достаточно лишь набрать в поис- 924 Глава 8. Безопасность в сетях козой машине «копфпдеициальиость» (рггкасу — для получсиия информации иа английском языке), «цеизура» (сепзогз)пр) или «авторские прана» (соруг18йг). Конфиденциальность Имеют ли люди право иа секрстыу Хоро~ций вопрос.