微软最近宣布已经成功创建了一种机器学习模型 可以准确
自程序员Grace Murray Hopper报告早期哈佛Mark II计算机的错误原因这一天以来,软件错误一直是程序员关注的问题已有75年了。因此,术语“ bug”诞生了。
错误的范围从轻微的计算机故障到灾难。在80年代,由于无经验的程序员错误,Therac-25放射治疗设备发生故障,导致至少五名患者死亡。1962年,美国太空总署(NASA)的任务控制摧毁了水手I号太空探测器,因为它偏离了预定的穿越大西洋的路径;抄写不正确的手写代码受到了指责。1982年,一个据称后来由中央情报局植入苏联跨西伯利亚天然气管道的软件漏洞引发了历史上最大的非核爆炸之一。
根据数据管理公司Coralogix的说法,程序员每1000行代码产生70个错误,而每个错误解决方案所需的时间比最初编写代码要多30倍。该公司估计,美国每年在错误识别和修复方面的支出为1,130亿美元。
因此,微软最近宣布已经成功创建了一种机器学习模型,可以准确地识别出高优先级的安全漏洞(97%的时间),这是可喜的消息。
微软高级安全计划经理斯科特·克里斯蒂安森(Scott Christiansen)在本月初在线发布的一份报告中说:“我们发现,通过将机器学习模型与安全专家配对,可以显着改善安全漏洞的识别和分类。”
该模型具有更高的成功率(99%),可以区分安全性和非安全性错误。
Microsoft使用了两种统计技术来设计其错误检测系统。一种称为术语频率逆文档频率算法(TF-IDF),它检查大量文档集合中的关键字并计算其相关性。另一个是逻辑回归模型,用于确定特定类别或事件存在的概率。
该程序首先对安全和非安全错误进行分类,然后对其进行了改进,以将威胁程度分类为“严重”,“重要”或“低影响”。
克里斯蒂安森说,微软的目标是设计一个漏洞检测系统,“其准确性应尽可能接近安全专家。”
Christiansen解释说,该项目的一个关键突破是“即使仅提供标题来进行培训和评分,也可以执行错误报告”。
他说:“据我们所知,这是这样做的第一项工作。”