.NET企业应用安全开发动向-概览
太长不读版:试图从安全的全局视角触发,探讨安全的重要性,讨论如何识别安全问题的方法,介绍.NET提供的与安全相关的基础设施,以及一些与时俱进的安全问题,为读者建立体系化的安全思考框架。
引言
关于“安全”二字,“一千个读者有一个哈姆雷特”,有人说安全就是杀毒软件,有人说安全就是第三方软件的安全扫描,有人说安全就是渗透性攻击,而提到安全开发,大部分人则基本上没有进一步的认知,这又是什么新词?
由于不同理解的存在,使得企业应用开发者们很难从全局视角看待安全问题。如果我们联系当下的互联网新故事,或许会对这个概念有进一步的理解。
近期大事件:
近期互联网大厂系统有点不太稳定,前不久发生的热点:
阿里云崩了,由于RAM 系统出现故障,长达两小时的时间,使用了ak/sk 的应用调用都出现了问题,没过几天,阿里云的数据库也崩了,影响范围之大,一度被人以为是“年度之最”。然而,没过几天滴滴又崩了,据滴滴通报,由于底层系统原因,造成系统故障。本次事故预计持续时间长达20小时,由于滴滴面向全国人民、打车也是许多人日常出行的首选,其影响范围堪称空前绝后,刷新年度之最。随后,腾讯视频也出现了一些故障,与前两者相比可能没那么大,但事故方同样作为互联网顶流,自然而然也就备受关注。连续几起事故,使大家不得不怀疑,怀疑过去大厂所吹嘘的“安全”,搞不好都是人肉运维的功劳。
再往前,某直播平台CEO失联,有人说是平台上出现了赌博行为,一些主播利用直播平台进行操作,吸引观众下注,从中获取收益,有些“房间”一度每天流水几个亿,这种骚操作真的让人想都想不到。
再往前,某大型电商平台出现了个人信息泄漏事故,据说几十亿订单数据被人打包贩卖,根据图片来看,订单数据中包含用户真实姓名、订单号、商品名称型号、订单网址、用户手机号、地址等详细隐私信息。国人为数不多的隐私数据又一次当成了商品。
当然,除了国内有这种事故,国外也有,年初,推特推特发生信息泄漏,约2.35亿用户个人信息被泄。由此说明人类命运相互联系,跨越时空,无论你身处何处,总会被人关注,而你我的隐私数据,也是一些人最为关注的金矿。
安全是什么,安全开发是什么?
新闻再多,只要没发生在自己身上,终究只是故事,但只要发生在我们身边,就得成为“事故”,如果我们悲催的成为当事人,到时候肯定没办法去冷静的旁观事态的发展,得想尽办法去做各种善后措施,所以如果我们能利用这些教训,将助我们快人一步。
总结经验有三种方法,一种从别人的教训中总结经验,一种从自己的教训中总结经验,还有一种是从不总结经验。这些大厂们付出了巨额代价,给我们留下了思考:我们该怎么做以便避免此类事故的发生?这便是个安全话题。
安全,从广义上分为内容安全,数据安全,设备安全,行为安全。通俗理解,内容就是合规性问题,数据是指数据的产生、存储、分发的安全,行为是指操作过程和方法,设备就是主机和环境,通过这四个维度,使安全得以全方向的覆盖。
在软件开发过程中,如何将代码与各大安全结合起来,这就是属于安全开发的工作范围,笔者认为,安全开发贯穿在四大安全主题之中,是软硬件架构的一大核心关注点。这就要求我们在开发过程中,建立一套好的安全开发指导规则,这种开发准则不应受到软件部署架构复杂性的影响,放诸单体和服务化而皆准。
这就意味着我们应升维思考,不仅仅需要考虑解决问题,更需要考虑如何识别和防范问题,问题STRIDE和TARA 方法是两种常见的威胁建模分析方法。这两种方法,各有利弊,有时候可能还要结合起来使用。
作为成熟的企业应用框架,ASP.NET CORE 也推出了一系列与安全相关的基础设施,依托这些基础设施,使得我们能快速的将安全融入到产品开发之中。这些基础设施涵盖四大安全主题,如认证和鉴权,即便成熟如斯,它也在不断的升级完善,加密算法库又进一步充实,在应对安全性问题面前,我们的弹药又多了一点。
时代在发展,新技术也在不断涌现,以DevOps为代表的新型生产方式既在推动产业变革,也带来了新的挑战,而安全性问题首当其冲,引入的工具并非高枕无忧,说不定哪天就引入了新的风险因素,例如Jenkins ,作为一款专业的持续集成工具,它也几度因安全问题而带来骂名,容器也同样如此,一个小小的日志就可能把主机给打崩了。
结语
软件开发,看似稀松平常,奈何总有***民想要谋害我们(当然,有时候可能是自己人挖坑),所以有时候我们需要提前防范。作为一位开发者,笔者由于经常关注这些问题,形成了一些思考,并在.NET Conf China上与业界同仁共同探讨,期待能借助.NETCONF这个平台,抛砖引玉。
欢迎大家通过扫描二维码关注,同时还有几张讲师权益票,需要的朋友可以联系我,先到先得,送完为止。
.NET企业应用安全开发动向-概览的更多相关文章
- Web前端开发大系概览 (前端开发技术栈)
前言 互联网建立50多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000 ...
- Windows Phone 8.1 开发技术概览 (Universal APP)
前一阵真的比较懒 WP8.1 已经出来这么长时间了现在才更新BLOG让大家久等了,今天我先为大家介绍下 WP 8.1的开发框架,什么是微软所推崇的 Universal APP,以及我们要开发 Univ ...
- 钉钉企业应用C#开发笔记之一(免登)
关于钉钉 钉钉是阿里推出的企业移动OA平台,本身提供了丰富的通用应用,同时其强大的后台API接入能力让企业接入自主开发的应用成为可能,可以让开发者实现几乎任何需要的功能. 近期因为工作需要研究了一下钉 ...
- 01: 企业微信API开发前准备
目录:企业微信API其他篇 01: 企业微信API开发前准备 02:消息推送 03: 通讯录管理 04:应用管理 目录: 1.1 术语介绍 1.2 开发步骤 1.1 术语介绍返回顶部 参考文档:htt ...
- 企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作完善中...SpringMVC+JSP)
关于即时到账的开发.审核通过.简单测试如下. 希望看的可以收藏或者赞一下哦. 1:拥有自己的支付宝企业账号.去产品商店选择适合自己的方案.并签约合同. 2:选择合适的商家收款产品并去签约.填写相应的信 ...
- WebAPI 权限控制解决方案——Phenix.NET企业应用软件快速开发平台.使用指南.21.WebAPI服务(三)
21.1 数据服务 21.1.1基本操作功能 Phenixヾ的数据服务,提供了如下的基本操作: 功能 Type URI 参数 完整获取实体集合对象 GET api/Data 分页获取实体集合对象 ...
- JeeSite 企业信息化快速开发平台
平台简介 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台. JeeSite本身是以Spring Framework为核心容器,Spri ...
- Office 365开发环境概览
本文于2017年3月26日首发于LinkedIn,原文链接请参考这里 本系列文章已经按照既定计划在每周更新,此前的几篇文章如下 Office 365 开发概览系列文章和教程 Office 365开发概 ...
- 企业信息化快速开发平台--JeeSite
JeeSite是在Spring Framework基础上搭建的一个Java基础开发平台,以Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Eh ...
- myEclipse+Spring boot+Hbuilder+jwt Token+mongoDB+企业微信H5开发
企业微信应用的H5开发 1.参考文档:weUI:http://jqweui.com/ 2.企业微信接口文档:https://work.weixin.qq.com/api/doc#10029 3.百度地 ...
随机推荐
- SDP协议理解
目录 SDP协议 协议格式说明 协议格式 常见属性 协议版本号 v= -- Protocol Version 会话发起者: o= -- Origin 会话名 s= 连接数据:c= 媒体描述:m= 附加 ...
- module.exports和exports,应该用哪个
在 Node.js 编程中,模块是独立的功能单元,可以在项目间共享和重用.作为开发人员,模块让我们的生活更轻松,因为我们可以使用模块来增强应用程序的功能,而无需亲自编写.它们还允许我们组织和解耦代码, ...
- Tarjan基础用法
\(\operatorname{Tarjan}\) 基础用法 目录 \(\operatorname{Tarjan}\) 基础用法 \(\operatorname{Tarjan}\) 求最近公共祖先 前 ...
- 干掉 CRUD!这个API开发神器效率爆炸,无需定义MVC类!!
简介 magic-api 能够只通过 UI 界面就能完成简单常用的接口开发,能够支持市面上多数的关系性数据库,甚至还支持非关系性数据库 MongoDB. 通过 magic-api 提供的 UI 界面完 ...
- api接口对接如何实现,php如何对接api
API接口对接是现代软件开发中不可或缺的一部分,它允许不同的应用程序之间进行数据交换和服务调用.在PHP中,可以使用多种方式实现API接口的对接,包括基于HTTP协议的传统方法以及现代的API客户端库 ...
- DeferredResult异步处理spring mvc Demo
一.概述 spring mvc同步接口在请求处理过程中一直处于阻塞状态,而异步接口可以启用后台线程去处理耗时任务.简单来说适用场景: 1.高并发: 2.高IO耗时操作. 二.Demo Spring M ...
- T-SQL——关于数据合并(Merge)
目录 0. 背景说明及测试数据 1. 直接清空,重新插入 2. 单条记录执行插入.更新操作 3. Merge函数 3.1 准备测试数据 3.2 测试Merge 3.3 关于Merge 4.参考 sha ...
- 如何配置.h头文件include“”相对路径
编译工程时,找的是当前main.c文件下的.h文件,如果当前路径下没有就会报错,当前路径用.\表示,上一级目录用..\表示. 如果你的main.h文件在main.c的上一级目录中Include 文件夹 ...
- 研发提速:nacos+openfeign环境下的本地链接服务
项目研发过程中,经常会遇到与测试人员工作重叠的情况,十分影响效率. 做了一个修改,可以在本地环境启动项目后和测试环境交互,并且不影响测试环境,理论上也可以用于线上环境的异常的快速处理. 准备事项如下: ...
- ERP 财务管理的应付帐款流程
导读:应付帐款流程与应收帐款流程是财务管理的开端,也是财务工作的主要流程.若能够这两大流程控制好了,ERP系统的财务模块也就成功了一大半了.我先讲一下财务管理的应付帐款流程. 企业的应付帐款有很多种类 ...