Linux系统下程序编译安全选项技术的研究与实现
发布时间:2024-05-17 03:00
在信息化社会中,随机计算机技术与网络信息技术的不断高速发展,各种实体业务已经在网络上开始兴起,如电子商务、移动支付、网上银行、云存储、大数据以及各种专用网的建设等等,这些都给人们的生产和生活带来了极大便捷。但与此同时,人们在享受网络所带来的各种便捷生活的同时,也随时面临着网络安全隐患所带来的种种威胁。比如由于人们缺乏网络安全意识,对计算机和网络的使用不当,同时入侵者刚好利用了这种不当,对个人或企业甚至是政府部门的网络进行攻击破坏,导致个人、企业,甚至是政府部门的重要信息泄露或是财产损失等严重后果。在当前的计算机网络与分布式系统中,超过半数以上的网络安全威胁,大多来自于一种比较传统的网络攻击方式——缓冲区溢出攻击。而在缓冲区溢出攻击中,最为危险的是堆栈溢出攻击,因为通过对某个程序的堆栈进行溢出攻击,入侵者可以造成函数返回地值被覆盖,从而在函数返回时,改变程序返回的地址,让程序跳转至入侵者指定的地址中。这种缓冲区溢出攻击能够给计算机使用者带来很多严重的后果,一是导致程序崩溃,拒绝服务器,二是程序将跳转至入侵者指定的地址,并且执行一段恶意代码,造成服务器瘫痪,三是入侵者可以通过缓冲区溢出攻击...
【文章页数】:76 页
【学位级别】:硕士
【部分图文】:
本文编号:3975284
【文章页数】:76 页
【学位级别】:硕士
【部分图文】:
图2-3?Hello.s文件中的内容??第三步:汇编过程??汇编过程是将编译后的hello.s文件转化生成二进制文件hello.o的过程,利??
了汇编代码。汇编语言对于一个软件程序是非常重要的,它为不同的高级语??言、不同的编译器提供了可以通用的语言[5],例如:C语言编译器和Fortran编??译器产生的输出文件用的都是一样的汇编语言。Hello.s文件中的内容如图2-3??所示。??15??
图3-1所示,我们可以清楚的看到,程序在进行整数加、减、乘运??算时,直接用CPU中的mullw、add、subf指令来进行有符号整数的运算
0(r1)??ualue?=?0?=?0x0??图3-l未添加选项验证结果??当再次编译程序时,添加选项-ftrapv,利用objdump命令,我们再次查看??这个程序的反汇编,如图3-2所示,我们可以清楚的看到,程序在进行整数??26??
图3-3未添加选项的验证结果??-ftrav,s“123”
小的有符号整数时,程序并没有发生整数溢出的现象,程序因此可以正常运??行,输出正常的结果123。但若所给的整数是己经超过了?32位有符号整数的最??大值“2147483647(0x7FFFFFFF,2A32-l)”,如图3.3所示,函数输入的参数s是??“2147483648”时....
图3-5加、减、乘指令的程序规模增加比例与函数个数的关系??33??
*?nftr?*??对编译生成的文件大小用Excel对其进行统计分析,因ftmpv选项而引起??的含有加、减、乘指令的程序规模增加比例与函数个数的关系如表3-4与
本文编号:3975284
本文链接:https://www.wllwen.com/guanlilunwen/ydhl/3975284.html