OpenNET

OpenNET

Русскоязычный интернет-проект, посвящённый открытым и свободным компьютерным технологиям. https://dzen.ru/OpenNet
Пикабушник
Дата рождения: 08 июля 1981
поставил 1 плюс и 10 минусов
отредактировал 9 постов
проголосовал за 8 редактирований
21К рейтинг 235 подписчиков 0 подписок 147 постов 112 в горячем

Опубликован код ядра и ряда GNU-утилит для платформы Эльбрус 2000

Опубликован код ядра и ряда GNU-утилит для платформы Эльбрус 2000 Процессор, Эльбрус

Благодаря действиям энтузиастов, сотрудники компании "Базальт СПО" опубликовали (зеркало) часть исходных кодов для платформы Эльбрус 2000 (E2k). Публикация включает в себя архивы:


binutils-2.35-alt1.E2K.25.014.1

gcov7_lcc1.25-1.25.06-alt1.E2K.1

glibc-2.29-alt2.E2K.25.014.1

kernel-image-elbrus-5.4.163-alt2.23.1

lcc-libs-common-source-1.24.07-alt2

libatomic7-1.25.08-alt1.E2K.2

libgcc7-1.25.10-alt1.E2K.2

libgcov7-1.25.06-alt1.E2K.1

liblfortran7-1.25.09-alt2

libquadmath7-1.25.06-alt1.E2K.1

libstdc++7-1.25.08-alt1.E2K.2


Исходные коды ряда пакетов, например lcc-libs-common-source, публикуются впервые. Несмотря на некоторые странности публикации, она является официальной, так как выполняет требования лицензии GPL после публикации бинарных пакетов.


Странности публикации заключаются в том, что некоторые пакеты сделаны на основе diff-файлов с изменениями относительно ранее утекших или опубликованных исходных кодов соответствующих GPL-компонентов, при том что в самом Базальте исходные тексты в чистом виде лежат в Git (что подтверждается тем, что даже spec-файл ядра попал в такой diff). Также у файлов перезаписано время архивации, а реальное время подготовки можно найти внутри этих самых diff-ов.

Показать полностью

Уязвимость в Python, позволяющая вызвать системные команды из изолированных скриптов

Уязвимость в Python, позволяющая вызвать системные команды из изолированных скриптов Python, Эксплойт

Опубликован метод обхода систем изолированного выполнения кода на языке Python, основанный на использовании давно известной ошибки, появившейся в Python 2.7, выявленной в 2012 году и до сих пор не исправленной в Python 3. Ошибка позволяет при помощи специально скомпонованного кода на языке Python инициировать обращение к уже освобождённой памяти (Use-After-Free) в СPython. Изначально предполагалось, что ошибка не представляет угрозы безопасности и лишь в очень редких случаях, как правило искусственно созданных, может привести к аварийному завершения скрипта.


Исследователь безопасности под псевдонимом kn32 заинтересовался проблемой и сумел подготовить рабочий эксплоит, дающий возможность вызвать любую системную команду, не имея прямого доступа к методам вида os.system. Эксплоит реализован на чистом языке Python и работает без импорта внешних библиотек и без установки обработчика "code.__new__". Из hook-ов используется только "builtin.__id__", который обычно не запрещён. С практической стороны предложенный код может применяться для обхода механизмов изоляции в различных сервисах и окружениях (например, в обучающих средах, online-оболочках, встроенных обработчиках и т.п.), допускающих выполнение кода на языке Python, но ограничивающих доступные вызовы и не позволяющих обращаться к таким методам, как os.system.


Предложенный код представляет собой аналог вызова os.system, работающий через эксплуатацию уязвимости в CPython. Эксплоит работает со всеми версиями Python 3 на системах с архитектурой x86-64 и демонстрирует стабильную работу в Ubuntu 22.04, даже при включении режимов защиты PIE, RELRO и CET. Работа сводится к получению из кода на языке Python сведений об адресе одной из функций в исполняемом коде CPython. На основании этого адреса вычисляется базовый адрес CPython в памяти и адрес функции system() в загруженном в память экземпляре libc. В завершении инициируется прямой переход по определённому адресу system c подстановкой указателя первого аргумента на строку "/bin/sh".

