西西河

主题:一篇讲memory overflow导致被攻击的文章 -- yueyu

共:💬64 🌺34
全看分页树展 · 主题 跟帖
家园 可以设想一个case

strcpy

参数是char*

,原来是靠\0来判断结束的,而程序员也习惯了如此。编译器也不像strncpy一样有长度信息来判断copy多少个字节,所以也没办法做检测。一个可能的方案是再套一层VM,重新定义char*,让他默认编译进去一个length。这就是Java作的事情。

但是问题又来了,如果这个VM有安全漏洞呢?因为VM的实现,也只能是C。

当然,可以最底层的OS里面,char*就编译一个length进去,但连kernel都要重写了,工作量巨大。

全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河