23 Ноября 2024, 13:12

Java

Автор Script, 20 Июня 2008, 15:21

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

Zhek@Ch

13 Июля 2011, 01:41 #40 Последнее редактирование: 13 Июля 2011, 01:41 от Zhek@Ch
[size="3"]Критическая уязвимость в Oracle Java[/size]

В Oracle Java JRE найдена критическая уязвимость, позволяющая выполнить код злоумышленника вне виртуальной машины при открытии специально оформленных web-страниц при наличии в web-браузере активного Java-плагина. Проблема присутствует в последнем выпуске Java 6 update 26 (build 1.6.0_26-b03), о времени выхода обновления с исправлением проблемы пока ничего не известно.

Уязвимость связана с особенностью использования небезопасного режима загрузки исполняемых файлов в ситуации нехватки свободной памяти. Данная особенность может быть использована для выполнения произвольного внешнего приложения при открытии специальной HTML-страницы, в которой загружаемый апплет размещен на удаленном сервере WebDAV или SMB.


Zhek@Ch

22 Июля 2011, 13:27 #41 Последнее редактирование: 22 Июля 2011, 13:31 от Zhek@Ch
[size="3"]Проект JPC-2 позволяет запустить Windows XP и Ubuntu в виртуальной машине Java [/size]

Посте пяти лет разработки представлен проект JPC-2, в рамках которого создан эмулятор ПК, написанный на языке Java и работающий под управлением виртуальной Java-машины (JVM). JPC-2 продолжает развитие открытого Java-эмулятора JPC. Создаваемой эмулятором виртуальный компьютер позволяет установить немодифицированные версии Windows XP и Ubuntu Linux, и запустить их внутри браузера, используя обычный Java-плагин. Код JPC-2 пока публично не доступен (доступ к коду можно получить после отправки запроса на email).

Производительность выполняемой в виртуальном ПК операционной системы в режиме полной эмуляции составляет примерно 10% от производительности реального ПК. Для желающий запустить в эмуляторе не операционную систему, а отдельное приложение подготовлен инструментарий для компиляции приложения на C/C++/Fortran в Java-байткод, который может быть выполнен со скоростью порядка 85% от производительности нативного кода. Для обеспечения безопасности весь выполняемый в эмуляторе код огражден от внешнего мира тремя независимыми барьерами, мешающими вредоносному коду выбраться за пределы виртуального окружения.


Zhek@Ch

29 Июля 2011, 02:29 #42 Последнее редактирование: 29 Июля 2011, 02:29 от Zhek@Ch
[size="3"]Компания Oracle анонсировала выход Java SE 7 [/size]

Компания Oracle анонсировала доступность Java SE 7 (Java Platform, Standard Edition 7), первый значительный релиз Java, выпущенный под управлением Oracle. Кроме большого числа новшеств, в новой версии сделан большой шаг навстречу реальной открытости платформы - в качестве эталонной реализации Java SE 7 использован не проприетарный пакет JDK, а его открытая реализация OpenJDK. Релиз Java SE 7 был сформирован при тесном сотрудничестве инженеров Oracle с участниками мировой экосистемы Java, благодаря работе комитета JCP (Java Community Process) и сообщества OpenJDK.

Все поставляемые Oracle бинарные файлы эталонной реализации Java SE 7 собраны на основе кодовой базы OpenJDK, сама эталонная реализация полностью открыта под лицензией GPLv2 с исключениями GNU ClassPath, разрешающими динамическое связывание с коммерческими продуктами. Используя OpenJDK в качестве эталонной реализации сторонние производители могут создавать полностью совместимые с Java SE 7 производные открытые реализации Java. Проприетарный Oracle JDK 7 отличается от OpenJDK наличием некоторых закрытых компонентов, таких как система плагинов, которые не определены в Java-стандарте и не входят в эталонную реализацию Java 7. Oracle JDK и бинарные файлы эталонной реализации, как и раньше, поставляются под лицензией BCL (Binary Code Licence).

В Java SE 7 сохранена полная обратная совместимость с прошлыми выпусками платформы Java, все ранее написанные Java-проекты без изменений будут работоспособны при запуске под управлением новой версии. Поддержка Java SE 7 уже интегрирована в такие инструменты для разработчиков, как NetBeans 7.0, Eclipse Indigo (требуется установка специального плагина), IntelliJ IDEA 10.5 и Oracle JDeveloper. С момента выпуска JDK 6 в JDK 7 добавлено 1966 улучшений, 9018 изменений, исправлено 9494 ошибок и создано 147 тестовых сборок. Из других интересных фактов упомянуто, что Java используется на 97% корпоративных десктоп-систем, каждый год загружается около 1 миллиарда копий Java, сообщество насчитывает около 9 миллионов разработчиков на языке Java, в обиходе используется около 3 миллиардов устройств, на которых используются технологии Java.

