您现在的位置是:首页 >要闻 > 2020-12-19 08:23:03 来源:

在源代码级别开发一种更好的方法来解决漏洞

导读 加州大学圣塔芭芭拉分校计算机科学教授乔凡尼·维格纳(Giovanni Vigna)认为,通常需要在现有系统中嵌入的程序中修补问题,以引入或增强安

加州大学圣塔芭芭拉分校计算机科学教授乔凡尼·维格纳(Giovanni Vigna)认为,通常需要在现有系统中嵌入的程序中修补问题,以引入或增强安全性。“但是,你为什么要这么做?” 他反问道。“为什么不只是编写其他程序?”

他回答说:“因为有时这是不可能的,否则将需要非常大的努力。” “有时,您会得到一个要修补的程序,而您没有源代码可以在该级别修改它并重新编译它。”

普渡大学的助理教授安东尼奥·比安奇(Antonio Bianchi)说:“许多嵌入式计算机系统,例如卡车,飞机和医疗设备中的嵌入式计算机系统,都在无法使用其源代码和原始编译工具链的软件上运行。”在UCSB攻读博士学位。“已知在这些系统中运行的许多旧软件组件都包含漏洞,但修补它们并非总是容易甚至不可能的。”

UCSB网络安全中心主任Vigna和Bianchi是UCSB,Purdue和瑞士洛桑联邦理工学院(EPFL)的一组研究人员,他们获得了为期四年,耗资390万美元的国防高级研究计划局( DARPA授予一项名为“ Assured Micropatching”的项目的资金,该项目旨在改善易受攻击的嵌入式系统中的代码补丁过程。

Bianchi说:“没有源代码,修补漏洞需要直接编辑二进制代码。” “此外,即使在已打补丁的系统中,也无法保证补丁不会干扰设备的原始功能。由于这些困难,他说,嵌入式系统中运行的代码通常不打补丁,甚至当它被称为脆弱的时候。”

在这种情况下,Vigna解释说:“您需要以不同的方式查看程序;您需要查看二进制代码,机器代码,实际确定程序行为的一和零。但是直到最近,二进制程序在很大程度上被认为是静态的;也就是说,一旦有了已编译的程序,想法就就改变了,该程序就无法更改。有趣的是,在过去,通常只有恶意行为者会专注于修改二进制文件以感染良性二进制程序。”

但是在该领域的发展过程中,已经开发出了使二进制程序视为可延展实体的技术,Vigna说:“您可以修改,分解并重新组合在一起。”