Brown Orifice и новые ошибки в 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, где можно поживиться важной информацией.



Содержание раздела