LINUX.ORG.RU

В коде xz версий 5.6.0 и 5.6.1 обнаружен бэкдор

 ,


4

9

Разработчик Debian и исследователь в сфере информационной безопасности Andres Freund сообщает об обнаружении вероятного бэкдора в исходном коде xz версий 5.6.0 и 5.6.1.

Бэкдор представляет собой строчку в одном из m4-скриптов, которая дописывает обфусцированный код в конец скрипта configure. Этот код затем модифицирует один из сгенерированных Makefile проекта, что в конечном итоге приводит к попаданию вредоносной нагрузки (замаскированной под тестовый архив bad-3-corrupt_lzma2.xz) непосредственно в исполняемый файл библиотеки liblzma.

Особенность инцидента состоит в том, что вредоносные скрипты сборки, служащие «триггером» для бэкдора, содержатся только в распространяемых tar-архивах с исходным кодом и не присутствуют в git-репозитории проекта.

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

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

Рекомендации по безопасности были выпущены проектами Arch Linux, Debian, Red Hat и openSUSE.

Разработчики Arch Linux отдельно отмечают, что хотя заражённые версии xz и попали в репозитории дистрибутива, дистрибутив остаётся в относительной «безопасности», т. к. sshd в Arch не линкуется с liblzma.


Проект openSUSE отмечает, что ввиду запутанности кода бэкдора и предполагаемого механизма его эксплуатации сложно установить «сработал» ли он хотя бы раз на данной машине, и рекомендует полную переустановку ОС с ротацией всех релевантных ключей на всех машинах, на которых хотя бы раз оказывались заражённые версии xz.

>>> Подробности

★★★★★

Проверено: maxcom ()
Последнее исправление: ilinsky (всего исправлений: 2)

Ответ на: комментарий от sunjob

Автотулзы разных версий плохосовместимы друг с другом, изза этого в тарболлы исходников кладут автосгенеренный configure, а новость как раз о том, что в автосгенеренный configure из тарболла подсунули бекдор и это некоторое время никто не видел т.к. бекдор был только там, а в git репе не было

cvs-255 ★★★★★
()
Ответ на: комментарий от cvs-255

автосгенеренный configure

сколько себя помню - это самый основной метод конфига/сборки пакетов?! (я на слаке собираю много чего, раньше вообще все «конфигурами» конфигурилось)

вопрос с другого конца тыквы
- тоже самое нельзя провернуть с «иными» популярными инструментами сборки?

sunjob ★★★★
()
Последнее исправление: sunjob (всего исправлений: 3)
Ответ на: комментарий от sunjob

Незаметно подсунуть бекдор в человекочитаемый cmakelists.txt, присутствующий в git репе гораздо сложнее чем в автогенеренный configure на тысячи строк, который к тому же только в тарболле есть

cvs-255 ★★★★★
()
Ответ на: комментарий от sunjob
  • тоже самое нельзя провернуть с «иными» популярными инструментами сборки?

Нельзя потому что все файлы включая файлы сборки генерируются на компьютере пользователя. Архив с исходниками представляет себя точную копию опрделённого коммита в системе контроля версий (Git и т.п.). А в системе контроля версий можно посмотреть историю изменений любого файла, включая описание сборки (Makefile, Cmakelists.txt, meson.build и т.п.).

X512 ★★★★★
()
Ответ на: комментарий от cvs-255

в автосгенеренный configure из тарболла подсунули

Там хитрее, т.к. знали, что Debian не использует заранее сгенерированные файлы (настолько насколько это возможно). Подсунули в макросы m4, так что при регенерации скрипт подстановки всё равно попал.

gag ★★★★★
()
Ответ на: комментарий от cvs-255

https://www.debian.org/devel/join/. Годами батрачат без статуса, на мэйнтейнеров. Потому что надо получить одобрение от лучше нескольких. Дальше https://wiki.debian.org/DebianMaintainer. Главное, это подпись твоего ключа. Вроде, это должно быть на сходке лично: https://wiki.debian.org/Keysigning.

А по-настоящему попытаться стать полноправным членом Debian: https://wiki.debian.org/DebianDeveloper.

gag ★★★★★
()
Ответ на: комментарий от cvs-255

А как ты его проверишь? «Не работаешь ли ты на АНБ, дружище?» «Нет, что вы!» «Ну ОК, подходишь нам».

