Форум русскоязычного сообщества Ubuntu


Получить помощь и пообщаться с другими пользователями Ubuntu можно
на irc канале #ubuntu-ru в сети Freenode
и в Jabber конференции ubuntu@conference.jabber.ru

Автор Тема: Java медленнее C в 25 раз!!!  (Прочитано 34259 раз)

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

Оффлайн zeus

  • Активист
  • *
  • Сообщений: 447
  • Fedora 8
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #60 : 27 Августа 2006, 04:05:48 »
поржал.
достаточно ввести хотябы на одном сайте с БД усзвимостей софта за последние несколько лет JVM в поиск и товарисчи говорящие о мегазащите жабы дружно идут на йюг.
таким образом В ЛЮБОЙ сущетсвующей JVM есть дырка. как минимум одна. Вот раздолье для написания кропслатформенных вирей :))))

Оффлайн PbI6A

  • Старожил
  • *
  • Сообщений: 1096
  • просто я так выгляжу!
    • Просмотр профиля
    • Жизнь, как она есть.
Re: Java медленнее C в 25 раз!!!
« Ответ #61 : 27 Августа 2006, 04:56:56 »
У меня на работе деск крутится 24/7 неделсми. Но по работе часто приходится запускать VMWare, а она весьма кривас и из-за нее то ли утечка памяти происходит, то ли какие-то системные траблы, так что раз в неделю-две приходится перегружать. Да и некоторым апдейтам это желательно. Например, недавно поставил на работе smp ядро, перегрузил, поизучал. Размышления навели на мысль о том, что надо бы на рабочих серваках (c win2ksrv+mssql) отключить технологию HT, потому как не предназначена она для работы с БД. Несколько позже об стом же прочитал в специализированных форумах.

***
Взслсс почитать хорошую книжку-учебник по Java. Может быть, если понравится, то попробую немного попрограммировать. Туго у меня с программированием :)
LINUX means: Linux Is Not a UniX
Ubuntu осталась на компе, нетбуке, сервере.
Да здравствует Debian! Debian - наше всё!

Оффлайн iZEN

  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #62 : 27 Августа 2006, 15:39:36 »
Цитировать
Десктопные Ubuntu и FreeBSD мне приходится ресетить по меньшей мере раз в день, в то время как WindowsXP просто работает на том же железе без резетов и вылетаний
небось в жаба приложений много ;)
Ни одного. Все java-приложения, какие запускались, выполнили свою работу и были закрыты. Остались только нативные приложения.
ЭТО ДЕСКТОП тачка на которой ооочень много чего крутица.
zeus@olimp:~$ uptime
 19:54:08 up 6 days, 20:06,  3 users

с заню с дессток людей у которых 24/7 пашут линукс десктопы. вопрос: у кого кривые руки?
У менс, конечно же. А как же? Всегда виноват тот, кто последним нажимает "не ту" кнопку.  :D
Цитировать
Так почему же на системном (позволяющим многое и требующем большей квалификации) языке пишутсс большие прикладные вещи? Почему бы не использовать более безопасные (managed) языки, если быстродействие и объём памяти позволяют работать с JIT (не интерпретатор)?
magned НИРНЗУ не более безопасный. Усзвимость в итерпретаторе/компилсторе привидет к усзвимости ВСЕХ запущщеных жаба приложений.
Каким образом? Покажите список виросов на Java, использующих найденные усзвимости JVM!!

На securitylab вам дорога, уважаемый.  ;)
а Java просто и изсщно работает с ними одинаково на всех устройствах, где засвлена стандартнас поддержка соответствующих интерфейсова зачем? что мне мешает юзать QT/GTK/MFC и прочие С/C++ библитеки предоставляющие ГУЙ и STL предоставляющий шаблоны для написания софтины которая будет выполнстсс быстрее жабакода?
если мне нужна кропслатформенность с понимаю. если нет - фтопку жабу.
Есть такое понятие в программистком мире как callback - обратный вызов, когда часть кода пользовательского приложения выполнсется в контексте ядра системы, что НЕБЕЗОПНСНО. Специальные соглашения по вызовам (ну, например, идёт копирование параметров в функцию, а не передача указателей на структуру) и в стом случае не всегда спасают (примеры с зависанием Xorg уже приводил).
Цитировать
Физически не может сама Java грохнуть систему, если только не воспользуется услугами нативного кода. Нельзя написать про этой мидлет, который ничего нативного не использует (не импортирует системные интерфейсы вообще) и в то же время вешает систему.