Показать полностью 1

В Rust-репозитории crates{dot}io выявлен вредоносный пакет rustdecimal

В Rust-репозитории crates{dot}io выявлен вредоносный пакет rustdecimal Вредоносное по, Rust, Языки программирования

Разработчики языка Rust предупредили о выявлении в репозитории crates.io пакета rustdecimal, содержащего вредоносный код. Пакет был основан на легитимном пакете rust_decimal и для распространения пользовался сходством в имени (тайпсквоттинг) с расчётом на то, что пользователь не обратит внимание на отсутствие символа подчёркивания, осуществляя поиск или выбирая модуль из списка.


Примечательно, что указанная стратегия оказалась успешной и по числу загрузок фиктивный пакет лишь немного отстал от оригинала (~111 тысяч загрузок rustdecimal 1.23.1 и 113 тысяч оригинального rust_decimal 1.23.1). При этом большинство загрузок пришлось на безобидный клон, не содержащий вредоносного кода. Вредоносные изменения были добавлены 25 марта в версии rustdecimal 1.23.5, которая до выявления проблемы и блокирования пакета была загружена около 500 раз (предполагается что большая часть загрузок вредоносной версии совершена ботами) и не была использована в зависимостях у других пакетов, присутствующих в репозитории (не исключено, что вредоносный пакет был в зависимостях у конечных приложений).


Вредоносные изменения сводились к добавлению новой функции Decimal::new, в реализации которого содержался обфусцированный код для загрузки с внешнего сервера и запуска исполняемого файла. При вызове функции осуществлялась проверка переменной окружения GITLAB_CI, в случае выставления которой с внешнего сервера загружался файл /tmp/git-updater.bin. Загружаемый вредоносный обработчик поддерживал работу в Linux и macOS (платформа Windows не поддерживалась).


Предполагалось, что вредоносная функция будет выполнена в процессе тестирования на системах непрерывной интеграции. После блокировки rustdecimal администраторы crates.io выполнили анализ содержимого репозитория на наличие похожих вредоносных вставок, но не выявили проблем в других пакетах. Владельцам систем непрерывной интеграции на базе платформы GitLab рекомендуется убедиться, что тестируемые на их серверах проекты не использовали в зависимостях пакет rustdecimal.

Показать полностью 1

GitHub заблокировал репозиторий SymPy после ложной жалоб

GitHub заблокировал репозиторий SymPy после ложной жалоб Github, Dmca

GitHub заблокировал репозиторий c официальной документацией проекта SymPy и размещённый на серверах GitHub сайт docs.sympy.org после получения жалобы о нарушении авторских прав компании HackerRank, специализирующейся на проведении конкурсов среди разработчиков и найме программистов. Блокировка произведена на основании действующего в США Закона об авторском праве в цифровую эпоху (DMCA).


После возмущения сообщества компания HackerRank отозвала жалобу и признала, что заявление о нарушении авторских прав было отправлено по ошибке. GitHub снял блокировку с репозитория и сайта SymPy. Чтобы избежать подобных ошибок в дальнейшем руководитель HackerRank объявил о приостановке процесса отправки жалоб DMCA до пересмотра правил определения нарушений. В качестве компенсации компания HackerRank намерена пожертвовать проекту SymPy 25 тысяч долларов.


Проект SymPy развивает Python-библиотеку компьютерной алгебры для символьных вычислений и применения методов дискретной математики, пользующуюся популярностью среди учёных, исследователей и студентов. Претензии HackerRank сводились к обвинению в заимствовании материалов из тестов компании на одной из страниц сайта с документацией к SymPy.


