Rambler's Top100
Каталог 35RUS.RU TopCTO Общее
Count.NET.ru
gids.ru - каталог





Java Проблема безопасности


Возможность подключения новых протоколов обмена декларируется в Java как одно из достоинств нового подхода. Но даже у неискушенного пользователя сразу возникает закономерный вопрос о безопасности машины, на которой запускается приложение. Как быть с традиционным девизом "доверяй, но проверяй", незаменимым при копировании неизвестного программного обеспечения? Не надо быть семи пядей во лбу, чтобы понять - при использовании HotJava или Navigator пользователь вольно или невольно запускает на своей машине чужие программы, которые могут не только "оживить" HTML-страницы, но и несколько "встряхнуть" владельца компьютера, где эти страницы "оживают". Ведь в принципе, апплеты могут выполняться и незаметно для пользователя в фоновом режиме. Ответ на этот вопрос прост: при разработке апплетов используется компилятор байт-кода, который имеет встроенную систему безопасности, а сама программа просмотра также анализирует получаемый байт-код на наличие в нем запрещенных операций. Однако, если отбросить детали механизмов защиты HotJava и Navigator, все сводится к запретам записи информации на диск и по адресам оперативной памяти с использованием адресной арифметики. Совершенно очевидно, что этого явно недостаточно для построения надежно защищенной системы. Существует масса способов внедрения в систему и без указанных действий, не говоря уже о весьма непроизводительном использовании ресурсов компьютера. Первая ласточка уже появилась. Речь идет о сообщении CERT о возможности разработки апплетов, использующих брешь в системе DNS и подменяющих IP-адреса. Правда эта "дырочка" была обнаружена в Navigator, а не в HotJava, но и популярность первой программы не идет ни в какое сравнение с популярностью продукта Sun. Netscape уже объявила о том, что в систему защиты будут внесены изменения и программа будет проверять IP-адреса, с которыми работает апплет на идентичность с IP-адресом HTTP-сервера, где апплет получен. Но естественно возникает вопрос: как же быть в этом случае с распределенными вычислениями, которые, как декларируется, должны произвести революцию на Internet? В принципе существует пока два способа защиты: запрет выполнения Java байт-кода программой-интерфейсом и использование проверенных страниц. Запретить выполнение можно, включив специальный режим настройки программ HotJava и Navigator. Вообще же говоря, в телеконференции comp.lang.java энтузиасты новой технологии на проблему безопасности реагируют примерно так - "мы же честные люди и не собираемся писать всякие пакости". Для реальной же защиты в программу-интерфейс придется вставить полноценный firewall с возможностями конфигурирования портов и анализа содержания пакетов, однако и это, как показывает практика, еще не гарантирует к стопроцентной безопасности. Третьей составляющей Java-технологии является язык сценариев управления просмотра гипертекстовых страниц JavaScript. Этот язык - в девичестве "LiveWare" - разрабатывался компанией Netscape Communication еще до анонсирования Java. Для специалистов в области теории и практики гипертекстовых систем появление этого языка было давно ожидаемым событием. Практически любая локальная система имеет средство описания сценариев просмотра своих информационных страниц - появление такого механизма в World Wide Web было делом времени. При этом и теория и практика реализации языка были достаточно хорошо изучены, начиная от демонстраций Дуга Энжельбарда и кончая системами типа Hyper Card, Hyper Note, KMS и т.п.. Кроме этого, появление фреймов, многооконность, динамическая загрузка страниц и ряд других расширений, предложенных компанией Netscape, явно указывали направление развития Navigator. Надо сказать, что технология Java по своей архитектуре очень напоминает LiveWare - та же возможность разработки приложений для сервера HTTP, мобильный код, исполняемый Navigator. Но, кроме этого, в HTML-страницы можно встраивать еще и исходные тексты программ, что превращает Navigator в полноценную среду программирования, которую можно применять не только при путешествиях по Internet, но и в локальных системах. Используя JavaScript, можно организовать многооконный интерфейс с локальной контекстной справочной системой и встроенной графикой, возложив при этом многие вопросы проверки вводимых пользователем данных на JavaScript. По своим функциональным возможностям JavaScript довольно сильно уступает Java, по крайней мере пока. Можно организовать открытие нового окна, прокрутку текста, запрограммировать калькулятор, которых на сети уже более двух десятков, проверку ввода, но не более того.






© 2002 PRENT Design Studio™

Hosted by uCoz