Элементы ActiveX компании Microsoft
Изъян в механизме обеспечения безопасности Microsoft Java
В браузере Internet Explorer вскоре была обнаружена аналогичная ошибка. Из-за недостатков реализации механизма обеспечения безопасности в JVM компании Microsoft появилась возможность полностью обойти механизмы защиты с помощью хитро запрограммированного аплета, размещенного на удаленном Web-сервере, или встроенного в сообщение электронной почты в формате HTML.
Устранение ошибок в Internet Explorer
Чтобы узнать, уязвима ли используемая вами версия программы, введите в командной строке команду jview. Найдите номер сборки (последние четыре цифры номера версии) и определите, к какой из следующих категорий он относится.
Версия | Состояние |
---|---|
1 520 или ниже | Ошибка отсутствует |
2000-2438 | Есть ошибка |
3000-3167 | Есть ошибка |
Не удивляйтесь, если после выполнения команды jview окажется, что изъян существует, даже если Internet Explorer не установлен. Некоторые другие продукты компании Microsoft, такие как Visual Studio, тоже устанавливают виртуальную машину Java. Во время написания этого раздела немало был удивлен и автор, когда выяснил, что у него на компьютере тоже установлена версия JVM с изъяном. Она была установлена вместе с IE 5.0 через год с момента выпуска модуля обновления!
Модуль обновления, который называется Virtual Machine Sandbox, можно найти по адресу http://www.microsoft.com/windows/ie/security/default.asp в списке других модулей обновления браузера Internet Explorer. В качестве крайней меры можно попробовать даже полностью отключить Java, хотя в этом случае Web-страницы с аплетами Java (которые работают со стороны клиента) потеряют всю свою привлекательность. Чтобы отключить Java в Internet Explorer, нужно выполнить действия, описанные в одном из предыдущих разделов, посвященном зонам безопасности. Кроме того, помимо установки уровня безопасности High для зоны Internet, нужно также вручную отключить все параметры, которые ссылаются на Java.
Brown Orifice и новые ошибки в Java
Летом 2000 года Дан Брумлев (Dan Brumleve) сообщил о двух выявленных изъянах. относящихся к реализации Java в Netscape Communicator. В частности, он установил, что в некоторых файлах библиотек классов Java при выполнении определенных операций не выполняется надлежащая проверка безопасности или результаты этой проверки игнорируются. В число классов, о которых идет речь, входит класс java.net. ServerSocket, используемый для создания прослушиваемых сетевых сокетов для входящих сетевых соединений, а также классы netscape.net.URLConnection и netscape.net.URLlnputSteam, содержащие абстрактные стандартные методы чтения локальных файлов. Во всех этих трех классах содержатся методы, в которых некорректно вызывается метод SecurityManager.check, определяющий, действительно ли данный аплет обладает правами доступа, необходимыми для выполнения некоторых действий. Если проверка завершилась неудачей, то это исключение игнорируется.
Оба этих изъяна были заложены в реализацию аплета Java, в котором перечисленные методы служат для создания портов прослушивания и получения права на чтение файловой системы. Дан написал код на языке Java и поместил его на своем Web-узле в качестве примера, иллюстрирующего справедливость концепции и возможность использования обнаруженных изъянов для взлома браузеров Internet. Он создал простую форму, позволяющую пользователю выбирать каталог для совместного применения и порт, который необходимо прослушивать. Эта информация передавалась в сценарий CGI на языке Perl, который обращался к разработанным Даном классам Java, устанавливая возможность совместного обращения к указанным каталогам и создавая со стороны клиента порты прослушивания, связанные с этими каталогами.
Демонстрируя прекрасное чувство юмора, Дан позаботился о поддержке возможностей, подобных возможностям программного продукта Napster, позволяя пользователям совместно работать с файлами через одноранговую сеть, которая создается миллионами пользователей, ведущих обмен данными с помощью протокола HTTP. Однако недооценивать серьезность проблемы не следует, хотя бы потому, что она позволяет устанавливать доступ к данным и выполнять их чтение. Обнаруженная Даном ошибка достаточно опасна. Она позволяет пользователям выбрать удаленный каталог, к которому они хотят иметь доступ. Можно разработать и более опасные аплеты, которые могут работать более скрытно и выявлять каждую систему с браузером Netscape, где можно поживиться важной информацией.
Контрмеры против Brown Orifice
Как обычно, единственный надежный способ защиты от опасных аплетов заключается в запрете использования Java в Web-браузере. Сделать это можно в браузере Netscape, как описано выше в разделе "Отключение Java В Браузере Netscape" и показано на рис. 16.3. Мы рекомендуем использовать эти параметры пользователям Netscape.
Компания Netscape не позаботилась о разработке модулей обновления, устраняющих ошибку. Данный изъян имеется в версиях с 4.0 по 4.74 браузера Communicator, которые можно использовать в операционных системах Windows, Macintosh и UNIX. В Netscape 6 этой ошибки нет.