本公众号所发布的文章及工具只限交流学习,本公众号不承担任何责任!如有侵权,请告知我们立即删除。
网络安全架构图是按照现有网络安全需求整理,通过多个维度展现。本文章主要介绍网络安全架构中的应用层安全,其他维度的详细介绍后期会持续更新,敬请关注微信公众号浪飒sec
网络机遇和挑战并存,合理利用网络,有效做好安全建设至关重要。
网络安全架构从战略计划、安全管理、运维管理三个维度展开,需要人、制度、机器三方面协作,共同维护网络安全事业。
应用层安全指的是特定的应用程序内部安全问题,以及应用程序运行和资源应用方面的安全问题,包含应用安全和数据安全。
应用安全,是保障应用程序使用过程和结果的安全。简言之,就是针对应用程序或工具在使用过程中出现计算、访问授权、应用接口等安全问题,通过其他安全工具或策略来消除隐患。
数据安全,是指通过采取必要措施,确保数据处于有效保护和合法利用的状态,以及具备保障持续安全状态的能力,涉及对数据的收集、存储、使用、加工、传输、提供、公开等处理手段。
做好应用层安全需要从以下几个方面考虑:
授权访问-资源访问
加密访问
零信任防护-持续验证
接口安全
重放防护
数据共享脱敏
快照备份
一致性校验
授予用户进入系统的权利,或是授予用户访问特定文件、目录等资源的权利的情况下,用户获取某台计算机上特定数据的行为。增加人员、设备、应用和链路获取资源的权限,是有效提高应用层安全的有效手段。
加密是促进全球网络安全、公共安全、个人隐私和经济繁荣的一种综合性手段,应用层安全的核心主要还是加密技术,通过建立应用程序和客户访问之间的安全性保障访问过程中内容不被泄露,比如https协议通过在客户端浏览器和web服务器之间建立一条SSL安全通道,其作用是对网络传输中的数据进行加密,防止数据被截取或窃听,从而保证网络数据传输的安全性。
零信任属于新型网络安全防护理念,突破传统的“信任”,实现“持续验证,永不信任”。默认情况下是不信任企业网络内外的任何人、设备和系统,基于身份认证和授权重新构建访问控制的信任基础,从而确保身份可信、设备可信、应用可信和链路可信。零信任主要凸显三个“安全”:终端安全、链路安全和访问控制安全。
基于零信任,应在授权前对任何试图接入网络和访问网络资源的人、事、物进行验证。零信任五大核心原则如下:
身份是访问控制的基础
信任来自于端到端所有对象的身份,基于身份而非网络位置构建访问控制。
最小权限原则
资源可见和访问按需分配,仅授予执行任务所需的最小特权。
实时计算访问控制策略
根据主客体信任评估和访问需求进行策略计算,并持续评估以保证策略实时变更。
资源受控安全访问
所有业务场景下全部资源基于单个访问请求连接,进行强制身份识别和授权、鉴权和通道加密。
基于多源数据进行信任等级持续评估
包括身份、访问上下文等的实时多源数据的多样性和可靠性,提升信任评估策略计算能力。
零信任框架
零信任安全体系架构从网络中心化转变为身份中心化,所有的访问行为都需要以身份为中心进行细粒度的自适应访问控制。企业应该基于认证和授权重构访问控制的信任基础,并且基于尽可能多的数据源对访问者进行持续的可信度评估,根据评估结果动态地调整授权和访问控制策略。零信任架构总体框架如下图所示:
零信任框架中主要由两部分组成,分别为数据平面和控制平面,而数据平面包含所有应用程序、防火墙、代理服务器、路由器,以及它们直接处理网络上的所有流量,数据平面由控制平面指挥和配置。
访问主体首先经过控制平面处理请求信息,控制平面检查确定其请求具备合法的授权,转向数据平面动态配置,最后接收该客户端的访问流量。
零信任系统通过网络隐身、动态自适应认证、终端动态环境检测、全周期业务准入、智能权限基线、动态访问控制、多源信任评估等核心能力,满足多场景的企业应用安全访问需求,助力用户网络安全体系向零信任架构迁移,帮助用户实现流量身份化、权限智能化、访问控制动态化、运维管理极简化的新一代网络安全架构。零信任系统安全防护能力实现详情如下图所示:
API在应用程序中的激增,也更大程度的暴露攻击面,增加了程序的安全风险,逐渐成为程序被攻击的重要媒介,因此,API安全成为安全专业人员关注的领域。
想要实现应用程序接口安全,需要通过以下手段实现:
认证和鉴权
认证是对用户身份进行鉴别,判断其是否允许进行系统后续的操作,而接口认证是防止接口被任意应用调用,限制接口对未授权应用调用。
认证通过后,用户可以发起对资源的访问,服务端可使用session或者token的方式对后续用户请求进行鉴别,以判断是否具备访问该资源的权限。
加密和签名
在接口调用数据传输中,对传输数据加密防止数据被窃听,针对A1级别安全接口,使用AppSecret签名防止数据被篡改,使用对称算法加密防止数据被中间人攻击,针对A2级别的接口安全,应使用数字证书进行签名完成双向认证,使用非对称加密算法加密防止数据被中间人攻击;
常规漏洞防护
在API服务提供商接收到API数据请求后,完成解密之后,需要进行常规漏洞防护检测,比如sql注入、xss、RCE等等,可以通过开发框架中的提供好的函数或者开源的安全开发SDK完成。
数据合法性校验
数据合法性校验是每个系统都会有的校验、处理机制,只有在数据是合法的情况下才会进行数据处理,每个系统都有自己的验证规则,当然也可能有一些常规性的规则,比如参数的长度、参数的类型,参数的业务场景合法性等。
API限流
由于API接口所承载的业务不同,API接口被调用的频率也会不同,通过分析和监测API接口被访问和调用的频率来确保API接口未被攻击者攻击以及数据被泄漏,一般来说被攻击的API接口与正常接口调用情况在频率和调用总数上面都会出现较为明显的差异,因此通过统计API接口被访问的情况,进行限流等方式可以防护API出现被攻击者攻击甚至是拒绝服务的情况。
重放攻击是攻击者利用网络监听或者其余方式盗取认证凭据,通过发送一个目的主机已接收过的包,来达到欺骗系统的目的,主要用于身份认证过程,破坏认证的正确性。重放攻击能够由发起者,也能够由拦截并重发该数据的敌方进行。
了解了重放攻击后就利用重放攻击过程相关的参数实现重放防护。
加随机数。
通信双方增加随机数进行验证,保证随机数不重复。该方法优点是认证双方不需要时间同步,双方记住使用过的随机数,如发现报文中有以前使用过的随机数,就认为是重放攻击。缺点是需要额外保存使用过的随机数,若记录的时间段较长,则保存和查询的开销较大。
加时间戳
通信双方增加时间戳进行验证。该方法优点是不用额外保存其他信息。缺点是认证双方需要准确的时间同步,同步越好,受攻击的可能性就越小。但当系统很庞大,跨越的区域较广时,要做到精确的时间同步并不是很容易。
加流水号
通信双方在报文中添加一个逐步递增的整数,只要接收到一个不连续的流水号报文(太大或太小),就认定有重放威胁。该方法优点是不需要时间同步,保存的信息量比随机数方式小。但是一旦攻击者对报文解密成功,就可以获得流水号,从而每次将流水号递增欺骗认证端。
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。涉及安全数据或者商业性敏感数据,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。
通过数据脱敏产品,可以有效防止企业内部对隐私数据的滥用,防止隐私数据在未经脱敏的情况下从企业流出。
快照备份是数据恢复技术的一种,利用某个时间点的快照数据进行备份。快照可以提供比传统备份系统更快、更容易的备份,而且它们还能提供快照恢复时间目标点。
在做数据分析时,我们经常会遇到一致性检验的问题,即判断不同的模型或者分析方法在产出结果上是否具有一致性、模型的结果与实际结果是否具有一致性等。一致性检验的目的在于比较不同方法得到的结果是否具有一致性。