История интересна тем, что, судя по всему, работники компании HackerRank в своё время использовали отрывки из официальной документации SymPy в своих тестах. Для борьбы с нарушениями авторских прав в сети компания HackerRank наняла агентство WorthIT Solutions, представители которого провели рейд по выявлению фактов заимствования материалов HackerRank, нашли пересечение и не разбираясь написали жалобу на нарушение авторских прав против сайта SymPy, в котором была размещена документация, на основе которой составлялись тесты.


Примечательно, что это не первый случай и компания HackerRank ранее уличалась в отправке жалоб, не соответствующих действительности. Например, разработчики PHP в январе получили жалобу на нарушение авторских прав на странице с описанием функции range() на сайте php.net. До этого более 40 репозиториев было заблокировано по жалобе HackerRank в ноябре прошлого года. Некоторые из заблокированных проектов, например, React-Leaderboard, не содержат следов нарушения.


Апрельские жалобы HackerRank не ограничились проектом SymPy и затронули ещё 12 репозиториев (1, 2, 3, 4, 5), которые также были заблокированы. Автор одного из заблокированных репозиториев (shreyash1811.github.io) отправил встречное возражение, в котором не признал нарушение. Тем не менее возражение уже три дня остаётся нерассмотренным, и сайт shreyash1811.github.io по-прежнему заблокирован.


Также заслуживает внимание то, что блокировка была осуществлена несмотря на ранее предпринятые в GitHub действия по предотвращению необоснованных блокировок. Например, GitHub утверждал, что перед блокировкой жалобы будут проходить независимую техническую экспертизу и проверяться юристами, а перед началом блокировки разработчикам будет даваться время, чтобы оспорить претензию или внести исправление в репозиторий. Указанные меры были приняты для жалоб о нарушении 1201 статьи DMCA, которая запрещает обход технических мер защиты, таких как DRM. Разработчики SymPy были обвинены в нарушении статьи 501, охватывающей нарушения авторского права. Тем не менее представители GitHub поверили голословным обвинениям и не предприняли действий по перепроверке факта нарушения, даже в ситуации, когда блокировка касалась популярного и значимого проекта.

Показать полностью

Ядру Linux исполнилось 30 лет

Ядру Linux исполнилось 30 лет Linux, Kernel, Длиннопост

25 августа 1991 года после пяти месяцев разработки 21-летний студент Линус Торвальдс объявил в телеконференции comp.os.minix о создании рабочего прототипа новой операционной системы Linux, для которой было отмечено завершение портирования bash 1.08 и gcc 1.40. Первый публичный выпуск ядра Linux был представлен 17 сентября. Ядро 0.0.1 имело размер 62 Кб в сжатом виде и содержало около 10 тысяч строк исходного кода. Современное ядро Linux насчитывает более 28 млн строк кода. По данным исследования, проведённого в 2010 году по заказу Евросоюза, приблизительная стоимость разработки с нуля проекта, аналогичного современному ядру Linux, составила бы более миллиарда долларов США (расчёт производился, когда в ядре было 13 млн строк кода), по другим оценкам - более 3 миллиардов.


Ядро Linux было создано под впечатлением от операционной системы MINIX, которая не устраивала Линуса своей ограниченной лицензией. Впоследствии, когда Linux стал известным проектом, недоброжелатели пытались обвинить Линуса в прямом копировании кода некоторых подсистем MINIX. Нападение отразил Эндрю Таненбаум, автор MINIX, который поручил одному из студентов провести детальное сравнение кода Minix и первых публичных версий Linux. Результаты исследования показали наличие только четырёх несущественных совпадений блоков кода, обусловленных требованиями POSIX и ANSI C.


