程序员如何敲出更安全的?代码?

还记得《黑客帝国》中的尼奥终于看到了数字雨中矩阵世界的真实面貌吗?超级黑客尼奥跳进程序特工史密斯,让他的飞灰消灭更酷!如今,透过电脑屏幕我们能够发现,那个由字母、数字、符号构成的数字硅基世界,正在与我们身处的真实物理世界越来越深入的交融在一起。在万物互联时代,代码就像数字世界的血液在每个角落流淌,使数字世界充满活力。然而,越来越多的计算机病毒、木马、间谍软件和越来越复杂和破坏性的恶意攻击不断破坏数...

鸿铭黑客-黑客24小时在线接单网站 2022-05-12 0阅读

文章最后更新时间:2022年05月12日

还记得《黑客帝国》中的尼奥终于看到了数字雨中矩阵世界的真实面貌吗?超级黑客尼奥跳进程序特工史密斯,让他的飞灰消灭更酷!



如今,透过电脑屏幕我们能够发现,那个由字母、数字、符号构成的数字硅基世界,正在与我们身处的真实物理世界越来越深入的交融在一起。



在万物互联时代,代码就像数字世界的血液在每个角落流淌,使数字世界充满活力。然而,越来越多的计算机病毒、木马、间谍软件和越来越复杂和破坏性的恶意攻击不断破坏数字世界。



正如白细胞是人体与疾病斗争的安全卫士一样,网络安全技术和产品也在对抗网络空间世界中隐藏的恶意攻击中发挥着数字世界白细胞的作用。



回顾过去,你坐在电脑前敲打的第一个程序是经典的HelloWorld吗?当人们需要深入了解网络世界时,首先要做的是编写学习程序,掌握人类与数字世界交流的语言。随着人们写成一行代码,不同功能的程序不断诞生、上线和运行。



而海量代码安全缺陷和安全漏洞不断导致程序异常,导致信息系统入侵,金融、工业、农业、交通、医疗等行业的业务系统受损。从这个角度来看,网络安全的本质是程序安全问题,代码安全问题。






图片来自网络,只显示配文



如何开发相对安全的软件开发人员?代码呢?在今天的文章中,小渡会和你谈谈代码安全问题。



小渡发现身边有很多程序员,遇到了很多安全问题,还是无从下手:



每次代码网上有各种各样的爆料Web安全漏洞,那么,应该怎么样去避免自己写出这些包含漏洞的代码呢?



在项目中,每个人都将使用各种第三方插件来协助开发。那么,你能意识到这些插件中的漏洞也是许多黑客使用的一点吗。那么,有什么方法可以帮助你保护它呢?



除此之外,代码安全也会造成很多问题,甚至带来一些安全漏洞:



1、 影响团队合作,降低效率



如果没有统一的团队共同完成项目,代码规范,最终整合代码当时,可能无法理解命名,或不断询问阅读过程,导致团队效率低下,甚至成员之间的矛盾;例如gitpush -f,覆盖所有别人的劳动成果,一旦出现,就会被全体员工围攻;



2、 提高维护成本



代码不规范导致可读性降低,后期代码维护将消耗更多的人力甚至财力成本;一旦代码越来越多的最终维护是不可持续的,给运维人员造成了巨大的负担;



3、 引发各种bug



如果输入输出参数、异常处理、日志处理等不规范,很容易导致大量低级bug,还很难找到bug的原因;



4、 不利于代码审查甚至造成安全漏洞



代码审查是纠正代码错误是确保开发周期安全顺利进行的重要一步。代码不规范会加重代码审查的工作量和难度,导致代码审查没有浪费时间。



在某些情况下,代码以前,不规范也会造成安全漏洞Morpheus智能合同中的重大安全漏洞是大小写错误造成的;



5、 不利于程序员自身的成长



有些人可能没有意识到代码有些人意识到规范的重要性,但由于项目时间紧、流程繁琐等原因,他们不遵循。这与当前的开发过程和安全性非常相似。