seiken ★★★★★
()
Ответ на: комментарий от cvs-255

Чисто формальные проверки, смотрят на адекватность. Возможно, ищут во всяких БД. В голову к человеку не залезть. А в опенсорсе даже не нужно никаких личных встреч.

seiken ★★★★★
()
Последнее исправление: seiken (всего исправлений: 1)
Ответ на: комментарий от gag

Не совсем. Любой может зарегаться в дебиановском гитлабе и предлагать MRы. Еще можно залить пакет через mentors.debian.net, если найдешь дебиан разработчика (спонсора), который согласится залить твой пакет в репозиторий.

undef ★★
()
Ответ на: комментарий от undef

Слать патчи или, вот с переходом на gitlab и MR - это «authored by». Комитить и, таким образом, брать на себя ответственность могут только DM/DD.

gag ★★★★★
()
Ответ на: комментарий от gag

Вот товарищ Hans Jansen завел баг, подготовил фикс для него и выложил на mentors. DD Sebastian Andrzej Siewior подписал это и залил в репозиторий. Соответсвенно, любой Василий имеет шансы протолкнуть свой код в репозиторий. И не так уж и важно, кто в итоге нажмет кнопку «Upload».

undef ★★
()
Ответ на: комментарий от undef

Заливать свои предложения - это одно. Ответственность перенимает тот, кто жмёт коммит непосредственно в Debian. Шансы протолкнуть это да, так работает свободное ПО.

gag ★★★★★
()
Ответ на: комментарий от gag

Ответственность перенимает тот, кто жмёт коммит непосредственно в Debian.

Какая ответственность? Себастьян лишится лычек DD, получит по щам сапогами или что-то еще?

Шансы протолкнуть это да, так работает свободное ПО.

Так-то да. Поэтому oldoldstable, oldstable, в крайнем случае stable. Пока другие побольше грабель соберут.

undef ★★
()
Ответ на: комментарий от undef

Ну, тут, наверное, нужно побывать в какой-нибудь управленческой/руководящей должности, когда ты не успеваешь всё делать сам, и пользуешься как бы результатом труда других, но выше спросят, в первую очередь, с тебя. Что логично.

Он не должен ничего лишаться, но его отношение к мэйнтейнерству уже, наверняка, не будет таким как прежде. Каждый раз видя новый баг типа «please package new upstream version», что неизбежно, будет вспоминаться, а вдруг там засада. В итоге, с новыми версиями в Debian может стать ещё сложнее.

gag ★★★★★
()
Ответ на: комментарий от gag

В обсуждении бага промелькнула мысль «может ну их, такие здоровые NMU». Как в воду глядели.

В итоге, с новыми версиями в Debian может стать ещё сложнее.

А что тут сделать, если уже upstream может быть заряжен.

undef ★★
()
Ответ на: комментарий от seiken

The people who will sign your key will need to see … passport or similar.

Т.е. видя тебя лично им ещё нужно и подтверждение, что твоя внешность более менее сочетается с твоей личностью.

gag ★★★★★
()
Ответ на: комментарий от X512

Так поэтому сначала дают пройти волонтёрскую эксплуататорскую proof-of-work. Но, конечно, и это не исключаемо.

gag ★★★★★
()
Ответ на: комментарий от gag

Так поэтому сначала дают пройти волонтёрскую эксплуататорскую proof-of-work. Но, конечно, и это не исключаемо.

Только никто этого делать не хочет. Во-первых, потому что в дебиане залежи окаменелых фекалий вместо нормальной сборочной системы для пакетов. А во-вторых, потому что за это никто не платит, так ещё и с дебиановской бюрократией надо бодаться. В итоге, в Debian разрабов тупо не хватает и туда пролезают вот такие персонажи.

https://www.theregister.com/2020/09/10/debian_project_address/

hateyoufeel ★★★★★
()
Ответ на: комментарий от hateyoufeel

При чем здесь дебиановская бюрократия, если отравлен апстрим? Наоборот, эта самая бюрократия отсекает часть грабель, предоставив право поскакать по ним тем же арчу, федоре.

undef ★★
()
Ответ на: комментарий от undef

Наоборот, эта самая бюрократия отсекает часть грабель, предоставив право поскакать по ним тем же арчу, федоре.

