Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security Windows/Linux:恶意程序能否读取/写入PCIe外围设备的内存映射空间?_Security_Device Driver - Fatal编程技术网

Security Windows/Linux:恶意程序能否读取/写入PCIe外围设备的内存映射空间?

Security Windows/Linux:恶意程序能否读取/写入PCIe外围设备的内存映射空间?,security,device-driver,Security,Device Driver,我为我的措辞/术语不够精确提前道歉…我无论如何都不是一个系统程序员。。。 这是一个与安全相关的编程问题……在工作中,我被要求根据主机操作系统(特别是Windows Server 2012 x64和Redhat Enterprise 6/7 x86-64)的完整性评估PCIe插件卡的“风险” 所以我的问题是: 我们有一个PCIe外围设备(插件板),其中包含几个可处理敏感数据的嵌入式处理器。首选的解决方案是在数据进入PCIe总线之前对其进行加密,并在数据离开PCIe总线之后对其进行解密……但由于各种

我为我的措辞/术语不够精确提前道歉…我无论如何都不是一个系统程序员。。。 这是一个与安全相关的编程问题……在工作中,我被要求根据主机操作系统(特别是Windows Server 2012 x64和Redhat Enterprise 6/7 x86-64)的完整性评估PCIe插件卡的“风险”

所以我的问题是: 我们有一个PCIe外围设备(插件板),其中包含几个可处理敏感数据的嵌入式处理器。首选的解决方案是在数据进入PCIe总线之前对其进行加密,并在数据离开PCIe总线之后对其进行解密……但由于各种原因(性能、成本等),我们无法做到这一点。相反,我们将通过PCIe总线以明文形式传递数据

假设攻击者可以通过网络访问计算机,但不能通过物理访问。如果供应商的PCIe端点设备安装在服务器中,且供应商的(已签名)驱动程序已启动并与相关硬件一起运行,恶意进程/线程是否可能访问(读/写)PCIe端点的PCI内存映射空间

我知道有一些实用程序允许我转储(读取)pcie层次结构中所有端点的pci配置空间……但我不知道这是否扩展到在已安装端点的内存映射窗口中读取和写入(特别是当端点已与设备驱动程序相关联时)

此外,如果这是可能的,有多困难? 我们说的是一个用户空间程序能够做到这一点,还是它需要攻击者拥有对机器的root/admin访问权限(运行他设计的程序,或者安装一个假的/代理驱动程序)


此外,虚拟化是否会有所不同?

访问设备内存需要在比userland软件(也称为内核模式)更低的保护环中运行。访问它的唯一方法是通过驱动程序或内核。

访问设备内存需要在低于userland软件(也称为内核模式)的保护环中操作。访问它的唯一方法是通过驱动程序或内核。

谢谢!因此,听起来您的意思是,如果已经为PCIe外围设备安装并枚举了供应商的设备驱动程序,则没有其他(恶意)设备驱动程序可以劫持和访问外围设备的内存映射空间…即。其他程序无法访问外设的内存映射设备寄存器?我担心PCIe调试工具(在同一台PC上运行)能够窥视/戳入外围设备的内存空间。请参阅以下文档:谢谢!因此,听起来您的意思是,如果已为PCIe外围设备安装并枚举了供应商的设备驱动程序,那么就没有其他(恶意的)设备驱动程序可以劫持和访问外设的内存映射空间…即其他程序无法访问外设的内存映射设备寄存器?我担心PCIe调试工具(在同一台PC上运行)能够窥视/戳入外设的内存空间。请参阅以下文档: