从软件生命周期看应用安全(网络安全)

云原生视角下的应用全生命周期安全落地实践 而容器技术之于云计算的发展,已经成为目前主流的虚拟化技术,成为敏捷开发项目的首选,以Docker、Containerd技术为代表的容器技术,重点解决了容器技术使用和维护上的复杂度问题,通过对容器管理引擎以及容器镜像的标准化,降低了容器技术使用的复杂度,同时围绕容器技术构建应用生态圈,丰富容器技术在行业内的应用和推广,以容器、Kubernetes和微服务应用模式作为数智化转型的驱动力。通过云原生应用安全保护平台的建设和落地,填补集团云原生安全领域的空白,进一步提升扩大云原生的生产力; 阅读详情


历史车轮滚滚向前,时代潮流浩浩荡荡,社会不断地发展、演进,积累的人类宝藏(知识储备)越来越多,随着知识量的增加,人们越来越不能做到全知全能,逐步的开始根据能力、爱好、特长等等,进行职责的划分,各行各业,各式各样的生活方式不断涌现。

软件发展也是如此,随着科技的不断发展,软件与硬件的相辅相成互相促进,从最初的机器码“大佬”,到汇编语言“大牛”,从面向过程到面向对象的范式演进,从基础的 OO 到 DDD 的发展,从单体应用到微服务,随着业务规模的急剧膨胀,人机交互诉求越来越复杂,软件代码规模指数级增长。

代码量的提高让我们最终产品的可能暴露出的安全隐患越来越多,让我们从应用的生命周期来看一看,软件一生中的每一步可能会涉及到的安全问题。

(个人理解,非安全领域的小猿,若有不当、不到位之处欢迎指出)

Predefine

从本文标题来看有三个关键词,应用、安全、软件生命周期

何谓应用

我想说软件安全,也想说网络安全,还想说产品安全,但我感觉可能应用更合适一些,因为总感觉生活中用到的软件、网络、产品这些词都像是再说我们作为“产品受众”来说所直接接触到的东西,当然也许我用应用也并不合适。

我认为的应用是:一切独立的可提供功能的被独立编译出来的文件。

无论是动态链接库、可执行文件、藏在容器里不知道自己还有兄弟姐妹的软件、虚拟机里以为这就是整个世界的程序、手机的一个 APP、浏览器看到的那个页面、嵌入式设备里容易被忽视的那些不间断运行的代码、设计出来的专用芯片中深入骨子里固化的逻辑……

无论他们是何种形态,都在独立的默默付出,或者协作着搞事情,但从软件的世界来看,就算独立的软件他们也在以“社会”这个中间媒介间接地交流着

为什么括号里再写个网络安全?可能现在不写网络,受众会很小吧

何谓安全

安全,我认为不止局限于是否能够抵御非正当的入侵手段,还应该能够做到在大量的正当行为同时发生时能够争取的有条不紊的处理(高并发情景)。

除此以外,在突发情况下(设备故障等),能够将手头正在做的事情适当的正确处理,以便于转交他人或事后完成(分布式事务)。

再除此以外,对于事实,无论何时我们都不应撒谎(幂等,最终一致性)

还可以再……

总之,作为一个应用,理应提供持续、稳定、正确、精准的价值输出。

何谓软件生命周期

哦,写到这我才发现写错了,准确来说按照我的定义要讲的是应用生命周期,nevermind……我相信认真读到这里的你并不介意,我要说的生命周期就是一个应用的

一个软件或者说产品的开发过程,可能会随着业务的膨胀逐渐的分割成多个微服务,或者多个 lib,以控制每个应用开发者需要掌控、理解的代码规模,但是这个复杂过程我讲不出来呀……让我们只看一个应用吧.

一个生命从出生到死亡,他经历了孕育、诞生、生长、成熟、衰亡。从没有意识的“任人摆布”,到一脸懵逼的看到新世界;从对社会充满好奇心的探索,到看破红尘的淡然;在时代浪潮中拼命前进,从一个弄潮儿逐渐变得力不从心,最后挥一挥衣袖不带走一片云彩。

软件生命周期也是如此,当有一个新的 idea 后,我们决定搞起来;当自我感觉良好的时候,让他跑起来……

让我们来一起养成一棵树,树种-树苗-大树-树林-森林,来看看树生何其艰难险阻!

孕育 - 请给“树”一个好的基础