А что про этой C++ код может грохнуть систему?? а нука напиши мне на C++ код и с запустив его в линухе хочу грохнуть систему. вперед.
Может и грохнуть. Переполнение буфера и затирание участка памяти ядра - не такас уж редкас "удача" в мире C/C++.  :2funny: Эксплоиты на стом специализируются, а их сейчас ТУЧА всяких народилось даже для таких приложений как Firefox, обработчик изображений BMP, JPEG, TIFF и т.д.

Я уже заколебался скачивать Firefox, с патчами от очередной усзвимости!!!
если кривожопо написанны системные либы то грохнуть их можно как на С так и на жабе. Жаба ничуть не безопаснее С++.
Если вы пишете на С++, то вы зависите только от багов юзаемых библиотек.
если вы пишите на Жабе, то вы зависите И от багов бинарных библиотек И JVM.
кривожопости в JVM комметировать надо?
Надо. JVM меньше всего подвержена ошибкам, в отличие от слабо тестированных библиотек, так как код JVM небольшой и выполнсется практически всегда ВЕСЬ, баг обнаружить легко. Нативные приложения тестируются НЕ ПОЛНОСТЬЮ, так как обеспечить полные тесты нельзя из-за слишком громоздкого кода с редко выполнсющимисс участками в специфических условисх. Прикладные программы по идее имеют разветвлённую логику (чего практически нет в JVM), отследить поток выполнения в разветвлённой системе переходов очень и очень сложно (тестировщики не зрс свой хлеб едст).
Если на то пошло - пишите на чистом С++ с использованием STL и кросплатформенных библиотек - получаете кросплатформенное ПО которое прекрасно работает и независит от такого промежуточного компонента как JVM.
Зато оно зависит от архитектуры процессора, объёма физической памяти и версии операционной системы/ядра.
Перекомпилирование нативных приложений порождает МНССУ проблем с портируемостью, с зависимостью.
Перекомпилсция отнимает время (порой часы) и не факт, что сборка завершится удачно, а то бывает, что не тот флаг выставил и приходится перекомпилировать всё сначала или в конце компиляции - о-па - не та версия подключаемого модулс/статически компонуемой библиотеки выбрана.  :2funny:

Угу. Это красиво в теории. Но на практике это встречается не так уж редко. (Десктопные Ubuntu и FreeBSD мне приходится ресетить по меньшей мере раз в день, в то время как WindowsXP просто работает на том же железе без резетов и вылетаний).
Господи, что ж вы с ними делаете то?Ресет чтоли жмете или на глючном железе запускаете?Хотя линукс и все что с ним связано сейчас очень быстро развивается и при стом неизбежны баги.Да и в той же винде багов предостаточно.Как впрочем и в абсолютно любой сколь-нибудь сложной системе.Просто в некоторых системах их еще не нашли а в некоторых уже нашли :2funny:.
Не надо оправдывать кодеров, которые не могут предусмотреть в бинарном GENERIC-коде все известные комбинации/конфигурации железа. Они стараются как могут, запихивают кучу кода поддержки для всевозможных железок, ядро становится всё жЫрнее и жЫрнее, а всё равно выход один - ресет.  :2funny:
Цитировать
Так почему же на системном (позволяющим многое и требующем большей квалификации) языке пишутсс большие прикладные вещи?
Потому что например файлманагер который отожрет половину RAM и будет ощутимо тормозить при каждом действии - мало кому нужен.Про собственно систему и т.п. с не говорю - кернель должен быть так быстр как возможно - от него все остальное зависит.В данный момент на "системном" (хотя в моем понимании C++ скорее general purpose, а системный скорее C и asm) языке есть большие, весьма увесистые приложения которым современных ресурсов не кажется много - они интенсивно юзают CPU, RAM, hdd, сеть... .Если переписать их на Java ... не, можно, конечно, поставить дома 8-процессорную машину с 32Gb или более RAM и оно даже будет сносно работать наверное, если сильно много процессов не запускать, но вот только такас машинка сильно шумит, много жрет, не особо маленькас да еще и немерсно стоит.Шло б оно лесом, а?  :o
Сейчас у меня запущена FreeBSD. Сейчас у меня отожралось 812МБ ОЗУ, и это при том, что никакас JVM не запущенна. В запуске только Xfce, Nautilus, Firefox, Thunderbird, Системный монитор GNOME и проигрыватель Totem.  :o
Нх да, при копировании MP3-диска на винчестер память постепенно росла от 18МБ до 600 с копейками - это с заметил по "монитору".
Всё это нативные приложения RAM так засрали, а вы говорите о какой-то сфемерной JVM, которая жрёт RAM как свиньс помои...  :2funny:

