系统安全C/C++ [2022] hypervisor: 检测与预防 (一) ### rdtsc 大部分虚拟机包括沙箱用的都存在一个问题 cpuid等一些会造成vmexit的东西, 被硬件加速了 不开虚拟机的时候 只花很少的时间,大于200个CPU周期左右 一旦进了虚拟机 会到大约20000个周期不等 木马 外挂 可以通过判断CPU周期确定自己是不是在虚拟机里 导致沙箱不存活之类的 阅读全文 2022-05-12 huoji 2 条评论
二进制安全C/C++汇编 [2021]基于虚拟化的HIPS架构 从0到1 二 (SVM部分) 上一章 [基[2021]于hypervisor的HIPS架构 从0到1(VT部分)](https://key08.com/index.php/2021/02/24/915.html "基[2021]于hypervisor的HIPS架构 从0到1(VT部分)") 我们讨论了INTEL的 VT-X的情况,对于AMD的SVM,我们还没有做过多讨论,本篇文章就会继续讨论SVM的情况. 网上关于AMD的资料几乎为0,我希望这篇文章给你带来启发 ## 1.准备工作 首先我们要确保SVM是否是支持的:  这是万事开头 阅读全文 2021-04-11 huoji 3 条评论
二进制安全C/C++游戏安全汇编 [2021]会引起VMExit的指令 这些指令都有可能会被用到检测hypervisor.目前已经有几个指令被用去了,但是,好在这些指令数量不是特别多 这边给做个整理. 会引起无条件退出的指令: CPUID <-BE/EAC用了 GETSEC INVD XSETBV <-BE用了 INVEPT INVVPI 有条件退出指令 CLT ENCLS ENCLV HLT INVLPG INVPCID LGDT LIDT LLDT LTR SGDT SIDT SLDT LMSW MONITOR MOV FROM(CR3/CR0) MOV TO(CR0/CR3/CR4/CR8/DR) mwait pause rdmsr rdpmc rdseed RDST(c,p) <-BE EAC用了 rsm vmread vmwrite wbinbd wrmsr xrstors xrsaves 阅读全文 2021-01-31 huoji 0 条评论