Первоначально Линус задумал назвать ядро Freax, от слов «free», «freak» и X (Unix). Но имя «Linux» ядро получило с лёгкой руки Ари Лемке (Ari Lemmke), который по просьбе Линуса разместил ядро на FTP-сервере университета, назвав директорию с архивом не «freax», как просил Торвальдс, а «linux». Примечательно, что предприимчивый делец Вильям Делло Крок (William Della Croce) сумел зарегистрировать торговую марку Linux и хотел со временем собирать отчисления, но позднее передумал и передал все права на торговую марку Линусу. Официальный талисман Linux-ядра, пингвин Tux, был выбран в результате соревнования, состоявшегося в 1996 году. Имя Tux расшифровывается как Torvalds UniX.


Динамика роста кодовой базы (количество строк исходного кода) ядра:

0.0.1 - сентябрь 1991, 10 тыс. строк кода;

1.0.0 - март 1994, 176 тыс. строк кода;

1.2.0 - март 1995, 311 тыс. строк кода;

2.0.0 - июнь 1996, 778 тыс. строк кода;

2.2.0 - январь 1999, 1.8 млн. строк кода;

2.4.0 - январь 2001, 3.4 млн. строк кода;

2.6.0 - декабрь 2003, 5.9 млн. строк кода;

2.6.28 - декабрь 2008, 10.2 млн. строк кода;

2.6.35 - август 2010, 13.4 млн. строк кода;

3.0 - август 2011, 14.6 млн. строк кода.

3.5 - июль 2012, 15.5 млн. строк кода.

3.10 - июль 2013, 15.8 млн. строк кода;

3.16 - август 2014, 17.5 млн. строк кода;

4.1 - июнь 2015, 19.5 млн. строк кода;

4.7 - июль 2016, 21.7 млн. строк кода;

4.12 - июль 2017, 24.1 млн. строк кода;

4.18 - август 2018, 25.3 млн. строк кода.

5.2 - июль 2019, 26.55 млн. строк кода.

5.8 - август 2020, 28.4 млн. строк кода.

5.13 - июнь 2021, 29.2 млн. строк кода.


Прогресс развития ядра:

Linux 0.0.1 - сентябрь 1991, первый публичный выпуск, поддерживающий только CPU i386 и загружающийся с дискеты;

Linux 0.12 - январь 1992, код начал распространяться под лицензией GPLv2;

Linux 0.95 - март 1992, обеспечена возможность запуска X Window System, реализована поддержка виртуальной памяти и раздела подкачки.

Linux 0.96-0.99 - 1992-1993, началась работа над сетевым стеком. Представлена файловая система Ext2, добавлена поддержка формата файлов ELF, представлены драйверы для звуковых карт и контроллеров SCSI, реализована загрузка модулей ядра и файловой системы /proc.

В 1992 году появились первые дистрибутивы SLS и Yggdrasil. Летом 1993 года были основаны проекты Slackware и Debian.

Linux 1.0 - март 1994, первый официально стабильный релиз;

Linux 1.2 - март 1995, существенное увеличение числа драйверов, поддержка платформ Alpha, MIPS и SPARC, расширение возможностей сетевого стека, появление пакетного фильтра, поддержка NFS;

Linux 2.0 - июнь 1996 года, поддержка многопроцессорных систем;

Март 1997: основан LKML, список рассылки разработчиков ядра Linux;

1998 год: запущен первый попавший в список Top500 кластер на базе Linux, состоящий из 68 узлов с CPU Alpha;

Linux 2.2 - январь 1999, увеличена эффективность системы управления памятью, добавлена поддержка IPv6, реализован новый межсетевой экран, представлена новая звуковая подсистема;

Linux 2.4 - февраль 2001, обеспечена поддержка 8-процессорных систем и 64 Гб ОЗУ, файловая система Ext3, поддержка USB, ACPI;

Linux 2.6 - декабрь 2003, поддержка SELinux, средства автоматического тюнинга параметров ядра, sysfs, переработанная система управления памятью;

В 2005 году представлен гипервизор Xen, который открыл эру виртуализации;