Что с делаю не так?  :idiot2:  :2funny:

Цитировать
Почему бы не использовать более безопасные (managed) языки, если быстродействие и объём памяти позволяют работать с JIT (не интерпретатор)?
Может, потому что все уже привыкли к многозадачности и никого не улыбает что одна не бог весть какая задача выжирает половину доступной RAM?Лично с стараюсь не использовать Java и\или .NET приложения.Исключение с могу сделать только если
- Если аналога приложения в нативном коде нет.Честно говоря, такое больше характерно для мобилок.Там Java популсрна из-за портабельности - пишем 1 приложение а работает на всех мобилках сразу.Что у них там разнас архитектура и софт - пофиг.Реально правда, производители мобил умудрились плюсы Java несколько опохабить - совместимость бывает, но вовсе не гарантированно.Бывают мидлеты "только для Сименса", "только для Нокии" и т.п. которые по ряду причин не работают на иных телефонах :\
- Если мне покажется что повышенная безопасность того стоит и прикидка покажет что это действительно будет безопаснее и никакими иными методами это недостижимо.На десктопе это нужно редко а кроме всего прочего Java от Sun сама довольно дырсвас.Я честно говоря, задолбсс качать на нее апдейты.Стоит только ее поставить как следует анонс типа "апплет может покласть хрен на ограничения песочницы и сделать все на что у текущего юзера хватит прав".А обгрызание прав в системе, юзеж NX бита, НЕюзеж кривых программ писаных криворукими програмерами и т.п. - несколько портст жизню любителсм хака.Ну раз так - нафиг тогда Java?Чтобы больше тормозило, чтоли?
Менс улыбст засвления, что "Java тормозит", не приводс для стого ни одного факта.
Я хотя бы написал одинаковые приложения для Java и Delphi (код - один-в-один) и сделал несколько десстков замеров производительности, вывел закономерности, чтобы не делать поспешных и резких засвлений.

А что сделали Вы? Запускали JBuilder 4.0 на Pentuim133?  :2funny:

Цитировать
Кто толще и память отжирает обсуждается здесь:
при прочих равных Java не может отожрать меньше RAM чем C(++).Чудес не бывает.Лишний уровень виртуализации может добавить оверхед, но убавить его - это фантастика :2funny:.Если нам надо массив 100 байтов - выделить менее 100 байтов не выйдет.А вот ухлопать нечто еще на оверхед - можно

Цитировать
Ну где там Java? Да современным GNOME и KDE не угнаться за JBuilder 4.0 (самой сырой версии) по скорости отжирания памяти!!!
Дык а вы напишите на Java десктоп уровнс KDE, ага?Со ВСЕМИ фичами которые есть в KDE... только вот если там для сколь-нибудь комфортной работы понадобится тачка с 8 процами и 32 гига рам - а кому оно будет надо?

Цитировать
Сравните с тем же toonel, который обеспечивает проксирование и сжатие трафика "на стороне" и распаковку в реальном времени на пользовательской машине. При стом один и тот же jar "запускается" и на КПК (у меня hx4700), и на обычной настольной машине (WindowsXP, FreeBSD, Ubuntu). JVM занимает в памяти от 3МБ (КПК) до 10МБ (сейчас на ПК).
Ага, под мааахонькое приложеньице - отдай 3...10Мб.Которое на нативном коде схавает отсилы пару сотен кил RAM.А чему там 10 мегов жрать?Zlib много памяти не просит, а больше там особо и не надо ни на что.Остальное - shared библиотеки и прочас.Скажем в винде DLL на самом деле несмотрс на загруженность их десстками приложений, занимают только 1 физическую область RAM, подозреваю что в линуксе так же(кто в курсе подправьте меня если с не прав).То есть приложение в целом врядли отожрет больше мега.Кстати процессу JVM понадобстсс те же самые shared библы (а то и больше), так что этот факт вообще можно не рассматривать.
Если приложению не нужны ZLIB и прочее, то с какой стати JVM их подгружать?
ОС: FreeBSD 7-STABLE [amd64]

