В поставляемом в составе FreeBSD 11 гипервизоре bhyve выявлена (https://lists.freebsd.org/pipermail/freebsd-announce/2016-Oc...) уязвимость, позволяющая выйти за пределы гостевой системы. Проблема присутствует в коде эмуляции устройства VGA и позволяет вызвать переполнение кучи на стороне хост-системы через манипуляции в гостевой системе, для которой в качестве устройства вывода применяется "fbuf". Так как процесс bhyve выполняется под пользователем root, атакующий, имеющий доступ к гостевой системе, может получить полный контроль над хост-системой и другими виртуальными машинами.
URL: https://lists.freebsd.org/pipermail/freebsd-announce/2016-Oc...
Новость: https://www.opennet.ru/opennews/art.shtml?num=45377
> Так как процесс bhyve выполняется под пользователем root,Как же это надоело.
> позволяет вызвать переполнение кучиА вот это не надоело ещё?
Десятилетия же по этим граблям топают!
Ну вон в соседней новости про jumla - кучи нет а vuln - есть. Даешь уже AI, который не ошибается.
> Ну вон в соседней новости про jumla - кучи нет а vuln
> - есть. Даешь уже AI, который не ошибается.Есть AI, который не ошибается и ничего не делает. Дорого. Берёте?
> Есть AI, который не ошибается и ничего не делает. Дорого. Берёте?Майкрософту разработку загони, у них и денег больше и планете польза! :)
#>>>Даешь уже AI, который не ошибается.
>> Есть AI, который не ошибается и ничего не делает. Дорого. Берёте?
> Майкрософту разработку загони, у них и денег больше и планете польза! :)Ясно-понятно. Делирий картинный, пациент совсем не осознаёт, чего несёт. Санитары!
Зовите iZen'а, он на Java перепишет без переполнения куч, стеков, буферов ;)
> А вот это не надоело ещё?
> Десятилетия же по этим граблям топают!Ну так собирай сишный софт с -fsanitize=address, получишь что хотел. Будет у тебя этакая ява из сишечки. Правда есть нюансы: софт тормознется в пару раз из-за дополнительных проверок и ты таки получишь нечто яваобразное.
Детские болезни, сейчас bhyve использует хорошо если 1% от 0,1% всех юзеров никсов, уверен он повзрослеет, получит порцию рефакторинга.. и тогда ух!
> Детские болезни, сейчас bhyve использует хорошо если 1% от 0,1% всех юзеров
> никсов, уверен он повзрослеет, получит порцию рефакторинга.. и тогда ух!Причём:
>Additionally systems using bhyve but without the "fbuf" framebuffer device configured are not vulnerable.
>
Не сомневаюсь, что "взрослых" у него не будет ;-)
> Детские болезни, сейчас bhyve использует хорошо если 1% от 0,1% всех юзеровДа, он от горшка два вершка, но уже такие баги находят. Что же будет если он подрастет немного?
> уверен он повзрослеет, получит порцию рефакторинга.. и тогда ух!
Да, да, тогда всем покажет. Вопрос правда что именно.
да ладно, как будто во взрослом микроядерном (!!) xen критичных дыр раз в несколько месяцев не находят
> да ладно, как будто во взрослом микроядерном (!!) xen критичных дыр раз
> в несколько месяцев не находятВнезапно оказалось что микроядро само по себе нишиша не умеет и поэтому должно делать вызовы в кучу навороченных драйверов для периферии. И тут то оказалось что микро оказывается совсем не микро уже. А как вы себе представляете маленький и безбажный код, если спеки на железяку занимали 500 страниц машинописного текста? Оверинженеринг затронул ведь не только софт но и железо. Прошли те времена когда в проце было 3000 транзисторов а больше в системе ничего и не было почти. Теперь даже в мелком SoC может быть упаковано немеряно железок.
Кстати да - после того как я обнаружил в модеме, в МОДЕМЕ КАРЛ!!! полноценный линакс я честно говоря испытал легкий шок...
Нет я конечно понимаю что 4G свисток - устройство непростое... Но всего 20 лет назад байка про "вирус в модеме" была плохим анекдотом, а сейчас - я всерьез начинаю опасаться подобного сценария... :(
> Кстати да - после того как я обнаружил в модеме, в МОДЕМЕ
> КАРЛ!!! полноценный линакс я честно говоря испытал легкий шок...
> Нет я конечно понимаю что 4G свисток - устройство непростое... Но всего
> 20 лет назад байка про "вирус в модеме" была плохим анекдотом,
> а сейчас - я всерьез начинаю опасаться подобного сценария... :(Тут периодически пишут про квалкомы, у которых основным является проц модема с закрытым блобом, а весь UI у него так, сбоку.
> Детские болезниИспользование bhyve - одна из них.
Хакер такой весь из себя крутой, эксплуатирует уязвимость, подтирает логи, получает контроль над хост-системой, а там... FreeBSD. Жалко хакера :(
ржал до слёз :)
> ржал до слёз :)Да, ты описывал свой продакшн где все завирусовано, но даже вирусы не запускаются "патамучта фрибсд" :)
>> ржал до слёз :)
> Да, ты описывал свой продакшн где все завирусовано, но даже вирусы не
> запускаются "патамучта фрибсд" :)не. "вирусы" я только на линаксах встречал, мимопроходя.
вот, после девопсиков пришли с таким http://pastebin.com/raw/jtSjmJzS недавно, спрашивали чо делать и куда бежать. ссылка из motd и ~root/READ-ME.txt ;-)
> не. "вирусы" я только на линаксах встречал, мимопроходя.Ты сам "хвастался" что на твоем гамнохостинге вири прорубаются, но запуститься дескать не могут, "патамучта фрибсд". Если будешь сильно настаивать - я найду этот пост.
> вот, после девопсиков пришли с таким
Да там вон mirai еще веселее поразвлекался. Кстати дарю идею - запили поддержку фрибсд и pull request на гитхабе кинь. А то как же это, там поддерживается все вплоть до каких-то спарков чтоли, а фряхи нет. Ему надо то аж целый syscall() и это в фре вроде есть. Так что даже патчить может ничего и не придется.
>> не. "вирусы" я только на линаксах встречал, мимопроходя.
> Ты сам "хвастался" что на твоем гамнохостинге вири прорубаются, но запуститься дескать
> не могут, "патамучта фрибсд". Если будешь сильно настаивать - я найду
> этот пост.в недрах jboss4 было, да. запуститься не могли:)
>> вот, после девопсиков пришли с таким
> Да там вон mirai еще веселее поразвлекался. Кстати дарю идею - запилиа кто это?
> в недрах jboss4 было, да. запуститься не могли:)Ну вот, я же говорил что не отвертишься ;).
>> Да там вон mirai еще веселее поразвлекался. Кстати дарю идею - запили
> а кто это?Это ботнет установший новый рекорд по мощности атак, залив трафом с утюгов и секурити камер AKAMAI CDN, 0.6 Тбит, чтоли. Так что akamai послали проблемного клиента, хоть и защита от DDoS, типа.
Сорц был по какой-то причине вывален, разошлось широко. На гитхаб в научных целях кто-то влил. Теперь кто угодно может "взять и у..ть". Но маскировка CNC никакая, обезьянки с гранатой имеют шансы посетить обезьянник.
Что интересного? Первый реальный ботнет под IoT. На д00рака заходит по телнету. Иди0тин вывешивающих в прошивке телнет в wan с стандартным паролем - более чем: компании экономят и прошивки билдуют макаки.
Поскольку мелкие железки с разными cpu, libc и вообще - хацкеры проявили креативность. От системы хотят лишь syscall(), остальное - сами. Оно работает на всем что шевелится, билды под дюжину архитектур cpu и сферический линь в вакууме. Ну а раз *никсоиды привыкли сами компилять и сами запускать под рутом то наверное и поддержку своей системы запилить логично самим. Правда стебщикам желающим такие пуллреквесты вывесить - стоит RTFMнуть законодательство, инче можно посетить обезьянник.
>> в недрах jboss4 было, да. запуститься не могли:)
> Ну вот, я же говорил что не отвертишься ;).я и правда уже забыть успел про эти штуки, может потому что больно не было:-) понятно, что боты не ожидали там увидеть не линукс, вот и не работали их шеллы. но вот на линуксах лично видел и запущенными майнеры этих вот биткоинов и тот файлик, про который выше писал.
>>> Да там вон mirai еще веселее поразвлекался. Кстати дарю идею - запили
>> а кто это?
> Это ботнет установший новый рекорд по мощности атак, залив трафом с утюгов
> и секурити камер AKAMAI CDN, 0.6 Тбит, чтоли. Так что akamai
> послали проблемного клиента, хоть и защита от DDoS, типа.[skipped]
спасибо, познавательно
> а там... FreeBSDВ FreeBSD нет уязвимостей? Тем паче, что под рутом.
У них это называется недокументируемые возможности.
> У них это называется недокументируемые возможности.странно, я думал, что это _только_ в линуксе так называются "фичи" которые позволяют "вспомнить" "забытый" пароль;-)
> странно, я думал, что это _только_ в линуксе так называются "фичи" которые
> позволяют "вспомнить" "забытый" пароль;-)Пароль в пингвинах традиционно вспоминают через init=/bin/bash но хакеры обнружили в этом способе фатальный недостаток: его сложно использовать по сети.
> фатальный недостаток: его сложно использовать по сети.У промышленного железа такого недостатка обычно нет
> У промышленного железа такого недостатка обычно нетЭто где как. Далеко не все долбануты настолько чтобы менеджмент или дебаг интерфейсы в сеть хаксорам вывешивать.
> Пароль в пингвинах традиционно вспоминают через init=/bin/bashИ как это тебе поможет, если драйвер клавиатуры в ядро не вкомпилен и в initrd не включен?
>а там... FreeBSD. Жалко хакера :(Для спамобота сгодится.
Для тех, кто знает о bhyve и о FreeBSD, может будет интересное дополнение, что на прошлой неделе был подготовлен патч для capsicum-ализации: https://reviews.freebsd.org/D8290Более того, bhyve сейчас щупают люди из RedHat, например Kevin Buettner <kevinb at redhat.com> (если кто не знает, это мейнтейнер GDB) буквально позавчера в одном из чатиков написал, помимо остального:
00:15 < kevinb> While I'm here, I'll say that I'm most impressed with bhyve performance. Building GDB in a F24 guest (running atop FreeBSD/bhyve) is faster than building it on F24 on bare metal. (6m33.822s versus 8m0.263s) So.. almost a minute and a half faster on the guest!
00:15 < kevinb> I was really surprised at this result!
..
02:23 < kevinb> I'm a GDB engineer at Red Hat.
..Вообщем, bhyve в свойственной FreeBSD манере развивается медленно но неуклонно (как и все остальное во фряхе),и без эксперементов и швыряний туда-сюда, по всеми протоптанной дорожке) Надеюсь, bhyve будет неплох для использования.
> 00:15 < kevinb> While I'm here, I'll say that I'm most impressed with bhyve performance. Building GDB in a F24 guest (running atop FreeBSD/bhyve) is faster than building it on F24 on bare metal. (6m33.822s versus 8m0.263s) So.. almost a minute and a half faster on the guest!Ога, наверняка это эквивалентно VirtualBox'у, который тоже проходит упирающиеся в диск бенчмарки "быстрее чем bare metal"... за счет игнорирования fsync.
Какие-нибудь barriers отключились под bhyve потому что sync'ки не прокидываются честно - вот и будет такой прирост.
Ну да, чудес не бывает. Я вот подумал что профит за счет ZFS ARC такой получился. Тк виртуалка большой I/O создает на определенных областях, а ZFS как известно, имеет под это дело два уровня кеша на те места, что дрючаться больше других.
zfs прирост дать может, но никто не мешает и на "bare metal" его использовать..
Может, выше же написали за счет чего. Можешь почитать про ARC или спросить. На пальцах - чем чаще дрючится область данных на ZFS, тем больше шансов что она начнет отдаваться со скоростью tmpfs, ограничено только RAM и sysctl параметром. Второй уровень - L2ARC, это SSD. Тоже самое что гибридные диски. Речь, разумеется, только об операциях чтения.
При записи ZFS тоже мухлюет, делая sync не в файловую систему а в лог, который может иметь лучшую локальность для шпинделей или вообще на SSD располагаться.
А это не мухлежка, а оптимизация. Там все честно - если записалось хоть в лог, данные не потеряются, в случае сбоя вместо отката данной транзакции она будет восстановлена и записана до итогового результата.И вообще, на ext4 тоже можно режим журнала переключить и на SSD вынести (я не к тому, что sync будет как на zfs, а что записи будут ощутимо быстрее). Но это все штатные режимы работы, в которых гарантируется, что если управление вернулось после sync - данные записаны. А виртуализаторы (как минимум VBox) мухлют, из-за этого барьеры работают некорректно и данные реально можно потерять или испортить при сбое после fsync.
>Building GDB in a F24 guest (running atop FreeBSD/bhyve) is faster than building it on F24 on bare metalНу так это издержки более агрессивного кэширования дисковых операций. Это как из разряда "винда в виртуалке работает быстрее чем на железе".
Запусти он сборку на tmpfs и все встанет на свои места.
> Запусти он сборку на tmpfs и все встанет на свои места.Там еще и быстрее будет пожалуй - оверхеда в файловых операциях там скорее всего меньше чем у огроменного ZFSа.
Кстати, оно было вчера пофикшено в 11.0-RELEASE-p2
А это, случаем, не та же уязвимость, что и https://www.opennet.ru/opennews/art.shtml?num=44409 ?
> А это, случаем, не та же уязвимость, что и https://www.opennet.ru/opennews/art.shtml?num=44409 ?Лол, по описанию очень похоже. Это что, они почти полгода известный vuln исправляли?
>> А это, случаем, не та же уязвимость, что и
> Лол, по описанию очень похоже. Это что, они почти полгода известный vuln
> исправляли?А в патчах ничего общего. Мечтайте дальше.
О, я тоже про неё вспомнил.