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

引言

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

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

近期大事件:

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

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

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

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

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

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

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

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

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

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

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

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

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

结语

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

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



.NET企业应用安全开发动向-概览的更多相关文章

  1. Web前端开发大系概览 (前端开发技术栈)

    前言 互联网建立50多年了,网站开发技术日新月异,但web前端始终离不开浏览器,最终还是HTML+JavaScript+CSS这3个核心,围绕这3个核心而开发出来大量技术框架/解决方案. 我从2000 ...

  2. Windows Phone 8.1 开发技术概览 (Universal APP)

    前一阵真的比较懒 WP8.1 已经出来这么长时间了现在才更新BLOG让大家久等了,今天我先为大家介绍下 WP 8.1的开发框架,什么是微软所推崇的 Universal APP,以及我们要开发 Univ ...

  3. 钉钉企业应用C#开发笔记之一(免登)

    关于钉钉 钉钉是阿里推出的企业移动OA平台,本身提供了丰富的通用应用,同时其强大的后台API接入能力让企业接入自主开发的应用成为可能,可以让开发者实现几乎任何需要的功能. 近期因为工作需要研究了一下钉 ...

  4. 01: 企业微信API开发前准备

    目录:企业微信API其他篇 01: 企业微信API开发前准备 02:消息推送 03: 通讯录管理 04:应用管理 目录: 1.1 术语介绍 1.2 开发步骤 1.1 术语介绍返回顶部 参考文档:htt ...

  5. 企业支付宝账号开发接口教程--JAVA-UTF-8(实际操作完善中...SpringMVC+JSP)

    关于即时到账的开发.审核通过.简单测试如下. 希望看的可以收藏或者赞一下哦. 1:拥有自己的支付宝企业账号.去产品商店选择适合自己的方案.并签约合同. 2:选择合适的商家收款产品并去签约.填写相应的信 ...

  6. WebAPI 权限控制解决方案——Phenix.NET企业应用软件快速开发平台.使用指南.21.WebAPI服务(三)

    21.1   数据服务 21.1.1基本操作功能 Phenixヾ的数据服务,提供了如下的基本操作: 功能 Type URI 参数 完整获取实体集合对象 GET api/Data 分页获取实体集合对象 ...

  7. JeeSite 企业信息化快速开发平台

    平台简介 JeeSite是基于多个优秀的开源项目,高度整合封装而成的高效,高性能,强安全性的开源Java EE快速开发平台. JeeSite本身是以Spring Framework为核心容器,Spri ...

  8. Office 365开发环境概览

    本文于2017年3月26日首发于LinkedIn,原文链接请参考这里 本系列文章已经按照既定计划在每周更新,此前的几篇文章如下 Office 365 开发概览系列文章和教程 Office 365开发概 ...

  9. 企业信息化快速开发平台--JeeSite

    JeeSite是在Spring Framework基础上搭建的一个Java基础开发平台,以Spring MVC为模型视图控制器,MyBatis为数据访问层, Apache Shiro为权限授权层,Eh ...

  10. myEclipse+Spring boot+Hbuilder+jwt Token+mongoDB+企业微信H5开发

    企业微信应用的H5开发 1.参考文档:weUI:http://jqweui.com/ 2.企业微信接口文档:https://work.weixin.qq.com/api/doc#10029 3.百度地 ...

随机推荐

  1. 通过Nginx权限认证拦截资源

    nginx认证转发模块 Module ngx_http_auth_request_module   详细参考官网 ngx_http_auth_request_module (nginx.org) 模块 ...

  2. 《SQL与数据库基础》04. SQL-DQL

    目录 DQL 基础查询 条件查询 分组聚合 聚合函数 分组查询 结果排序 分页限制 总结 本文以 MySQL 为例 DQL 语法结构: SELECT 字段列表 FROM 表名列表 WHERE 条件列表 ...

  3. Java 设计模式实战系列—单例模式

    本文首发公众号:小码A梦 单例模式是设计模式中最简单一个设计模式,该模式属于创建型模式,它提供了一种创建实例的最佳方式. 单例模式的定义也比较简单:一个类只能允许创建一个对象或者实例,那么这个类就是单 ...

  4. Spring中事务的传播行为有哪些?

    Spring中事务的传播行为有哪些? 现在我们来谈一个场景,再来引出事务传播行为这个概念.现在有methodA( ) 和 methodB( ),而且两个方法都显示的开启了事务,那么methodB( ) ...

  5. 全局安装oh-my-zsh保姆教程

    我的系统是CentOS 7.6,按流程走完后可以实现系统内所有用户都默认使用zsh且插件配置共享省去重复编写配置或软连接的烦恼 1 安装git yum -y install git 2 安装zsh y ...

  6. Sealos 新功能“定时任务”上线(省钱大杀器)

    流量高峰时段资源不足?低流量时段服务器成本过高? 本着好用又省钱的目标,sealos 推出 定时任务 功能,保证稳定的同时降低成本. Sealos 国内集群:https://cloud.sealos. ...

  7. 「luogu - P4126」「ahoi 2009」最小割

    link. 也许题不错,反正有点降智- 先给结论,在 \[V_N=V \\ E_N=E \\ c(x,y)=w(x,y) \] 的流网络中: 可行边:在增广完的 induced subgraph 中, ...

  8. proto转java类时相关option配置

    转载请注明出处: option java_multiple_files = true; 作用和意义:此选项指示生成的 Java 代码将被分割成多个文件而不是一个文件.每个消息类型都会生成一个单独的 J ...

  9. 在 Net7.0 环境下使用 RestSharp 发送 Http(FromBody和FromForm)请求

    一.简介 最近,在做一个数据传输的服务,我在一个Worker Service里面需要访问 WebAPI 接口,并传输数据,也可以提交数据.由于第一次使用 RestSharp 发送请求,也遇到了很多问题 ...

  10. 200PLC转以太网与1200PLC实现PUT GET通信

    200PLC转以太网与1200PLC实现PUT GET通信 本案例介绍西门子PLC200PLC 224或226,Port0或者是Port1串口通过兴达易控PPI-ETH-XD1.0plc以太网模块,2 ...