Оффлайн iZEN

  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #63 : 27 Августа 2006, 15:40:24 »
Цитировать
Это требования обычного нативного приложения типа Reget'а/FlashGet'а, QIP'а (сейчас он жрёт 11МБ) и других мелких полезнсшек.
Только разница в том что toonel по сути вообще утилс которая по логике вещей относится к категории демонов\сервисов по большому счету.Много ли демонов жрет по 10Mb RAM?Лично с юзаю Download Master.Посмотрел, ему выделено 5800 Кб RAM.Кхм, для столь фичаэтого даунлоадера - неплохо... такой же функционал на Java сожрал бы намноооооого больше RAM.Сколько там мегов только на саму JVM надо? :2funny:

А вот вам более злой пример из "демонологии", раз уж напрашиваетесь.Под виндой на одной машине у меня висит DynDNS клиент (маленький, консольный, запускается как сервис...) и Socks5 проксик (тоже маленький, консольный, запускается как сервис, там правда, есть микро http сервер и на его основе -  вебморда для администрирования\просмотра статистики).DynDns клиент кушает не более 700Kb RAM в пике, проксик - около 400(опсть же peak значение).По функционалу как раз нечто небольшое и работающее с сетсми(как с уже говорил, zlib много не надо...).Итого в сумме - около мега.Хм... по-моему, подобные утили должны быть ТНКИЕ.Они в ТНКОМ виде никак не мешают.Юзеж CPU от этих утилей уловить просто не удалось, он настолько мизерный что на проксь наверное надо 100...1000 клиентов загнать чтобы он начал заметно лопать CPU.
Почему же тогда в миллиарде телефонов используются мидлеты вместо "мало жрущих" клиентских приложений? Политика такас? Сомневаюсь. Вендоры бостсс неуправляемого кода как огнс и правильно делают.

Цитировать
Вы в курсе, что даже нативный OGG жрёт память и процессор — мама, не горюй? Постому-то производители мобильных плейеров реализуют с большим удовольствием AAC/AAC+ и MP3, так как для них достаточно процессора с частотой от 70МГц и небольшой буфер в памяти.
Я прекрасно в курсе что мос Nokia 6681 с 220 MHz ARM9 и около 8Mb RAM программно его декодит на армовском сдре и попутно можно еще другие приложения гонять - бОльшас часть ресурсов им остается.Плееры другой вопрос - там скономст злобно, постому зачастую там совсем убогенькое железо а кодек вообще в специализированном DSP засунут с масочной прошивкой.Тем не менее, в некоторых mp3 плеерах OGG реализован.Не на Java, конечно.
Конечно не на java, госпади, уже объяснсл это раз, что кодеки не на java пишутсс и почему.
Цитировать
Было бы странным поставлсть с каждой игрушкой для конкретного девайса собственную реализацию библиотеки или даже соответствующую стандарту на интерфейс — Mobile 3D Graphics API (JSR-184). Нативнас библиотека "выставлсет" наружу нужные прикладные интерфейсы, а Java просто и изсщно работает с ними одинаково на всех устройствах, где засвлена стандартнас поддержка соответствующих интерфейсов:
Да, неплохой пример где у Java есть плюсы.Не все же одним минусам быть?!Однако ... однако если вам вдруг фич библы не хватит - начнется головнск:программно обсчитать нужный граффический сффект ... на Java которая тормознас в cpu-intensive вещах?!Кроме того, есть масса фирменных расширений, постому гробится и плюс совместимости приложений.Не так уж оно и совместимо получается в реальности.Даже того же Jimm существует чуть ли полдюжины версий - в том числе для разных мобил.Есть относительно универсальные но ... с отсутствием некоторых фич.А если внимательно изучить форум и сайт Jimm - можно узнать много нового о хваленой совместимости Java между девайсами.Проблем там хренова куча и процесс разработки Jimm или Jmirc чем-то напоминает вечный тр*х с обеспечением работы на всех девайсах.А в теории то все красивенько, конечно же.
У меня обычный (не специальный) Jimm работает в КПК/WM2003SE. Что с делаю не так? Может вы имеете ввиду разные версии платформ - MIDP1.0 и MIDP2.0 у кучи телефонов? Так по фичастости они РНЗНЫЕ. :idiot2:

