Hacker News Digest

Тег: #kvm

Постов: 10

Defeating KASLR by doing nothing at all (googleprojectzero.blogspot.com)

Исследователи Project Zero обнаружили уязвимость в защите KASLR на устройствах Android с процессорами arm64. Оказалось, что из-за поддержки горячего подключения памяти (memory hotplug) линейное отображение ядра больше не рандомизируется, а PHYS_OFFSET всегда имеет фиксированное значение 0x80000000. На Pixel-телефонах загрузчик дополнительно распаковывает ядро по одному и тому же физическому адресу (0x80010000) при каждой загрузке, что делает возможным статическое вычисление виртуальных адресов для любых данных ядра.

Эта уязвимость позволяет злоумышленникам с примитивом для произвольной записи обходить KASLR без сложных техник утечки адресов. Исследователь Seth Jenkins продемонстрировал, как с помощью формулы phys_tovirt(x) = ((x) - 0x80000000) | 0xffffff8000000000 можно точно вычислять виртуальные адреса для ядерных структур, таких как modprobe_path. Команда разработала инструмент bpf_arb_read для чтения экспортируемых переменных ядра, что упрощает эксплуатацию этой уязвимости.

by aa_is_op • 04 ноября 2025 г. в 10:52 • 81 points

ОригиналHN

#kaslr#android#arm64#memory-hotplug#google-pixel#bpf-arb-read#kvm#project-zero

Комментарии (7)

  • Hendrikto сообщил о двух проблемах: отсутствии рандомизации линейного отображения и статичном физическом адресе загрузки ядра в Pixel, но обе считаются ожидаемым поведением.
  • Google Pixel может добавить рандомизацию физических адресов ядра позже, но конкретных планов по устранению проблем нет.
  • i-con указывает на параллель с уязвимостью в KVM (проект Rain) и сомневается в необходимости постоянного отображения всей физической памяти.

VMScape and why Xen dodged it (virtualize.sh)

Новая атака VMScape от ETH Zürich использует уязвимости предсказателя переходов в процессорах AMD Zen 4 и Zen 5 для утечки данных между виртуальными машинами в облачных средах. Она успешно работает против гипервизоров KVM и VMware, позволяя вредоносной гостевой VM атаковать компоненты пользовательского пространства, такие как QEMU, и извлекать конфиденциальную информацию. Это очередное проявление проблем с изоляцией в современных CPU, оптимизированных для производительности.

Xen оказался неуязвим благодаря своей микроядерной архитектуре, где гипервизор минимален, а все дополнительные сервисы, включая эмуляцию устройств, вынесены в отдельную виртуальную машину Dom0. Это решение, принятое два десятилетия назад, сократило поверхность атаки и предотвратило воздействие VMScape на критически важные компоненты. Таким образом, архитектурный выбор Xen обеспечил встроенную защиту без необходимости экстренных исправлений, в отличие от KVM и VMware.

by plam503711 • 28 сентября 2025 г. в 18:19 • 99 points

ОригиналHN

#xen#kvm#vmware#hypervisor#virtualization#microkernel#dom0#qemu#amd-zen#security

Комментарии (22)

  • Архитектура Xen на микроядре с изолированным Dom0 ограничивает утечку данных при атаке vmscape только процессами внутри самого Dom0, что снижает риски.
  • В отличие от KVM, где эмуляция оборудования происходит в пользовательском пространстве хоста, в Xen управление и эмуляция выделены в отдельный Dom0, что обеспечивает дополнительный уровень изоляции.
  • Атака vmscape позволяет утечку данных между виртуальными машинами, но не затрагивает напрямую гипервизор Xen, так как он работает на более привилегированном уровне.
  • Обсуждаются потенциальные преимущества микроядерных архитектур (например, seL4) для дальнейшего ограничения последствий побега из VM.
  • Отмечается, что сама уязвимость остается на аппаратном уровне, и контейнеризация (LXC, SmartOS zones) не обязательно защищает от подобных атак.

Show HN: Bottlefire – Build single-executable microVMs from Docker images (bottlefire.dev)

Bottlefire — превращает Docker-образы в единый исполняемый файл с микро-VM на Firecracker.
Запуск без root и настроек, где есть KVM.