В сентябре 2008 года сформирован первый релиз платформы Android, основанной на ядре Linux;

В июле 2011 года после 10 лет развития ветки 2.6.x осуществлён переход к нумерации 3.x. Число объектов в Git-репозитории достигло 2 млн;

В 2015 году состоялся выпуск ядра Linux 4.0. Число git-объектов в репозитории достигло 4 млн;

В апреле 2018 года преодолён рубеж в 6 млн git-объектов в репозитории ядра.

В январе 2019 года сформирована ветка ядра Linux 5.0. Репозиторий достиг уровня 6.5 млн git-объектов.

Опубликованное в августе 2020 года ядро 5.8 стало самым крупным по числу изменений из всех ядер за всё время существования проекта.

В ядре 5.13 был поставлен рекорд по числу разработчиков (2150), изменения от которых вошли в состав ядра.

В 2021 году в ветку ядра Linux-next добавлен код для разработки драйверов на языке Rust. Ведётся работа по включению компонентов для поддержки Rust в основной состав ядра.


68% всех изменений в ядро внесены 20 наиболее активными компаниями. Например, при разработке ядра 5.13 10% всех изменений подготовлено компанией Intel, 6.5% - Huawei, 5.9% - Red Hat, 5.7% - Linaro, 4.9% - Google, 4.8% - AMD, 3.1% - NVIDIA, 2.8% - Facebook, 2.3% - SUSE, 2.1% - IBM, 1.9% - Oracle, 1.5% - ARM, 1.4% - Canonical. 13.2% изменений подготовлены независимым участниками или разработчиками, явно не заявившим о своей работе на определённые компании. 1.3% изменений подготовлены студентами, аспирантами и представителями учебных заведений. По числу добавленных в ядро 5.13 строк кода лидирует компания AMD, доля которой составила 20.2% (драйвер amdgpu насчитывает около 3 млн строк кода, что примерно 10% от общего размера ядра - 2.4 млн строк приходится на сгенерированные автоматически заголовочные файлы с данными для регистров GPU).

Показать полностью

Изменения в составе совета директоров Фонда СПО

Изменения в составе совета директоров Фонда СПО Ричард Столлман, Спо

В соответствии с ранее предложенным процессом изменения управления Фондом СПО, Джеффри Кнаут (Geoffrey Knauth), президент Фонда СПО, объявил о включении в совет директоров нового участника с правом голоса, который будет представлять мнение персонала и которого выбрали обычные сотрудники Фонда СПО. В совет вошёл системный администратор Ян Келлинг (Ian Kelling).


Одновременно заявлено об уходе из совета директоров Фонда СПО юриста Кэт Уолш (Kat Walsh), которая принимала участие в создании лицензии Creative Commons 4.0, входила в совет попечителей Wikimedia Foundation и управляющий совет Xiph.org Foundation. Кэт отметила, что уход не следует воспринимать как отказ от идей свободного ПО. Совершённый шаг стал следствием долгого и трудного осознания того, что та роль, которую она играла в организации, больше не является лучшим способом продвижения идей СПО в мире. Кэт считает, что Фонду СПО необходимы изменения для устранения имеющихся проблем, но она не является тем человеком, который смог был реализовать данные изменения.


Дополнительно можно отметить, что число подписавших письмо в поддержку Столлмана заметно превысило число подписавших письмо против - за Столлмана подписались 3693, против - 2811.

Движение по смещению Столлмана со всех постов и роспуску совета директоров Фонда СПО

Движение по смещению Столлмана со всех постов и роспуску совета директоров Фонда СПО Open Source, Gnome, GNU

Возвращение Ричарда Столлмана в совет директоров Фонда СПО вызвало негативную реакцию со стороны некоторых организаций и разработчиков. В частности, правозащитная организация Software Freedom Conservancy (SFC), директор которой на днях стал лауреатом премии за вклад в развитие свободного ПО, объявила о разрыве всех отношений с Фондом СПО и сворачивании любой деятельности, пересекающейся с данной организацией, в том числе отказалась от предоставленного Фондом СПО финансирования работы участника программы Outreachy (требуемые $6500 SFC выделит из собственных средств).