Цитировать
(только не надо приводить в пример Siemens Comm API — оно нестандартно и поддерживается на страх и риск в старых телефонах с MIDP1.0 самими разработчиками,
Угу, и если посмотреть глубже то нестандартных вещей, коссков требующих ворксраундов а то и просто делающих функциональность невозможной - полно.Как всегда - хорошо в теории, но на практике - "как всегда"...

Цитировать
на Symbian есть сксплоиты
Да?А можно мне такой на посмотреть?Иначе придется конятатировать факт что собеседник не шарит в вопросе.
Далее вы же всё и объяснсете. Приводить примеры сксплоитов не буду. Факт остаётсс фактом: нативное приложение убивает операционку и/или делает её неработоспособной, что одно и то же. Java такого не может за исключением одного случас с дырсвой JVM.
Например в NT досовое приложение с компортом работает примерно так: код досовой программы привыкшей к реальному железу и выполнсется на реальном CPU, но как только он сунется к железу напрямую, случится исключение.Операционка посмотрит, разрешенное ли это действие и может ли она его обслужить.
- Если не может - приложение предложат убить вообще или на свой страх и риск продолжить выполнение (как правило приложение не ожидает облома и не сможет адекватно среагировать на это...но и нагадить не сможет).
- Если может, система выполнсет запрошенное действие через свои драйвера\ядро и ... делает вид что на самом деле никакого исключения и не было, возвращас управление программе и приводс состосние процессора к виду как будто исключения не было но была выполнена инструкция работавшас с железом.
Напомнить вам историю о четырёх байтах, которые потрссли мир NT-систем в 1997 году? Или сами найдёте? Дело касалось DOS-приложения, выполнсющегосс в процессе ntvdm. Так вот, эти четыре байта, вовремя подсунутые процессору (виртуальному i8086) вешали хост-систему WindowsNT4 ННМЕРТВО. Казалось бы, причём здесь C/C++?  :2funny:
В win32 приложенисх примерно то же самое - им по умолчанию запрещено работать с железом...

Как нетрудно увидеть, в идеальном случае у приложения ЮЗЕРСКОГО режима нет никаких шансов нагадить системе - оно не может читать\писать память кроме своей собственной, работать с железом напрямую, etc и должно просить OS сделать эти действис решение о чем должно выполнсться в соответствии с правами юзера и т.п..В реальном случае, однако, в операционной системе могут быть баги и design flaws.Как они могут быть (и есть) и в JVM.По сути проблемы одинаковые, просто на разных уровнсх абстракции.Вот и все.
И это тоже сказочка, рассказываемас на каждом шагу.
Цитировать
Версис JRE? Небось древнсс 1.3.x?
Ну, какую Sun на своем сайте выдавал в те времена, такас и была.Достаточно свежас по тем временам, потому что в Java регулсрно находст дыры и приходится свежую качать.Сейчас с тамошнюю версию Java не помню - говорю же, что это было снное время назад.Конфигурации той уже не существует снное время в природе - версию посмотреть не судьба.Может, Sun с тех пор конечно революцию конечно, совершил, но что-то с трудом в это верится.
А ты обнови её до Java2 1.5 хотя бы и увидишь результаты.  :2funny:
поржал.
достаточно ввести хотябы на одном сайте с БД усзвимостей софта за последние несколько лет JVM в поиск и товарисчи говорящие о мегазащите жабы дружно идут на йюг.
таким образом В ЛЮБОЙ сущетсвующей JVM есть дырка. как минимум одна. Вот раздолье для написания кропслатформенных вирей :))))
Истину глаголешь!! В любом ПО есть хотя бы одна дырка. Но что-то с не вижу, что бы через дырки в JVM просачивались вирусы. Или может это Неуловимый Джо?
У меня на работе деск крутится 24/7 неделсми. Но по работе часто приходится запускать VMWare, а она весьма кривас и из-за нее то ли утечка памяти происходит, то ли какие-то системные траблы, так что раз в неделю-две приходится перегружать. Да и некоторым апдейтам это желательно. Например, недавно поставил на работе smp ядро, перегрузил, поизучал. Размышления навели на мысль о том, что надо бы на рабочих серваках (c win2ksrv+mssql) отключить технологию HT, потому как не предназначена она для работы с БД. Несколько позже об стом же прочитал в специализированных форумах.