OK,我们要找一个树种了,为了让树种有很大的几率破壳而出,直达云霄,我们需要找一个好种子,并勤奋的浇水施肥,为新生命的到来做好充足准备。

如同生命成长需要能量一样,一切应用都是由代码组成的,一个“茁壮”的应用一定要有良好的代码基础。

单人种树-艰辛也省心

版本管理系统(VCS):单人开发的时候,也需要记录我们开发的经历,就如同我们对树种孕育的各个阶段都有所研究一样,我们必须要记录代码的成长 / 扩张过程,否则无法回顾 / 审查历史代码,这时候就需要用,比如Git 、SVN 等。(link: https://en.wikipedia.org/wiki/Version_control)

历史不可磨灭:版本管理系统一般以有向无环图(DAG)等手段,保证代码的历史不可被篡改(link: https://en.wikipedia.org/wiki/Directed_acyclic_graph)

GPG秘钥:树到底属于谁?自己的树只能自己浇水。那么就需要证明浇水的人是自己了,可以通过一系列 token 手段,告知 VCS 我是谁。(link: https://en.wikipedia.org/wiki/GNU_Privacy_Guard)

多人种树-众人拾柴火焰高

代码审查:健康茁壮的成长,我们要保证代码的质量,这时候就需要进行 code review,除此以外,当多人开发的时候,任何人都能轻易地改变代码,此时可以考虑使用类似于 Github pull request 的确认流程,使“浇水”的过程互相认证,以降低隐藏很深的漏洞。

站在巨人的肩膀:在无特殊要求的情况下,尽可能的使用已有的轮子,依赖成熟、主流、正确的库 / 框架,可以极大地减少项目代码规模,少写点 bug。(写着写着就收到了这么贴切的事件:https://www.zdnet.com/article/two-malicious-python-libraries-removed-from-pypi/)

一定要注意“正确的”库 / 框架,也许我们信任某个主流的库,但是引用错了,那真的会是一个隐藏在无限深处的坑。(link: )

包完整性校验:好不容易找到个喜欢的东西,我相信谁也不希望半路被掉包。一般认为是 HTTPS 的远程仓库,但实际上不一定靠谱,若使用 https,请先人工确认我们使用的远程库是可靠的(或者说是知名的吧),毕竟 CA 证书只能保证链路中的安全性,无法保证源头。(link: https://www.gnupg.org/gph/en/manual/x135.html)

There are over 400 “Certificate Authorities” who may issue certificates for any domain. Many have poor security records and some are even explicitly controlled by governments. (link: https://whydoesaptnotusehttps.com/)#

团队种树-持续成长

当团队足够大,我们需要保证小树苗持续的成长。

CI/CD:持续集成、持续部署/交付,先让我们看看下面的过程(link1: https://en.wikipedia.org/wiki/Continuous_integration) (link2: https://en.wikipedia.org/wiki/Continuous_delivery) (link3: https://en.wikipedia.org/wiki/Continuous_deployment)

4、网络安全架构与应用安全架构解析 本文深入解析了网络安全架构师与应用安全架构师在保障系统安全中的关键角色,涵盖了他们在不同开发阶段的工作重点与挑战。从需求设计、开发、发布到支持阶段,详细阐述了应用安全架构师的具体职责与应对策略。同时探讨了在快速变化的软件开发环境中,架构师如何通过构建安全文化、加强协作、持续学习等方式确保系统的安全性和可靠性。 阅读详情

相关推荐

30、医疗级软件开发:风险、可用性与网络安全

本文探讨了医疗级软件开发中的关键领域,包括风险管理、可用性工程和网络安全。文中详细介绍了风险管理中的FMEA和FTA方法,强调了可用性工程在确保用户与设备安全交互中的作用,并深入分析了医疗设备网络安全的重要性及生命周期管理策略。这些内容为医疗软件开发提供了全面的指导和实践参考。

numpy6sculptor的博客 120

基于Claude AI的Dex个人操作系统:从零部署到高效工作流实战

在当今信息过载的时代,个人知识管理(PKM)和任务自动化成为提升效率的关键技术。传统PKM工具如Notion、Obsidian虽然提供了强大的信息存储能力,但本质上是被动的数据库,需要用户手动维护结构和链接,容易形成信息孤岛。其核心原理在于通过预设的文件夹结构和智能路由,实现信息的自动归类与关联。这种自动化同步机制的技术价值在于彻底消除重复劳动和决策疲劳,让用户从繁琐的信息整理中解放出来,专注于高价值思考。在实际应用场景中,它尤其适合需要处理大量会议、任务和人际关系的知识工作者,如产品经理、项目经理和团队领

weixin_42521558的博客 376

k8s RoCE 部署: k8s-rdma-shared-dev-plugin + macvlan cni

写给自己的入门篇 文章目录前言一、创建 k8s 集群二、启用 primary network三、启用 secondary networkk8s-rdma-shared-dev-pluginMultus CNISecondary CNIMulti-Network CRD四、启用 pod五、在 pod 中启动 RoCE 流量总结 前言 写给自己的扫盲篇。后续会在原理方面持续更新 一、创建 k8s 集群 k8s 集群的创建有多种方法,可以按照官方文档的说明来.

sunshuying1010的博客 9774

【实战指南】EC-Engineer中ESI配置与PDO Mapping全流程解析

本文详细解析了EC-Engineer中ESI配置与PDO Mapping的全流程操作,包括环境准备、ESI文件导入技巧、在线配置细节及故障处理。特别强调了WinPcap驱动的兼容性问题和PDO Mapping的最佳实践,帮助工程师高效完成EtherCAT总线配置,适用于工业自动化领域的伺服控制与运动协同场景。

weixin_28730927的博客 394

堆一呼一吸之间:动态扩缩容引发JVM堆内存震荡的伸缩算法、代际传导与容器定容解析

Kubernetes扩容后,新Java实例的GC频率常比老实例高出数倍,堆容量反复伸缩。本文从一次支付系统的GC陡增出发,结合HotSpot源码与JDK 8实测,拆解堆伸缩的记账规则:期望容量以GC后已用量为基数、以Xms为下限,按空闲比例判断扩缩,收缩只在老年代回收后按0%、10%、40%、100%步进;再剖析年轻代随老年代联动、晋升风暴与元空间触发线,对比Parallel、G1、ZGC等收集器及JDK 26的变化,讨论容器分账、HPA共振与原地扩缩容,最后给出分级定容、预热与监控的方案。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 15万+

【教程4>第4章>第22节】FFT频偏估计方法,导频+cordic频偏估计方法,costas环的性能对比

频偏范围适应性:Costas 环频偏锁定和基于 PN 导频和 CORDIC 算法的频偏估计都可以通过调整参数来适应一定范围的频偏,但 Costas 环的频率捕获范围相对较窄,而基于 PN 导频和 CORDIC 算法的频偏估计,基于 FFT 变换频偏估计对频偏范围较大。在高信噪比条件下,三种方法都可以获得较高的估计精度,但在低信噪比环境中,基于 PN 导频和 CORDIC 算法的频偏估计,基于 FFT 变换频偏估计这两个开环方案相对更具优势,而Costas 环频偏锁定的精度可能会受到较大影响.

FPGA/MATLAB学习教程/源码/项目合作开发 608

【GameFramework框架】一、框架介绍

这是GameFramework框架教程的第一篇,但是博主不准备直接就讲GameFramework框架。【GameFramework框架】二、GameFramework框架介绍了。框架(Framework)通常被理解为一种基础要素的集合,它们用于承载系统的必要功能。约束性:框架定义了解决特定问题的边界,并将相关的软件组件约束在这个范围内,以保持框架的内聚性和解决问题的专注性。支撑性:框架本身不直接解决问题,而是提供一个基础的支撑结构,使得在其上构建的解决方案更为灵活和高效。

优快云博客专家,Unity3D高级软件工程师,《Unity 3D从入门到实战》作者。 1万+

设计四翼无人机(Quadcopter)的自主降落控制算法

为四翼无人机建立动力学模型,包括其姿态(Pitch, Roll, Yaw)和位置(X, Y, Z)的变化。可以使用Aerospace Blockset中的预制模块,或者根据具体需求构建自定义模型。示例:简化动力学模型利用块模拟四翼无人机的基本行为,确保模型能够反映电机输出如何影响姿态和位置变化。

amy_mhd的博客 242

HTML爱心字母雨(完整代码)

HTML语言实现爱心字母雨的完整代码。

AIGC 2万+

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

上一篇: Spring JPA save 实现主键重复抛异常
下一篇: 初识 Inception
coologic
博客等级 码龄7年 35粉丝 161原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值