论文部分内容阅读
C/C++语言开发者追求的是语言的高效性、灵活性,为此在不同程度上忽略了语言的安全性。而且由于程序员能力上的不够或者粗心大意,严重地威胁着软件的安全性。本文主要研究的是C/C++程序中类型转换和控制流相关安全漏洞,通过对这些漏洞的深入分析,本文给出了可行的静态检查方法。对于类型转换漏洞,通过分析各种数据类型的特性,研究它们之间的各种转换,总结出不安全类型转换的共性。采用语法制导翻译技术对类型转换漏洞进行了形式化的描述。最后结合自由软件GASTA,通过对抽象语法树的遍历和处理,实现了对该漏洞的检查。同理,对于控制流相关的安全漏洞,通过对程序实例的分析,先对这些漏洞进行了形式化的描述,再结合程序,给出了可行的检查实现。