代码精进之路
范学雷
前 Oracle 首席软件工程师,Java SE 安全组成员,OpenJDK 评审成员
38234 人已学习
新⼈⾸单¥59
登录后,你可以任选4讲全文学习
课程目录
已完结/共 48 讲
结束语 (1讲)
代码精进之路
15
15
1.0x
00:00/00:00
登录|注册

32 | 如何评估代码的安全缺陷?

低优先级(P3)
中优先级(P2)
高优先级(P1)
缺陷影响的广度
缺陷影响的深度
全球信息安全专业人员的缺口
掌握编码安全技术的挑战
三道关:意识、知晓、看到
安全漏洞要优先修复
安全漏洞细节不可泄漏
安全攻击是否需要用户参与
安全攻击需要的授权
安全攻击的复杂度
安全攻击的路径
对授权范围的影响
对可用性的影响
对完整性的影响
对私密性的影响
管理好自己的时间
五种优先等级
从用户感受出发,定义和计量软件缺陷
外卖系统的bug修复例子
缺陷优先等级
软件缺陷的定义方式和衡量方式
一起来动手
安全漏洞和软件缺陷优先级
安全漏洞的严重性和可能性
优先级的灵活性
细化的优先级
缺陷,需要从外向内看
关注用户感受
小结
安全漏洞,需要大范围协作
如何评估代码的安全缺陷?

该思维导图由 AI 生成,仅供参考

我自己有一点小小的强迫症,遇到事情,喜欢自己动手整个清楚明白。我的大部分失眠,都要拜这点强迫症所赐。时间永远都不够用。如果上天给我一个机会,我是不是可以借上五百年?其实,借上五百年,时间一定还是不够用的。
我经常被问到三个问题:
有什么事情是你必须要做的?
哪些事情是只有你能做的?
哪些事情是别人可以帮你做的?
这就是一种时间管理的思路,隐含的意思是:
识别并且选择最重要的事情;
确定自己最擅长的事情,全力以赴地做好;
选择你的帮手,充分信任并授权。
评估软件的缺陷就是这个思路运用得最广泛的一个场景。作为程序员,我们需要了解软件存在的问题,以及问题的严重程度。那么,我们该如何评估软件存在的问题,以及代码的安全问题呢?

关注用户感受

软件缺陷的定义方式和衡量方式有很多种。从用户感受的角度出发,定义和计量软件缺陷,是其中一个比较好的、常用的软件缺陷评估体系。我个人比较倾向一种观点,软件缺陷的严重程度应该和用户的痛苦程度成正比
从用户感受出发,衡量软件缺陷有两个最常用的指标:
缺陷影响的深度,软件缺陷带来的问题的严重性:软件缺陷导致的最严重的问题是什么?
缺陷影响的广度,软件缺陷带来问题的可能性:软件缺陷导致问题出现的频率是多大?
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