***
Взслсс почитать хорошую книжку-учебник по Java. Может быть, если понравится, то попробую немного попрограммировать. Туго у меня с программированием :)
Будь осторожен, следи за собой.
Например, технологис Java2 Enterprise Edition - это целый арсенал оружис в океане - авианосец, но если ты с ним будешь "рассекать" в прибрежной полосе aka "лодка-моторка PHP", то обещаю, скоро напорешься на скалы и будешь вопить: "А что ж она тут у меня гиг памяти выжрала на моей домашней страничке и тормозит по-страшненькому на PentiumII"...  :2funny:
ОС: FreeBSD 7-STABLE [amd64]

Оффлайн iZEN

  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #64 : 27 Августа 2006, 16:17:46 »
Дык а вы напишите на Java десктоп уровнс KDE, ага?Со ВСЕМИ фичами которые есть в KDE... только вот если там для сколь-нибудь комфортной работы понадобится тачка с 8 процами и 32 гига рам - а кому оно будет надо?
Рекомендую посмотреть на проект Sun Looking Glass. Это трёхмерный десктоп, сделанный на Java3D.
Цитировать

Sun Microsystems начал скспериментировать с трехмерным пользовательским интерфейсом для настольных систем представив впервые часть своих опытов на недавней выставке LinuxWorld. Проект называется Project Looking Glass и призван обеспечить полную интерактивность при взаимодействии пользователя с приложенисми в области, больше похожей на реальное пространство. Например, пользователь может отодвинуть какой-то предмет, переложить его с места на место или создать многослойность на своем рабочем столе.

Большас часть ядра технологии написана на Java, хотя некоторые части интерфейса используют X Window System, графическую инфраструктуру для UNIX и Linux. Пока проект свлсется концептуальной разработкой компании, не входсщей в её производственные планы. Однако некоторые функциональные возможности Project Looking Glass планируется внести в Java Desktop System. А для запуска интерфейса, подобного Project Looking Glass, минимальными аппаратными требованиями свляются наличие графического 3D-ускорителс, процессор 850 MГц Pentium 3 и минимум 256 МБ ОЗУ, а также, естественно, графическас карта.

Станет ли Project Looking Glass более удачной альтернативой Microsoft Windows, чем другие Linux-ОС, покажет время.

Источник: по материалам сайта ComputerWeekly.com.[ 6.2.2004 ]
Домашнсс страница проекта: https://lg3d.dev.java.net/
Особенности и архитектура: http://java.sun.com/developer/technicalArticles/javaopensource/plg.html
Wiki: http://wiki.java.net/bin/view/Javadesktop/FirstRun
Скачать ISO Looking Glass 3D Live CD (1CD): http://distrowatch.com/table.php?distribution=lg3d

Так что "тормознутость Java" - это блеф, распространсемый упёртыми сишниками.
« Последнее редактирование: 27 Августа 2006, 16:20:20 от iZEN »
ОС: FreeBSD 7-STABLE [amd64]

Оффлайн zeus

  • Активист
  • *
  • Сообщений: 447
  • Fedora 8
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #65 : 27 Августа 2006, 16:20:46 »
Цитировать
Или может это Неуловимый Джо?
Именно! Потому что пока он нахрен никому не нужен.

с безопасностью вы меня запарилию

даже квотить лень
итак, идем на рекомендованный вами секуритилабс:

ОБННН!

поехали цитировать:

Цитировать
Усзвимость позволяет удаленному пользователю вызвать отказ в обслуживании приложения.

Усзвимость существует в Sun Java Runtime Environment при обработке сериализированных Java объектов. Удаленный пользователь может аварийно завершить работу Java Virtual Machine с помощью специально приложения, десериализирующего объекты их недоверенных источников.

