需求驱动的BlankIt库加载:保护软件免受恶意攻击

0 下载量 20 浏览量 更新于2024-06-19 收藏 1.16MB PDF 举报
"BlankIt库的需求驱动加载方法"是一篇关注于提高现代软件系统安全性的研究论文,特别针对C和C++库函数的安全问题。当前,由于这些语言缺乏内存安全性,库函数中的漏洞可能导致应用程序易受攻击,如利用面向返回的编程漏洞,将恶意代码与正常功能混合。尽管漏洞会被发现并修复,但遗留的漏洞可能成为未发现攻击的潜在基础。 论文提出了一个新的方法,即去膨胀(Decoupling),旨在减少动态链接中的代码暴露,从而降低恶意程序构造的可能性。这种方法的核心理念是仅加载在应用程序运行时实际调用的库函数,而非预加载所有可能的函数。这一过程依赖于一个输入感知的预言机,它可以预测并精确地确定哪些库函数在特定上下文中会被使用,然后在需要时加载,用完后卸载。 传统方法侧重于消除不安全的功能,而需求驱动加载则更加强调保护性删除,只提供必要的功能,以减小攻击面。通过这种方式,恶意程序员利用漏洞的机会大大降低,有助于提升整体的安全态势。作者们强调,这种策略对于减轻恶意程序生成的威胁具有重要意义。 论文的主要贡献包括设计和实现了一个系统,该系统能够在运行时根据应用程序的需求动态加载和卸载库函数,同时保持了对库性能的影响最小化。此外,它还探讨了如何在实践中应用这个方法,以及如何确保其在复杂软件环境中有效和高效。 这篇工作发表于PLDI会议,并遵循ACM版权规定,允许在非商业和个人用途下复制,但复制必须包含完整引用和通知。论文的研究成果对于软件开发人员和安全专家来说,提供了改进库函数管理、抵御恶意攻击的新视角和技术实践。
2024-10-13 上传