c语言安全编译器研究

c语言安全编译器研究

ID:34776304

大小:1.87 MB

页数:63页

时间:2019-03-10

c语言安全编译器研究_第1页
c语言安全编译器研究_第2页
c语言安全编译器研究_第3页
c语言安全编译器研究_第4页
c语言安全编译器研究_第5页
资源描述:

《c语言安全编译器研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、电子科技大学硕士学位论文C语言安全编译器研究姓名:高攀申请学位级别:硕士专业:计算机软件与理论指导教师:陈景春20050315电子科技大学硕士学位论文C语言安全编译器研究摘要随着计算机的应用越来越广泛以及互联网的不断扩大,信息安全也越来越重要。互联网众多的系统面临着越来越多的安全挑战,其最大的挑战源于缓冲溢出攻击,而此类攻击的主要形式就是堆栈溢出攻击。缓冲溢出攻击原因在于C/C++程序缺乏相应的安全机制和程序的漏洞。堆栈溢出在缓冲溢出中相对出现的较多,而且堆栈溢出攻击程序也比较容易实现,所以尤其需要要重点关注。堆栈溢出利用程序中边界条件

2、检查的不严谨,在修改某个堆栈上的局部变量的过程中,同时完成注入攻击代码和更改程序运行流程的任务。缓冲溢出攻击可能得到远程访问的系统管理员权限,在众多攻击方式中尤为危险。目前已有众多的方法用来防御堆栈溢出攻击,大致从程序编译角度,操作系统内核,cpu体系结构等方面着手。影响较大的如Stackguard,通过在堆栈中放置Canary来检测堆栈是否被溢出;如stackshield通过保存堆栈中的返回地址保证程序流程正确:如1ibsafe通过提供安全的库替换标准的不安全的库;soloariS和linux使用的不可执行堆栈;等等。这些方式方法,为

3、后续的研究开拓了思路。我们的方案试图从编译角度着手,使用了开源软件GCC作为试验起点。所以简要介绍了GCC的前端的内容。GCC前端目的是根据源代码生成AST语法分析树,再根据AST树,生成RTL中间表示。最后把RTL中间表示交给GCC后端进一步处理。最后,作为本文的最终目的,我们提出了两种分离数据和控制的堆栈程序运行时环境。并进一步分析了这种结构的安全性,兼容性等问题。最后,简要说明了GCC中如何修改并实现这样的分离堆栈的程序运行时环境。关键词:c语言,缓冲区溢出,堆栈溢出,GCC,RTL电子科技大学硕士学位论文C语言安全编译器研究Ab

4、stractAscomputerandInternethavebeenwidelyused,thesystemsecuritybecomesmoreandmoreimportant.OnInternetmoreandmoresystemsfacethebigchallengeofsecurity,mostofwhichcomefromtheattacksofbufferoverflows,andthemostpopularwaystoattackthesystemarethroughstackorheapoverflows.Thelac

5、kofC/C++programsecurityorprogrammez‘7scareisthereasonofbufferoverflowattacks.SincetheStackoverflowsattackcaneasilybeperformedandbeverypopularinbufferoverflowattack,weshouldpaycloseattentiononit.Thiskindofattacksisgenerallyachievedbythecarelessnessofborderconditioncheckth

6、roughmodifyingtheprocessoflocalvariablesinstacktoinjectattackcodesandthuschangetheoperationprocedureofprogram.Itisthemostdangerousattackjustbecauseofthepossibilityofobtainstheauthorityofremotesystemadministrators.Inrecent,therearemanymethodstopreventstackoverflowattacksr

7、oughlybyprogramcompile,OScore,StructureofCPUetc.Afewofthemhavethegreatimpact,suchasStackguardwhichputCanarytodetectthestackoverflow:Stackshieldwhichsavethereturnaddresstoguaranteethecorrectoperationprocedure:Libsafewhichreplacetheinsecuritylibrarybythesecurityone:Soloari

8、sandLinuxwhichprovidethenotexecutablestackandsoon.Theyopenupthelaterthinking.Wewilltrytosolvetheproblem

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。