curl -fL https://bottlefire.dev/run/

Собирается утилитой bake, внутри: сеть, порты, shared-папки.

Цены
Публичные образы — бесплатно.
Pro: 5 $/мес, 20 ГБ «активных» образов, любые регистри.

curl -fL -H "Authorization: Bearer …" -o app \
  https://images.bottlefire.dev/ghcr.io/org/app:1.0

Нужен больше или ECR/GCP — пишите.

Спонсорство от 50 $/мес — публикуй свои образы для всех.

by losfair • 07 сентября 2025 г. в 13:48 • 142 points

ОригиналHN

#docker#firecracker#microvm#kvm#socks5#tun2socks#bake#gcp#digitalocean

Комментарии (21)

  • Участник спросил, можно ли «заморозить» microVM в bottlefire и возобновить позже — ответ: Firecracker умеет снимки, но в текущем формате пока не реализовано.
  • Вопрос о запуске microVM в обычном облаке:部分 провайдеры (GCP, DigitalOcean) уже позволяют запускать Firecracker.
  • Сеть у bake устроена через SOCKS5-прокси поверх tun2socks, используя сетёвой стек хоста.
  • Проект по сути обёртка bake: с KVM можно запустить любой Docker-контейнер без установки Docker.
  • Участники сравнили с docker2exe/dockerc, обсудили GUI-оболочку, 9p для rootfs и возможность адаптации под Apple Hypervisor.framework.

Show HN: Lightweight tool for managing Linux virtual machines (github.com)

Flint — лёгкий инструмент для управления виртуальными машинами Linux.
Клонируй, настрой и запускай ВМ из CLI без лишних зависимостей.

by ccheshirecat • 07 сентября 2025 г. в 02:30 • 119 points

ОригиналHN

#linux#virtualization#kvm#go#systemd-nspawn#libvirt#cockpit#ssh#github

Комментарии (26)

  • Пользователи не поняли, что делает утилита: «управляет» KVM-ВМ, но не ясно — создаёт, запускает, монтирует папки или работает по сети.
  • Автор показал компактный бинарь на Go, но код (~26 k строк) написан «вайб-кодингом» без тестов, поэтому многим не доверяют.
  • Обсуждали альтернативы: systemd-nspawn, libvirt/virsh, Virt-Manager, Cockpit; последний удобен, но по умолчанию слушает 0.0.0.0 и требует PAM-логин.
  • Нашлись советы: Cockpit завернуть в SSH-туннель, libvirt подключаться по SSH, PAM заменить на безопасный модуль.
  • Вопросы о Vite-hot-reload в гостевой ОС, снапшотах и расписании остались без ответа.

Kernel-hack-drill and exploiting CVE-2024-50264 in the Linux kernel (a13xp0p0v.github.io)

CVE-2024-50264: кратко о сложнейшей гонке в AF_VSOCK
Уязвимость введена в 2016 г. (ядро 4.8); это race между connect() AF_VSOCK и POSIX-сигналом, приводящий к UAF 80-байтового объекта virtio_vsock_sock. Триггер доступен обычному пользователю без user-ns. Ограничения: объект быстро освобождается, UAF-запись делает kworker, система легко падает. За это баг получил Pwnie 2025 «Best Privilege Escalation».

Управление сигналом без самоубийства процесса
Вместо SIGKILL, который убивает эксплойт, используется «бессмертный» сигнал 33:

sev.sigev_signo = 33;
timer_create(CLOCK_MONOTONIC, &sev, &race_timer);
timer_settime(...);  // точный момент прерывания connect()

Сигнал 33 зарезервирован NPTL, процесс его не видит и не завершается.

kernel-hack-drill: тренажёр для ядерных атак
Проект https://github.com/a13xp0p0v/kernel-hack-drill автоматизирует:

  • сборку нужных версий ядра Ubuntu 24.04 (6.11 OEM/HWE) с разными конфигурациями KASLR/KCFI/SLAB_QUARANTINE;
  • запуск в KVM с заданным RAM/CPU и ssh-форвардингом;
  • однокнопочный запуск PoC и сбор crash-дампов.