Особенности Java SE 7:

  • Интеграция набора небольших языковых улучшений Java, развиваемых в рамках проекта Coin. Например, поддержка указания строк в выражениях "switch", использование "try" для ресурсов, улучшение обработки исключений (multi-catch) и т.п. Данные улучшения нацелены на повышение эффективности труда разработчиков и на упрощение выполнения типичных ежедневных задач, за счет сокращения размера требуемого для реализации задачи кода, использования более ясного синтаксиса и создания более читаемого кода;
  • Поддержка языков программирования с динамической типизацией, таких как Ruby, Python and Javascript. Улучшение включает в себя набор расширений к JVM и Java, а также новое Java SE API (добавлена инструкция InvokeDynamic), позволяющее достичь для реализаций динамических языков, работающих под управлением JVM, уровня производительности языка Java;
  • Ориентированный на многоядерные системы API, позволяющий упростить разбиение задачи на части, которые будут выполняться параллельно на разных процессорных ядрах (Fork/Join Framework);
  • Новый API для ввода/вывода (NIO.2) и новый API для работы с файловой системой (File System API), поддерживающие асинхронный ввод/вывод и multicast, позволяющие получить доступ к большему числу атрибутов файлов и выводящие расширенную информацию в случае ошибок. Дополнительно подготовлен модуль с поддержкой прямого ввода/вывода из ZIP и JAR-архивов;
  • Новые сетевые функции и возможности, связанные с безопасностью. Например, поддержка TLS 1.2 и режима шифрования по эллиптическим кривым;
  • Расширенная поддержка интернационализации и локалей, включая поддержку Unicode 6.0, IETF BCP 47 (Tags for Identifying Languages) и UTR 35 (Local Data Markup Language). Возможность раздельного указания локалей для операций форматирования и для пользовательского интерфейса;
  • Поддержка сетевых протоколов SCTP (Stream Control Transmission Protocol) и SDP (Sockets Direct Protocol);
  • Поддержка загрузки классов по URL;
  • Улучшения связанные с поддержкой коллекций;
  • Обновленный XML-стек, включающий JAXP 1.4, JAXB 2.2a и JAX-WS 2.2;
  • Усовершенствованный ClassLoader API, позволяющий избежать возникновения взаимных блокировок при использовании не иерархических топологий загрузки классов;
  • В Java2D добавлен модуль вывода, использующий XRender, что позволяет более полно задействовать возможности современных GPU;
  • Визуальное оформление Nimbus и декоратор JLayer для GUI-тулкита Swing, позволяющие создавать более современные интерфейсы пользователя;
  • Обновление версий большого числа библиотек классов, новые версии Rowset 1.1 и JDBC 4.1.
В JDK 7 не включены Лямбда-выражения ("замыкания"), модульная система Jigsaw, аннотации для Java-типов, Swing application framework (JSR296) и поддержка языковых конструкций для работы с коллекциями. Данные возможности будут реализованы в JDK 8, релиз которого намечен на 2012 год.


Zhek@Ch

29 Июля 2011, 23:37 #43 Последнее редактирование: 29 Июля 2011, 23:37 от Zhek@Ch
[size="3"]У проектов Apache возникли проблемы с работой в Java 7 [/size]

В анонсе релиза Java 7, компания Oracle гарантировала сохранение полной обратной совместимости со всеми ранее выпущенными продуктами. На деле все оказалось не так радужно. Разработчики Java-проектов Apache Lucene и Apache Solr уведомили пользователей о возникновении ряда серьезных проблем, при попытке запуска код под управлением Java 7. При этом наблюдаются не только крахи в процессе работы, но и более серьезные проблемы, такие как повреждения содержимого поисковых индексов.

После анализа ситуации, разработчики пришли к выводу, что проблемы возникли из-за некорректной работы некоторых режимов оптимизации в новой версии компилятора в виртуальной машине Hotspot. Проблемы могут проявляться не только в виде крахов, но и приводить к некорректным результатам вычислений. Разработчики посоветовали пользователям отложить переход на использование Java 7 для запуска кода проектов Apache, как минимум до первого корректирующего обновления Java 7 (jdk7 update 2).

В качестве временного обходного пути предлагается отключить оптимизацию циклов, используя опцию "-XX:-UseLoopPredicat". Пользователи Java6 также подвержены указанным проблемам, в случае если они используют в JVM неактивные по умолчанию опции "-XX:+OptimizeStringConcat" и "-XX:+AggressiveOpts". Интересно, что об ошибках было известно за 7 дней до выхода релиза, но компания Oracle выпустила финальную версию Java 7 точно в срок, отложив на потом устранение серьезных недоработок.


Zhek@Ch

20 Октября 2011, 09:15 #44 Последнее редактирование: 20 Октября 2011, 09:16 от Zhek@Ch
[size="3"]Релиз свободного Java-пакета IcedTea 2.0. Обновление Java SE 6 Update 29 с устранением 20 уязвимостей [/size]

