Overview of JavaScript Virtualization Obfuscationa day agohttps://blog.pixelmelt.dev/overview-of-javascript-virtualization-obfuscation/没有代码保护是牢不可破的,因为计算机必须查看指令才能执行它们,因此目标是抽象程序执行。虚拟化混淆涉及创建一个幻想CPU,将输入代码编译为其指令集,并在解释器中运行,类似于Java虚拟机。Web保护(JavaScript)通常比二进制保护更容易破解,因为二进制安全领域更为成熟。一个基本示例展示了程序作为指令ID和操作数的数组,以及一个循环来解释诸如push和add之类的指令。监控程序内存可以破解此类虚拟化代码,就像可执行程序一样。
FreeBSD vs. SmartOS: Who's Faster for Jails, Zones, and bhyve VMs?a day agohttps://it-notes.dragas.net/2025/09/19/freebsd-vs-smartos-whos-faster-for-jails-...
Sheetz is quitting VMware, migrating 11,000 virtual machines13 days agohttps://arstechnica.com/information-technology/2026/07/sheetz-moves-838-stores-o...Sheetz是一家美国便利店连锁,正将838家门店的VMware迁移至StorMagic的SvHCI平台,涉及约11000台虚拟机。此次迁移是由于博通对VMware的变更所驱动,包括取消永久许可、强制订阅和预期涨价,这些举措增加了不确定性和对供应商的依赖。Sheetz已完成超过600家门店的迁移,平均每月200家,预计四个月内完成全部迁移,过程中使用现有戴尔硬件且无需现场技术人员。StorMagic自2019年成功应用其SvSAN解决方案后获选,该方案为分布式零售环境提供了韧性和集中管理能力。迁移过程中仍存在挑战,但无需硬件升级的远程部署方式正在显著节省成本。
Theo de Raadt: "You've been smoking something mind altering" (2007)17 days agohttps://marc.info/?l=openbsd-misc&m=119318909016582虚拟化增加了另一层内核,可能引入新的漏洞。它依赖于x86架构,而该架构的页面保护机制较弱。声称虚拟化能带来安全优势的观点是错误的。软件工程师在开发安全的操作系统和应用程序方面面临挑战。期待虚拟化层完美无缺是不现实的。
Ditching Vagrant: VMs with KVM and Virsh on Debian23 days agohttps://benjamintoll.com/2026/06/29/on-ditching-vagrant/作者决定从Vagrant转向使用KVM和libvirt进行虚拟机管理,认为Vagrant过于复杂且冗余,因为Linux本身就能处理虚拟化。KVM允许Linux内核充当管理程序,而libvirt是一个管理KVM和其他虚拟化平台的库,virsh则是与libvirt交互的命令行接口。文中给出了一个实际示例,说明如何使用virt-install创建一个预配置的Debian虚拟机,该工具能通过预设答案自动完成安装,并处理网络连接、挂载和SSH代理转发。关键步骤包括检查KVM模块状态、安装libvirt和virsh、使用preseed文件进行确定性构建,以及解决操作系统升级后的串行输出问题等故障排除。作者强调了使用libvirt进行统一虚拟化管理的好处,并分享了用于虚拟机生命周期控制、网络设置和文件系统挂载的有用命令。
Binary Coverage the Wrong Way24 days agohttps://redvice.org/2026/coverage-the-wrong-way/第三种方案——形式化验证程序——被斥为谎言。模糊测试工具常采用N元语法覆盖度,通过结合最近N条分支来捕捉路径依赖信息。奇怪的覆盖度指标本质上仍记录哪些代码被执行过,导致区分度变得不那么重要。如果记录了分支历史,N元语法覆盖度很可能可以从中计算得出。Windows 11将内核作为虚拟化客户机运行,而非裸机运行,这是个有趣的事实。提及Varnish(一款HTTP缓存)作为示例参考。
Smol Machinesa month agohttps://smolmachines.com/SmolVM 允许在快速、硬件隔离的 Linux 虚拟机中运行工作负载,并提供相同的 SDK 和 .smolmachine 工件,以便进行本地开发和部署。主要特性包括:通过虚拟机管理程序隔离机制对不可信代码进行沙箱化、创建可移植的可执行文件、实现持久性虚拟机,并通过 Vulkan 支持 GPU 加速工作负载。安装通过 shell 脚本完成,包含运行临时虚拟机、交互式 shell 以及将工作负载打包成二进制文件的命令。它使用基于定制内核(libkrunfw)的 libkrun 虚拟机管理器,默认提供 4 个虚拟 CPU 和 8 GiB 内存,并支持搭载 KVM 的 macOS 和 Linux 主机。
NUMA: Cores, memory, and the distance between thema month agohttps://edera.dev/stories/numa-part-1-cores-memory-and-the-distance-between-themNUMA(非一致性内存访问)是指内存访问开销因 CPU 与内存条位置的不同而存在差异,这与 UMA(一致性内存访问)形成对比。NUMA 的出现是为了突破单插槽系统的限制,每个插槽拥有自己的内存控制器,并通过如 AMD 的 HyperTransport/Infinity Fabric 和 Intel 的 QPI/UPI 等互连技术连接。由于采用如 AMD 的 EPYC 小芯片设计和 Intel 的子 NUMA 集群等技术,现代服务器每个插槽可包含多个 NUMA 节点,已超越“一个插槽一个节点”的传统模型。在现代服务器的微基准测试中,远程内存访问比本地访问慢 1.5 到 3 倍,且在高负载下因互连争用而进一步恶化,进而影响尾部延迟。内存交错技术通过将内存分布到多个节点来平衡访问开销,但以牺牲峰值性能为代价换取可预测性,导致“所有访问都同样糟糕”的局面。NUMA 涉及两种亲和性:CPU 亲和性(将进程绑定到特定 CPU)和内存亲和性(控制每个节点的内存分配),二者必须协调一致才能实现最优性能。Linux 的“首次接触”策略会在首次访问内存的 CPU 所在节点分配内存,如果分配线程与使用线程位于不同节点,则可能导致远程访问。Xen 的 dom0 缺乏 NUMA 感知能力,导致客户机虚拟 CPU 与内存位置不匹配,悄无声息地引发跨互连访问和性能问题。像 Xen 这样的虚拟化系统具有两层架构(管理程序和客户机),分别做出放置决策;而 KVM 则由宿主机 Linux 内核统一管理虚拟机的 NUMA 策略。Edera 的研究实现了 Xen 端到端的 NUMA 感知,使客户机能够获取准确的拓扑信息并优化资源放置,避免了“盲目且交错”的困境。