Инструмент позволил быстро перебирать стратегии перераспределения kmalloc-96, искать объекты-спрей, тестировать разные техники обхода защит и отлаживать эксплойт без ручной пересборки ядра.

Новый путь эксплуатации
Автор отказался от сложной цепочки @v4bel и @qwerty и применил упрощённую схему:

  1. Спрей sendmsg()-controlled объектами размером 96 байт, чтобы перехватить освобождённый virtio_vsock_sock.
  2. UAF-запись переписывает поле sk_prot, указывая на поддельную структуру proto в userspace-буфере.
  3. При последующем вызове close() ядро переходит по контролируемому указателю и исполняет ROP-цепочку, поднимая shell до root.

kernel-hack-drill сократил время от идеи до рабочего PoC с недель до нескольких часов.

by r4um • 03 сентября 2025 г. в 06:58 • 202 points

ОригиналHN

#linux#kernel#cve#exploits#vsock#race-conditions#memory-management#security#kvm#ubuntu

Комментарии (34)

  • Участники в восторге от глубокого и единоличного описания use-after-free, но признают, что текст местами труден для чтения из-за «роботизированной» подачи.
  • Многие чувствуют себя «бесполезными» на таком низком уровне и восхищаются талантом исследователей уязвимостей.
  • Поднимается вопрос о мотивации: исследователи редко чинят баги, потому что это требует других навыков и ломает их инсентивы.
  • Обсуждается, поможет ли Rust в ядре Linux: write-after-free технически блокируется, но unsafe-области всё ещё оставляют риски.

QEMU 10.1.0 (wiki.qemu.org)

  • Удалено: устаревшие устройства sga и xenfv; опция -no-user-config.
  • Новые пометки: -machine dump-guest-core=on, query-cpus-fast, query-cpu-definitions – deprecated.

Архитектуры

  • 68k: поддержка q800 и macos9.
  • ARM: новые SoC imx8mn, stm32h735, xlnx-zynqmp-ep108; машины mps3-an547, raspi5; эмуляция FEAT_SVE2, FEAT_MTE2, FEAT_LSE2.
  • RISC-V: добавлены zacas, sstc, svadu, smstateen; машины spike-1.11, microchip-polarfire.
  • x86: AMD SEV-SNP, Intel AMX, AVX-VNNI; KVM-TCG совместимость.

Устройства

  • ACPI: поддержка SRAT для NVDIMM.
  • Audio: Intel HDA теперь 24-бит.
  • Block: virtio-blk/SCSI – discard=unmap, write-zeroes=unmap.
  • Graphics: virtio-gpu – 3D, virglrenderer 1.0.
  • NVMe: CMB, PMR, ZNS.
  • PCIe: SR-IOV, ARI, ATS, PASID.
  • USB: xHCI – USB 3.2 SuperSpeed+.

Прочее

  • Multi-process: x-vhost-user-fs и vhost-user-vsock теперь в отдельном процессе.
  • Сеть: vhost-vdpa – offloading checksum/TCP.

by dmitrijbelikov • 27 августа 2025 г. в 11:02 • 240 points

ОригиналHN

#qemu#kvm#virtualization#wasm#android#arm#risc-v#x86#nvme#pci-e

Комментарии (38)

  • QEMU восхищает пользователей: «просто работает», хорошо интегрируется и кажется «магией».
  • Его применяют для dev-окружений, запуска ПО на других ОС, разработки новых ОС, а также в облаках.
  • KVM ускоряет QEMU, предоставляя аппаратную виртуализацию через page-tables и trap-механизмы.
  • Появилась экспериментальная сборка в WASM, что открывает онлайн-песочницы для разных архитектур.
  • Поддерживается запуск Android-VM (Cuttlefish, официальный Android-emulator на базе QEMU).
  • Утилиты вроде QuickEMU и UTM упрощают запуск ВМ, а пожертвования идут через Software Freedom Conservancy.

Looking back at my transition from Windows to Linux (scottrlarson.com)

Итоги моего ухода с Windows на Linux в эпоху анти-клиента

