网络安全简介

如果你觉得这篇文章对你有帮助,请不要吝惜你的“关注”、“点赞”、“评价”,我们可以进一步讨论实现方案和细节。你的支持永远是我前进的动力~~~

1.网络安全定义:

  1. 网络安全是指网络系统的硬件软件及其系统中的数据受到保护,不因偶然的或者恶意的原因而遭受到破坏、更改、泄露,系统连续可靠正常地运行,网络服务不中断
  2. 狭义解释:

网络安全在不同的应用环境下有不同的解释。针对网络中的一个运行系统而言,网络安全就是指信息处理和传输的安全。它包括硬件系统的安全、可靠运行,操作系统应用软件的安全,数据库系统的安全,电磁信息泄露的防护等。狭义的网络安全,侧重于网络传输的安全。

  1. 广义解释:

由于网络是信息传递的载体,因此信息安全与网络安全具有内在的联系,凡是网上的信息必然与网络安全息息相关。信息安全的含义不仅包括网上信息的安全,而且包括网下信息的安全。现在谈论的网络安全,主要是是指面向网络的信息安全,或者是网上信息的安全

网络传输的安全与传输的信息内容有密切的关系。信息内容的安全即信息安全。即网络安全从其本质上来讲就是网络上的信息安全。包括安全三要素CIA,即信息的保密性、完整性和可用性。

2.不同环境和应用中的网络安全:

网络安全主要包括运行系统安全、网络信息安全、信息传播安全、信息内容安全

(1)运行系统安全

运行系统安全即保证信息处理和传输系统的安全。它侧重于保证系统正常运行。避免因为系统的崩演和损坏而对系统存储、处理和传输的消息造成破坏和损失。避免由于电磁泄翻,产生信息泄露,干扰他人或受他人干扰。

(2)网络信息安全

网络上系统信息的安全。包括用户口令鉴别,用户存取权限控制,数据存取权限、方式控制,安全审计。安全问题跟踩。计算机病毒防治,数据加密等。

(3)信息传播安全

网络上信息传播安全,即信息传播后果的安全,包括信息过滤等。它侧重于防止和控制由非法、有害的信息进行传播所产生的后果,避免公用网络上大云自由传翰的信息失控。

(4)信息内容安全

网络上信息内容的安全。它侧重于保护信息的保密性真实性完整性。避免攻击者利用系统的安全漏洞进行窃听、冒充、诈骗等有损于合法用户的行为。其本质是保护用户的利益和隐私。

3.安全开发

安全开发生命周期(SDL)是一个帮助开发人员构建更安全的软件和解决安全合规要求的同时降低开发成本的软件开发过程。 安全应用从安全设计开始,软件的安全问题很大一部分是由于不安全的设计而引入的,微软用多年的经验总结出了安全开发生命周期(SDL),并提出了攻击面最小化、STRIDE威胁建模等多种方法辅助安全人员对软件进行安全设计。安全设计对于软件安全的重要性尤为可见。

3.1安全三要素:

信息安全三要素信息安全三属性
保密性认证
完整性鉴权
可用性审计

3.2安全设计核心原则

●Attack Surface Reduction:攻击面最小化
●Basic Privacy: 基本隐私
●Least Privilege: 权限最小化
●Secure Defaults: 默认安全
●Defense in Depth:纵深防御
●Threat Modeling:威胁建模

3.2.1攻击面最小化

攻击面是指程序任何能被用户或者其它程序所访问到的部分,这些暴露给用户的地方往往也是最可能被恶意攻击者攻击的地方。

攻击面最小化即是指尽量减少暴露恶意用户可能发现并试图利用的攻击面数量。软件产品的受攻击面是一个混合体,不仅包括代码、接口、服务,也包括对所有用户提供服务的协议。尤其是那些未被验证或者远程的用户都可以访问到的协议,安全人员在攻击面最小化时首先要对攻击面进行分析,攻击面分析就是枚举所有访问入库、接口、协议一剂可执行代码的过程,从高层次来说,攻击面分析着重于:

  • 降低默认执行的代码量
  • 限制可访问到代码的人员范围
  • 限定可访问到代码的人员身份
  • 降低代码执行所需权限

3.2.2基本隐私

用户使用软件时无可避免个人信息被收集、使用甚至分发,企业则有责任和义务建立保护个人信息的保护措施,抵御敌对攻击行为,确保用户基本隐私的安全性。隐私安全是建立可信任应用程序的关键因素。

