代码注入:动态解析代码_保护您的代码:开发更安全代码的17个技巧

代码注入:动态解析代码

网络上的恐怖故事变得越来越糟。 首先,一些信用卡号被盗。 然后有几千。 现在,我们听到数以百万计的财务记录被安全漏洞暴露,并且我们对潜在的威胁变得麻木了。 信用卡号码几乎无法触及坏蛋的目标,而且研究网络战争的实验室还传出了更多危险的故事。

编写安全代码早在形成第一个循环之前就已经开始了,这绝非易事。 为了甚至近似于防弹代码,架构师,工程师,审计人员和管理人员必须尝试想象该代码各方面可能出错的所有内容。 尽管不可能预料到攻击者会抛出的每条令人讨厌的曲线,但您必须尽一切努力减少攻击面,堵塞漏洞并防止潜在漏洞的后果。

[深入了解InfoWorld: 如何启动自己的错误赏金计划 与现代软件测试人员会面:概述了Bug猎手 | 通过InfoWorld的App Dev Report新闻通讯了解编程中最热门的话题。 ]

这里有17个技巧,可以产生更安全的代码。 该列表远未完成,但它应该使您更接近目标。 我们都受益于更高的安全性。

安全的编程技巧1:严格测试输入

攻击者需要一条进入您机器的路径,最简单的途径是通过代码打开的门。 如果您的软件从Internet获得输入,则有人会尝试偷偷溜走。

经典示例是由懒惰的C程序员创建的缓冲区溢出,他们接受任何字符串,直到该字符串达到最后一个字符的正式C符号数字零为止。 攻击者很久以前就发现,只要他们从未发送过以零结尾的数据包,就可以发送任意长的数据包并在编程堆栈和内存上进行写操作。 如果他们对自己写的东西很聪明,他们可以控制并重写任何东西。

对门户开放的另一种经典攻击是SQL注入。 该Web表单可能只要求您提供邮政编码,然后将这几个字符忠实地粘贴到SQL查询中,但是聪明的黑客开始添加额外的字符,从而将范围扩展到了不仅仅是简单的搜索。 当软件巧妙地获取所有输入时,最终将SQL直接提供给数据库。

解决的办法是测试输入数据的规模和结构而且从来不曾相信在互联网上的另一端的人。

通常,程序员希望提供更大的灵活性和更少的执行力。 检查数据的最后每一位对于软件来说是很费时的,而对于程序员来说则是无用的。 诸如XML和JSON之类的数据传输语言在确保数据避免这些问题方面做得并不多。 但是检查是程序员保护代码安全所需要做的事情。

翻译自: https://www.infoworld.com/article/2612858/application-development-safeguard-your-code-17-tips-to-develop-more-secure-code.html

代码注入:动态解析代码

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值