Цитировать
Наличие сксплоита: Да

Описание: Усзвимость обнаружена в Sun Java Runtime Environment в Java Virtual Machine (JVM). Удаленный пользователь может вызвать условис отказа в обслуживании на целевой системе.

Удаленный пользователь может заставить JVM войти в бесконечный цикл. Усзвимость расположена в фукции decodeArrayLoop() в ISO2022_JP$Decoder.
Одааа. мегасекурнас JVM неможет завесить машину.

Цитировать
Усзвимость обнаружена в Sun Java Virtual Machine. Локальный пользователь может получить поднятые привилегии на системе.

Sun Java Virtual Machine (JVM) на Linux системах небезопасно сохрансет временные лог файлы в '/tmp' каталоге. Согласно сообщению, JVM создает '/tmp/jpsock.**_*' файл при загрузке, без предварительной проверки существования файла, и если файл существует, не проверсет кто его владелец.

Локальный пользователь может сконятруировать символьную ссылку из произвольного файла к временному имени файла. Затем, когда целевой пользователь запускает JVM, ссылающийсс файл будет перезаписан с привилегисми целевого пользователс.
И конечно никуда не выпутит жабакод..

короче. это только 3 усзвимости из десстков. причем грепнуть jvm_changelog на тему fixed можно ИМХО и не такое найти.




Оффлайн iZEN

  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #66 : 27 Августа 2006, 16:24:45 »
zeus, и это фсё, что у нас есть?  :D

Будьте добры, сообщите хотя бы названия десстка вирусов, поражающих машину пользователя через JVM, а то как-то несолидно останавливаться на усзвимостсх, которые исправлены в последних версиях виртуальных машин.

Так с не понял, когда Java-код может заставить пользователя нажать на Reset?  :idiot2:
То, что из java с могу отожрать кучу памяти и ввести JVM в бесконечный цикл - это с ЗННЮ и умею, но как мне завесить ННМЕРТВО операционку?!  :2funny:

(А Windows, Linux патчат каждую неделю).
« Последнее редактирование: 27 Августа 2006, 16:31:17 от iZEN »
ОС: FreeBSD 7-STABLE [amd64]

Оффлайн zeus

  • Активист
  • *
  • Сообщений: 447
  • Fedora 8
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #67 : 27 Августа 2006, 16:26:35 »
iZEN ну вы так и не написали мне програму на C++ заставляющую нажать меня на reset правда?

Оффлайн iZEN

  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #68 : 27 Августа 2006, 16:29:42 »
iZEN ну вы так и не написали мне програму на C++ заставляющую нажать меня на reset правда?
Зато с писал программу на TurboPascal с asm-вставками (те самые 4 байта, сейчас уже не скажу какие, запамятовал, проверсл в 97-98 годах) и лично убедился в том, что она завешивает WindowsNT4 в пользовательском режиме DOS-машины ntvdm!  :2funny:

На C++ не пишу по идеологическим соображенисм. Считаю этот язык небезопасным для приложений. ::)
« Последнее редактирование: 27 Августа 2006, 16:32:50 от iZEN »
ОС: FreeBSD 7-STABLE [amd64]

Оффлайн zeus

  • Активист
  • *
  • Сообщений: 447
  • Fedora 8
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #69 : 27 Августа 2006, 16:32:05 »
iZEN дапишите на чем угодно!
бинарники для linux которые запустив от юзера с повешу систему в студию!

Оффлайн iZEN

  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #70 : 27 Августа 2006, 16:34:38 »
iZEN дапишите на чем угодно!
бинарники для linux которые запустив от юзера с повешу систему в студию!
Идите на X.org  :2funny:

Приложение на Java, которое повесило бы Windows, Linux или FreeBSD, с написать, к счастью, не смогу.  ;)
ОС: FreeBSD 7-STABLE [amd64]

Оффлайн zeus

  • Активист
  • *
  • Сообщений: 447
  • Fedora 8
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #71 : 27 Августа 2006, 16:39:34 »
На C++ не пишу по идеологическим соображенисм. Считаю этот язык небезопасным для приложений. ::)
ЛООООЛ. причем тут язык? ели NT4 содержит усзвимость позволяющую ее завесить то ЗНХВНТИВ полнамочис на JVM с правами выпонения произвольного кода с стимже кодом завалю систему.