在软件设计时考虑用户基本隐私的必要性及意义有:

  • 履行法律规定和义务
  • 增加客户的信赖
  • 防止堵塞部署

对于特殊的软件或者全球性的产品,设计人员需要明确软件的行为及针对人群。尤其要考虑当地国家的法律法规,如美国儿童网路隐私保护法COPPA(Children’s Online Privacy Protection Act)等,企业在开发产品、服务时有必要制定明确的隐私准则,对获取、记录用户隐私的相关产品需有明确的要求和指导建议。

Tips:

  • 只收集程序必须用到的隐私数据,并明确告知用户并征得用户同意;
  • 微软对于用户隐私数据如密码、口令等均需要加密存储,最低要求是sha256+salt,对于更高要求的则使用PBKDF2算法加密存储

3.2.3权限最小化

如果一个应用程序或网站被攻击、破坏,权限最小化机制能够有效的将潜在损害最小化。常见的权限最小化实践如:

  • 普通管理员/系统管理员等角色管理
  • 文件只读权限/文件访问权限等访问控制
  • 进程/服务以所需最小用户权限运行

在进行软件设计时,安全设计人员可以评估应用程序的行为及功能所需的最低限度权限及访问级别,从而合理分配相应的权限。如果程序特定情况必须要较高级别的权限,也可以考虑特权赋予及释放的机制。即便程序遭到攻击,也可以将损失降到最低。

Tips:

  • Windows系统中网络进程、本地服务、用户进程的权限都较低且互相独立,分别为NETWORK SERVICE、LOCAL SERVICE、user权限,只有核心的重要进程实用SYSTEM权限;
  • 最新版本的Office程序打开不可信来源的文档时,默认时不可编辑的,同时也是默认不可执行代码的,即使存在缓冲区溢出漏洞,也不会执行shellcode等恶意代码;

3.2.4 默认安全

默认安全配置在客户熟悉安全配置选项之前不仅有利于更好的帮助客户掌握安全配置经验,同时也可以确保应用程序初始状态下处于较安全状态。而客户可根据实际使用情况而决定应用程序安全与隐私的等级水平是否降低。

Tips:

  • 在Win 7之后的Windows操作系统中,DEP(数据执行保护)默认是开启的。用户可设置选项改变DEP的状态;
  • Win 10默认启用安全防护软件Windows Defender,用户可选择关闭;

3.2.5 纵深防御

与默认安全一样,纵深防御也是设计安全方案时的重要指导思想。纵深防御包含两层含义:首先,要在各个不同层面、不同方面实施安全方案,避免出现疏漏,不同安全方案之间需要相互配合,构成一个整体;其次,要在正确的地方做正确的事情,即:在解决根本问题的地方实施针对性的安全方案。

纵深防御并不是同一个安全方案要做两遍或多遍,而是要从不同的层面、不同的角度对系统做出整体的解决方案。

Tips:

  • 针对XSS的防护,除了要对用户输入的特殊符号进行过滤,还要区分是否是富文本进而进行相应编码操作,在输入时过滤的同时在输出时也进行过滤操作。
  • 即使做了十足的过滤、编码等安全防护,为了更一步确保缓解XSS攻击,Web站点也可以对Cookie启用HTTP-Only属性,确保即使发生XSS攻击,也可以阻止通过脚本访问Cookie的操作。

3.2.6 威胁建模

威胁建模是一种分析应用程序威胁的过程和方法。这里的威胁是指恶意用户可能会试图利用以破坏系统,和我们常说的漏洞并不相同。漏洞是一个特定的可以被利用的威胁,如缓冲区溢出、sql注入等。

作为SDL设计阶段的一部分安全活动,威胁建模允许安全设计人员尽在的识别潜在的安全问题并实施相应缓解措施。在设计阶段把潜在的威胁发现有助于威胁的全面和更有效的解决,同时也有助于降低开发和后期维护的成本。威胁建模的一般流程如下:

  • 与系统架构师及设计人员沟通,了解设计详情
  • 使用成熟的威胁建模方法分析当前设计潜在的安全问题
  • 提出安全建议及对潜在威胁的缓解措施
  • 对安全设计进行验证并对整个设计方案进行回顾并再次确认

微软使用的威胁建模方法是STRIDE威胁建模方法。为了便于安全人员快速便捷的进行威胁建模,微软开发基于STRIDE威胁建模方法的SDL Threat Modeling Tool[2]威胁建模工具,该工具可以帮助安全人员画数据流图、分析威胁、生成并导出威胁建模报告。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吕玉生

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值