И как? Бэкдор в xz отсекла? Рач, кстати, не пострадал от это бэкдора. Как и NixOS, и некоторые другие bleeding edge дистры.

hateyoufeel ★★★★★
()
Ответ на: комментарий от undef

Ну так stable дебиана и убунты не попала.

Ну да, потому что stable релизится раз в три года. Ты ещё скажи, что в слаку бэкдор не попал, потому что её не релизили пять лет.

Если бы сейчас это не заметили, оно бы в stable попало в итоге.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 1)
Ответ на: комментарий от hateyoufeel

Stable релизится раз в два года, с периодом заморозки. Из-за этого периода убунта не пострадала, хотя релизится раз полгода. Вот она и бюрократия. За слаку не скажу, не знаком с ее релизным циклом.

undef ★★
()
Ответ на: комментарий от hateyoufeel

Рач, кстати, не пострадал от это бэкдора. Как и NixOS, и некоторые другие bleeding edge дистры

«Ну да, потому что» эти дистрибутивы не были целью атаки. Заражённый код-то все всосали без исключения, так что сработал принцип неуловимого Джо.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Рач, кстати, не пострадал от это бэкдора. Как и NixOS, и некоторые другие bleeding edge дистры

«Ну да, потому что» эти дистрибутивы не были целью атаки. Заражённый код-то все всосали без исключения, так что сработал принцип неуловимого Джо.

Всё так. И получается, что дебиановская бюрократия не особо помогает. Но дебианщики иначе не могут, поэтому должны страдать.

Аргумент «если не обновлять софт по два года, то бэкдор, сунутый вчера, в него не попадёт» просто смешон.

hateyoufeel ★★★★★
()
Последнее исправление: hateyoufeel (всего исправлений: 3)
Ответ на: комментарий от hateyoufeel

Всё так. И получается, что дебиановская бюрократия не особо помогает.

По факту получилось, что в Debian stable, RHEL и Ubuntu LTS — которые и были основными целями — данный backdoor так и не попал. Так что что дебиановская, что редхатовская — помогают. Ибо риск нарваться на такое, сразу всасывая новые версии из апстрима, несоизмеримо выше, чем если дать им существенное время побыть на испытательном.

Rootlexx ★★★★★
()
Ответ на: комментарий от hateyoufeel

Аргумент «если не обновлять софт по два года, то бэкдор, сунутый вчера, в него не попадёт» просто смешон.

Это потому что он непреодолим. Логически.

kry
()
Ответ на: комментарий от X512

Агентам спецслужб без проблем могут выписать паспорт на фиктивную личность.

JIA CHEONG TAN
CIA JHEONG TAN
CIA JHON EGTAN
CIA JOHN AGENT
CIA AGENT JOHN
Дело раскрыто!
;)

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 1)
Ответ на: комментарий от gag

Это максимум какая-то видео-сессия (и то, этого явно не сказано). Это не личная встреча, тем более, с развитием современных технологий 3D.

seiken ★★★★★
()
Ответ на: комментарий от seiken

Ну, кроме глобальной, проходили же какие-то более-менее локальные сходки, где бы были DM/DD. По крайней мере до ковид. А там с бумом видео-конференций, а потом и манипуляций в реальном времени и правила не успеешь адаптировать к современным реалиям. Причём не только к ним, а ещё и выросшей угрозы.

gag ★★★★★
()
Ответ на: комментарий от Vudod

Там ещё и меинтейнорм Дебиана один из ботов заделался.

Зарегистрировался на salsa.debian.org, что может сделать любой желающий, ≠ стал мейнтейнером.

Rootlexx ★★★★★
()
Ответ на: комментарий от Rootlexx

Я так понял, что в Дебиане не берут тарбол с сайта, а собирают, а в исходниках проблем-то нет. Поэтому для того, чтобы протолкнуть изменения в deb-пакет, пришлось стать маинтейнером.

Vudod ★★★★★
()
Ответ на: комментарий от Vudod

Я так понял, что в Дебиане не берут тарбол с сайта, а собирают, а в исходниках проблем-то нет. Поэтому для того, чтобы протолкнуть изменения в deb-пакет, пришлось стать маинтейнером.

Исходники в тарболе с сайта.

cumvillain
()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.