首页
社区
课程
招聘
[原创]检测虚拟鸡的那些方法-0x00
发表于: 2019-5-20 18:05 10607

[原创]检测虚拟鸡的那些方法-0x00

2019-5-20 18:05
10607

天字号杀手第0x00名:利用#VMEXIT会强制刷新TLB


原理:修改页表但是不要刷TLB,发生 #VMEXIT 时hypervisor会帮你刷TLB(intel快出来接锅)

——今天,你刷了吗?

注意事项1:对type-2 hypervisor,即hyperplatfrom ksm hyperbone那类 “我 虚 拟 我 自 己”的hypervisor无效
原因:“我 虚 我 自 己 的” hypervisor都会设置VPID=host的ProcessorID,发生#VMEXIT之后host的 ProcessorID 跟guest的VPID仍然相同,因此CPU不会强制刷新TLB
ps:不知什么原因大数字厂的hvm没有设置VPID所以仍然能被这种方法检测到

注意事项2:AMD的L2 cache会在核心之间共享data和code,所以一般来说本方法只适合intel system

代码:没有,so that big hands can not copy-paste

装逼时刻:

——今天,你刷了吗?

注意事项1:对type-2 hypervisor,即hyperplatfrom ksm hyperbone那类 “我 虚 拟 我 自 己”的hypervisor无效
原因:“我 虚 我 自 己 的” hypervisor都会设置VPID=host的ProcessorID,发生#VMEXIT之后host的 ProcessorID 跟guest的VPID仍然相同,因此CPU不会强制刷新TLB
ps:不知什么原因大数字厂的hvm没有设置VPID所以仍然能被这种方法检测到

注意事项2:AMD的L2 cache会在核心之间共享data和code,所以一般来说本方法只适合intel system

代码:没有,so that big hands can not copy-paste

装逼时刻:

——今天,你刷了吗?

注意事项1:对type-2 hypervisor,即hyperplatfrom ksm hyperbone那类 “我 虚 拟 我 自 己”的hypervisor无效

注意事项1:对type-2 hypervisor,即hyperplatfrom ksm hyperbone那类 “我 虚 拟 我 自 己”的hypervisor无效
原因:“我 虚 我 自 己 的” hypervisor都会设置VPID=host的ProcessorID,发生#VMEXIT之后host的 ProcessorID 跟guest的VPID仍然相同,因此CPU不会强制刷新TLB

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2019-5-20 18:05 被hzqst编辑 ,原因:
收藏
免费 4
支持
分享
最新回复 (19)
雪    币: 45
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
大表哥牛批.
2019-5-20 18:12
0
雪    币: 9934
活跃值: (2554)
能力值: ( LV6,RANK:87 )
在线值:
发帖
回帖
粉丝
3
2019-5-20 18:15
0
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
4
围观一下
2019-5-20 18:16
0
雪    币: 665
活跃值: (1051)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
单身狗今天加班手札礼记.
2019-5-20 18:16
0
雪    币: 4709
活跃值: (1575)
能力值: ( LV2,RANK:15 )
在线值:
发帖
回帖
粉丝
6
大表哥牛批。
2019-5-20 18:16
0
雪    币: 248
活跃值: (3789)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
路过围观一下
2019-5-20 19:52
0
雪    币: 452
活跃值: (6128)
能力值: ( LV12,RANK:580 )
在线值:
发帖
回帖
粉丝
8
1111111111111111111111111111
2019-5-20 20:08
0
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
9
我想cp代码
2019-5-20 20:46
0
雪    币: 1176
活跃值: (1264)
能力值: ( LV12,RANK:380 )
在线值:
发帖
回帖
粉丝
10
我想cp代码
2019-5-20 20:46
0
雪    币: 433
活跃值: (1910)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
11
试问谁不想cp代码呢
2019-5-20 22:12
0
雪    币: 4390
活跃值: (4378)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
关注
2019-5-21 07:57
0
雪    币: 712
活跃值: (121)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
6666
2019-5-21 09:16
0
雪    币: 3190
活跃值: (1816)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
14
没有代码?刀来!
“锵锵锵,40M已在路上~”
2019-5-21 09:37
0
雪    币: 1402
活跃值: (341)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
大表哥牛批
2019-5-21 14:33
0
雪    币: 284
活跃值: (3604)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
16
mark
2019-5-23 11:15
0
雪    币: 331
能力值: ( LV1,RANK:0 )
在线值:
发帖
回帖
粉丝
17
2019-6-22 12:03
0
雪    币: 2375
活跃值: (433)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
18
MsScotch 没有代码?刀来! “锵锵锵,40M已在路上~”
刀来是什么梗,难道你想拿大黄狗下酒么:(
2019-6-27 15:10
0
雪    币: 26
活跃值: (321)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
19
已阅
2019-9-4 16:20
0
雪    币: 668
活跃值: (1165)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
20
hyperplatfrom和ksm设置VPID = KeGetCurrentProcessorNumberEx(nullptr) + 1应该没问题, 但是hyperbone的VPID应该是全部设置为1吧。这样不会导致TLB刷新吗
2020-8-4 01:00
0
游客
登录 | 注册 方可回帖
返回
//