(日期:][下一个日期][线程:][线程下][日期索引][线程索引]

再保险:当前的标准/标准“未定义行为”



我们这一个未来董事会议程项目调用。

克里斯Levendis


使用黑莓发送工作
(www.blackberry.com)

来自: 米勒,托马斯<Thomas.Millar@hq.dhs.gov>
日期: 星期四,2017年5月11日下午4点45分
: Carsten Eiram <che@riskbasedsecurity.com>,Adinolfi Daniel R <dadinolfi@mitre.org>
答: cve-editorial-board-list <cve-editorial-board-list@lists.mitre.org>
主题: 再保险:当前的标准/标准“未定义行为”

我倾向于同意Carsten这里但我假设响应进一步解释了CVE正在起草小组的推理。

来自:owner-cve-editorial-board-list@lists.mitre.org [mailto: owner-cve-editorial-board-list@lists.mitre.org]代表Carsten Eiram
发送:2017年5月11日07:19
:Adinolfi, Daniel R < dadinolfi@mitre.org >
答:cve-editorial-board-list < cve-editorial-board-list@lists.mitre.org >
主题:再保险:当前的标准/标准“未定义行为”

我希望新的横切CVE团队意识到他们在这个行业,少数人真正考虑等问题被默认甚至安全相关的CVE值得没有存在的证据(现实的)安全的影响。

引用汉诺一杯啤酒和阿戈斯蒂诺•Sarubbo所有人不借很多“街头信誉”或突显了这一点。这些人是相当缺乏经验的弱点时研究和关注与AFL起毛。其中一个(汉诺)直到最近甚至没有真正理解输出;其他仍在挣扎。

我们不反对问题导致未定义行为_theoretically_有安全的影响。很少是证明过。事实上,我不认为阿戈斯蒂诺•Sarubbo(或汉诺)已经证明一个UBSan问题,他报告了很多,确实有一个真实的影响。

历史上最有经验的人在这个行业预期一些合理的安全影响不是太理论了。有一个原因我们没有看到这些有经验的研究人员报道,他们也使用AFL起毛。甚至OSS-Fuzz项目旗帜UBSan问题“错误”而不是“Bug-Security”默认情况下。当然,他们应固定好测量和糟糕的编码实践,但即使开发人员一般不治疗与安全相关的补丁。这样做是对的。

横切是迁就初学者,起毛和倾销他们的UBSan输出不做最小的尽职调查;将是更好的教育他们更高的标准即大多数脆弱性研究的标准以及旧横切CVE团队。否则,我希望新的横切CVE团队穿着短裤和顶部的有氧运动。你需要一些优秀的耐力当承担CVE作业UBSan公吨的问题你会处理,如果这是你的默认位置。

/ Carsten

结婚,2017年5月10日下午分,Adinolfi, Daniel R <dadinolfi@mitre.org>写道:

所有人,

CVE团队很大程度上同意社区讨论这个话题:

http://openwall.com/lists/oss-security/2017/04/12/3

http://openwall.com/lists/oss-security/2017/04/12/2

CNA规则而言,我们认为这些未定义的行为报告满足脆弱性的定义(附录a),因为它是不合理的计算逻辑依赖于编译器的实现细节或选择的编译器选项。

所有或几乎所有的最近的“未定义行为”CVE id的结果大参考依靠UndefinedBehaviorSanitizer设计目标中表达的工具http://blog.llvm.org/2011/05/what-every-c-programmer-should-know.html职位。此外,这些CVE id为软件产品库,可用在构建任意程序包括长时间运行的守护进程。

指的是C标准http://www.open-std.org/jtc1/sc22/wg14/www/standards.html或类似的在线版本等http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1570.pdf文档,可以看到语句如“可能未定义的行为范围从忽视这种情况完全不可预知的结果……终止一个翻译或执行。”Terminating an execution is probably the most relevant for these CVE IDs. Also, the document

特别提到类型未定义行为的CVE id分配,例如,“如果要转换的值超出范围的值可以表示,这种行为是未定义”和“E1 < < E2的结果是E1 left-shifted E2钻头位置……否则,该行为是未定义的。”

换句话说,程序终止(又名崩溃)的结果被称为C标准。车祸在库代码可用性的丧失,从而匹配脆弱性的定义。

感兴趣的一个场景是一个用户显式地选择编译器选项,终止程序在遇到未定义的行为,例如,“叮当声-fsanitize =定义-fno-sanitize-recover LLVM。这意味着发生一个可用性的影响。诚然,可用性的影响可能是罕见的在现实世界中,因为人们不经常使用这些叮当声旗帜生产代码。

另一个场景中感兴趣的是编译器优化发生导致生成脆弱的代码对于依赖未定义行为的程序,如cve - 2017 - 7892中未定义的行为“指针算术计算溢出。”Here, the impact might not be limited to availability.

基于上述,横切CNA目前使用这条指导原则:未定义行为的报告在图书馆被认为是相当于崩溃在图书馆的一份报告,在决定是否可能存在CVE ID。

然而,附录E CNA的规则也紧随其后。例如,在cve - 2017 - 7961的情况下,我们收到了一个纠纷说没有影响。我们根据需要记录争端(这并不一定意味着我们相信争端是正确的)。

请让我们知道如果你有任何其他问题或需要任何澄清。

谢谢。

丹,团队

来自:<owner-cve-editorial-board-list@lists.mitre.org代表耶利哥< >jericho@attrition.org>
日期:星期一,2017年5月8日19:50
:“埃文斯,Jonathan l .”<jevans@mitre.org>
答:cve-editorial-board-list <cve-editorial-board-list@lists.mitre.org>
主题:再保险:当前的标准/标准“未定义行为”

乔纳森,

2017年5月结婚,3,埃文斯,Jonathan l .写道:

:我们不是完全确定你所说的“未定义行为”。Are you

:谈论CVE条目,具体说“未定义

:行为”,如cve - 2017 - 8326和cve - 2017 - 7961 ?

是的。一个简短的列表:

谢谢你!

布莱恩


页面最后更新或审查:2017年5月12日