范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

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

  还记得《黑客帝国》里尼奥终于看到矩阵世界的真实样貌一片数字雨时的震撼么?超级黑客尼奥纵身跃入程序特工史密斯身体里,使其飞灰湮灭的一幕更是酷的不得了!
  如今,透过电脑屏幕我们能够发现,那个由字母、数字、符号构成的数字硅基世界,正在与我们身处的真实物理世界越来越深入的交融在一起。
  万物互联时代下,代码犹如数字世界的血液流淌在每个角落,让数字世界散发着勃勃生机。但越来越多的电脑病毒、木马、间谍软件,以及越来越复杂且破坏力更大的各类恶意攻击,却在不断对数字世界造成破坏。
  正如白细胞是人体与疾病斗争的"安全卫士",网络安全技术、产品也在发挥着"数字世界白细胞"的作用,对抗网络空间世界里不时隐现的恶意攻击。
  回顾往昔,你坐在计算机面前敲打出来的第一个程序还是那个经典的"HelloWorld"么?当人们需要对网络世界深入了解时,首选要做的一件事情就是学习程序的编写,掌握人类与数字世界交流的语言。随着人们写成一行行代码,一个个功能各异的程序不断诞生、上线、运行。
  而海量代码里的安全缺陷、安全漏洞,也在不断让程序产生异常,进而导致信息系统被入侵,金融、工业、农业、交通、医疗等行业业务系统被破坏。从这个角度来看,网络安全的本质正是程序安全问题、代码安全问题。
  图片源自网络,仅做配文展示
  作为软件开发人员,如何开发出相对安全的代码呢?今天的文章,小渡就和大家一起聊聊代码安全的问题。
  小渡发现身边很多程序员,遇到很多安全问题,还是无从下手:
  每次代码上线都被爆出有各种Web安全漏洞,那么,应该怎么样去避免自己写出这些包含漏洞的代码呢?
  在项目中,大家都会使用各种第三方插件来辅助开发。那么,是否能够意识到,这些插件中的漏洞,也是很多黑客利用的点。那么,有哪些方法可以帮助你去进行防护呢?
  除此之外,代码的安全性还会造成很多问题,甚至带来一些安全漏洞:
  1、 影响团队合作,降低效率
  对于共同完成项目的团队而言,如果没有统一的代码规范,最终整合代码时,可能会出现看不懂命名,或者阅读过程不断询问的情况,导致团队效率低下,甚至造成成员之间的矛盾;例如gitpush -f,把别人的劳动成果全部覆盖掉,出现一次就会遭到全员围攻;
  2、 提高维护成本
  代码不规范导致可读性降低,后期的代码维护会耗费更多人力甚至财力成本;一旦代码越来越多,最后的维护就难以为继,给运维人员造成很大负担;
  3、 引发各种bug
  如果输入输出参数、异常处理、日志处理等没有规范,很容易导致大量低级bug,还很难找到bug的原因;
  4、 不利于代码审查,甚至造成安全漏洞
  代码审查是纠正代码错误,保证开发周期安全顺利进行的重要一步。如果代码不规范,就会加重代码审查的工作量和难度,导致代码审查工作没有根据还浪费时间。
  某些情况下,代码不规范还会造成安全漏洞,此前Morpheus智能合约爆出的重大安全漏洞,就是大小写错误造成的;
  5、 不利于程序员自身的成长
  有些人可能没有意识到代码规范的重要性,有些人意识到了但由于项目时间紧、流程繁琐等原因而不去遵循。这跟当前开发流程与安全之间的关系很像。
  很多人为了速度而牺牲前期的必要流程,却给后续的工作带来了更多麻烦。其实,规范的代码有助于理解开发语言、模式和架构,也有利于提升开发水平。
  对于公司和团队而言,制定符合实际情况的开发规范并非难事,重要之处在于每个人自己认识到规范的重要性,以及养成规范的习惯并坚持贯彻。
  接下来我们就来探究一下,如何制定一个相对通用的安全编码方案。
  字符串的安全方案
  直接使用字符串(x)
  不建议使用理由: 直接定义使用字符串,因为字符串是一个常量,所以我们直接能在静态反汇编中直接看到字符串的数据信息。
  如果直接把代码的字符串信息直接暴露给大家,这样大家就可以通过字符串信息做一些对代码不安全的事情了。
  字符串赋值到数组使用( √ )
  建议使用理由: 将字符串写到数组里面并进行赋值,使得字符串存放在堆里面,这样在程序的字符串常量信息就无法直接看到字符串信息,这样进行静态分析(IDA)的时候字符串信息就没有展示了,这个需要进行动态分析(ollydbg)才能分析到字符串信息,从而加强代码的安全性。
  调用系统函数安全方案
  直接调用系统的函数(x)
  不建议使用理由: 我们在编码过程中,有很多功能系统都已经有提供的函数接口,一般情况下我们都是直接调用系统函数直接进行实现功能。
  但你知道吗?你这样直接调用系统函数在一些场景下是不安全的,当你的程序在被安全逆向研究的时候,直接可以通过程序的导入表,以及反汇编看到调用的系统函数,这样我们只要一查下系统函数的功能,那么就可以知道大概的功能点,还有只要一挂钩(HOOK技术)上系统的函数,那么你所调用的系统函数的功能就失效了。
  自定义实现函数再调用函数(√)
  建议使用理由: 我们对于关键功能函数建议还是采用自己去实现函数功能,再去调用,这样可以加强程序被直接分析的难度,从而加强程序的安全性。
  图片源自网络,仅做配文展示
  本质上,安全漏洞就是一些bug,它们可能会导致应用程序及其数据遭受破坏。当编程错误威胁到数据的可访问性、完整性或机密性时,就属于安全漏洞领域。在大多数情况下,这些漏洞只是一些人为错误。只要人类继续编写代码,错误就会发生,漏洞也会出现在我们的项目中。
  因此,我们的问题是如何管理所使用软件中的漏洞。首先,最重要的是我们需要遵循最佳实践来进行安全编程。虽然批评某人的代码不够严谨很简单,但只有批评还不够,我们还需要提升自我。
  除了遵循编程的最佳实践外,我们还需要检查代码中的漏洞,而不仅仅是在部署之前。在依赖项之上构建了核心应用程序,却发现其中存在一些严重的漏洞,这是一件十分痛苦的事情,你不得不含泪默默地重新编写这部分代码。
  如果你了解软件开发生命周期各个阶段测试错误的重要性,那么就应该明白检查可能将你和用户置于危险之中的安全漏洞同样重要。
  图片源自网络,仅做配文展示
  想要保证代码的安全性,就需要我们在项目开发中需要写高内聚,低耦合的代码,同样也需要写一些没有bug的代码,更需要写一些更加相对安全的代码,最后,还需要写一些能增加逆向破解者分析程序的难度。
  在追求开发效率的同时,一定要把"安全"这俩字放在心头。 尤其是在大厂,对安全的要求胜过一切。比如千万用户的数据保密、如何对密码进行多次加密、如何做身份认证等等……
  不得不说,作为一个普通的程序员,学好安全基础,尽早做好安全规划,才能随时应对可能出现的安全漏洞。这样,不仅我们能为公司贡献更安全的应用,也能为自己日后的进阶做好铺垫。