Профессионал с 25-летним стажем, я окончательно перешёл на Linux в 2023 г. и уже два года не возвращаюсь.
Windows 11 стал рекламной площадкой: Copilot, Recall, OneDrive навязываются и крадут данные без спроса.
Подписки вместо покупки, «облачные» файлы без согласия — всё это разрушает доверие.

Технически Linux сложнее, но свобода стоит усилий.
Европа (Digital Markets Act) и движения вроде StopKillingGames и RightToRepair дают надежду.

Ключевой вывод: контроль над купленным — основа личной свободы.

by trinsic2 • 24 августа 2025 г. в 20:22 • 85 points

ОригиналHN

#linux#windows#digital-markets-act#adobe-creative-suite#citrix#kvm#ram#amd

Комментарии (114)

  • Пользователи массово переходят на Linux из-за разочарования Windows 10/11 и улучшений десктоп-опыта.
  • В семьях и малых бизнесах Linux уже заменяет Windows на ноутбуках и POS-терминалах, несмотря на «налог Microsoft» за предустановку.
  • Среди оставшихся препятствий: игры с античитом, Adobe Creative Suite, Citrix, управление питанием/тачпадом, «виснут» при нехватке RAM.
  • На работе Linux-доступен по запросу, но Word/Excel/PowerPoint и их форматы всё ещё тормозят миграцию SMB.
  • Сообщество делится лайфхаками: Bee-link-мини-ПК вместо dual-boot, earlyoom/OOM-kill, AMD-видеокарты для игр, KVM-переключатели.

Rethinking the Linux cloud stack for confidential VMs (lwn.net)

Конфиденциальные ВМ требуют переработки стека Linux в облаке.
Публичное облако не гарантирует приватности: хост-провайдер может получить доступ к памяти гостя. Confidential computing решает это, шифруя память даже от гипервизора, но приходится балансировать между безопасностью и производительностью.

Изоляция и производительность
Аппаратные уровни привилегий, IOMMU, KVM, cgroups и namespaces обеспечивают изоляцию ВМ. Однако для скорости всё чаще используют прямой доступ к устройствам (DPDK, vDPA), что снижает контроль ОС и усиливает зависимость от железа и прошивок.

Решение: доверенные устройства
AMD SEV-TIO и стандарт TDISP позволяют гостю криптографически убедиться в подлинности устройства и разрешить ему прямой доступ к зашифрованной памяти, избегая медленных bounce-буферов. Реализуется через SR-IOV: физическое устройство создаёт множество виртуальных функций, каждая из которых может быть «доверенной» для конкретной конфиденциальной ВМ.

by Bogdanp • 23 августа 2025 г. в 11:39 • 113 points

ОригиналHN

#linux#cloud-computing#confidential-computing#kvm#amd-sev-tio#tdisp#sriov#dpdk#vdpa#gdpd

Комментарии (44)

  • Критики считают, что Confidential Computing (CC) — это скорее маркетинговый трюк облачных провайдеров, чем реальная защита: аппаратная основа часто уязвима и не может быть исправлена.
  • Даже при шифровании памяти вы всё равно работаете на чужом железе, которое теоретически могут модифицировать для сниффинга или извлечения данных.
  • Для многих CC — способ «галочки» под GDPR, особенно в медицинских исследованиях, но реальная польза пока минимальна.
  • Apple реализовала собственную версию CC качественно, но она закрыта и только для экосистемы Apple.
  • Участники соглашаются: если ваша модель угроз не позволяет доверять провайдеру, используйте физические серверы; «доверие» в облаке всегда остаётся условным.

Booting 5000 Erlangs on Ampere One 192-core (underjord.io)

Ampere One 192-ядерный сервер, 1 ТБ ОЗУ, цель — запустить максимум виртуальных IoT-устройств на Nerves.

Прошлый раз добрались до 500 экземпляров; теперь с KVM и новым загрузчиком little_loader от Frank Hunleth удалось 5000 одновременных виртуальных ARM64-машин.
little_loader — минимальный ARM64-бутлоадер, читающий переменные u-boot, загружающий ядро Linux и сохраняющий механизмы A/B-обновлений Nerves.

