2013年10月30日星期三

Solidot: 编译器如何危及应用程序的安全

Solidot

奇客的资讯,重要的东西

编译器如何危及应用程序的安全
http://solidot.org.feedsportal.com/c/33236/f/556826/s/3318912b/sc/28/l/0L0Ssolidot0Borg0Cstory0Dsid0F370A35/story01.htm
Oct 30th 2013, 12:40

对于编译器如何将人类可读的代码翻译成机器运行的机器码,大多数程序员通常只有大概的概念。在编译过程中,编译器会对代码进行优化,使其能高效的运行。有的时候,编译器在优化上面走的太远了,它甚至移除了本不应该移除的代码,导致应用程序更加脆弱。MIT人工智能和计算机科学实验室的四位研究人员调查了(PDF)不稳定优化(optimization-unstable)代码的问题——编译器移除的包含未定义行为的代码。所谓的未定义行为包括了除以0,空指针间接引用和缓冲溢出等。在某些情况下,编译器完整移除未定义行为代码可能会导致程序出现安全弱点。研究人员开发了一个静态检查器STACK去识别不稳定的C/C++代码,他们在测试的系统中发现上百个新bug:Linux内核发现32个bug,Mozilla发现3个,Postgres 9个和Python 5个。STACK扫描了Debian Wheezy软件包仓库8575个含有C/C++代码的软件包,发现其中3471个至少包含一个不稳定的代码。研究人员认为这是一个非常普遍的问题。This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: Massacres That Matter - Part 1 - 'Responsibility To Protect' In Egypt, Libya And SyriaMassacres That Matter - Part 2 - The Media Response On Egypt, Libya And SyriaNational demonstration: No attack on Syria - Saturday 31 August, 12 noon, Temple Place, London, UK



You are receiving this email because you subscribed to this feed at https://blogtrottr.com

If you no longer wish to receive these emails, you can unsubscribe here:
https://blogtrottr.com/unsubscribe/cz0/jPbdSR

没有评论:

发表评论

博客归档