报告人是明尼苏达大学的卢康杰教授,四大顶会发的非常多,主要学习其汇报思路以及对领域风向的把握。
一. *** 作系统内核(OS kernel)在计算机系统中的地位直接与硬件(hardware)和 devices交互,是默认的可信计算根,管理系统资源与用户。
最著名的 *** 作系统内核:Linux
内核存在大量漏洞(A hard problem) 的原因:由不安全的语言编写,模块间的关系过于复杂,编译器,供应链安全问题等。
难以解决的原因:复杂且大量的代码;由于开发者的trick而导致的许多特殊的情景;缺少对bug的详细说明;复杂的生态及其衍生物
Sources of vulnerabilities
Automated detection
Secure-by-design solutions
Analysis techniques
Protection primitives(控制流完整性,权限管理permission enforcements)
发现新类型的bug
通用的bug检测途径(静态、动态漏洞检测)
自动化补丁和提高补丁生态
Memory safety,CFI,(re-)randomization
Improving the security design, e.g.,enforcing least privilege
Trusted computing
限制风险的产生(二、三)、自动化通用漏洞检测(四、五)、secure-by-design solutions(六)
二.Patch security核心:开源软件的贡献者可能恶意地提交含有bug的代码(patch)。
研究方法:Linux网站上可以看到哪些patch由于use-after-free漏洞被拒绝,将目前已发现的Linux的bug作为分母,可以算出捕捉率最低情况下为多少。
发展趋势:更自动化的方法检测patch的安全性。
核心:编译器的主要任务之一是优化,在验证编译器时程序员只关注正确性。
发展趋势:将内核场景下的特性model进编译器的设计中
Function Pairing(e.g. alloc dealloc)
Disordered Error Handling
主要是对driver(> 70%)
核心: input的来源,coverage低,有效性低
Semantic-informed driver fuzzing
更安全的语言
降低模块复杂性
总结:goal: To develop fundamental,practical,and end-to-end techniques to secure OS kernels.
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)