首页 > 其他分享 >.NET企业应用安全开发动向-概览

.NET企业应用安全开发动向-概览

时间:2023-12-10 22:22:34浏览次数:39  
标签:事故 安全 概览 企业应用 开发 NET 我们

太长不读版:试图从安全的全局视角触发,探讨安全的重要性,讨论如何识别安全问题的方法,介绍.NET提供的与安全相关的基础设施,以及一些与时俱进的安全问题,为读者建立体系化的安全思考框架。

引言

关于“安全”二字,“一千个读者有一个哈姆雷特”,有人说安全就是杀毒软件,有人说安全就是第三方软件的安全扫描,有人说安全就是渗透性攻击,而提到安全开发,大部分人则基本上没有进一步的认知,这又是什么新词?

由于不同理解的存在,使得企业应用开发者们很难从全局视角看待安全问题。如果我们联系当下的互联网新故事,或许会对这个概念有进一步的理解。

近期大事件:

近期互联网大厂系统有点不太稳定,前不久发生的热点:

阿里云崩了,由于RAM 系统出现故障,长达两小时的时间,使用了ak/sk 的应用调用都出现了问题,没过几天,阿里云的数据库也崩了,影响范围之大,一度被人以为是“年度之最”。然而,没过几天滴滴又崩了,据滴滴通报,由于底层系统原因,造成系统故障。本次事故预计持续时间长达20小时,由于滴滴面向全国人民、打车也是许多人日常出行的首选,其影响范围堪称空前绝后,刷新年度之最。随后,腾讯视频也出现了一些故障,与前两者相比可能没那么大,但事故方同样作为互联网顶流,自然而然也就备受关注。连续几起事故,使大家不得不怀疑,怀疑过去大厂所吹嘘的“安全”,搞不好都是人肉运维的功劳。

再往前,某直播平台CEO失联,有人说是平台上出现了赌博行为,一些主播利用直播平台进行操作,吸引观众下注,从中获取收益,有些“房间”一度每天流水几个亿,这种骚操作真的让人想都想不到。

再往前,某大型电商平台出现了个人信息泄漏事故,据说几十亿订单数据被人打包贩卖,根据图片来看,订单数据中包含用户真实姓名、订单号、商品名称型号、订单网址、用户手机号、地址等详细隐私信息。国人为数不多的隐私数据又一次当成了商品。

当然,除了国内有这种事故,国外也有,年初,推特推特发生信息泄漏,约2.35亿用户个人信息被泄。由此说明人类命运相互联系,跨越时空,无论你身处何处,总会被人关注,而你我的隐私数据,也是一些人最为关注的金矿。

安全是什么,安全开发是什么?

新闻再多,只要没发生在自己身上,终究只是故事,但只要发生在我们身边,就得成为“事故”,如果我们悲催的成为当事人,到时候肯定没办法去冷静的旁观事态的发展,得想尽办法去做各种善后措施,所以如果我们能利用这些教训,将助我们快人一步。

总结经验有三种方法,一种从别人的教训中总结经验,一种从自己的教训中总结经验,还有一种是从不总结经验。这些大厂们付出了巨额代价,给我们留下了思考:我们该怎么做以便避免此类事故的发生?这便是个安全话题。

安全,从广义上分为内容安全,数据安全,设备安全,行为安全。通俗理解,内容就是合规性问题,数据是指数据的产生、存储、分发的安全,行为是指操作过程和方法,设备就是主机和环境,通过这四个维度,使安全得以全方向的覆盖。

在软件开发过程中,如何将代码与各大安全结合起来,这就是属于安全开发的工作范围,笔者认为,安全开发贯穿在四大安全主题之中,是软硬件架构的一大核心关注点。这就要求我们在开发过程中,建立一套好的安全开发指导规则,这种开发准则不应受到软件部署架构复杂性的影响,放诸单体和服务化而皆准。

这就意味着我们应升维思考,不仅仅需要考虑解决问题,更需要考虑如何识别和防范问题,问题STRIDE和TARA 方法是两种常见的威胁建模分析方法。这两种方法,各有利弊,有时候可能还要结合起来使用。

作为成熟的企业应用框架,ASP.NET CORE 也推出了一系列与安全相关的基础设施,依托这些基础设施,使得我们能快速的将安全融入到产品开发之中。这些基础设施涵盖四大安全主题,如认证和鉴权,即便成熟如斯,它也在不断的升级完善,加密算法库又进一步充实,在应对安全性问题面前,我们的弹药又多了一点。

时代在发展,新技术也在不断涌现,以DevOps为代表的新型生产方式既在推动产业变革,也带来了新的挑战,而安全性问题首当其冲,引入的工具并非高枕无忧,说不定哪天就引入了新的风险因素,例如Jenkins ,作为一款专业的持续集成工具,它也几度因安全问题而带来骂名,容器也同样如此,一个小小的日志就可能把主机给打崩了。

