Forwarded from Активация
Для тех, кто в теме, уже давно не секрет, что обновление библиотеки OpenSSL до версии 3.x очень болезненное и проблемное: сломы обратной совместимости без явной на то причины, нередкие просадки производительности.
https://www.haproxy.com/blog/state-of-ssl-stacks
В этом году разработчики HAProxy сравнили производительность различных TLS-бэкендов: OpenSSL 1.1.1, несколько версий OpenSSL 3.x, WolfSSL и Amazon aws-lc (форк Google BoringSSL (форк OpenSSL 1.x)).
Помимо всего прочего, в посте представлен некоторый исторический контекст, который затрагивает вопросы адекватности и компетентности нынешних разработчиков OpenSSL, которые закономерно наносят вред качеству и репутации проекта.
TL;DR: OpenSSL — кринж, aws-lc и BoringSSL — база
https://www.haproxy.com/blog/state-of-ssl-stacks
В этом году разработчики HAProxy сравнили производительность различных TLS-бэкендов: OpenSSL 1.1.1, несколько версий OpenSSL 3.x, WolfSSL и Amazon aws-lc (форк Google BoringSSL (форк OpenSSL 1.x)).
Помимо всего прочего, в посте представлен некоторый исторический контекст, который затрагивает вопросы адекватности и компетентности нынешних разработчиков OpenSSL, которые закономерно наносят вред качеству и репутации проекта.
TL;DR: OpenSSL — кринж, aws-lc и BoringSSL — база
HAProxy Technologies
The State of SSL Stacks
The SSL landscape has shifted dramatically. In this paper, we examine OpenSSL 3.x, BoringSSL, LibreSSL, WolfSSL, and AWS-LC with HAProxy.
😱12💯2❤1👍1
Больше никакой латиницы. Россияне перекроили популярнейший язык программирования, чтобы писать программы на русском
https://www.cnews.ru/news/top/2025-10-30_bolshe_nikakoj_latinitsy
> По словам кандидата педагогических наук, доцента кафедры «Информатика и методика обучения информатике и математике» Андрея Дикова, все это «облегчает освоение программирования и снимает языковой барьер».
Когда устал от англоязычного написания своей фамилии и решил бороться радикально с английским языком во всех его проявлениях
https://www.cnews.ru/news/top/2025-10-30_bolshe_nikakoj_latinitsy
> По словам кандидата педагогических наук, доцента кафедры «Информатика и методика обучения информатике и математике» Андрея Дикова, все это «облегчает освоение программирования и снимает языковой барьер».
Когда устал от англоязычного написания своей фамилии и решил бороться радикально с английским языком во всех его проявлениях
🤡92😁39💊19🤣6👍3🖕3
Аня, она же @theyforcedme, задефейсила Башорг. Не забывайте оплачивать свои ресурсы 🌝
zoi: ты как, сцуко, башорг задефейсила?
аня: вы, уважаемый Зой, домен продлить забыли!
zoi: врёшь, продлили же
аня: ну bash.org.ru продлили, а домен, указанный в NS-записях оплатить забыли
zoi: так и что же теперь?
аня: да просто напишите на vernisuka[at]bash.org.ru или vernisuka[at]chatty.fish, и я всё верну
zoi: пиздец ты скучная, хоть бы гоатсе повесила
аня: я хотела вернуть максимально аутентичный баш, поэтому повесила выдуманный диалог
https://bash.org.ru/
via @dotrubic_thoughts
zoi: ты как, сцуко, башорг задефейсила?
аня: вы, уважаемый Зой, домен продлить забыли!
zoi: врёшь, продлили же
аня: ну bash.org.ru продлили, а домен, указанный в NS-записях оплатить забыли
zoi: так и что же теперь?
аня: да просто напишите на vernisuka[at]bash.org.ru или vernisuka[at]chatty.fish, и я всё верну
zoi: пиздец ты скучная, хоть бы гоатсе повесила
аня: я хотела вернуть максимально аутентичный баш, поэтому повесила выдуманный диалог
https://bash.org.ru/
via @dotrubic_thoughts
🥰43😁34🥱12❤3👍3🤡1🌚1
В чате FreeBSD 1!!11! (@freebsd_ru) увидел чудесное про Debian (точнее про APT)
Hard Rust requirements from May onward
https://lists.debian.org/debian-devel/2025/10/msg00285.html
I plan to introduce hard Rust dependencies and Rust code into APT, no earlier than May 2026. This extends at first to the Rust compiler and standard library, and the Sequoia ecosystem.
In particular, our code to parse .deb, .ar, .tar, and the HTTP signature verification code would strongly benefit from memory safe languages and a stronger approach to unit testing.
If you maintain a port without a working Rust toolchain, please ensure it has one within the next 6 months, or sunset the port.
It's important for the project as whole to be able to move forward and rely on modern tools and technologies and not be held back by trying to shoehorn modern software on retro computing devices.
И это не просто сообщение не пойми от кого, это сообщение от мэйнтейнера APT (и вообще разработчика Debian с 2008 года) - Julian Andres Klode
https://www.debian.org/vote/2025/platforms/jak
https://github.com/julian-klode
Не все оказались рады такому подходу
> I find this particular wording rather unpleasant and very unusual to what I'm used to from Debian in the past. I have to admit that I'm a bit disappointed that such a confrontational approach has been chosen.
https://lists.debian.org/debian-devel/2025/10/msg00286.html
Hard Rust requirements from May onward
https://lists.debian.org/debian-devel/2025/10/msg00285.html
I plan to introduce hard Rust dependencies and Rust code into APT, no earlier than May 2026. This extends at first to the Rust compiler and standard library, and the Sequoia ecosystem.
In particular, our code to parse .deb, .ar, .tar, and the HTTP signature verification code would strongly benefit from memory safe languages and a stronger approach to unit testing.
If you maintain a port without a working Rust toolchain, please ensure it has one within the next 6 months, or sunset the port.
It's important for the project as whole to be able to move forward and rely on modern tools and technologies and not be held back by trying to shoehorn modern software on retro computing devices.
И это не просто сообщение не пойми от кого, это сообщение от мэйнтейнера APT (и вообще разработчика Debian с 2008 года) - Julian Andres Klode
https://www.debian.org/vote/2025/platforms/jak
https://github.com/julian-klode
Не все оказались рады такому подходу
> I find this particular wording rather unpleasant and very unusual to what I'm used to from Debian in the past. I have to admit that I'm a bit disappointed that such a confrontational approach has been chosen.
https://lists.debian.org/debian-devel/2025/10/msg00286.html
😁7🤔3❤2👎2🔥2👍1
Блог* рассказал чего там нового в Rust 1.91.0 завезли
https://www.group-telegram.com/dereference_pointer_there/10329
Я, как человек у которого несколько раз заканчивалось место на разделе во время сборки проектов на Rust, рад больше всего новому параметру
> У cargo теперь есть настройка (https://github.com/rust-lang/cargo/pull/15833) для указывания того, куда складывать промежуточные артефакты компиляции.
> The directory where intermediate build artifacts will be stored. Intermediate artifacts are produced by Rustc/Cargo during the build process.
https://doc.rust-lang.org/cargo/reference/config.html#buildbuild-dir
https://www.group-telegram.com/dereference_pointer_there/10329
Я, как человек у которого несколько раз заканчивалось место на разделе во время сборки проектов на Rust, рад больше всего новому параметру
> У cargo теперь есть настройка (https://github.com/rust-lang/cargo/pull/15833) для указывания того, куда складывать промежуточные артефакты компиляции.
CARGO_BUILD_BUILD_DIR> The directory where intermediate build artifacts will be stored. Intermediate artifacts are produced by Rustc/Cargo during the build process.
https://doc.rust-lang.org/cargo/reference/config.html#buildbuild-dir
👍13🤡6❤1
Мощно ворвались
Linux gamers on Steam finally cross over the 3% mark
https://www.gamingonlinux.com/2025/11/linux-gamers-on-steam-finally-cross-over-the-3-mark/
Linux gamers on Steam finally cross over the 3% mark
https://www.gamingonlinux.com/2025/11/linux-gamers-on-steam-finally-cross-over-the-3-mark/
😁54🔥35🥰8🤡2
no-code - пакет для скрытия кода на языке Python
https://www.opennet.ru/opennews/art.shtml?num=64148
Опубликован инструментарий no-code, позволяющий скрывать код в скриптах на языке Python. Преобразованный скрипт выглядит в редакторах кода как одна строка "# coding: no" без какого-либо иного содержимого, но при этом продолжает запускаться и выполнять прежние функции.
Метод скрытия основан на кодировании содержимого при помощи двух Unicode-символов, имеющих нулевую длину (не приводящие к отступу пробелы 0x200B и 0x200C). Один невидимый символ отождествляется с "0", а второй с "1".
Строка "# coding: no" в скрипте со скрытым кодом указывает на использование в файле кодировки с именем "no" - ключевое слово "coding:" применяется в Python для задания кодировки исходного кода. Для запуска преобразованного скрипта требуется установка Python-пакета "no_code", который включает файл "no.pth", вызываемый при использовании кодировки c именем "no" для декодирования перед обработкой парсером. Для скрытия не всего файла, а отдельных порций с кодом, проектом предоставляются функции no_code.nothing() и no_code.something().
GutHub
https://github.com/lemonyte/no-code
Из похожих проектов можно отметить Perl-модуль Acme::Bleach (https://metacpan.org/pod/Acme::Bleach), преобразующий код в представление из пробелов и табуляций, а также JavaScript-библиотеку INVISIBLE.js (https://aem1k.com/invisible/encoder/), позволяющую скрывать код через кодирование в символы с нулевой длиной.
https://www.opennet.ru/opennews/art.shtml?num=64148
Опубликован инструментарий no-code, позволяющий скрывать код в скриптах на языке Python. Преобразованный скрипт выглядит в редакторах кода как одна строка "# coding: no" без какого-либо иного содержимого, но при этом продолжает запускаться и выполнять прежние функции.
Метод скрытия основан на кодировании содержимого при помощи двух Unicode-символов, имеющих нулевую длину (не приводящие к отступу пробелы 0x200B и 0x200C). Один невидимый символ отождествляется с "0", а второй с "1".
Строка "# coding: no" в скрипте со скрытым кодом указывает на использование в файле кодировки с именем "no" - ключевое слово "coding:" применяется в Python для задания кодировки исходного кода. Для запуска преобразованного скрипта требуется установка Python-пакета "no_code", который включает файл "no.pth", вызываемый при использовании кодировки c именем "no" для декодирования перед обработкой парсером. Для скрытия не всего файла, а отдельных порций с кодом, проектом предоставляются функции no_code.nothing() и no_code.something().
$ cat some_code.py
print("Hello, world!")
$ no_code some_code.py > no_code.py
$ cat no_code.py
# coding: no
$ python no_code.py
Hello, world!
$ yes_code no_code.py > some_code.py
$ cat some_code.py
print("Hello, world!")
GutHub
https://github.com/lemonyte/no-code
Из похожих проектов можно отметить Perl-модуль Acme::Bleach (https://metacpan.org/pod/Acme::Bleach), преобразующий код в представление из пробелов и табуляций, а также JavaScript-библиотеку INVISIBLE.js (https://aem1k.com/invisible/encoder/), позволяющую скрывать код через кодирование в символы с нулевой длиной.
🔥23😁16❤2🤔2
В списке рассылки разработчиков ядра Linux опубликованы патчи с реализацией архитектуры "Wasm" для ядра Linux, позволяющей компилировать ядро в промежуточный код WebAssembly для последующего прямого выполнения в web-браузере без задействования эмуляторов. Кроме того, для ядра Linux проектом реализована возможность запускать исполняемые файлы в формате ".wasm" и подготовлен драйвер "web console" для симуляции работы с консолью в браузере. Также подготовлен инструментарий для упрощения сборки запускаемых в браузере системных окружений.
В качестве примера сформировано окружение на базе скомпилированных в WebAssembly набора утилит BusyBox и системной библиотеки musl. В качестве эмулятора терминала для работы с подобным окружением задействован Xterm.js.
Проект развивается уже около двух лет и на текущем этапе позволяет загружать ядро в браузерах и выполнять типовые программы. Работа ещё не завершена и порт имеет отдельные проблемы и ограничения. Например, ещё не реализована поддержка вызовов vfork и longjmp (к BusyBox применены патчи для работы без них), отсутствует возможность прерывания задач, недоступен MMU (ядро и процессы работают в одном адресном пространстве), невозможно изменение уже загруженного кода, наблюдается зависание консоли примерно через 5 минут из-за проблем с таймером. Отмечается, что имеющиеся ограничения преодолимы, но для некоторых из них требуется реализация в браузерах дополнительных расширений к WebAssembly. Подобные расширения предложено реализовать для MMU и приостановки потоков.
Невозможность приостановки выполнения потоков в WebAssembly не сочетается с работой планировщика задач в ядре, но многозадачность удалось реализовать обходным путём, через привязку каждого потока/задачи к своему виртуальному CPU, обрабатываемому в отдельном Web Worker. Таким способом удалось добиться параллельного выполнения процессов за счёт браузерного движка и ядра хостовой ОС без использования вытесняющей многозадачности и переключения задач в запускаемом в браузере ядре. Прерывания и сигналы при такой схеме полноценно не работают, а для доставки прерываний таймера и IPI (Inter-Processor Interrupt) задействован отдельный виртуальный CPU.
Область применения проекта выходит за рамки простого запуска Linux-окружений в браузерах. Например, порт может применяться для создания многоплатформенных WebAssembly программ, использующих специфичные для Linux системные вызовы. Реализация подобных системных вызовов может быть отдельно преобразована в WebAssembly и прикреплена к приложению, что позволит использовать его без привязки к системному ядру. Порт также будет полезен для организации изолированного выполнения приложений при помощи WASI (WebAssembly System Interface).
Представлен порт ядра Linux для WebAssembly, запускаемый в браузере
https://www.opennet.ru/opennews/art.shtml?num=64163
Оригинал
https://lore.kernel.org/lkml/[email protected]/
Сайт с демо - https://joelseverin.github.io/linux-wasm/
В качестве примера сформировано окружение на базе скомпилированных в WebAssembly набора утилит BusyBox и системной библиотеки musl. В качестве эмулятора терминала для работы с подобным окружением задействован Xterm.js.
Проект развивается уже около двух лет и на текущем этапе позволяет загружать ядро в браузерах и выполнять типовые программы. Работа ещё не завершена и порт имеет отдельные проблемы и ограничения. Например, ещё не реализована поддержка вызовов vfork и longjmp (к BusyBox применены патчи для работы без них), отсутствует возможность прерывания задач, недоступен MMU (ядро и процессы работают в одном адресном пространстве), невозможно изменение уже загруженного кода, наблюдается зависание консоли примерно через 5 минут из-за проблем с таймером. Отмечается, что имеющиеся ограничения преодолимы, но для некоторых из них требуется реализация в браузерах дополнительных расширений к WebAssembly. Подобные расширения предложено реализовать для MMU и приостановки потоков.
Невозможность приостановки выполнения потоков в WebAssembly не сочетается с работой планировщика задач в ядре, но многозадачность удалось реализовать обходным путём, через привязку каждого потока/задачи к своему виртуальному CPU, обрабатываемому в отдельном Web Worker. Таким способом удалось добиться параллельного выполнения процессов за счёт браузерного движка и ядра хостовой ОС без использования вытесняющей многозадачности и переключения задач в запускаемом в браузере ядре. Прерывания и сигналы при такой схеме полноценно не работают, а для доставки прерываний таймера и IPI (Inter-Processor Interrupt) задействован отдельный виртуальный CPU.
Область применения проекта выходит за рамки простого запуска Linux-окружений в браузерах. Например, порт может применяться для создания многоплатформенных WebAssembly программ, использующих специфичные для Linux системные вызовы. Реализация подобных системных вызовов может быть отдельно преобразована в WebAssembly и прикреплена к приложению, что позволит использовать его без привязки к системному ядру. Порт также будет полезен для организации изолированного выполнения приложений при помощи WASI (WebAssembly System Interface).
Представлен порт ядра Linux для WebAssembly, запускаемый в браузере
https://www.opennet.ru/opennews/art.shtml?num=64163
Оригинал
https://lore.kernel.org/lkml/[email protected]/
Сайт с демо - https://joelseverin.github.io/linux-wasm/
🔥27💊15🤪9❤3🌚3👎2
Объявляю этот вторник ностальгически конференцевым!
Первой идёт конференция ZeroNights 2025. Я на ней точно буду, так что пишите в личку @rusdacent или комментарии, если хотите пересечься.
Проходить она будет 26 ноября в Санкт-Петербурге (LOFT#7, Арсенальная набережная 1)
Вообще, я ZN искренне люблю, потому что это было первое крупное мероприятие, которое я помогал делать. Помимо предконференцевой подготовки площадки я волонтёрил и управлял волонтёрством в главном зале.
Особо внимательные смогут меня найти на одном из прикреплённых видео, а заодно и себя (я точно знаю что есть подписчики, которые были там 🌝)
Проводилась она в 2011 году в гостинице "Карелия" (точнее в пристройке где располагался клуб "Котовский") и конфа прошла настолько хорошо, что пристройку на следующий год снесли
https://kanoner.com/2012/08/01/54568/
Анонс ZN 0x01 был сделан на DCG 7812. Посмотреть его можно в архиве
https://www.group-telegram.com/DCG7812_archive/167
В этом году программа уже частично сформирована и среди докладчиков будут
- ValdikSS, "От А до Бутрома: уязвимости в цепочке загрузки SoC Kirin и Balong"
Доклад расскажет об уязвимостях BootROM, присущих модемам всего семейства Huawei Balong за последние 12 лет (включая модели с поддержкой 5G), а также смартфонам на процессоре Kirin 980 (2019)
- Сергей Гордейчик, "Что в дашборде твоём? Я просто хотел посмотреть метрики"
Мониторинг — это не только про графики и тихие радости девопса, это про и про стремительный pwn. Мы покажем, как через Grafana и особенно в связке с Prometheus и прочими k8s можно получить доступ к чувствительным данным, обойти ограничения сети и начать внутреннюю разведку — даже без yet another CVE. Доклад основан на живом исследовании с практическими примерами и тулами.
- Павел Топорков, "Солевые приключения"
Как не уйти с пентеста несолоно хлебавши и найти ту самую рану в инфраструктуре, на которую можно насыпать соль. Рассказ о том, как устроен SaltStack, как его ломать, и в чём его соль
Сайт со всей программой - https://zeronights.ru/
Следить за обновлениями можно на канале - @zeronights
Первой идёт конференция ZeroNights 2025. Я на ней точно буду, так что пишите в личку @rusdacent или комментарии, если хотите пересечься.
Проходить она будет 26 ноября в Санкт-Петербурге (LOFT#7, Арсенальная набережная 1)
Вообще, я ZN искренне люблю, потому что это было первое крупное мероприятие, которое я помогал делать. Помимо предконференцевой подготовки площадки я волонтёрил и управлял волонтёрством в главном зале.
Особо внимательные смогут меня найти на одном из прикреплённых видео, а заодно и себя (я точно знаю что есть подписчики, которые были там 🌝)
Проводилась она в 2011 году в гостинице "Карелия" (точнее в пристройке где располагался клуб "Котовский") и конфа прошла настолько хорошо, что пристройку на следующий год снесли
https://kanoner.com/2012/08/01/54568/
Анонс ZN 0x01 был сделан на DCG 7812. Посмотреть его можно в архиве
https://www.group-telegram.com/DCG7812_archive/167
В этом году программа уже частично сформирована и среди докладчиков будут
- ValdikSS, "От А до Бутрома: уязвимости в цепочке загрузки SoC Kirin и Balong"
Доклад расскажет об уязвимостях BootROM, присущих модемам всего семейства Huawei Balong за последние 12 лет (включая модели с поддержкой 5G), а также смартфонам на процессоре Kirin 980 (2019)
- Сергей Гордейчик, "Что в дашборде твоём? Я просто хотел посмотреть метрики"
Мониторинг — это не только про графики и тихие радости девопса, это про и про стремительный pwn. Мы покажем, как через Grafana и особенно в связке с Prometheus и прочими k8s можно получить доступ к чувствительным данным, обойти ограничения сети и начать внутреннюю разведку — даже без yet another CVE. Доклад основан на живом исследовании с практическими примерами и тулами.
- Павел Топорков, "Солевые приключения"
Как не уйти с пентеста несолоно хлебавши и найти ту самую рану в инфраструктуре, на которую можно насыпать соль. Рассказ о том, как устроен SaltStack, как его ломать, и в чём его соль
Сайт со всей программой - https://zeronights.ru/
Следить за обновлениями можно на канале - @zeronights
❤8👍3🔥2👎1👏1😁1
Вторым участником сегодняшнего ностальгически конференцевого дня является Big Monitoring Meetup 13
Проходить он будет 20 ноября в Москве (БЦ “Калибр”, ул. Годовикова, дом 9, стр. 17), мероприятие бесплатное
О нём я пишу уже не первый раз и регулярно посещал, когда проводился в Санкт-Петербурге.
Тоже поностальгируем 🌝
На BMM 4 я познакомился лично с Александром Валялкиным (@valyala) и мы потом в баре продолжительное время обсуждали относительно недавно появившуюся в open source, на тот момент, Victoria Metrics
Open-sourcing VictoriaMetrics
https://web.archive.org/web/20190702092906/https://blog.usejournal.com/open-sourcing-victoriametrics-f31e34485c2b
Вот Сашин доклад из 2019 года
Сравнение Thanos и VictoriaMetrics (Александр Валялкин, VictoriaMetrics)
https://www.youtube.com/watch?v=HyOXAdQE0Pk
А на BMM 5, точнее тоже после него, с Александром Зобниным из Grafana говорили о только-только релизнувшейся Grafana 8.
Релиз состоялся 8 июня 2021 года, а митап был 10 июня.
Ссылка на доклад из 2021
Что нового в Grafana 8 (Александр Зобнин, Grafana)
https://www.youtube.com/watch?v=xV3MATgtSWI
Для нынешнего BMM программа уже сформирована и среди докладчиков будут
- Максим Емельянов, Дмитрий Стюков "Дорожная карта внедрения SRE-практик в большой компании"
- Кирилл Борисов, "Эволюция культуры инцидент-менеджмента: от реактивного реагирования к проактивной инженерии надежности"
- Волотов Михаил, "DR большого кластера Zabbix — как сделать и с чем вы столкнетесь"
Сайт с программой и регистрацией - https://monhouse.tech/big-monitoring-meetup13/
Следить за обновлениями можно на канале - @monhousetech
Проходить он будет 20 ноября в Москве (БЦ “Калибр”, ул. Годовикова, дом 9, стр. 17), мероприятие бесплатное
О нём я пишу уже не первый раз и регулярно посещал, когда проводился в Санкт-Петербурге.
Тоже поностальгируем 🌝
На BMM 4 я познакомился лично с Александром Валялкиным (@valyala) и мы потом в баре продолжительное время обсуждали относительно недавно появившуюся в open source, на тот момент, Victoria Metrics
Open-sourcing VictoriaMetrics
https://web.archive.org/web/20190702092906/https://blog.usejournal.com/open-sourcing-victoriametrics-f31e34485c2b
Вот Сашин доклад из 2019 года
Сравнение Thanos и VictoriaMetrics (Александр Валялкин, VictoriaMetrics)
https://www.youtube.com/watch?v=HyOXAdQE0Pk
А на BMM 5, точнее тоже после него, с Александром Зобниным из Grafana говорили о только-только релизнувшейся Grafana 8.
Релиз состоялся 8 июня 2021 года, а митап был 10 июня.
Ссылка на доклад из 2021
Что нового в Grafana 8 (Александр Зобнин, Grafana)
https://www.youtube.com/watch?v=xV3MATgtSWI
Для нынешнего BMM программа уже сформирована и среди докладчиков будут
- Максим Емельянов, Дмитрий Стюков "Дорожная карта внедрения SRE-практик в большой компании"
- Кирилл Борисов, "Эволюция культуры инцидент-менеджмента: от реактивного реагирования к проактивной инженерии надежности"
- Волотов Михаил, "DR большого кластера Zabbix — как сделать и с чем вы столкнетесь"
Сайт с программой и регистрацией - https://monhouse.tech/big-monitoring-meetup13/
Следить за обновлениями можно на канале - @monhousetech
👍6❤3🔥1👏1
В 2023 году Microsoft открыл проект CHERIoT (Capability Hardware Extension to RISC-V for Internet of Things), который направлен на то что бы улучшить безопасность уже существующих проектов на C и C++.
First steps in CHERIoT Security Research
https://www.microsoft.com/en-us/msrc/blog/2023/02/first-steps-in-cheriot-security-research/
И вот наконец-то он дорос до версии 1.0
Программно-аппаратная платформа CHERIoT 1.0 для повышения безопасности кода на языке Си
https://www.opennet.ru/opennews/art.shtml?num=64180
> Защита реализуется через применение модифицированного компилятора, использующего расширенный набор процессорных инструкций (ISA) для обеспечения целостности указателей, контроля за границами при работе с памятью и предотвращения обращения к освобождённой памяти.
> Аппаратные компоненты CHERIoT оформлены в виде микроконтроллера на базе архитектуры RISC-V, реализующего защищённую процессорную архитектуру CHERI (Capability Hardware Extension to RISC-V) c моделью управляемого доступа к памяти на основе "capability" (каждая операция чтения и записи в память авторизуется). На базе предоставляемой в CHERIoT архитектуры набора команд (ISA) построена программная модель, гарантирующая безопасность работы с памятью на уровне отдельных объектов, предоставляющая защиту от обращения к уже освобождённой памяти и реализующая легковесную систему изоляции доступа к памяти.
> Указанная программная модель защиты напрямую отражается в языковую модель C/C++, что позволяет применять её для существующих приложений, для защиты которых требуется лишь перекомпиляция и запуск на оборудовании, поддерживающем ISA CHERIoT.
> Среди проблем, блокируемых при помощи CHERIoT:
- Выход за границы объекта в памяти;
- Подмена указателей (при применении CHERIoT все указатели должны порождаться от уже существующих указателей);
- Обращение к памяти после освобождения (любой доступ к памяти по некорректному указателю или указателю, ссылающемуся на освобождённый объект приводит при применении CHERIoT к генерации исключения).
Спецификация и эталонная формальная модель CHERIoT ISA
CHERIoT Specification and Sail model
https://github.com/CHERIoT-Platform/cheriot-sail/
Эталонная реализация 32-разрядного RISC-V CPU Ibex c поддержкой ISA CHERIoT, схемы прототипа CPU и описания аппаратных блоков на языке Verilog
cheriot-ibex is a RTL implementation of CHERIoT ISA based on LowRISC's Ibex core
https://github.com/microsoft/cheriot-ibex
На базе ядра CHERIoT Ibex готовятся к массовому производству чипы ICENI, поступление в продажу которых запланировано на следующий год
Модифицированный LLVM
Fork of LLVM adding CHERIoT, based on the CHERI LLVM fork
https://github.com/CHERIoT-Platform/llvm-project
Отдельно компанией Microsoft развивается микроконтроллер Kudu с поддержкой ISA CHERIoT
cheriot-kudu is a 32-bit dual-issue RISC-V MCU core with CHERIoT support
https://github.com/microsoft/cheriot-kudu
Эмулятор платформы на базе FPGA
https://github.com/microsoft/cheriot-safe
Docker-контейнер для разработчиков
https://github.com/CHERIoT-Platform/devcontainer
https://github.com/orgs/CHERIoT-Platform/packages/container/package/devcontainer
Прототип операционной системы реального времени
The RTOS components for the CHERIoT research platform
https://github.com/CHERIoT-Platform/cheriot-rtos
ЗЫ "Опёнок" не меняется 🌝
First steps in CHERIoT Security Research
https://www.microsoft.com/en-us/msrc/blog/2023/02/first-steps-in-cheriot-security-research/
И вот наконец-то он дорос до версии 1.0
Программно-аппаратная платформа CHERIoT 1.0 для повышения безопасности кода на языке Си
https://www.opennet.ru/opennews/art.shtml?num=64180
> Защита реализуется через применение модифицированного компилятора, использующего расширенный набор процессорных инструкций (ISA) для обеспечения целостности указателей, контроля за границами при работе с памятью и предотвращения обращения к освобождённой памяти.
> Аппаратные компоненты CHERIoT оформлены в виде микроконтроллера на базе архитектуры RISC-V, реализующего защищённую процессорную архитектуру CHERI (Capability Hardware Extension to RISC-V) c моделью управляемого доступа к памяти на основе "capability" (каждая операция чтения и записи в память авторизуется). На базе предоставляемой в CHERIoT архитектуры набора команд (ISA) построена программная модель, гарантирующая безопасность работы с памятью на уровне отдельных объектов, предоставляющая защиту от обращения к уже освобождённой памяти и реализующая легковесную систему изоляции доступа к памяти.
> Указанная программная модель защиты напрямую отражается в языковую модель C/C++, что позволяет применять её для существующих приложений, для защиты которых требуется лишь перекомпиляция и запуск на оборудовании, поддерживающем ISA CHERIoT.
> Среди проблем, блокируемых при помощи CHERIoT:
- Выход за границы объекта в памяти;
- Подмена указателей (при применении CHERIoT все указатели должны порождаться от уже существующих указателей);
- Обращение к памяти после освобождения (любой доступ к памяти по некорректному указателю или указателю, ссылающемуся на освобождённый объект приводит при применении CHERIoT к генерации исключения).
Спецификация и эталонная формальная модель CHERIoT ISA
CHERIoT Specification and Sail model
https://github.com/CHERIoT-Platform/cheriot-sail/
Эталонная реализация 32-разрядного RISC-V CPU Ibex c поддержкой ISA CHERIoT, схемы прототипа CPU и описания аппаратных блоков на языке Verilog
cheriot-ibex is a RTL implementation of CHERIoT ISA based on LowRISC's Ibex core
https://github.com/microsoft/cheriot-ibex
На базе ядра CHERIoT Ibex готовятся к массовому производству чипы ICENI, поступление в продажу которых запланировано на следующий год
Модифицированный LLVM
Fork of LLVM adding CHERIoT, based on the CHERI LLVM fork
https://github.com/CHERIoT-Platform/llvm-project
Отдельно компанией Microsoft развивается микроконтроллер Kudu с поддержкой ISA CHERIoT
cheriot-kudu is a 32-bit dual-issue RISC-V MCU core with CHERIoT support
https://github.com/microsoft/cheriot-kudu
Эмулятор платформы на базе FPGA
https://github.com/microsoft/cheriot-safe
Docker-контейнер для разработчиков
https://github.com/CHERIoT-Platform/devcontainer
https://github.com/orgs/CHERIoT-Platform/packages/container/package/devcontainer
Прототип операционной системы реального времени
The RTOS components for the CHERIoT research platform
https://github.com/CHERIoT-Platform/cheriot-rtos
ЗЫ "Опёнок" не меняется 🌝
❤5🤡2👍1🖕1😡1
Forwarded from commit -m "better"
After turning down $1.5 Million from the US Government as an act of DEI Virtue Signalling, the Python Software Foundation reveals that they have a $1.4 Million deficit, with only 6 months of money left.
https://youtu.be/cW7zeTMN6x4
YouTube
Python Software Foundation Running Out of Money
After turning down $1.5 Million from the US Government as an act of DEI Virtue Signalling, the Python Software Foundation reveals that they have a $1.4 Million deficit, with only 6 months of money left.
More from The Lunduke Journal:
https://lunduke.com/
More from The Lunduke Journal:
https://lunduke.com/
😁24🤣8🗿3👍2🤡2🌚2👏1🍌1
Google выпустила экстренное предупреждение о критической уязвимости в Android, которая позволяет атакующим выполнять произвольный код на устройстве без какого-либо участия пользователя. Zero Click-уязвимость обнаружена в системных компонентах операционной системы и описана в ноябрьском бюллетене безопасности Android за 2025 год.
Уязвимость получила идентификатор CVE-2025-48593 и признана одной из наиболее опасных за последнее время. Она затрагивает несколько версий Android Open Source Project (AOSP) — с 13-й по 16-ю, и может быть использована для удалённого выполнения кода (RCE) без необходимости предоставления дополнительных прав или действий со стороны владельца устройства.
По оценке Google, злоумышленники способны эксплуатировать ошибку, отправляя специально сформированные сетевые пакеты либо распространяя вредоносные приложения через сторонние магазины и sideload-установки. Успешная атака открывает полный доступ к устройству, включая возможность кражи данных, установки вымогательского ПО или превращения смартфона в элемент ботнета. Проблема зарегистрирована внутри компании под номером Android bug ID A-374746961 и уже устранена в последних сборках AOSP.
Причина уязвимости связана с некорректной обработкой системных процессов, что позволяет внедрять произвольный код во время обычных операций — например, при запуске приложений или синхронизации данных в фоновом режиме. Исследователи отмечают, что по своим признакам сбой напоминает предыдущие случаи повреждения памяти, использовавшиеся для повышения привилегий на устройстве.
Всё, что вы делали на Android, больше не секрет: Google подтвердила RCE, открывающую полный доступ без единого клика
https://www.securitylab.ru/news/565701.php
Ссылка на бюллетень
https://source.android.com/docs/security/bulletin/2025-11-01
ЗЫ
Заголовок статьи у SecurityLab, конечно, моё почтение
ЗЫЫ
🌝
https://www.group-telegram.com/tech_b0lt_Genona.com/5442
https://www.group-telegram.com/tech_b0lt_Genona.com/5815
Уязвимость получила идентификатор CVE-2025-48593 и признана одной из наиболее опасных за последнее время. Она затрагивает несколько версий Android Open Source Project (AOSP) — с 13-й по 16-ю, и может быть использована для удалённого выполнения кода (RCE) без необходимости предоставления дополнительных прав или действий со стороны владельца устройства.
По оценке Google, злоумышленники способны эксплуатировать ошибку, отправляя специально сформированные сетевые пакеты либо распространяя вредоносные приложения через сторонние магазины и sideload-установки. Успешная атака открывает полный доступ к устройству, включая возможность кражи данных, установки вымогательского ПО или превращения смартфона в элемент ботнета. Проблема зарегистрирована внутри компании под номером Android bug ID A-374746961 и уже устранена в последних сборках AOSP.
Причина уязвимости связана с некорректной обработкой системных процессов, что позволяет внедрять произвольный код во время обычных операций — например, при запуске приложений или синхронизации данных в фоновом режиме. Исследователи отмечают, что по своим признакам сбой напоминает предыдущие случаи повреждения памяти, использовавшиеся для повышения привилегий на устройстве.
Всё, что вы делали на Android, больше не секрет: Google подтвердила RCE, открывающую полный доступ без единого клика
https://www.securitylab.ru/news/565701.php
Ссылка на бюллетень
https://source.android.com/docs/security/bulletin/2025-11-01
ЗЫ
Заголовок статьи у SecurityLab, конечно, моё почтение
ЗЫЫ
🌝
https://www.group-telegram.com/tech_b0lt_Genona.com/5442
https://www.group-telegram.com/tech_b0lt_Genona.com/5815
🌚16😁6👍4🤡2🥴2❤1🔥1
Вот это поворот! n8n запартнёрился с SAP
We’re happy to share that n8n is partnering with SAP.
Through this collaboration, we aim to extend the agentic capabilities of Joule and Joule Studio on the SAP Business Technology Platform (BTP) using n8n’s AI orchestration and automation capabilities.
Our goal is to bring these technologies together so teams can build governed, observable AI agents that integrate seamlessly with enterprise systems and data.
Looking forward to what we can build together. More to come as we continue working on this partnership.
https://x.com/n8n_io/status/1986035791433207885
We’re happy to share that n8n is partnering with SAP.
Through this collaboration, we aim to extend the agentic capabilities of Joule and Joule Studio on the SAP Business Technology Platform (BTP) using n8n’s AI orchestration and automation capabilities.
Our goal is to bring these technologies together so teams can build governed, observable AI agents that integrate seamlessly with enterprise systems and data.
Looking forward to what we can build together. More to come as we continue working on this partnership.
https://x.com/n8n_io/status/1986035791433207885
🤔11🔥3🙈3🤯2❤🔥1👍1💊1
Forwarded from SoftRainBBS
Давным-давно, when the hills were still young, каждая торговая компания (ТЗК) имела свой отдел программистов, бизнес-приложения были database driven, т.е. вся бизнес-логика жила внутри СУБД (Oracle, DB2) в виде хранимых процедур, а клиенты писались на чем попало (perl, например).
Это приводило к тому, что весь бизнес какого-нибудь Walmart держался на одном очень дорогом компьютере и на одном очень дорогом программисте СУБД (DBD) и естественно это никого не устраивало.
В какой-то момент, фронтенд компьютеры начали стремительно дешеветь, в то время как компьютеры под БД в цене не падали, и возникла идея перенести часть логики на фронтенд.
В этой парадигме Sun представил миру EJB (1998 год) а в 2001 году был опубликован Agile манифест. Параллельно, с 1986 года по миру бродил Scrum — это методологический framework для управления проектами, суть которого в разбиении большого проекта на небольшие атомарные части. И в том же 2001 году Scrum натянули на Agile - т.к. они хорошо подходили друг другу: Agile как набор процессов (process framework) и Scrum как метод реализации процессов.
Основная беда Agile - растущий технический долг, т.к. “Responding to change over following a plan” на практике означает, что на глубокое планирование или рефакторинг существующего кода не выделяется ресурсов.
Так, мы как-то проводили аудит on-line кредитования для одного банка. Изначально предполагалось, что человек загружает пакет документов, и через несколько минут получает автоматический ответ. После нескольких месяцев работы бизнес решил увеличить время ответа до суток и оказалось, что за это время паспорт успевает просрочиться и нужно реализовать версионирование документов. Но на конвертацию уже накопленных данных, денег, естественно, не выделили. Так в системе появился второй, независимый от первого, менеджер документов. За два года таких менеджеров образовалось шесть, со сложным механизмом передачи клиента от одного другому.
Розничный бизнес готов платить эту цену за гибкость и уменьшение стоимости разработки. Если у вас есть “домашний” софт, который вы можете релизить когда захотите и у вас есть домашняя команда разработчиков, готовая откликаться на задачи бизнеса и переделывать все от Адама раз в две недели, то в этой среде Agile по сей день чувствует себя прекрасно.
Но как это бывает со всеми модными идеями, Agile стали пихать куда ни попадя – в автопром, разработку процессоров, софт для управления электростанциями и так далее. В 2011 году появился SAFe, который позволяет вам сделать из классического waterfall псевдо-agile, запихав Scrum внутрь каждой итерации (program increment), стоит это 20% проекта т.к. каждый 5 спринт объявляется техническим.
Ничего хорошего из этого вполне ожидаемо не выходит – сколько-нибудь сложный архитектурно софт или забывает про agile оставляя только внешнюю часть scrum ритуалов или срывает все планы по срокам и качеству
#blog
Это приводило к тому, что весь бизнес какого-нибудь Walmart держался на одном очень дорогом компьютере и на одном очень дорогом программисте СУБД (DBD) и естественно это никого не устраивало.
В какой-то момент, фронтенд компьютеры начали стремительно дешеветь, в то время как компьютеры под БД в цене не падали, и возникла идея перенести часть логики на фронтенд.
В этой парадигме Sun представил миру EJB (1998 год) а в 2001 году был опубликован Agile манифест. Параллельно, с 1986 года по миру бродил Scrum — это методологический framework для управления проектами, суть которого в разбиении большого проекта на небольшие атомарные части. И в том же 2001 году Scrum натянули на Agile - т.к. они хорошо подходили друг другу: Agile как набор процессов (process framework) и Scrum как метод реализации процессов.
Основная беда Agile - растущий технический долг, т.к. “Responding to change over following a plan” на практике означает, что на глубокое планирование или рефакторинг существующего кода не выделяется ресурсов.
Так, мы как-то проводили аудит on-line кредитования для одного банка. Изначально предполагалось, что человек загружает пакет документов, и через несколько минут получает автоматический ответ. После нескольких месяцев работы бизнес решил увеличить время ответа до суток и оказалось, что за это время паспорт успевает просрочиться и нужно реализовать версионирование документов. Но на конвертацию уже накопленных данных, денег, естественно, не выделили. Так в системе появился второй, независимый от первого, менеджер документов. За два года таких менеджеров образовалось шесть, со сложным механизмом передачи клиента от одного другому.
Розничный бизнес готов платить эту цену за гибкость и уменьшение стоимости разработки. Если у вас есть “домашний” софт, который вы можете релизить когда захотите и у вас есть домашняя команда разработчиков, готовая откликаться на задачи бизнеса и переделывать все от Адама раз в две недели, то в этой среде Agile по сей день чувствует себя прекрасно.
Но как это бывает со всеми модными идеями, Agile стали пихать куда ни попадя – в автопром, разработку процессоров, софт для управления электростанциями и так далее. В 2011 году появился SAFe, который позволяет вам сделать из классического waterfall псевдо-agile, запихав Scrum внутрь каждой итерации (program increment), стоит это 20% проекта т.к. каждый 5 спринт объявляется техническим.
Ничего хорошего из этого вполне ожидаемо не выходит – сколько-нибудь сложный архитектурно софт или забывает про agile оставляя только внешнюю часть scrum ритуалов или срывает все планы по срокам и качеству
#blog
👍11❤2💯2
Forwarded from Бестиарий программирования
Коллега нашла редкий интересный вариант ошибки, связанной с макросом. Интересен баг тем, что изначально глядя на код (не прочитав тестовое описание), я не смог его заметить! Хотя глаз у меня натренирован. Более того, мне пришлось дважды прочитать предупреждение анализатора, приведённое в статье, прежде чем я наконец увидел, что же не так.
Красивое. Люблю такие ошибки, которые показывают как статический анализ является незаменимой парой глаз на обзорах кода. Если хотите, можете попробовать в начале сами поискать ошибку в функции tcp_send_error.
Предупреждение PVS-Studio: V1040 Possible typo in the spelling of a pre-defined macro name. The '__WIN_32__' macro is similar to '__WIN32__'. inet_drv.c 13506
Опечатка. Лишнее подчёркивание в имени макроса. Подробнее про эту и другие интересные ошибки можно прочитать в статье " Наследие кода: разбор С и С++ модулей Erlang, которые работают десятилетиями ".
Красивое. Люблю такие ошибки, которые показывают как статический анализ является незаменимой парой глаз на обзорах кода. Если хотите, можете попробовать в начале сами поискать ошибку в функции tcp_send_error.
Опечатка. Лишнее подчёркивание в имени макроса. Подробнее про эту и другие интересные ошибки можно прочитать в статье "
💊13👍5🥴5❤1
Это вам не CoC
Usage Manifesto
The bincode developers do not endorse or support: the gas and oil industry, gambling, the military industrial complex, or any usage of AI. This means we will not accept any contributions coming from or related to these fields. This includes both PRs and filed issues. If you fall in one of these categories; do better.
Additionally, if any contribution you make makes use of generative AI, be it in code or PR/issue descriptions, you will be immediately banned from this organization.
A compact encoder / decoder pair that uses a binary zero-fluff encoding scheme. The size of the encoded object will be the same or smaller than the size that the object takes up in memory in a running Rust program
https://sr.ht/~stygianentity/bincode/
Спасибо подписчику
Usage Manifesto
The bincode developers do not endorse or support: the gas and oil industry, gambling, the military industrial complex, or any usage of AI. This means we will not accept any contributions coming from or related to these fields. This includes both PRs and filed issues. If you fall in one of these categories; do better.
Additionally, if any contribution you make makes use of generative AI, be it in code or PR/issue descriptions, you will be immediately banned from this organization.
A compact encoder / decoder pair that uses a binary zero-fluff encoding scheme. The size of the encoded object will be the same or smaller than the size that the object takes up in memory in a running Rust program
https://sr.ht/~stygianentity/bincode/
Спасибо подписчику
💊14😁7👍4❤1
Я надеюсь, что это шутка
> Yes that is normal. Recent Ubuntu versions are configured to kill a user session when the user uses over half the RAM. (If that‘s even what‘s happening, but it sounds like that should be it)
Ubuntu crashes when running cargo build without jobs limit
https://www.reddit.com/r/rust/comments/1oqaaac/ubuntu_crashes_when_running_cargo_build_without/
UDP:
Из комментариев
Пока пытался понять это шутку, которая не шутка, нашёл некоторые подробности :
1. Речь про psi а не объём, как можно подумать.
Psi показывает сколько времени система тратит впустую в ожидании освобождения ресурсов.
2. Эта штука хорошо работает в двух случаях - докеры/куберы вместе с прочими микросервисами и системы с несколькими пользователями. В первом случае можно просто грохнуть контейнер без особых проблем/degrade статусов и прочего. Он просто перезапустится на другой ноде. Во втором случае это уже подстраховка от того, чтобы oom (не systemd-oomd, а наш, классический) не убил критический процесс и не положил систему.
3. Основной задачей является защита от livelock. Это когда система намертво виснет минут на 10-30, что даже oom не запускается.
4. Никто в здравом уме не ставит это на десктоп или если в проде крутитсядревний монолит.
5. Всё можно подтюнить если надо. На серверах где важны все эти ваши high availability Systemd-oomd всё же лучше, чем если oom просто вырубит нужно-важноеи девопсу нужно опять смотреть, что за алерт там прилетел
> Yes that is normal. Recent Ubuntu versions are configured to kill a user session when the user uses over half the RAM. (If that‘s even what‘s happening, but it sounds like that should be it)
Ubuntu crashes when running cargo build without jobs limit
https://www.reddit.com/r/rust/comments/1oqaaac/ubuntu_crashes_when_running_cargo_build_without/
UDP:
Из комментариев
Пока пытался понять это шутку, которая не шутка, нашёл некоторые подробности :
1. Речь про psi а не объём, как можно подумать.
Psi показывает сколько времени система тратит впустую в ожидании освобождения ресурсов.
2. Эта штука хорошо работает в двух случаях - докеры/куберы вместе с прочими микросервисами и системы с несколькими пользователями. В первом случае можно просто грохнуть контейнер без особых проблем/degrade статусов и прочего. Он просто перезапустится на другой ноде. Во втором случае это уже подстраховка от того, чтобы oom (не systemd-oomd, а наш, классический) не убил критический процесс и не положил систему.
3. Основной задачей является защита от livelock. Это когда система намертво виснет минут на 10-30, что даже oom не запускается.
4. Никто в здравом уме не ставит это на десктоп или если в проде крутится
5. Всё можно подтюнить если надо. На серверах где важны все эти ваши high availability Systemd-oomd всё же лучше, чем если oom просто вырубит нужно-важное
😁35😨17🤡7🔥2
