• 北大青鸟首页
  • 网站导航
  • 河南安卓工程师培养基地 河南拥有IT体验馆 课程专业全、规模大校区河南多年连获全国教学质量奖 2011年获北大青鸟总部荣誉奖
当前位置: 首页 > 栏目 > 技术交流 > 网络安全

程序员如何正确规范的写编码?郑州北大青鸟与您分享

时间:10-13 来源:  作者: 点击:0 

        软件程序员,在编译的时候会存在很多漏洞,而这些漏洞在日后的应用过程中会带来想象不到的恶果。今天郑州北大青鸟技术老师,将给大家分享一下关于如何提高编码安全性的八大注意点。

    下面列举的这些方法会有助于开发人员提高编码的安全性:

    一、注意编译器警告

    程序员应当使用编译器的最高警告等级。在编译过程中,应当修改程序中的错误,直到警告解除。应当使用静态和动态的分析工具来检测和清除安全缺陷。
    二、验证输入

    程序设计者在设计程序时必须验证来自所有不可信数据源的输入。适当的输入验证可以清除多数软件漏洞。在设计程序时,必须对多数外部的数据源抱着怀疑的态度,其中包括命令行参数、网络接口、环境变量、用户控制的文件等。

    三、根据安全策略设置软件架构

    设计者应创建一个软件架构,并在设计软件的过程中实施和强化安全策略。例如,如果你的系统在不同的时间要求不同的特权,就不妨考虑将系统分解成能够互联通信的不同的子系统,每一个系统都有自己适当的特权。这种“分而治之”的方法可以有效地提高应用程序的安全性。
    四、拒绝默认访问

    访问决策的制定应当根据许可权限而不是根据其它的任何方面。这意味着,默认情况下,应当拒绝访问,程序的保护机制应当根据“允许谁访问”来确认访问条件。

 

    五、保持程序简单

    设计者要尽量使程序短小精悍。复杂的设计会增加实施、配置、使用过程中出现错误的可能性。程序越复杂,就需要越多的复杂的安全控制,企业需要付出的努力也就会越多。

   
    六、遵循最小特权原则

    程序的每个处理过程在执行时,都应当仅使用为完成其工作而需要的最小特权。任何提升的许可权限都要尽量持续最短的时间。这种方法可以减少攻击者用提升的特权执行任意代码的可能性。
    七、实施深度防御

    程序设计必须能够利用多种防御策略来管理风险。只有这样,才能在一层防御不够用或失效时,另外一层防御可以防止将安全设计上的缺陷变成可被利用的漏洞,从而可以限制攻击者利用漏洞的后果。例如,将安全编程技术与安全运行环境结合起来,可以减少在部署阶段残存在代码中的漏洞被攻击者在操作环境中利用的可能性。

    八、“净化”传送给其它系统的数据

    所谓“净化”是指从用户输入的数据中清除恶意数据,如清除用户提交表单时的恶意的或错误的字符。

    程序设计者必须对传送到复杂的子系统(如命令外壳、关系型数据库、购买的商业软件组件)的所有数据进行“净化”。攻击者有可能通过使用 SQL 注入命令或其它注入攻击来调用这些组件中没有被使用的功能。这未必是输入验证问题,因为被调用的复杂的子系统并不理解调用过程中的前后关系。由于调用程序 理解前后关系,所以我们要在调用子系统之前对数据进行“净化”。 

    当然,为保证代码的安全,企业应当为开发语言和平台制定并实施一套健全的编码标准。

更多相关安全问题可访问http://www.hnbenet.com/wlaq/


精彩专题
热点排行