等了个寂寞,第二代长安CS55plus预售价上市昨天(9月6日)晚上,备受关注的第二代长安CS55PLUS正式上市了,消费者满心期待最终的价格能够稍微降一点的愿望泡汤了。长安汽车公布了正式价格预售价格。这波操作好像也是比较少见的白猫,黑猫,好猫,欧拉多款彩贴亮相工信部目录,太漂亮了今天,工信部公布了第347批道路机动车辆生产企业及产品公告,长城旗下电动车品牌欧拉汽车的白猫,黑猫,好猫多个彩贴现身其中,给广大的女性消费者更多的选择。首先看看欧拉好猫。欧拉好猫自行业首家!徐工通过国家智能制造能力成熟度四级评估7月30日,徐工重型通过由工业和信息化部组织制定的智能制造能力成熟度四级认证,成为中国首家达到这一标准的工程机械企业。据悉,目前全国已通过正式评估的企业最高水平为四级,通过数量不足希尔助力客户西南地区首个智能化灯塔工厂竣工投产2021年7月,卧龙电驱旗下工业自动化业务为客户布局的西南地区首个智能化灯塔工厂在重庆两江新区正式竣工投产。在海上,灯塔是船舶航行的指路明灯在企业,灯塔工厂是能够提供指导性范例的引百分之百国产化!东方风电成功研制全新一代海上集成式变桨系统8月12日,东方风电自主研发的全新一代海上AP150C型集成式变桨系统在测试中心顺利通过全部型式试验,成功下线。该型变桨系统实现了元器件级百分之百国产化,将应用于东方风电全国产化7最便宜的骁龙888旗舰?卢伟冰宣布RedmiK40售价最近手机圈非常热闹,本来2021年的旗舰,这都好,都2020年末发布了,比如小米11,当然除了这个,很多手机也开始预热,非常激烈,不过打得这么激烈,对于用户来说是个福音,毕竟多个选大数据开发Spark的几种部署方式作为大数据的第二代代表性框架,Spark在大数据生态圈的地位,不必特意强调,大家也能看得清楚。Spark在学习初期,进行部署配置是非常关键的一个环节,今天的大数据开发分享,我们就主苹果专利提出用超声波检测定位ARVR环境中的镜子存在查看引用信息源请点击映维网防护系统(映维网2021年10月19日)在使用VRAR时,重要的是允许用户感知周遭的环境。知晓对象在现实世界中的位置与明白虚拟对象并不存在于现实世界中一样燥起来!iQOONeo3被确认144Hz屏幕UFS3。1!最近还是有很多小伙伴思考自己该换一部什么样的手机,甚至有些人还在思考买4G手机还是5G手机,都2020年了,如果没有一部5G手机,真的有点拿不出手,当然iPhone用户除外,毕竟目vivo首款5G手机宣布双卡1G速度在现如今的手机市场中,我们会越来越觉得有那么一家手机厂商,太过于低调,做起事来,确实有些惊人。vivo今天突然宣布,iQOO的首款5G手机已经领证,并且表示下个月发布。低调!为何说堪比5G,激光电视将掀起全新的电视革命5G时代已经来临,很多手机厂商都发布了5G的年度旗舰,为了让更多的人体验科技的乐趣,那种速度是4G无可比拟的。其实电视也一样,似乎身边很多小伙伴都已经开始嫌弃了电视,甚至不愿意打开
电脑音箱中的全能王,创新T60深度评测Hello,大家好,欢迎来到小众数码,我是Jupit3r。创新T系列的2。0声道桌面音箱因为其出色的音质和亲民的售价在全球范围收获了大批的粉丝。发布于2009年的Gigaworks苹果最新技术发布,用户隐私却受到侵犯最近因为一个新功能的上线导致苹果被骂得很惨,即在iOS15中,苹果可扫描iPhone所有相册。但其实在我看来,这也是罪有应得,虽然这项技术设立的初衷是保护受虐儿童,但是通过这一功能升级Windows11预览版详细图文步骤,收藏不亏微软正式推送Windows11预览版已经有一段时间辣!这里是不尝鲜不舒服斯基的S姐,今天决定祭出自己的私人笔记本电脑,给大家来一期尝鲜指南,请笑纳!(总过程约30分钟至1小时)。阅Word有什么技巧是让你相见恨晚的?曾经一度,我特别喜欢Word,什么文件都用Word来做,自以为掌握了大部分的Word技巧。但是,后来碰到两个Word难题后,我发现了自己的Word短板,也感觉相见恨晚。1自动为文章你认为什么样的家居可以拯救新时代懒人?新时代带来新挑战,也出现了很多新新物种例如懒癌患者来自懒癌患者的自述每天上完班已经很累了,回到家里很多事情还要自己干,我可太难了,有人帮帮我吗?PC酱来了!老弟!拯救懒癌患者家电清有哪些网站可以下免费的电子书?鸠摩搜书简介鸠摩搜书是一个电子书搜索引擎。它汇集了多个网盘和电子书平台的资源,真所谓大而全。而且它还支持筛选txt,pdf,mobi,epubazw3格式文件。还显示来自不同网站的微信8。0。11内测更新,朋友圈又变了前两天,微信官方刚刚发布了安卓8。0。10正式版。没想到,8。0。11内测版本这么快就出来了。这次优先获得内测权的是安卓,总算比苹果抢先一步了。和8。0。10正式版相比,差别不大,Linux常用命令全集整理!550多个命令,PDF开放下载,手慢无今天给大家分享的这个Linux命令速查手册,文档里给大家精心整理了550多个命令,1303页,由于内容太多,只能截图展示部分文档内容。完整版文档领取方式见文末部分文档目录展示部分命你手机相册里有哪些自己用了很久舍不得换的壁纸?喜欢的可以挑一个舍不得换的壁纸贼多,好看的壁纸也贼多,换不换呢,就得看心情了O()O哈哈分享一组卡通动漫壁纸各种风格都有,性感的,呆萌的,个性的,清纯的等等。总有一款适合你,喜欢的当一批神秘人走进碧桂园工地全文共187字,阅读全文约3分钟。机器人建房的梦想离我们还很遥远吗并不是!近期碧桂园在全国的一批项目迎来新工友博智林建筑机器人建筑机器人进入工地到底是一种怎样的体验让我们一起直击现央广网评警惕变了味的电商学院成陷阱近日,电商培训屡遭投诉。一些电商学院打着免费试学量身定制三天变现的名义,以跨境电商快速入门手把手教你带货为教授课程,吸引了很多想要实现斜杠收入的创业者。这些电商学院的开办者赚得盆满