【每日一记8】+第20天+软件开发的安全需要做的工作。
  

一个无趣的人 8431人觉得有帮助

{{ttag.title}}
今天来说一下一个好的软件开发需要的安全工作。:好棒: 软件安全构建成熟度模型(BSIMM)中定义了119种实施标准,不管是开发人员还是安全人员都不可能做到对这些标准逐一检验,那是专业评估机构做的事。但以下七项关键工作则是关注软件安全的人员必须要考虑到的

1. 代码审查
利用自动化工具进行源代码审查,这种工具可以有效地发现并解决潜在的安全问题。代码审查工具现在已经有很多,如奇安信的代码卫士、孝道的CSCD等。

2. 架构风险分析
有时也称“威胁模型”。其目的是为了识别、评级并缓解设计上的漏洞。要知道,对大多数软件而言,软件安全问题50%的原因在于设计上的漏洞。

3. 渗透测试
对一个正在运行中的系统进行动态的安全检测非常重要的安全工作,但渗透测试的问题在于是事后的,而且检测出问题之后的修补工作也不易进行并成本较高。因此,不能过度依赖于渗透测试来解决安全问题。

4. 基于风险的安全测试
在架构风险分析的框架下测试安全功能,检测发现设计上的漏洞,以及针对安全bug的回归测试,这些工作构成了基于风险的安全测试。

5. 测试恶意场景
许多项目会建立起应用场景以理解系统的运转。但恶意的应用场景有助于判断系统在遭受攻击下的反应,在不好的事情发生前主动去演练是一项非常有意义的工作。

6. 安全需求
你的系统到底要需要哪些安全措施?安全到到何种程度?谁会攻击你以及为什么攻击你?最重要的,你能为安全承受多少投入?这些都是要考虑清楚的问题。

7. 安全运营
即使从规划、开发时就将安全嵌入到系统中,系统运行后也会经常进行渗透测试,但也无法完全避免攻击,因此要将安全视作是一种持续的运营工作。包括监测、检测、分析、响应、迭代、预测、保护等各个环节,并形成闭环。
对于诸如移动代码安全、物联网安全、或者机器学习安全这些新兴技术的安全要求,需要考虑这七项关键如何能被应用到这个技术中,从而确保安全进程。

当面对多种技术的时候,代码分析是最容易作为第一个应用的领域,理由也很明显:无论如何使用代码,这些代码都能进行静态分析,而几乎所有软件项目都有代码。不过,静态分析对于动态node.js这些动态编程语言效果有限,取决于这些代码何时、何地、如何拼装到一起。事实上,动态编程的趋势对使用静态工具进行代码审查有着相当深远的影响。
另外,DevOps对安全运营的使用现在也在用代码体现:容器本身是代码,容器配置也是代码,容器编排还是代码。因此,通过设计保护一个系统显然必须包含运营层面的思路,

总结来说,软件安全的关键工作对软件安全性,或者应用安全性来说至关重要。

打赏鼓励作者,期待更多好文!

打赏
3人已打赏

平凡的小网工 发表于 2020-6-20 22:57
  
逐句地看完这个帖子以后,我的心久久不能平静,震撼啊!为什么会有如此好的帖子!我纵横社区多年,自以为再也不会有任何帖子能打动我,没想到今天看到了如此精妙绝伦的这样一篇帖子。
新手727241 发表于 2020-6-21 17:14
  
感谢分享
sxfusr 发表于 2020-6-21 17:45
  
打卡学习,不错的文章
蟲爺 发表于 2021-5-16 12:17
  
感谢分享
发表新帖
热门标签
全部标签>
每日一问
2024年技术争霸赛
技术盲盒
干货满满
技术笔记
产品连连看
信服课堂视频
GIF动图学习
2023技术争霸赛专题
秒懂零信任
新版本体验
标准化排查
每周精选
通用技术
技术咨询
功能体验
每日一记
文档捉虫活动
安装部署配置
安全攻防
信服圈儿
场景专题
答题自测
在线直播
问题分析处理
运维工具
产品预警公告
技术晨报
自助服务平台操作指引
畅聊IT
专家问答
技术圆桌
MVP
网络基础知识
升级
上网策略
测试报告
日志审计
流量管理
云计算知识
用户认证
原创分享
解决方案
sangfor周刊
VPN 对接
项目案例
SANGFOR资讯
专家分享
技术顾问
信服故事
SDP百科
功能咨询
终端接入
授权
设备维护
资源访问
地址转换
虚拟机
存储
迁移
加速技术
排障笔记本
玩转零信任
S豆商城资讯
技术争霸赛
「智能机器人」
追光者计划
深信服技术支持平台
社区帮助指南
答题榜单公布
纪元平台
卧龙计划
华北区拉练
天逸直播
以战代练
山东区技术晨报
齐鲁TV
华北区交付直播
北京区每日一练

本版版主

12
185
6

发帖

粉丝

关注

本版达人

LoveTec...

本周分享达人

新手24116...

本周提问达人