Спустя всего несколько дней после выхода (http://www.opennet.me/opennews/art.shtml?num=35833) внепланового обновления Java SE 7 Update 11 с устранением активно эксплуатируемой в сети уязвимости, появилась информация (http://www.infoworld.com/t/security/oracle-neglecting-the-co...) о создании эксплоита, основанного на новой уязвимости. Эксплоит пока не доступен широкой публике и не интегрирован в типовые пакеты для распространения вредоносного ПО, но уже продаётся на профильном форуме по цене $5000 и его приобрели ка минимум два покупателя. Продавец достаточно известен в своих кругах и имеет устоявшуюся репутацию, поэтому маловероятно, что эксплоит фиктивный. По предварительному анализу, проведённому (http://www.infoworld.com/t/java-programming/why-fixing-the-j...) представителями сообщества OpenJDK, в последнем выпуске Java SE 7 Update 11 устранён лишь частный случай уязвимости, но не исключено задействование других техник эксплуатации.
Напомним, что эксперты по компьютерной безопасности ни раз выступали (http://www.opennet.me/opennews/art.shtml?num=35157) с критикой (http://www.opennet.me/opennews/art.shtml?num=34714) Oracle из-за затягивания (http://www.opennet.me/opennews/art.shtml?num=34696) исправления уязвимостей, информация о которых передаётся в Oracle в частном порядке, без публичного оглашения. С момента отправки уведомления до исправления уязвимости могут пройти многие месяцы, например, известно о наличии в Java неисправленных проблем безопасности, информация о которых была отправлена ещё в апреле 2012 года.URL: http://www.infoworld.com/t/security/oracle-neglecting-the-co...
Новость: http://www.opennet.me/opennews/art.shtml?num=35854
Когда после новости о том, что мозила блокирует Java-аддон вышла новость об исправлении в Java критических уязвимостей, я думал, что выйдет новость об исключении мозилой Java из блэклиста. Я был не прав.
>>типовые пакеты для распространения вредоносного ПОУх ты. С инсталлятором и инструкцией для хомячков?
Практически. Метасплойт, к примеру.
Глючная хрень этот метасплойт.
Oracle делает все, что-бы закопать и похоронить нишу клиентского ПО для Java, которая в сочетании с JavaFX смотрится очень неплохо ... так нет-же. Одна радость - есть все-же OpenJDK, который уже в 6-ке смотрелся неплохо, а в 7-ке вообще красота ...
Да такая красота, что просто слов нет. Стваим oracle sql developer - глючит. Ищем причину - опа - после замены jdk на с опен на оракл - работает нормально. Запускаем apache cassandra - падает. Ищем причину - и снова замена jdk исправляет ситуацию.
> Да такая красота, что просто слов нет. Стваим oracle sql developer -
> глючит. Ищем причину - опа - после замены jdk на с
> опен на оракл - работает нормально. Запускаем apache cassandra - падает.
> Ищем причину - и снова замена jdk исправляет ситуацию.OpenJDK 7 имеет статус эталонной реализации JVM и потому тут вопросов больше именно к Oracle.
Кроме того, тут еще вопрос тюнинга .... с какими опциями запуска у Вас падает кассанда ? Вы анализировали дампы, где именно происходит падение ?
Ну эталонная реализация, и че? Это не означает что она быстрее работать будет.
> Ну эталонная реализация, и че?А то, что вопросы связанные с проблемами работы отдельных продуктов в ней - это уже больше вопрос к самим продуктам и к-ву травы, которую подвозили тамошним разработчикам
> Это не означает что она быстрее работать
> будет.Вообще-то говоря речь не шла о скорости .... но раз заговорили про скорость - вопрос отдельный и очень сложный, который настолько сильно зависит от настроек опций запуска, что можно выкрутить
Извините, но даже банальный вопрос типа сборщика мусора многое решает.
Падает п out of memory. Независимо от прописываемых мной настроек. При этом, что неприятно, RPM кассандры притянул с собой именно OpenJDK. Побился над падениями какое-то время - сменил JDK - работает, не падает.
> Падает п out of memory. Независимо от прописываемых мной настроек. При этом,
> что неприятно, RPM кассандры притянул с собой именно OpenJDK. Побился над
> падениями какое-то время - сменил JDK - работает, не падает.Стоп, так у Вас она на OpenJDK падает ? Очень странно ....
Вероятнее всего тут как раз имеет место быть ситуация, когда реализации JVM совершенно по разному работают с конкретным сборщиков мусора ... по крайней мере похоже на то.
>> Падает п out of memory. Независимо от прописываемых мной настроек. При этом,
>> что неприятно, RPM кассандры притянул с собой именно OpenJDK. Побился над
>> падениями какое-то время - сменил JDK - работает, не падает.
> Стоп, так у Вас она на OpenJDK падает ? Очень странно ....
> Вероятнее всего тут как раз имеет место быть ситуация, когда реализации JVM
> совершенно по разному работают с конкретным сборщиков мусора ... по крайней
> мере похоже на то.Возможно, что так. При этом фокус вот в чем - на сайте кассадры написано НЕ ставьте OpenJDk, будет падать. А сам RPM его притянул - я, к сожалению, сразу не заметил.
> Возможно, что так. При этом фокус вот в чем - на сайте
> кассадры написано НЕ ставьте OpenJDk, будет падать.Именно так, это сохранилось со времен 6-й, где д-но были вопросы.
А 6-ка у многих стоит + отдельно оптимизировать именно под OpenJDK - в чем-то это правильно ... так или иначе - вопрос непростой.> А сам RPM его
> притянул - я, к сожалению, сразу не заметил.Ну это было сделано исходя из лицензии ...
IBM-овскую жаву пробовали? http://www.ibm.com/developerworks/java/jdk/linux/download.html
> IBM-овскую жаву пробовали? http://www.ibm.com/developerworks/java/jdk/linux/download.htmlУ меня лично сложилось впечатление, что ее применение больше всего ориентированно на сами продукты IBM (типа WebSphere), там да - они играет ... а других случаях ... во всяком случае никакой особой разницы в работе того софта, который пишу и сопровождаю замечено не было ...
>> IBM-овскую жаву пробовали? http://www.ibm.com/developerworks/java/jdk/linux/download.html
> У меня лично сложилось впечатление, что ее применение больше всего ориентированно на
> сами продукты IBM (типа WebSphere), там да - они играет ...
> а других случаях ... во всяком случае никакой особой разницы в
> работе того софта, который пишу и сопровождаю замечено не было ...Там с настройками больше свободы.
Оракловая
$ java -X
-Xmixed mixed mode execution (default)
-Xint interpreted mode execution only
-Xbootclasspath:<directories and zip/jar files separated by :>
set search path for bootstrap classes and resources
-Xbootclasspath/a:<directories and zip/jar files separated by :>
append to end of bootstrap class path
-Xbootclasspath/p:<directories and zip/jar files separated by :>
prepend in front of bootstrap class path
-Xdiag show additional diagnostic messages
-Xnoclassgc disable class garbage collection
-Xincgc enable incremental garbage collection
-Xloggc:<file> log GC status to a file with time stamps
-Xbatch disable background compilation
-Xms<size> set initial Java heap size
-Xmx<size> set maximum Java heap size
-Xss<size> set java thread stack size
-Xprof output cpu profiling data
-Xfuture enable strictest checks, anticipating future default
-Xrs reduce use of OS signals by Java/VM (see documentation)
-Xcheck:jni perform additional checks for JNI functions
-Xshare:off do not attempt to use shared class data
-Xshare:auto use shared class data if possible (default)
-Xshare:on require using shared class data, otherwise fail.
-XshowSettings show all settings and continue
-XshowSettings:all
show all settings and continue
-XshowSettings:vm show all vm related settings and continue
-XshowSettings:properties
show all property settings and continue
-XshowSettings:locale
show all locale related settings and continueIBM
pavel@localhost:~> /usr/lib64/jdk-ibm-1.7/bin/java -X
Следующие опции не являются стандартными и могут изменяться без уведомления.
-Xbootclasspath:<путь> задать <путь> как путь к классам bootstrap
-Xbootclasspath/p:<путь> добавить <путь> в начало пути к классам bootstrap
-Xbootclasspath/a:<путь> добавить <путь> в конец пути к классам bootstrap
-Xrun<библиотека>[:параметры] загрузить внутреннюю библиотеку агента
(устарело, используйте вместо этого -agentlib)
-Xshareclasses[:параметры] Включить совместное использование данных класса (см. справку)
-Xint выполнять только проинтерпретированный код (аналог -Xnojit -Xnoaot)
-Xnojit выключить JIT
-Xnoaot не выполнять заранее скомпилированный код
-Xquickstart отложить оптимизацию для сокращения времени запуска
-Xfuture включить строгие проверки с учетом будущих значений по умолчанию
-verbose[:(class|gcterse|gc|dynload|sizes|stack|debug)]
-Xtrace[:параметр,...] трассировка управления, введите -Xtrace:help для получения сведений
-Xcheck[:параметр[:...]] проверка управления, введите -Xcheck:help для получения сведений
-Xhealthcenter включить агент Health Center
-Xdiagnosticscollector включить Diagnotics Collector
-XshowSettings показать все параметры и продолжить
-XshowSettings:all показать все параметры и продолжить
-XshowSettings:vm показать все параметры виртуальной машины и продолжить
-XshowSettings:properties показать все параметры свойств и продолжить
-XshowSettings:locale показать все параметры локалей и продолжить
Значения следующих параметров задают количество байт.
Значения с суффиксом "k" (кило) или "m" (мега) умножаются на соответствующий коэффициент.
-Xmca<x> задать <x> как приращение сегмента класса в оперативной памяти
-Xmco<x> задать <x> как приращение сегмента класса во внешней памяти
-Xmn<x> задать <x> как начальный/максимальный размер новой области
-Xmns<x> задать <x> как начальный размер новой области
-Xmnx<x> задать <x> как максимальный размер новой области
-Xmo<x> задать <x> как начальный/максимальный размер старой области
-Xmos<x> задать <x> как начальный размер старой области
-Xmox<x> задать <x> как максимальный размер старой области
-Xmoi<x> задать <x> как приращение старой области
-Xms<x> задать <x> как начальный объем памяти
-Xmx<x> задать <x> как максимальный объем памяти
-Xmr<x> задать <x> как размер сохраненного набора
-Xmrx<x> задать <x> как максимальный размер сохраненного набора
-Xmso<x> задать <x> как размер стека нитей ОС
-Xiss<x> задать <x> как начальный размер стека нитей Java
-Xssi<x> задать <x> как приращение стека нитей Java
-Xss<x> задать <x> как максимальный размер стека нитей Java
-Xscmx<x> задать <x> как размер нового кэша общих классов
-Xscminaot<x> задать <x> как минимальное пространство в кэше общих классов, зарезервированное для данных AOT
-Xscmaxaot<x> задать <x> как максимальное пространство в кэше общих классов, допустимое для данных AOT
-Xmine<x> задать <x> как минимальный размер расширения кучи
-Xmaxe<x> задать <x> как максимальный размер расширения кучи
Значения следующих параметров задаются как десятичная дробь от 0 до 1.
Значение 0,3 задает 30%
-Xminf<x> минимальная доля свободной памяти в куче после сбора мусора
-Xmaxf<x> максимальная доля свободной памяти в куче после сбора мусора
Значения следующих параметров задаются как десятичные дроби.
-Xgcthreads<x> число нитей сбора мусора
-Xnoclassgc выключить динамическую выгрузку классов
-Xclassgc включить динамическую выгрузку классов
-Xalwaysclassgc включать динамическую выгрузку классов при каждом сборе мусора
-Xnocompactexplicitgc выключить сжатие при системном сборе мусора
-Xcompactexplicitgc включать сжатие при каждом системном сборе мусора
-Xcompactgc включить сжатие
-Xnocompactgc выключить сжатие
-Xlp включить поддержку больших страниц
-Xrunjdwp:<параметры> включить отладку, применяются стандартные параметры JDWP
-Xjni:<параметры> параметры JNI
Там несколько по разному можно задавать настройки, к-во опций - вопрос не принципиальный .
Смотрите, для примера только по настройкам сборщика - http://www.petefreitag.com/articles/gctuning/
Все через одну опцию ...
"Write once, run anywhere", если кто забыл.
> "Write once, run anywhere", если кто забыл.А разве иначе ? В рамках одной JVM этот принцип вообще говоря работает ...
нет, первую попробовал Оракловую - помогло, дальше экспериментировть не стал
Начиная с 7 явы, опенждк и оракл ждк это одно и тоже.
Различия там минимальный, связанны в основном с аудио/видео.
Пора уже договориться об разделении Java-новостей на 3 категории:
№0: Обнаружена уязвимость.
№1: Oracle выпустил апдейт, исправляющий уязвимость
№3: Прочее.
Это может помочь и экономии времени и нервов. Оракл.Новость.№0 -- всё просто и понятно:)
пропустил категорию номер два
№2 орацле выпустил апдейт, который по мнению оракле исправляет уязвимость, но на деле это не так
Just Another Vulnerability Announcement
Думаю Oracle надо задуматься о подобной практике проводимой Google с браузером Chrome: платить хакерам за обнаружение зависимостей. Затратно конечно, зато легче держать руку на пульсе...
им бесплатно высылают и они не чешутся, а вы о бабосах.
прочитайте внимательно последний абзац.
> им бесплатно высылают и они не чешутся, а вы о бабосах.
> прочитайте внимательно последний абзац.Вы упускаете из виду один простой и очевидный факт.
Оракл - не маленькая голодная компашка, только-только вылезшая из мамкиной дырки на рынок и изо всех сил зарабатывающая имя. А большая, жирная, зажравшаяся и забюрократизированная компания-монстр в 35000 эмплоёв. У которой просто решения по инстанциям ходят как нервные импульсы по шее жирафа. И которая продает СОТНИ продуктов.
Вы плохо себе представляете эффективное функционирование подобного монстра-мутанта. И даже просто функционирование.
Кстати, основная цель подобной компании - это не сатисфачинг таких, как вы, красноглазых без гроша в кармане. Слово "бесплатно" в Оракле матерное. Цель данной компании - рубить бабло акционерам и лично владельцу. К слову, как и любого нормального вменяемого бизнеса.
Бизнес прагматичен. И за 35 лет существования Ораклу прекрасно известно, что ваши вопли на форуме "забирайте свои игрушки и не писайте в мой горшок!" в реале не понизят прибыль ни на цент. Как вы себе представляете смену вендора, скажем, в банке J.P.Morgan Chase? Правильно, вы даже объемов себе представить не можете. Сколько чего развернуто, чего сколько стоит и какие инвестиции делаются в инфраструктуру. И J.P.Morgan Chase это знает. И лично Лоуренс Т. Эллисон это знает тоже.
Поэтому стонать вы можете на лорчиках-опеннетиках сколько угодно. Собака брешет - ветер носит.
Так и запишем: Аноним и Эллисон идиоты.Хотя наверно второй туда случайно попал и тока со слов Анонима.
Дело в том, мой анонимный брат, что конторы, в которых смена вендора обходится в семизначные-восьмизначные суммы, имеют суппорт контракты с гарантированным SLA. И день проеба обходится (ораклу) совсем не в копейку.
Бага, не пойманная QA и обнаруженная после релиза, обходится в $5e4 в среднем. Бага с эскалацией от важного кастомера существенно больше, вплоть до $Xe6 (данные еще с Сана, в Оракле хрен суммы узнаешь).
Так что "понизят прибыль ни на цент" это смешно, да.
Кроме SLA, о которых уже упомянули, совершенно очевидно, что это будет влиять на тех, кто решает, на чём делать новые проекты. И даже те же Морганы вполне могут свои новые системы пытаться сделать на чём-то другом. Наверняка в части случаев это вполне возможно и беспроблемно, тем более что к зоопарку энтерпрайсу не привыкать - я вообще не видел ни одного большого проекта меньше чем из трех разных языков, и уж всяко не только на JVM.
Если бизнес это так хорошо, откуда тогда кризисы и последующие войны, где гибнут невинные, как средство их разрешения? По моему это простой и очевидный факт.
> Вы плохо себе представляете эффективное функционирование подобного монстра-мутанта. И даже просто функционирование.Правильно, потому как слово "эффективное" для подбного "монстра-мутанта" (маркетоидного сброда), вряд ли вообще возможно.
>Кстати, основная цель подобной компании - это не сатисфачинг таких, как вы, красноглазых без гроша в кармане. Слово "бесплатно" в Оракле матерное.
Ну правильно, матерное. Потому как чему-то большему, чем завоевание доли рынка они не научились. Ситуация с OpenOffice этот тезис отлично проиллюстрировала. И да, основная цель подобной компании - впарить лоху. А что бы клиент был доволен - в оракле не почешутся даже.
>Цель данной компании - рубить бабло акционерам и лично владельцу.
Словосочетание "рубить бабло" означает впарить лоху. Зарабатывание денег, это, извините, несколько другое.
>К слову, как и любого нормального вменяемого бизнеса.
> Словосочетание "рубить бабло" означает впарить лоху. Зарабатывание денег, это, извините, несколько другое."Зарабатывание денег" - это то же "впаривание лоху", но только с милой улыбкой на лице.
Нет, зарабатывание денег, это когда тебе не срать на качество
своего труда и на то, как потом твоим трудом будут пользоваться
те, кто его оплатил.
Такие идеалисты при капитализме быстро разоряются (или, в лучшем случае, обитают в узких нишах, куда ещё не пришли Большие Корпорации - после чего опять же разоряются).
просто спокойно живут и работают: без сверхприбылей, «совета директоров», яхт и именных фондов.
Когда моторола сократилась до 30000 человек её сотрудники стали говорить, что от компании почти ничего не осталось.
Товарищ там ошибся слегонца. 35,000 было у Сана. У Оракля одних продажников больше.
>компания-монстр в 35000 эмплоёв.на начало прошлого года там чалилось 110 т. человек. сейчас еще больше ...
> Вы плохо себе представляете эффективное функционирование подобного монстра-мутанта.штука в том, что пользователя жабы совершенно не волнуют мутантские проблемы. с точки зрения пользователя оракель функционирует очень, очень плохо. настолько плохо, что не способен даже нормально чинить баги в своём продукте.
впрочем, если оракель начнёт платить пользователям жабы за каждый прошедший без фикса день, то тогда пользователи — возможно — проникнутся к оракелю сочувствием и начнут «представлять».
с другой стороны, тот, кто использует жабу — ССЗБ. знал, что выбирает. и кого.
Oracle $5000 пожалела? Никогда не понимал такую экономию на спичках )