Я разницу вижу как минимум в том, что софт в отличие от Вашей двери пишется один раз и затем используется миллионами, а иногда и миллиардами, людей. Следовательно, тратя время на его оптимизацию, экономится невообразимо больше как процессорного, так и реального времени у тех кто потом этим софтом пользуется.
Qt и GTK ставить в один ряд с Electron максимально некорректно, как минимум потому что первые два это фреймворки, код для которых (обычно) пишется на нативных языках без GC и VM, а Electron это фактически офлайн-браузер.
Ну, с виртуализацией/контейнеризацией конечно это возможно, но тут речь про запуск недоверенного кода в той же самой JVM, где недоверенный код будет взаимодействовать с доверенным. Конечно, можно было бы потратить много усилий чтобы сделать это безопасно (SecurityManager с этим справлялся плохо даже если был нормально настроен, к слову), если бы это было нужно значительному количеству людей. Но нет, почти никому это оказалось не нужно, потому что в большинстве случаев JVM используется для бэкэнда серверов, где недоверенного кода нет, а если таки надо его выполнить, то всегда можно заспавнить процесс в отдельном сильно ограниченном namespace'е, что и проще чем настраивать SM, и безопасней. Не вижу проблемы.
Да, вы правы, с тем что новая версия джавы спасёт ошибся, хоть и эксплуатировать уязвимость с новой версией джавы сложнее. Нужно чтобы в classpath были сторонние определённые библиотеки, что сильно снижает количество уязвимых приложений, на том же сервере или клиенте майнкрафта уже не сработает.
Спасает только на майнкрафтах 1.13 и выше, на 1.12 и ниже (сейчас это самая популярная версия на публичных серверах) используется версия log4j в которой этого параметра ещё нет.
Уязвимость конечно серьёзная (и очень глупая, потому что делать по умолчанию замену плейсхолдеров в лог-сообщении это прямо рецепт как получить такие проблемы; с другой стороны, если бы разработчики которые используют эту библиотеку читали бы документацию не по диагонали, они бы знали про параметр nolookups и просто добавили бы его), но очень сильно преувеличена.
Именно RCE (загрузка класса и его выполнение) возможно только на Java 8u121 и более старых, на джавах новее требуется специальный флаг чтобы рантайм доверял классам загруженным по URL в соответствии с ответом JNDI или RMI сервера, поэтому на новых джавах можно только чуток попортить лог-сообщения и узнать IP-адрес сервера с программой которая это сообщение залоггировала (UPD: Нет, RCE на новых версиях джавы всё ещё возможен, но сложнее).
Лично мне вот многие "дружелюбные к пользователю" дистрибутивы из тех что я пробовал ставить относительно недавно, меньше месяца назад, в некоторых моментах показались сложнее даже арча который у меня в качестве основной системы последние 8 лет (пробовал Linux Mint, Ubuntu, Fedora).
Мне хотелось просто сделать HTPC на линуксе, т.е. просто DE+браузер+плеер, и надеясь это получить в вышеупомянутых дистрибутивах просто кликая "далее-далее-далее" в установщике за 15 минут, я получил больше геморроя чем получил бы просто поставив арч который по идее "для опытных пользователей".
В Linux Mint, например, дефолтные настройки совершенно неадекватные (в лисе по умолчанию поиск Yahoo, и чтобы сменить его на гугл надо быть очень внимательным, просто в настройках этого нет; стоят опенсорсные драйвера Nouveau, которые на хоть чуть-чуть не древних видеокартах NVIDIA работают так что лучше бы просто не работали; ещё например стоит по умолчанию headless JRE, это прямо то что надо на десктопном дистрибутиве чтобы люди не понимали почему не запускаются графические java-приложения, хотя java стоит);
Ещё, когда пробовал удалить некоторые из предустановленных приложений мне предлагало снести всю DE, к счастью я смотрю что подтверждаю поэтому естественно нажал N, но это встречалось и на других deb-based дистрибутивах с другими пакетами, так понимаю это общая у них проблема из-за одного пакетного менеджера. Плюс было много багов со звуком и некоторыми другими вещами, я думаю что из-за прогнивших пакетов доисторических версий, в частности из-за старого ядра и PulseAudio.
Ubuntu - как и Linux Mint, прогнившие пакеты, плюс у меня она вообще просто развалилась после автоматического обновления и перезагрузки. Чинить не стал. Но в отличие от Linux Mint, хотя бы красивое.
На Fedora чтобы поставить обычные нужные почти всем вещи нужно подключать доп. репозитории по левым туториалам из гугла, которые отличаются для каждой версии дистрибутива (ведь почти никому не нужен например VLC в Fedora видимо?), но в остальном она оказалась самой беспроблемной.
От такого опыта даже я был в шоке, линуксоид с 8летним стажем, который с консолью на ты, который и загрузчик если что починить может, и проблему по логам продебажить, и даже в исходниках с отладчиком если что может порыться. Был бы я обычным пользователем который просто хочет чтобы всё работало, это поставило бы на линуксе для меня окончательный крест.
Я очень люблю линукс, но получив такой опыт я прекрасно понимаю почему им пользуются проценты среди обычных пользователей, несмотря на то какой ужас из себя представляет например современная Windows. Потому что либо ты разбираешься как что работает и ставишь+настраиваешь что-то вроде арча чтобы получить идеально работающую систему, на что далеко не все готовы инвестировать время, либо у тебя после "лёгкой и простой установки" какой нибудь убунты половина системы поломана и тебе надо командами из гугла пытаться заставить её работать нормально, часто с ожидаемым результатом.
Естественно я это считаю проблемой самих этих дистрибутивов, а не ядра линукса или его userspace'а. Посвежее бы пакеты, в десктопном то дистрибутиве, получше пакетный менеджер (после pacman мне apt показался медленным кривым анахронизмом), побольше нужных пользователю пакетов в репозитории чтобы не надо было всякие PPA подключать (в арче даже проприетарный драйвер NVIDIA не постеснялись включить в репозиторий), и может получится действительно что-то с человеческим лицом.
Spyro: Year of the Dragon :) И там ещё куча сюрпризов было, которые друг на друга накладывались постепенно по мере игры. Порталы между мирами направляли не туда куда нужно, собранные яйца бесследно исчезали, после опр. момента сюжета максимальное хп становилось ограничено, иногда с локации вообще было невозможно выйти, из-за этого дойти до этого финального босса тоже было той ещё задачей.
Помню когда был мелким и играл в купленную отцом пиратку на PS1, думал что это просто какие то баги игры, и только потом я узнал что это была такая DRM-защита.
Если провайдер (хотя скорее всего государство через провайдера) захочет вставить прокси со своим сертификатом, то это уже политическая проблема, а не техническая, решать которую надо тоже политическими методами, а не техническими.
На реддите /r/vfio не раз видел инструкции об этом, некоторые даже с патчами QEMU, как это делается чтобы обходить как минимум EasyAnticheat, и ещё вроде DRM от RDR2 видел. Естественно там никто никаких гарантий не даёт что через N времени аккаунт не улетит в бан потому что например проверку на VM неожиданно сделают поумнее, но вообще нет ничего теоретически невозможного в том чтобы реализовать виртуалку которая прям совсем не будет отличима от реально железа, если это будет кому-то нужно с соответствующими компетенциями и наличием свободного времени.
С незалоченным загрузчиком (который собственно и позволит поставь этот Windows или самосборный линукс) ничего не мешает коробочный линукс поправить нужным образом.
Только официально заявлялось что на Steam Deck можно поставить любую другую операционную систему, т.е. залочен загрузчик очевидно не будет, если они конечно не сделают что-то вроде того как это сейчас на андроиде, что по умолчанию он заблокирован, и если его разблокировать то телефон перестаёт считаться "надёжным".
На Arch Linux просто pacman -Sw имяпакета, плюс сам пакетный менеджер кэш скачанных пакетов хранит
Я разницу вижу как минимум в том, что софт в отличие от Вашей двери пишется один раз и затем используется миллионами, а иногда и миллиардами, людей. Следовательно, тратя время на его оптимизацию, экономится невообразимо больше как процессорного, так и реального времени у тех кто потом этим софтом пользуется.
Qt и GTK ставить в один ряд с Electron максимально некорректно, как минимум потому что первые два это фреймворки, код для которых (обычно) пишется на нативных языках без GC и VM, а Electron это фактически офлайн-браузер.
Ну, с виртуализацией/контейнеризацией конечно это возможно, но тут речь про запуск недоверенного кода в той же самой JVM, где недоверенный код будет взаимодействовать с доверенным. Конечно, можно было бы потратить много усилий чтобы сделать это безопасно (SecurityManager с этим справлялся плохо даже если был нормально настроен, к слову), если бы это было нужно значительному количеству людей. Но нет, почти никому это оказалось не нужно, потому что в большинстве случаев JVM используется для бэкэнда серверов, где недоверенного кода нет, а если таки надо его выполнить, то всегда можно заспавнить процесс в отдельном сильно ограниченном namespace'е, что и проще чем настраивать SM, и безопасней. Не вижу проблемы.
А взамен не стоит запускать недоверенный код, это в любом случае ни к чему хорошему не приводит.
Он был объявлен устаревшим в Java 17.
Да, вы правы, с тем что новая версия джавы спасёт ошибся, хоть и эксплуатировать уязвимость с новой версией джавы сложнее. Нужно чтобы в classpath были сторонние определённые библиотеки, что сильно снижает количество уязвимых приложений, на том же сервере или клиенте майнкрафта уже не сработает.
Спасает только на майнкрафтах 1.13 и выше, на 1.12 и ниже (сейчас это самая популярная версия на публичных серверах) используется версия log4j в которой этого параметра ещё нет.
Уязвимость конечно серьёзная (и очень глупая, потому что делать по умолчанию замену плейсхолдеров в лог-сообщении это прямо рецепт как получить такие проблемы; с другой стороны, если бы разработчики которые используют эту библиотеку читали бы документацию не по диагонали, они бы знали про параметр nolookups и просто добавили бы его), но очень сильно преувеличена.
Именно RCE (загрузка класса и его выполнение) возможно только на Java 8u121 и более старых, на джавах новее требуется специальный флаг чтобы рантайм доверял классам загруженным по URL в соответствии с ответом JNDI или RMI сервера, поэтому на новых джавах можно только чуток попортить лог-сообщения и узнать IP-адрес сервера с программой которая это сообщение залоггировала (UPD: Нет, RCE на новых версиях джавы всё ещё возможен, но сложнее).
Лично мне вот многие "дружелюбные к пользователю" дистрибутивы из тех что я пробовал ставить относительно недавно, меньше месяца назад, в некоторых моментах показались сложнее даже арча который у меня в качестве основной системы последние 8 лет (пробовал Linux Mint, Ubuntu, Fedora).
Мне хотелось просто сделать HTPC на линуксе, т.е. просто DE+браузер+плеер, и надеясь это получить в вышеупомянутых дистрибутивах просто кликая "далее-далее-далее" в установщике за 15 минут, я получил больше геморроя чем получил бы просто поставив арч который по идее "для опытных пользователей".
В Linux Mint, например, дефолтные настройки совершенно неадекватные (в лисе по умолчанию поиск Yahoo, и чтобы сменить его на гугл надо быть очень внимательным, просто в настройках этого нет; стоят опенсорсные драйвера Nouveau, которые на хоть чуть-чуть не древних видеокартах NVIDIA работают так что лучше бы просто не работали; ещё например стоит по умолчанию headless JRE, это прямо то что надо на десктопном дистрибутиве чтобы люди не понимали почему не запускаются графические java-приложения, хотя java стоит);
Ещё, когда пробовал удалить некоторые из предустановленных приложений мне предлагало снести всю DE, к счастью я смотрю что подтверждаю поэтому естественно нажал N, но это встречалось и на других deb-based дистрибутивах с другими пакетами, так понимаю это общая у них проблема из-за одного пакетного менеджера. Плюс было много багов со звуком и некоторыми другими вещами, я думаю что из-за прогнивших пакетов доисторических версий, в частности из-за старого ядра и PulseAudio.
Ubuntu - как и Linux Mint, прогнившие пакеты, плюс у меня она вообще просто развалилась после автоматического обновления и перезагрузки. Чинить не стал. Но в отличие от Linux Mint, хотя бы красивое.
На Fedora чтобы поставить обычные нужные почти всем вещи нужно подключать доп. репозитории по левым туториалам из гугла, которые отличаются для каждой версии дистрибутива (ведь почти никому не нужен например VLC в Fedora видимо?), но в остальном она оказалась самой беспроблемной.
От такого опыта даже я был в шоке, линуксоид с 8летним стажем, который с консолью на ты, который и загрузчик если что починить может, и проблему по логам продебажить, и даже в исходниках с отладчиком если что может порыться. Был бы я обычным пользователем который просто хочет чтобы всё работало, это поставило бы на линуксе для меня окончательный крест.
Я очень люблю линукс, но получив такой опыт я прекрасно понимаю почему им пользуются проценты среди обычных пользователей, несмотря на то какой ужас из себя представляет например современная Windows. Потому что либо ты разбираешься как что работает и ставишь+настраиваешь что-то вроде арча чтобы получить идеально работающую систему, на что далеко не все готовы инвестировать время, либо у тебя после "лёгкой и простой установки" какой нибудь убунты половина системы поломана и тебе надо командами из гугла пытаться заставить её работать нормально, часто с ожидаемым результатом.
Естественно я это считаю проблемой самих этих дистрибутивов, а не ядра линукса или его userspace'а. Посвежее бы пакеты, в десктопном то дистрибутиве, получше пакетный менеджер (после pacman мне apt показался медленным кривым анахронизмом), побольше нужных пользователю пакетов в репозитории чтобы не надо было всякие PPA подключать (в арче даже проприетарный драйвер NVIDIA не постеснялись включить в репозиторий), и может получится действительно что-то с человеческим лицом.
Spyro: Year of the Dragon :) И там ещё куча сюрпризов было, которые друг на друга накладывались постепенно по мере игры. Порталы между мирами направляли не туда куда нужно, собранные яйца бесследно исчезали, после опр. момента сюжета максимальное хп становилось ограничено, иногда с локации вообще было невозможно выйти, из-за этого дойти до этого финального босса тоже было той ещё задачей.
Помню когда был мелким и играл в купленную отцом пиратку на PS1, думал что это просто какие то баги игры, и только потом я узнал что это была такая DRM-защита.
Этим летом и в Питере без кондиционера было крайне сложно выживать. Половину Июля было 30-35 градусов. Прошлые два года тоже было не особо лучше.
Главарь?)
2) Действительно ли выключить его такая проблема?)
Замену DANE можно вообще не делать если менять только сертификат, не меняя пару ключей из которого он получается (опция --reuse-key в certbot)
Если провайдер (хотя скорее всего государство через провайдера) захочет вставить прокси со своим сертификатом, то это уже политическая проблема, а не техническая, решать которую надо тоже политическими методами, а не техническими.
На реддите /r/vfio не раз видел инструкции об этом, некоторые даже с патчами QEMU, как это делается чтобы обходить как минимум EasyAnticheat, и ещё вроде DRM от RDR2 видел. Естественно там никто никаких гарантий не даёт что через N времени аккаунт не улетит в бан потому что например проверку на VM неожиданно сделают поумнее, но вообще нет ничего теоретически невозможного в том чтобы реализовать виртуалку которая прям совсем не будет отличима от реально железа, если это будет кому-то нужно с соответствующими компетенциями и наличием свободного времени.
С незалоченным загрузчиком (который собственно и позволит поставь этот Windows или самосборный линукс) ничего не мешает коробочный линукс поправить нужным образом.
Либо использовать достаточно хорошо замаскированную под реальный комп виртуалку с проброшенной видеокартой, как это делают линуксоиды сейчас.
Только официально заявлялось что на Steam Deck можно поставить любую другую операционную систему, т.е. залочен загрузчик очевидно не будет, если они конечно не сделают что-то вроде того как это сейчас на андроиде, что по умолчанию он заблокирован, и если его разблокировать то телефон перестаёт считаться "надёжным".