Компьютер, подсоединенный к сети Интернет, может подвергнуться реальным атакам. Основные опасности при работе в сети Интернет с помощью браузера следующие:
Современные веб-страницы часто содержат небольшие программы: Java-апплеты, управляющие элементы ActiveX, скрипты JavaScript. Загрузка и выполнение таких переносимых программ, очевидно, связаны с большим риском возникновения массовых атак. Разработаны различные методы, направленные на минимизацию этого риска.
Java-апплеты – это программы на языке Java, откомпилированные в машинный язык, которые размещаются на веб-странице и загружаются вместе с ней.
Апплеты обрабатываются интерпретатором JVM (Java Virtual Machine — виртуальная машина Java) в браузере, как показано на рисунке 1.
Рисунок 1. Обработка апплетов браузером
Преимущество интерпретируемого кода перед компилируемым состоит в том, что перед его исполнением изучается каждая инструкция. Это дает интерпретатору возможность проверить состоятельность адреса инструкции. Кроме того, системные вызовы также перехватываются и интерпретируются. Как именно они обрабатываются, зависит от политики защиты информации.
Управляющие элементы ActiveX — двоичные программы, которые можно внедрять в веб-страницы. Когда на странице встречается такая программа, производится проверка необходимости ее выполнения, и в случае положительного ответа она запускается. Эти программы не интерпретируются и не помещаются в песочницы, поэтому они обладают такими же возможностями, как обычные пользовательские программы, и, в принципе, могут нанести большой вред. Таким образом, вся защита информации в данном случае сводится к вопросу о том, стоит ли запускать управляющий элемент.
Для принятия таких решений корпорацией Microsoft был выбран метод, базирующийся на подписях кода (система Authenticode). Суть в том, что каждый элемент ActiveX снабжается цифровой подписью, а именно хэшем кода, подписанным его создателем с использованием открытого ключа. Когда браузер встречает управляющий элемент, он сначала проверяет правильность подписи, убеждаясь в том, что код не был заменен по дороге. Если подпись корректна, браузер проверяет по своим внутренним таблицам, можно ли доверять создателю программы. Если создатель надежный, программа выполняется, в противном случае игнорируется. Поскольку нет никакой возможности проследить за деятельностью всех компаний, пишущих переносимые программы, вскоре метод подписания кода может представлять собой довольно серьезную угрозу.
В JavaScript вообще отсутствует какая-либо официальная модель системы защиты информации. Каждый производитель пытается что-нибудь придумать. Например, в Netscape Navigator 2.0 было реализовано нечто подобное Java-модели, а в четвертой версии прослеживаются черты модели подписей кода.
В обозревателе Internet Explorer имеется несколько возможностей, позволяющих обеспечить защиту конфиденциальности, а также повысить безопасность личных данных пользователя.
Параметры конфиденциальности позволяют защитить личные данные пользователя – с помощью этих параметров можно понять, как просматриваемые web-узлы используют эти данные, а также задать значения параметров конфиденциальности, которые будут определять, разрешено ли web-узлам сохранять файлы cookie на компьютере.
К параметрам конфиденциальности Internet Explorer относят следующие:
Средства безопасности позволяют предотвратить доступ других пользователей к таким сведениям, на доступ к которым у них нет разрешения. Это, например, сведения о кредитной карточке, вводимые при покупках в Интернете, от небезопасного программного обеспечения.
Когда производится загрузка или запуск программ, полученных из Интернета, необходимо убедиться, что программа получена из известного, надежного источника. В связи с этим, при выполнении загрузки на компьютер программы из Интернета, обозреватель Internet Explorer использует для проверки ее подлинности технологию Microsoft Authenticode, проверяющую наличие у программы действующего сертификата. Следует отметить, что эта мера не препятствует загрузке и запуску на компьютере программ, разработанных с ошибками, но снижает риск использования фальсифицированной программы.
Цифровая подпись — это способ введения электронной метки для файла данных. В этом случае файл подписывается его
создателем (издателем). Наличие цифровой подписи позволяет сделать следующие выводы: имеется имя издателя файла, и этот файл не был изменен с тех пор, как он был
подписан. При любой попытке фальсификации подпись становится недействительной.
Виды цифровых подписей:
В первом случае суть метода состоит в создании некоего центрального авторитетного органа, которому все доверяют. Затем каждый пользователь выбирает секретный ключ и лично относит его в офис этого авторитетного органа. Когда возникает необходимость послать открытым текстом подписанное сообщение, оно (сообщение) шифруется ключом. Затем сообщение посылается в авторитетный орган, который расшифровывает его и посылает получателю со своей собственной подписью. Этим авторитетный орган подтверждает, что сообщение подлинное.
Во втором случае ключ делится на две части: закрытая и открытая части. С помощью закрытой части можно подписать данные, причем это может сделать только владелец ключа, а с помощью открытой части можно проверить подпись.
Сертификат – цифровой документ, широко используемый для проверки подлинности и безопасного обмена данными в открытых сетях, таких как Интернет, экстрасети и интрасети. Сертификат связывает открытый ключ с объектом, хранящим соответствующий закрытый ключ. Сертификаты имеют цифровые подписи, поставленные выдавшими центрами сертификации, и могут предоставляться пользователю, компьютеру или службе. Наиболее широко применяемый формат для цифровых сертификатов определяется международным стандартом ITU-T X.509 версии 3.
На главную | Методические рекомендации для студентов |