运维开发网

安全性 – 如何针对Linux KVM编写模糊测试?

运维开发网 https://www.qedev.com 2020-07-07 11:24 出处:网络 作者:运维开发网整理
应该是这样的情况, Linux内核,当它是主机内核时,不应受客户内核在虚拟机内执行的内容的不利影响. 我想通过模糊从客户内核到主机内核的接口来测试该属性.我似乎很清楚,测试需要在客户内核中运行(例如,在内核模块中),生成任意代码,然后执行该代码.如果主机内核崩溃(或做“有趣”的事情),测试将失败. 所以,我的问题是: >您知道任何已经完成此项测试的测试吗? >是否有预期会导致我需要避免的主机内核崩
应该是这样的情况, Linux内核,当它是主机内核时,不应受客户内核在虚拟机内执行的内容的不利影响.

我想通过模糊从客户内核到主机内核的接口来测试该属性.我似乎很清楚,测试需要在客户内核中运行(例如,在内核模块中),生成任意代码,然后执行该代码.如果主机内核崩溃(或做“有趣”的事情),测试将失败.

所以,我的问题是:

>您知道任何已经完成此项测试的测试吗?

>是否有预期会导致我需要避免的主机内核崩溃的指令?

>在Linux内核中生成垃圾的最佳方法是什么?

>一旦我生成垃圾,我该如何执行它?

目前,我只想专注于一般的模糊测试方法.在我进行此测试后,我将更改它以在内核中手动模糊不同的虚拟化指令和驱动程序.

更新:在进一步考虑之后,使用完全垃圾进行模糊测试是行不通的,因为我将比我预期的崩溃我的主机更频繁地崩溃我的客户机.所以,我想我需要从一开始就接受这种手术.有什么建议?

在很大程度上发现0天的严重性是关于编写富有想象力的测试.当您构建测试系统时,您需要识别其攻击面.在Web应用程序中,这很简单,GET / POST请求.对于像VM这样的东西,它更复杂.提供给您的实际硬件是由KVM创建的幻觉.在某些时候,与该设备的数据交互将由主机处理.

其他重要资源正在寻找已在目标中找到的漏洞.程序员经常会犯很相似的错误,类似的错误也很常见. These CVE’s: CVE-2010-0297 CVE-2010-0298 CVE-2010-0306 CVE-2010-0309,是Linux的KVM漏洞的一个很好的例子.突出的两个硬件设备是CPU和USB,它们都受到了损害.

一个非常强大的模糊测试平台是Peach.许多测试可以单独使用XML创建,但是如果你知道python你可以扩展peach来做任何事情.

0

精彩评论

暂无评论...
验证码 换一张
取 消