Что изменилось

  • KVM/HVF ускоряет старт до 1-2 с и экономит ≈ 500 МБ ОЗУ на гость.
  • EL1 вместо EL2: EL2 нужен для вложенной виртуализации, нам не требуется.
  • Баг компиляции: release-сборка зависает, debug-версия работает (GCC 15, вероятно, чинит).

Команда запуска (упрощённый пример):

qemu-system-aarch64 \
  -machine virt,accel=kvm \
  -cpu host -smp 1 -m 150M \
  -kernel little_loader.elf \
  -netdev user,id=eth0 \
  -device virtio-net-device,netdev=eth0 \
  -drive if=none,file=disk.img,format=raw,id=vdisk \
  -device virtio-blk-device,drive=vdisk \
  -nographic

Итог: 5000 «эрлангов» на 192 ядрах, 1 ТБ ОЗУ, стартуют за секунды, потребляют по 150 МБ RAM.

by ingve • 10 августа 2025 г. в 11:41 • 207 points

ОригиналHN

#erlang#arm64#kvm#qemu#nerves#iot#cloud#gcc

Комментарии (38)

  • Речь идёт о запуске 5000 узлов BEAM (Erlang-машин), а не процессов — каждая BEAM может держать миллионы лёгких процессов.
  • Сервер с 192 Ampere-ядрами позиционируется как «облачный» или «edge» для телекомов; Hetzner предлагает 80-ядерный Ampere за ~200 $/мес.
  • Пользователи сомневаются в полезности без тестов под нагрузкой и обсуждают, как масштабировать память и шину при таком числе ядер.
  • Всплыли исторические примеры (Azul для Java) и шутки про «ручное ткачество» Erlang-потоков и «фермерский» байт-код.

Overengineering my homelab so I don't pay cloud providers (ergaster.org) 💬 Длинная дискуссия

  • Цель: перенести все сервисы с VPS домой на Minisforum UM880 Plus (Ryzen 7 8840U, 32 ГБ ОЗУ).
  • Задачи: безопасные эксперименты, изучение k3s → k8s/Talos, отказ от облаков.
  • Угрозы: кража, выход железа, человеческий фактор.
  • Меры: полное шифрование диска, автоматические бэкапы, восстановление по Ansible, Wake-on-LAN через KVM.

Подготовка хоста Proxmox

  1. Чистая установка Debian 12 с LVM-on-LUKS, отдельный /boot на флешке.
  2. Proxmox VE 8 ставится поверх Debian:
    • добавить репу pve-no-subscription;
    • после установки сломалась сеть — оказалось, ifupdown2 не ставится, надо ifupdown + ручной /etc/network/interfaces.
  3. Bridge vmbr0 на основе enp3s0 для ВМ.

Автоматизация Ansible

  • Плейбук proxmox.yml:
    • ставит ключи, репу, пакеты, настраивает сеть, отключает подписку.
  • Запуск:
    ansible-playbook -i hosts.ini proxmox.yml -K
    

Итого: за час получаем переустанавливаемый, зашифрованный, готовый к ВМ кластер без облаков.

by JNRowe • 04 августа 2025 г. в 23:14 • 206 points

ОригиналHN

#debiam#lvm#luks#proxmox#ansible#kubernetes#talos#kvm#homelab#vps

Комментарии (164)

  • Участники обсуждают, стоит ли вообще строить домашний сервер: кто-то считает это дорогим хобби и источником постоянных проблем, кто-то — отличным способом учиться и сохранять контроль над данными.
  • Главные минусы: высокая стоимость электричества в ряде регионов, отсутствие ECC-памяти у дешёвых железок, риск отключения питания и необходимость ручного восстановления.
  • Часть людей экономит на VPS и облаке, собирая NAS из подержанных Dell Wyse 5070 или Minisforum-мини-ПК; другие предпочитают б/у серверные Xeon-ы за расширяемость.
  • Безопасность и надёжность: кто-то ставит UPS и даже солнечные панели, кто-то сознательно принимает простои и использует WireGuard для удалённого включения.
  • Подводный итог: если цель — учёба и полный контроль, хоумлаб «свой»; если нужен 100 % uptime и минимум времени — дешевле и проще взять облако или VPS.