本文由腾讯数码独家发布
一位微软工程师上周在一次安全会议上透露,微软产品每年通过安全更新解决的所有漏洞中,大约70%是内存安全问题。
“内存安全”通常是软件和安全工程师使用的术语,用于描述以不会导致错误的方式访问操作系统内存的应用程序。
当软件意外地以超过其分配的大小和内存地址的方式访问系统内存时,就会出现内存安全漏洞。
经常阅读漏洞报告的用户可能会反复遇到这些术语:缓冲区溢出、竞争条件、页面错误、空指针、堆栈耗尽、堆耗尽/损坏、使用after free或double free等,这些术语都是用于描述内存安全漏洞。
上周在以色列举行的BlueHat安全会议上,微软安全工程师马特·米勒(Matt Miller)表示,在过去12年里,微软所有补丁中大约70%是针对内存安全漏洞的补丁。
之所以有这么高的比例,是因为Windows主要是用C和c++这两种“内存不安全”的编程语言编写的,这两种语言允许开发人员细粒度地控制可以执行代码的内存地址。开发人员内存管理代码中的一个错误可能会导致大量内存安全错误,攻击者可以利用这些错误进行侵入,例如利用远程代码执行。
内存安全错误是当今黑客最大的攻击面,攻击者似乎正在肆意利用它们的易攻击性。根据Miller的介绍,在攻击者开发漏洞时,free和heap破坏漏洞仍然是首选的攻破漏洞。
领取专属 10元无门槛券
私享最新 技术干货