0
2
0
0
机密计算
CSV3虚拟机内运行sme_test,结果与主机不一致
2026-03-25 17:55:54
121
操作
我在CSV3的虚拟机内运行了 sme_test:https://c86.sourcefind.cn/documents/2/1971517885863104551 发现跟在主机上运行的结果不一样。 第二个打印 clear C bit, sme encrypted data: 数据全部都是0. 请问这是预期结果吗?
全部评论(7)
只看楼主
老
老
这个人很懒,什么也没留下~
0
发帖总数
0
点赞
0
已关注
0
粉丝
关注
私信
屏蔽
老秦人
只看此人
3楼
请问这是预期结果吗?
在CSV3虚拟机内部,这是预期结果。CSV3的原始内存为隔离内存,清除C bit后,系统会为CSV3的gpa建立共享内存。由于您没有将原来隔离内存上的数据复制到共享内存,所以直接读取共享内存返回0。
3/30
赞
1
回复
@圈友
暂无数据
尚未选择
发送
K
K
这个人很懒,什么也没留下~
0
发帖总数
0
点赞
0
已关注
0
粉丝
关注
私信
屏蔽
Kevin Peng
回复
@老秦人
明白了,所以在CSV3内部用户好像只是修改了memory属性(既清除C bit),而实际上”系统“会重新分配一块物理内存(HPA) 并映射给同一个GPA。在回复C bit时,同一个GPA又回重新指回远来的HPA。
那请问下,这两个动作具体是谁做的,我理解应该是安全处理器?
4/3
赞
回复
@圈友
暂无数据
尚未选择
发送
老
老
这个人很懒,什么也没留下~
0
发帖总数
0
点赞
0
已关注
0
粉丝
关注
私信
屏蔽
老秦人
回复
@Kevin Peng
你说的是对的。这个动作是guest kernel告知安全处理做的。
4/3
赞
回复
@圈友
暂无数据
尚未选择
发送
方
方
这个人很懒,什么也没留下~
0
发帖总数
0
点赞
0
已关注
0
粉丝
关注
私信
屏蔽
方保顺
只看此人
2楼
@Kevin Peng 这里回复效率较低,请扫描下面网页中的图片,添加微信群提问,谢谢!
https://c86.sourcefind.cn/support
3/30
赞
回复
@圈友
暂无数据
尚未选择
发送
K
K
这个人很懒,什么也没留下~
0
发帖总数
0
点赞
0
已关注
0
粉丝
关注
私信
屏蔽
Kevin Peng
楼主
只看此人
1楼
另外我在decrypted状态下修改内存数值
在encrypt回去之后并没有反映出来,即encrypt状态读出来的还是decrypt之前的的值
感觉上decrypt和encrypt各有一份内存。
而在host上面decrypted下的修改encrypted是能感知的。
请问这也是预期行为吗。
3/26
赞
回复
@圈友
暂无数据
尚未选择
发送
K
K
这个人很懒,什么也没留下~
0
发帖总数
0
点赞
0
已关注
0
粉丝
关注
私信
屏蔽
Kevin Peng
回复
@Kevin Peng
如上讨论,确实有两份不同的物理内存。
4/3
赞
回复
@圈友
暂无数据
尚未选择
发送
老
老
这个人很懒,什么也没留下~
0
发帖总数
0
点赞
0
已关注
0
粉丝
关注
私信
屏蔽
老秦人
回复
@Kevin Peng
在decrypt状态下,GPA映射的是HPA_share页面,在encrypt状态下,GPA映射的是HPA_private页面。
用户将CSV3 GPA页面在encrypt <--> decrypt状态转换时,需要用户手动复制数据,即在页面 HPA_private <--> HPA_share 之间复制数据,只调用set_memory_encrypted或者set_memory_decrypted不会自动复制底层HPA页面上的数据。
4/3
赞
1
回复
@圈友
暂无数据
尚未选择
发送
没有更多内容了
--
楼主
0
点赞
0
帖子
关注
私信
楼主热帖
暂无数据
常见问题新帖
暂无数据
在CSV3虚拟机内部,这是预期结果。CSV3的原始内存为隔离内存,清除C bit后,系统会为CSV3的gpa建立共享内存。由于您没有将原来隔离内存上的数据复制到共享内存,所以直接读取共享内存返回0。