结语

软件开发,看似稀松平常,奈何总有***民想要谋害我们(当然,有时候可能是自己人挖坑),所以有时候我们需要提前防范。作为一位开发者,笔者由于经常关注这些问题,形成了一些思考,并在.NET Conf China上与业界同仁共同探讨,期待能借助.NETCONF这个平台,抛砖引玉。

欢迎大家通过扫描二维码关注,同时还有几张讲师权益票,需要的朋友可以联系我,先到先得,送完为止。

标签:事故,安全,概览,企业应用,开发,NET,我们
From: https://www.cnblogs.com/xiyuanMore/p/17893362.html

相关文章

  • 小程序物联网连接onenet
    wxml页面<view class="zong"><!--注释--><!-- 头--><view class="header"><view class="one"><text>空气质量:良好</text><text>广州市</text></view><!--注释--><view c......
  • Retentive Networks Meet Vision Transformers, 视觉RetNet
    alias:Fan2023tags:RetNetrating:⭐share:falseptype:articleRMT:RetentiveNetworksMeetVisionTransformers初读印象comment::(RMT)RetentiveNetwork(RetNet)因其显式衰减机制而在自然语言处理中受到关注,但它不适合基于图像的任务。本文提出了保留性自我注意力......
  • AgileConfig 1.8.0 已适配 .NET8
    Hello大家好。本月圈子里最大的事莫过于.NET8正式release。群友们都在适配.NET8。抽个周末我也把AgileConfig升级到了.NET8。下面把升级的过程简单记录一下,其中有个小坑,对大家升级的时候可能有所帮助。升级升级.NET8修改所有项目的目标框架为.NET8.0升级nuget包......
  • Netty源码学习8——从ThreadLocal到FastThreadLocal(如何让FastThreadLocal内存泄漏do
    系列文章目录和关于我一丶引入在前面的netty源码学习中经常看到FastThreadLocal的身影,这一篇我们将从ThreadLocal说起,来学习FastThreadLocal的设计(《ThreadLocal源码学习笔记》)二丶从ThreadLocal说起ThreadLocal是JDK中实现线程隔离的一个工具类。实现线程隔离maybe你第一反应......
  • .net core - 本地使用minikube搭建k8s - k8s(微服务学习) 一
    1.Docker-Desktop首先本地电脑需要安装docker-desktopDocker-Desktop的windows程序下载网址:docker-desktop2.K8s安装1.kubectl下载首先创建一个文件夹目录kubectl得安装可使用2种方式1.直接下载exe后放到该目录下载最新补丁版1.28: kubectl1.28.4。2.在创建目录......
  • .net中加解密用BouncyCastle就够了,支持常用的各种加密解密算法
    BouncyCastle是一个流行的Java加解密库,也支持在.NET平台上使用。下面是BouncyCastle在.NET下使用的一些常见功能,包括AES、RSA、MD5、SHA1、DES、SHA256、SHA384、SHA512等。在开始之前,请确保你已经将BouncyCastle的NuGet包安装到你的项目中。你可以通过NuGet......
  • Netty内置的http报文解码流程
    netty解码netty通过内置处理器HttpRequestDecoder和HttpObjectAggregator对Http请求报文进行解码之后,Netty会将Http请求封装成一个FullHttpRequest实例,然后发送给下一站。Netty内置的与Http请求报文相对应的类大致有如下几个:(1)FullHttpRequest:包含整个Http请求的信息,包含对Htt......
  • How to Use Docker and NS-3 to Create Realistic Network Simulations
    https://insights.sei.cmu.edu/blog/how-to-use-docker-and-ns-3-to-create-realistic-network-simulations/ HowtoUseDockerandNS-3toCreateRealisticNetworkSimulationsALEJANDROGOMEZMARCH27,2023Sometimes,researchersanddevelopersneedt......
  • linux安装telnet远程
    安装telnet远程1.RPM安装yuminstall-ytelnet*xinetd2.启动服务//开启xinetd服务systemctlrestartxinetd//xinetd开机自启systemctlenablexinetd//开启telnet.socket服务systemctlrestarttelnet.socket//telnet.socket开机自启systemctlenabletelnet......
  • Kubernetes声明性GitOps持续交付工具-Argo CD
    GitOps持续交付工具-ArgoCD1.ArgoCD简介Argo目前已被CNCF基金会收录,成为毕业项目。Argo站点地址:https://argoproj.github.io/,其中ArgoCD是Argo项目中的一个分支。argoCD文档帮助:https://argo-cd.readthedocs.io/en/stable/ArgoCD是用于Kubernetes的声明性GitOps持续交......