博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
防止一秒访问许多次网站_许多人查看并不能始终防止错误代码
阅读量:2529 次
发布时间:2019-05-11

本文共 1279 字,大约阅读时间需要 4 分钟。

防止一秒访问许多次网站

编写代码很难。 编写安全代码变得更加困难。 在到达那里之前,您需要考虑设计和架构。 在编写代码以实现安全功能时,它通常是基于经过仔细研究和详细检查的体系结构和设计。 它们甚至可能反映出已通过全球审查流程的标准,通常被认为是完美且牢不可破的。

但是,无论这些设计和体系结构多么出色,都存在将其放入实际软件中的特殊之处。 除了经证明在数学上正确的软件外, 能够编写能够准确实现您要实现的功能的软件是一门科学与一门艺术。 对于任何实际上编写任何软件,尝试调试软件或通过逐步了解其正确性的人来说,这都不奇怪。 但是,这不是本文的重点。

实际上认为,此过程中产生的软件将是完美的,但每个人都同意应将软件制作得尽可能接近完美且无缺陷。 这就是为什么代码审查是软件开发的核心原则。 幸运的是,至少在我看来,我们在日常生活中使用的许多代码都是开源的,这意味着任何人都可以看到它,并且成千上万的眼睛都可以使用它。评论。

问题就出在这里:有一种观点认为,由于开放源代码软件会受到很多人的关注,因此所有错误都将被消除。 这是一个神话。 一个危险的神话。 这种观点的问题至少是双重的。 第一个是“如果您构建它,它们就会来”的谬论。 我记得当时有世界上所有网站的列表,如果您将网站添加到该列表中,人们就会访问它。 以同样的方式,开源项目的数量曾经很小(也许)如此之小,以致人们很有可能会查看并检查您的代码。 那些日子已经过去了-很久了。 其次,对于安全功能的许多领域(加密原语实现是一个很好的例子),合格眼睛的数量很少。

不要以为我以任何方式暗示该问题在专有代码中有所减少:恰恰相反。 不仅经常使私有软件中的设计和体系结构无法检查,而且查看代码的眼睛也更少了,并且层次结构压力和集体思考的危险也大大增加了。 “专有代码更安全”不是神话,而是假新闻。 我完全理解为什么公司喜欢将其安全软件保密,并且恐怕“这是为了保护我们的知识产权”这句话太过陈词滥调了,他们告诉自己何时才真正发布它是不安全的。 因此,对于我来说,当我们研究安全软件时,它一直都是开源的。

所以,我们能做些什么? 好吧,关心安全功能的公司和其他组织可以并且有责任(我认为有责任)在检查和审查实现该功能的代码上花费资源。 除此之外,开源社区可以并且正在寻找支持关键项目并提高对该代码进行审核的方式。 而且,我们应该鼓励学术组织对学生进行安全软件编写和审查的妖术,更不用说强调开源软件的重要性了。

我们可以做得更好,而我们也做得更好。 因为我们需要认识到“许多眼睛假设”是一个神话的原因并不是很多眼睛不会改善代码(他们会那样),而是我们没有足够的专家眼睛看。 然而。


是的,真的:“完美且坚不可摧”。 为了便于讨论,我们假装是真的。

…仍然要靠设计和体系结构来实际完成您想要的(或认为您想要的),当然,祝您好运。

没有人实际写出超过五行代码(或Perl超过六个字符)。

我加了一个。 他们来了。 这就像某种魔术。

例如,参见的 。

本文最初出现在 ,经许可重新发布。

翻译自:

防止一秒访问许多次网站

转载地址:http://trszd.baihongyu.com/

你可能感兴趣的文章
关于ajax请求controller返回中文乱码的解决方法!
查看>>
Objective-C 和 Core Foundation 对象相互转换的内存管理总结
查看>>
IOS音频1:之采用四种方式播放音频文件(一)AudioToolbox AVFoundation OpenAL AUDIO QUEUE...
查看>>
Linux nmon 命令
查看>>
使用 urllib 构造请求对象
查看>>
sql server book
查看>>
长亭技术专栏 安全攻防技术分享
查看>>
sql server dba
查看>>
visualvm
查看>>
docker(4):coreos+docker+rancher真厉害
查看>>
设计模式之代理模式,学习笔记
查看>>
在Qsys中创建用户自定义IP
查看>>
【leetcode】Container With Most Water
查看>>
Python -- machine learning, neural network -- PyBrain 机器学习 神经网络
查看>>
一道dp题目
查看>>
mysql中间件研究(tddl atlas cobar sharding-jdbc)
查看>>
Cast-128 加密算法和 MyPassWord 的破解
查看>>
4.28下午 听力611
查看>>
ActiveMQ学习笔记(1)----初识ActiveMQ
查看>>
Java与算法之(2) - 快速排序
查看>>