据悉,这个0day漏洞至少存在了9年之久,微软的开发人员之所以漏掉了这个高危漏洞是因为他们没有接受正确的培训,在测试中使用的测试工具也不是最有效的。作为《Writing Secure Code》(《编写安全的代码》)的作者,Howard表示,这个漏洞是存在于内存中的time-of-check-time-of-use(TOCTOU)漏洞,它很难通过代码检测或是静态代码分析发现。
Howard在文中指出,TOCTOU这种典型的错误归类为一般漏洞列表(CWE; Common Weakness Enumeration),也就是CWE-367。在对开发人员进行培训时,我们教过TOCTOU的问题,教过内存错误的问题,也教过闲置内存的问题,但却从未涉及到与内存相关的TOCTOU问题。
微软的检测工具包括fuzz也没能发现这个漏洞,“从理论上讲,fuzz可以发现这个Bug,但是现在没有fuzz测试的案例,检测该漏洞需要一个拥有相同标识符的多个数据绑定构造的数据流fuzzing工具,对这种数据类型的有效负载进行随机fuzzing是无法发现该漏洞的。”
本文来源:驱动之家 作者:佚名