Анонсирован релиз IcedTea 2.0, первой версии полностью открытой реализации Java SE 7, построенной на базе OpenJDK7 и виртуальной машины HotSpot, с использованием свободных средств сборки. IcedTea 2.0 поддерживает все возможности Java SE 7 и включает внесенные в дерево исходных текстов OpenJDK7 патчи. В IcedTea также интегрировано несколько улучшений, созданных разработчиками проекта. Например, добавлен звуковой драйвер для работы через PulseAudio, обеспечена поддержка использования альтернативных виртуальных машин, реализован 64-разрядный браузерный плагин IcedTea-Web с поддержкой LiveConnect и Java Web Start, добавлена поддержка дополнительных платформ.

 В новой версии также отмечено устранение 13 уязвимостей, некоторые из которых могут привести к организации удаленного выполнения кода злоумышленника. Одновременно с IcedTea 2.0 выпущены корректирующие релизы IcedTea 1.8.10, 1.9.10 и 1.10.4, в которых устранены аналогичные уязвимости.

Одновременно компания Oracle представила двадцать девятый корректирующий релиз Java SE Runtime (JRE) 6 и Java SE Development Kit (JDK) 6, в котором устранено 20 уязвимостей. Подробности об устраненных уязвимостях не сообщаются, упоминается только, что некоторые из проблем имеют критический характер и пользователям следует немедленно обновить Java.

19 из 20 уязвимости могут быть эксплуатированы удаленно с вектором атаки через сеть. 5 уязвимостей имеют статус опасных, для 5 уязвимостей степень опасности определена средняя, а для 10 как незначительная. 9 уязвимостей могут привести к выполнению кода при обработке специально оформленного апплета. 10 уязвимостей позволяют получить доступ к закрытым данным или произвести манипуляции с данными не имея на это прав. Одна уязвимость позволяет организовать атаку по подстановке фиктивных значений в кэш DNS.

Известно, что одна уязвимость исправлена в 2D-подсистеме, одна в HotSpot VM, три в Deployment Toolkit, одна в SAAJ, одна в сетевой подсистеме, одна в Swing, одна в звуковой подсистеме, одна в сетевой подсистеме, одна в JAXWS, две в AWT, две в JSSE, две в RMI, две в JRE и одна в подсистеме скриптинга. Опасные уязвимости исправлены в AWT, Deployment Toolkit, JRE и в сетевой подсистеме.


Zhek@Ch

05 Ноября 2011, 02:52 #45 Последнее редактирование: 05 Ноября 2011, 02:52 от Zhek@Ch
[size="3"]Закрытие проекта Apache Harmony, независимой реализации Java SE [/size]
 
Принято решение о закрытии проекта Apache Harmony, в рамках которого развивалась альтернативная открытая реализация Java SE (J2SE 5 и 6), распространяемая под лицензией Apache и являвшаяся камнем преткновения в конфликте с компанией Sun Microsystems и в последствии с Oracle. Большинством голосов (20 - "за" и 2 - "против") разработчики проголосовали за перемещение всех связанных с проектом наработок в репозиторий устаревших проектов Apache Attic.

Проект Apache Harmony был основан за несколько лет до открытия под лицензией GPLv2 кода JDK и добился отличной совместимости с Java SE. Тем не менее, нежелание Sun и Oracle пойти на отмену ограничений на сферу использования продуктов, протестированных в JCK (Java Compatibility Kit), привело к невозможности формального признания проекта Apache Harmony полностью совместимым с Java SE. Для свободных GPL-проектов JCK распространяется без ограничений, но реализация Apache Harmony распространяется под лицензией Apache 2.0. Компания Sun пошла на определённые уступки и дала возможность бесплатно использовать JCK в проектах Apache, но при условии соблюдения ряда ограничений, например, запрещено тестировать в JCK реализации Java SE, которые могут быть использованы для работы контент-киосков (платежные терминалы, информационные автоматы, банкоматы и т.п.).

Таким образом, использование тестового пакета для проверки совместимости Apache Harmony с Java в определенных областях требовало оплаты лицензионных отчислений, что по мнению представителей Apache, нарушает соглашение JSPA (Java Specification Participation Agreement), в котором оговорен бесплатный характер распространения спецификаций. Oracle же считает, что соблюдает заявленные соглашения, так как лицензирует JCK на условиях FRAND ("fair, reasonable and non-discriminatory" - "справедливый, приемлемый, беспристрастный").

После того как попытки уладить конфликт в течение многих лет не увенчались успехом, фонд Apache призвал участников комитета JCP голосовать против принятия спецификаций для следующей версии Java. В итоге, бунт не удался, а фонд Apache демонстративно заявил о выходе из состава комитета JCP, принимающего решения о дальнейшем развитии Java SE/EE. При выходе было заявлено о невозможности создания независимых открытых реализаций Java, которые могли бы гарантировать пользователям защиту от возможных исков, связанных нарушением интеллектуальной собственности авторов спецификаций. Также было указано на то, что Java-технологии остаются проприетарными, несмотря на открытый код OpenJDK, так как единоличное вмешательство компании Oracle искажает процесс прозрачного управления в экосистеме Java. Примерно в это же время проект Apache Harmony лишился своего основного союзника и спонсора - компания IBM заявила о сотрудничестве с Oracle и подключилась к развитию OpenJDK.