许多人为了速度而牺牲了早期的必要过程,但给后续工作带来了更多的麻烦。事实上,标准化代码有助于理解语言、模式和架构的发展,也有助于提高发展水平。



对于公司和团队来说,制定符合实际情况的发展规范并不难。重要的是每个人都意识到规范的重要性,养成规范的习惯并坚持下去。



接下来,我们将探讨如何制定一个相对通用的安全编码方案。










字符串安全方案












直接使用字符串(x)





理由不推荐:使用字符串直接定义,因为字符串是常量,所以我们可以在静态反汇编中直接看到字符串的数据信息。



如果直接把代码字符串信息直接暴露给大家,让大家通过字符串信息做一些正确的事情代码不安全的事情。












字符串赋值用于数组使用(





推荐理由:将字符串写入数组并赋值,使字符串存储在堆中,使字符串常量信息不能直接看到字符串信息,从而进行静态分析(IDA)当字符串信息未显示时,需要动态分析(ollydbg)加强字符串信息的分析代码的安全性。










调用系统函数安全方案












直接调用系统函数(x)





理由不推荐:在编码过程中,有许多功能系统已经提供了函数接口一般来说,我们直接调用系统函数来实现功能。



但你知道吗?在某些情况下,您直接调用系统函数是不安全的。当您的程序被安全逆向研究时,您可以通过程序导入表和反汇编直接看到调用的系统函数。这样,只要我们检查系统函数的功能,我们就可以知道一般的功能点,只要它们是连接的(HOOK系统函数上的技术),那么你调用的系统函数的功能就会失效。












自定义函数再次调用函数(√)





推荐理由:对于关键功能函数,我们建议在调用前使用自己来实现函数功能,从而加强程序直接分析的难度,从而加强程序的安全性。






图片来自网络,只显示配文



本质上,安全漏洞就是一些bug,它们可能会损坏应用程序及其数据。当编程错误威胁到数据的可访问性、完整性或机密性时,它们属于安全漏洞领域。在大多数情况下,这些漏洞只是人为错误。只要人类继续写作代码,我们的项目中会出现错误和漏洞。



因此,我们的问题是如何管理软件中的漏洞。首先,最重要的是,我们需要遵循安全编程的最佳实践。虽然批评某人代码不够严谨很简单,但只有批评还不够,我们还需要提高自己。



除了遵循编程的最佳实践外,我们还需要检查代码漏洞不仅仅是在部署之前。在依赖项目上构建核心应用程序是非常痛苦的,但发现有一些严重的漏洞。你必须用眼泪默默地重写这部分代码。



如果你了解软件开发生命周期各个阶段测试错误的重要性,那么就应该明白检查可能将你和用户置于危险之中的安全漏洞同样重要。






图片来自网络,只显示配文



想要保证代码在项目开发中,我们需要写高内聚和低耦合的安全性代码,也需要写一些不需要写的东西。bug的代码,更需要写一些比较安全的东西代码,最后,写一些可以增加逆向破解者分析程序难度的文章。



在追求发展效率的同时,我们必须把安全这个词放在心上。特别是在大型工厂,安全要求胜过一切。例如,数千万用户的数据保密,如何多次加密密码,如何进行身份认证等……



不得不说,作为一名普通程序员,只有学好安全基础,尽快做好安全规划,才能随时应对可能出现的安全漏洞。这样,我们不仅可以为公司贡献更安全的应用,还可以为未来的进步铺平道路。

文章来源:http://www.qq6677.cn/
声明:如果有侵权内容、不妥之处,请第一时间联系我们删除。敬请谅解!

相关阅读

3139 文章数
3674 评论数

项目介绍

最近发表

随便看看

热门文章

黑客入侵平台被迫暂停营业!这家连锁超市遭到国际黑客袭击
核酸检测点最空在哪里?网友分享:一键知道怎么走,看缝插针安排。
机器编程全球78亿人能写代码吗?未来人工智能发展的五大趋势

热评文章

标签列表