Организация Open Source Initiative (OSI), занимающаяся проверкой соответствия лицензий критериям Open Source, заявила об отказе участвовать в мероприятиях, в которых будет участвовать Столлман и прекращении сотрудничества с Фондом СПО до тех пор, пока Столлман не будет отстранён от руководства организацией.


Отмечается, что последнее время сообщество стремиться к предоставлению инклюзивной среды, которая приветствует любых участников. По мнению OSI построение такой среды невозможно, если лидирующие позиции занимают те, кто придерживается модели поведение, не соответствующей данной цели. OSI считает, что Столлман не должен занимать руководящие позиции в сообществах, связанных со свободным и открытым ПО. OSI призывает Фонд СПО отстранить Столлмана от участия в жизни организации и предпринять меры для возмещения вреда, который Столлман причинил в прошлом своими словами и действиями.


Дополнительно опубликовано открытое письмо, подписавшие которое требуют отставки всего состава совета директоров Фонда СПО и смещения Столлмана со всех лидирующих позиций, включая руководство проектом GNU. Остальные члены совета преподносятся как многие годы способствовавшие усилению влияния Столлмана. Пока требование не выполнено предлагается прекратить любую поддержку Фонда СПО и участие в проводимых им мероприятиях. Письмо уже подписало почти 700 человек, среди которых лидеры GNOME Foundation, Software Freedom Conservancy и OSI, бывший лидер проекта Debian, бывший директор Apache Software Foundation, а также некоторые известные разработчики, такие как Мэтью Гаррет.


Утверждается, что в прошлом демонстрировал недостойное поведение, женоненавистничество, негативное отношение к транссексуалам и эйблизм (не равное отношение к обычным людям и инвалидам), что в современно мире недопустимо для лидера сообщества. В письме говориться, что окружающие уже достаточно много терпели выходки Столлмана, но таким как он больше нет места в сообществе разработчиков открытого и свободного ПО, а его лидерство может восприниматься как принятие вредной и опасной идеологии.


Примечание: не принимается во внимание, что главная идеология Столлмана - это создание движения свободного программного обеспечения, его принципов и идеалов. Противники же Столлмана ссылаются на неосторожные и откровенные случайные высказывания в прошлом, которые раньше не воспринимались как сегодня.

Показать полностью 1

Проект Thunderbird раскрыл финансовые показатели за 2020 год

Проект Thunderbird раскрыл финансовые показатели за 2020 год Thunderbird, Mozilla

Разработчики почтового клиента Thunderbird опубликовали финансовый отчёт за 2020 год. За год проект получил пожертвования в размере 2.3 млн долларов (в 2019 году было собрано $1.5 млн.), что позволяет самостоятельно успешно развиваться. По имеющейся статистике Thunderbird ежедневно пользуются около 9.5 млн человек.


Расходы составили 1.5 млн долларов и почти все (82.3%) были связаны с оплатой работы персонала. 10.6% средств потрачены на профессиональные службы, такие как кадровая служба, управление налогами и соглашения с Mozilla, например, оплата за доступ к сборочной инфраструктуре. На счетах компании MZLA Technologies Corporation, курирующей разработку Thunderbird, остаётся около 3 млн долларов.


В настоящее время для работы над проектом нанято 15 человек:

технический менеджер,

менеджер по работе с бизнесом и сообществом,

инженер для поддержки предприятий и написания документации,

координатор экосистемы дополнений,

главный архитектор интерфейса,

инженер по обеспечению безопасности,

4 разработчика и 2 главных разработчика,

лидер группы по обслуживанию инфраструктуры,

инженер по сборке,

инженер по формированию релизов.

Показать полностью 1
Отличная работа, все прочитано!