欢迎来到天天文库
浏览记录
ID:34397015
大小:301.81 KB
页数:28页
时间:2019-03-05
《安全编程详解》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、安全编程详解翻译:Byxundi@xfocus.org-->此原文是来自www.securityfocus.com中的SecureProgrammingv1.0,本人建议能读原文读原文,如果你英语实在不过关,就读此文吧,并且感谢你能花不少时间来看这篇我敲了很长时间的文章。--------------------------------------------------------------------------------0.0目的1.0一般情况1.1缓冲溢出1.1.1strcpy1.1.2strcat1.1.3sprintf1.1.
2、4gets1.1.5scanf,sscanf,fscanf1.1.6memcpy1.1.7C++1.2用户数据合法性检查1.3DNS名字合法性检查1.4返回值(ReturnValues)1.5设备驱动程序(DeviceDrivers)2.0UNIX操作系统2.0.1RealUID(实际UID),effectiveUID(有效UID),和savedUID(保留UID)2.0.2setuid和setgid程序2.1环境变量2.2默认文件权限(umask)2.3不安全的使用临时文件2.3.1tmpfile()2.3.2mkstemp()2.3.3
3、mktemp()2.3.4一些额外的解决方法2.4文件竞争条件问题2.5chroot环境实现2.6丢弃权利2.6.1Inanetworkservice2.6.2Inalocalsetuidprogram2.7GeneratingRandomNumbers2.7.1Linux2.7.2OpenBSD2.8InvokingChildProcesses2.9ResourceLimitations2.9.1Corefiles3.0WindowsOperatingSystems3.1AccessControlLists3.2RegistryKeys3
4、.3Files3.4GeneratingRandomNumbers4.0DesigningProtocols4.1Authentication4.2Confidentiality4.3Pitfalls4.3.1ReplayAttacks5.0Tools5.1UnixTools5.2WindowsTools6.0ReferencesandResources6.1Contributors本文目的此文档的目的是为了使读者了解怎样安全编程,帮助用户能很快的运行这些技术应用于到编程里面去。我们这里叙述了关于设计安全应用程序的内容,如软件产品实现中一些
5、容易犯的错误和缺陷。在处于繁忙紧张的软件开放周期今天,只有少量或者没有安全经验编程的人参加开发程序是很常见的,个人的在对应用程序中实现占有重要地位与安全很有关系,不光光个人会出现错误,一般组织,团体,为了短时间里完成产品开发,也很少会重视到安全问题,最后受到更多损失的还是团体。一个基本的原则,安全问题存在与任何类型的应用程序,不光光是一般应用程序,连一些有关安全的应用程序也会存在某些安全问题(如ISS开发的安全产品中也存在缓冲溢出等问题)。漏洞大多数是会导致程序强制操作一些不同与原来作者本来意图的行为,而这些缺陷和错误一般遵循着的固定的样式
6、,我们这文章的目的是示范怎样组织它们,多数情况下,我们的思路是考虑”假如这样然后会怎样?”和仿效攻击者的思路。对于计算机软件可靠性方面已经有不少方面的研究,威斯康星大学研究所对许多不同UNIX版本操作系统基本工具程序进行过测试。在他们的“FuzzRevisited:ARe-examinationoftheReliabilityofUNIXUtilitiesandServices”一文中,研究人员通过传递随机数据到程序中对这些程序进行过测试,在1990年开始的测试过程中,发现普通的程序超过”%40”和X-WINDOWS程序存在问题而导致崩溃或
7、者挂起,不过在1995年的测试一中,同样的失败率得到一定程度的改良,不过仍旧在18-23%之间,不过发现商业类型操作系统比一些开放代码的系统如LINUX高很多,一般在2倍左右,GNU软件的故障率最低,只有7%。而研究表明问题一般存在与传递随机的数据往往导致错误的产生,而这些错误可以通过构建精确的结构数据而利用并导致恶意的结果(如ROOT权利的获得)。ThisdocumentiscurrentlymaintainedbyOliverFriedrichsof@securityfocus.com.Thisdocumentisaworkinprog
8、ressandisexpandeduponbydiscussionsthathavetakenplaceontheSECPROGmailinglistathttp://www.s
此文档下载收益归作者所有