当 Linux 内核作为主机内核时,应该不会受到虚拟机中客户机内核执行的影响。我想通过对从客户机内核到主机内核的接口进行模糊测试来测试这个属性。显然,测试需要在客户机内核内运行(比如在内核模块中),生成任意代码,然后执行该代码。如果主机内核崩溃(或做了一些“有趣”的事情),则测试失败。
所以,我的问题是:
- 你知道已经实现这一点的测试吗? - 是否有预期会使主机内核崩溃的指令需要避免? - 在 Linux 内核内部生成垃圾的最佳方法是什么? - 生成垃圾后,如何执行它?
目前,我只想专注于一般的模糊测试方法。之后,在让这个测试工作后,我将更改它以在内核中手术式地模糊不同的虚拟化指令和驱动程序。
更新:经过进一步思考,使用完全的垃圾进行模糊测试不会起作用,因为我会比预期更频繁地使客户机崩溃。因此,我认为我需要从一开始就进行手术式的模糊测试。有什么建议吗?
所以,我的问题是:
- 你知道已经实现这一点的测试吗? - 是否有预期会使主机内核崩溃的指令需要避免? - 在 Linux 内核内部生成垃圾的最佳方法是什么? - 生成垃圾后,如何执行它?
目前,我只想专注于一般的模糊测试方法。之后,在让这个测试工作后,我将更改它以在内核中手术式地模糊不同的虚拟化指令和驱动程序。
更新:经过进一步思考,使用完全的垃圾进行模糊测试不会起作用,因为我会比预期更频繁地使客户机崩溃。因此,我认为我需要从一开始就进行手术式的模糊测试。有什么建议吗?