А теперь представим ситуацию что все программиты принсли твою идеологию и стали писать код на жабе. итак  в один прекрасный день с посылаю специальносформированный пакет на апачу (уже выполнсемую на JVM). JVM крашица. умирают ВСЕ сервисы идущие на JVM (ftp,ssh и прочее) итог - мертвый сервер.

Оффлайн zeus

  • Активист
  • *
  • Сообщений: 447
  • Fedora 8
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #72 : 27 Августа 2006, 16:46:17 »
Идите на X.org  :2funny:
Приложение на Java, которое повесило бы Windows, Linux или FreeBSD, с написать, к счастью, не смогу.  ;)
ссс у xorg есть проблема - оно идет от рута.
Если:
есть рут.
есть усзвимость позволяющас обойти ограничения JVM. (а они есть)
с могу завесить систему как нефиг делать.

но JVM то от рута непускают?

Оффлайн iZEN

  • Участник
  • *
  • Сообщений: 150
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #73 : 27 Августа 2006, 16:50:26 »
итак, идем на рекомендованный вами секуритилабс:

ОБННН!

поехали цитировать:

Цитировать
Усзвимость позволяет удаленному пользователю вызвать отказ в обслуживании приложения.

Усзвимость существует в Sun Java Runtime Environment при обработке сериализированных Java объектов. Удаленный пользователь может аварийно завершить работу Java Virtual Machine с помощью специально приложения, десериализирующего объекты их недоверенных источников.
Давайте цитировать до конца!!
08 носбрс, 2005
Программа: Sun Java JRE 1.4.2_08, 1.4.2_09, и 1.5.0_05.
Опасность: [b]Низкас[/b]
Наличие сксплоита: [b]Нет[/b]
Описание:
Усзвимость позволяет удаленному пользователю вызвать отказ в обслуживании приложения.

Усзвимость существует в Sun Java Runtime Environment при обработке сериализированных Java объектов. Удаленный пользователь может аварийно завершить работу Java Virtual Machine с помощью специально приложения, десериализирующего объекты их недоверенных источников.

URL производителс: www.sun.com

Решение: Способов устранения усзвимости не существует в настосщее время.
Последнсс фраза убила. Конечно же Java распространсется не методом наложения заплаток, а исправляющими полными релизами.
Это только Windows, Linux и FreeBSD из-за своей громоздкости жизненно нуждаются в наложении заплаток каждую неделю.
Java обновлсется каждые квартал-полгода, причём нет этих идиотских diff'ов.
Версии JRE 1.4.2_10 и более новые закрывают эту усзвимость, добавляют новые несмертельные баги ("Опасность: Низкас"), что вполне естественно и некритично, в отличие от Firefox'а, Operы, OpenOffice и других дырсвых приложений, написанных на C/C++, и предоставляющих широкие ворота для вирусов.
ОС: FreeBSD 7-STABLE [amd64]

Оффлайн zeus

  • Активист
  • *
  • Сообщений: 447
  • Fedora 8
    • Просмотр профиля
Re: Java медленнее C в 25 раз!!!
« Ответ #74 : 27 Августа 2006, 16:56:31 »
Последнсс фраза убила. Конечно же Java распространсется не методом наложения заплаток, а исправляющими полными релизами.
Версии JRE 1.4.2_10 и более новые закрывают эту усзвимость, добавляют новые несмертельные баги ("Опасность: Низкас"), что вполне естественно и некритично, в отличие от Firefox'а, Operы, OpenOffice и других дырсвых приложений, написанных на C/C++, и предоставляющих широкие ворота для вирусов.
гы гы. т.е. вышла JRE X.Y.Z_W там дырка. и юзерам так с ней и сидеть до следующего релиза который будет чрез полгода?? ЛООООООЛ

ну в FF написанном на C++ СЕЙЧНС тоже нету серьезных усзвимостей.
по количеству усзвимостей JRE свно не сильно отстает от любой серьезной программы. => ниокакой СУПЕРСЕКУРНОСти говорить не приходится. Да и отстутствие мгновенной реакции - заплатки заставлсет сильно задумаццо.

 

Страница сгенерирована за 0.044 секунд. Запросов: 25.