评估代码的安全缺陷在软件开发中至关重要。本文从用户感受、缺陷的外向内看、细化的优先级和优先级的灵活性等方面探讨了如何评估软件存在的问题和代码的安全问题。首先,衡量软件缺陷的严重程度应与用户的痛苦程度成正比,提出了衡量软件缺陷的两个常用指标:缺陷影响的深度和缺陷影响的广度。其次,强调了缺陷需要从外向内看,站在用户的角度思考问题,看待缺陷。然后,提出了细化的优先级划分,以更好地安排时间和区分做事情的轻重缓急。最后,强调了软件缺陷优先等级的灵活性,需要根据具体情况进行调节。文章还介绍了安全漏洞的评价标准和管理方法,以及安全漏洞和软件缺陷优先级的关系。总之,本文深入浅出地介绍了评估代码的安全缺陷的方法和思路,对软件开发人员具有一定的指导意义。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《代码精进之路》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(10)

  • 最新
  • 精选
  • 流光奕然
    软件安全来源于两个方面,错误的编码,和错误的配置。 即使是大厂,大多数开发人员安全意识淡薄,所以我们采取跟安全人员红蓝对抗的形式逼迫开发提升安全。 老师说的我体会太深刻了,没有权威的打分标准,就连root权限运行进程这种严重缺陷都会遭受质疑,所以现在全面按照cvss3.0进行操作。 小公司甚至有一个人的安全部这种说法,这种级别的开发,别说被黑客入侵了,被路人入侵都实在寻常。现在的黑客都是研究团体,技术水平都很高。

    作者回复: 意识问题,是最大的问题。内部推广使用CVSS的计量标准是个沟通的好办法!

    2019-06-29
    3
  • 天佑
    我觉得漏洞被利用的可能性,很难评判,全靠主观,安全人员推动时就会没底气。

    作者回复: 有玩笑说,做安全的就像卖保险,没事时遭人白眼;还像是看门的,出事时要背锅。 问题就是,我们即使有能力知道漏洞,也没有能力知道攻击什么时候会来,后果会有多大。 推动要看氛围和制度,有的公司甚至不会允许出现深度防御的安全问题(CVSS计分为0)。

    2019-03-18
    2
  • hua168
    老师,开发懂安全方面小公司的都少,他们通用做法就是利用框架,做下简单的防SQL注入,防上传漏洞,没了…… 阿里云后台一提前攻击就让我们运维查他们是怎么进来的和解决方案,因为没有专业安全人员,最后背锅又是我们背锅侠运维,说我们“整天没什么事做,给你们这么高工资,这点事都做不好!”😂这是一点事吗? 老师有什么安全方面的书推荐下么?有什么方法去分析别人入侵路径吗?我们只能做的监控,看文件修改时间判断,但是入侵路径真的不知道怎么搞😂 如果提方案去购买阿里云企业级安全防护,上级直接拒绝😓,说白了就是嫌贵,还说我们能力low😂

    作者回复: 安全最根本的就是普通的代码写好,我们这个专栏的三个部分,讲的就是怎么写好代码。建议给你们公司的人员看看。 入侵路径这种说法,只对一部分,如果不是很小一部分,安全问题起作用,是类似于防火墙这些技术领域的名词。大部分安全问题,可以通过正常业务逻辑攻击,可以是正常路径。 我们的编写安全的代码这一部分,刚来了个头,先把这一部分跟下来,看看能不能解决你的部分疑问。

    2019-03-18
    1
  • hua168
    像我们开发一般不用学安全吧?那不是有安全专业的人做吗?如果我们是小公司请不起安全专业人才,怎么办?像那种安全评估系统很贵老板也舍不得买呀…… 一被攻击我们运维就背锅,名曰“背锅侠”😂

    作者回复: 😄运维比窦娥还冤! 开发要学编写安全的代码。大部分的漏洞都是代码问题,都是开发人员弄出来的,😂怎么能不学安全。 有的公司的研发人员入职培训,就必须要通过安全编码的培训。

    2019-03-18
    1
  • 3.0的A7
    老师您提到的cvss 是一个在线安全诊断系统吗?

    作者回复: 不是,只是一个威胁等级评估规范。

    2022-06-16
  • KASUMIS
    我想,是不是可以限制一些私密数据只有专用方法才能访问,或者访问前判断有没有权限。这样起码可以保证出现漏洞也不会泄露重要数据。

    作者回复: 这是一个信息安全领域常用的思路,如果你研究一下操作系统、语言设计、容器设计,就会发现这个思路的广泛使用。数据泄露的渠道和方法太多了,这个思路可以解决很大一部分的数据泄露问题,但也不是所有的问题。

    2019-10-08
  • 醉侠
    希望老师后面能多讲讲安全编码的例子或者推荐好的书籍,这块儿确实是很大的弱点
    2019-03-19
    2
  • ifelse
    有什么事情是你必须要做的?哪些事情是只有你能做的?哪些事情是别人可以帮你做的?--记下来
    2022-07-29归属地:陕西
  • 进化菌
    安全无小事。 这几个问题,不只是在代码安全性里面,还可以用在很多地方,受益良多 —— 有什么事情是你必须要做的? 哪些事情是只有你能做的? 哪些事情是别人可以帮你做的?
    2021-12-09
  • hua168
    好的,谢谢…
    2019-03-18
收起评论
显示
设置
留言
10
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部