一次性付费进群,长期免费索取教程,没有付费教程。
教程列表见微信公众号底部菜单
进微信群回复公众号:微信群;QQ群:460500587
微信公众号:计算机与网络安全
ID:Computer-network
1、应用和数据安全面临的风险
应用安全风险是指信息系统在应用层面存在脆弱性进而受到内外部威胁影响的可能性。应用安全风险主要包括:病毒蠕虫、木马
后门
、口令猜测及暴力破解、拒绝服务攻击、SQL 注入、跨站脚本(XSS)、
代码
注入
、图片嵌入恶意代码、本地/远程文件包含、任意代码执行、远程命令执行、请求伪造、任意文件上传下载、任意目录遍历、源代码泄露、调测信息泄露、JSON挟持、第三方组件漏洞攻击、溢出攻击、变量覆盖、网络监听、会话标志攻击、越权和非授权访问、反序列化、APT攻击等。
研究表明,大多数的安全漏洞来自于软件自身,并且已经超过网络、操作系统的漏洞数量。
数据安全
风险是指信息系统在数据层面存在脆弱性进而受到内外部威胁影响的可能性。最主要的数据安全风险是数据或信息被非授权访问、泄露、修改或删除,具体又可以分为管理风险和技术风险。其中,管理风险主要涉及人员的因素包括:操作失误、故意泄露、人为破坏等;技术层面主要面临:病毒蠕虫、木马
后门
、任意文件上传下载、目录遍历、源代码泄露、调测信息泄露、数据库条目暴露、JSON挟持、网络监听、未授权访问以及APT攻击等可能导致数据泄露、篡改或破坏的风险。
近年来,针对数据库的攻击事件日益增多,拖库、撞库现象频发,归纳起来,数据库受到的常见威胁大致包括:误操作、错误的安全配置、内部人员泄密、未及时修复的漏洞、高级持续威胁(APT)等。
图1 大数据生命周期安全示意图
应用安全防护的最终目标是从系统建设的全生命周期入手,通过安全需求、安全设计、安全开发、安全测试以及系统上线后的安全加固,尽量减少应用系统安全漏洞和风险暴露面,从而实现应用系统安全、稳定、可靠地运行。
数据安全
建设和防护目标是在系统自身安全防护标准基础上,基于数据分类分级管理、敏感数据访问控制、外泄的安全监控以及数据在传输和存储过程中的加密管理,实现数据生命周期的安全管理,保证数据和信息不被非授权访问、篡改或破坏等,从而确保数据的保密性、完整性、可用性,如图2所示。
图2 数据安全主要目标示意图
数据库
安全的目标是在做好数据库系统的安全加固和日常维护基础上,尽量避免数据库安全风险隐患,同时建立完善的日志审计和应急恢复机制,保持数据库安全稳定运行,从而保障信息系统数据安全和业务连续性。数据安全涵盖范围示意图如图3所示。
图3 数据安全涵盖范围示意图
1)应对登录的用户进行身份标识和鉴别,身份标识具有唯一性,鉴别信息具有复杂度要求并定期更换。
2)应提供并启用登录失败处理功能,多次登录失败后应采取必要的保护措施。
4)用户身份鉴别信息丢失或失效时,应采用鉴别信息重置或其他技术措施保证系统安全。
5)应对同一用户采用两种或两种以上组合的鉴别技术实现用户身份鉴别。
图4 身份鉴别示意图
1)应提供访问控制功能,对登录的用户分配账号和权限。
3)应及时删除或停用多余的、过期的账号,避免共享账号的存在。
4)应授予不同账号为完成各自承担任务所需的最小权限,并在它们之间形成相互制约的关系。
6)访问控制的粒度应达到主体为用户级,客体为文件或数据库表级、记录或字段级。
7)应对敏感信息资源设置安全标记,并控制主体对有安全标记信息资源的访问。
1)应提供安全审计功能,审计覆盖到每个用户,对重要的用户行为和重要安全事件进行审计。
2)审计记录应包括事件的日期和时间、用户、事件类型、事件是否成功及其他与审计相关的信息。
3)应对审计记录进行保护,定期备份,避免受到未预期的删除、修改或覆盖等。
5)审计记录产生时的时间应由系统范围内唯一确定的时钟产生,以确保审计分析的正确性。
1)应提供数据有效性检验功能,保证通过人机接口输入或通过通信接口输入的内容符合系统设定要求。
2)在故障发生时,应能够继续提供一部分功能,确保能够实施必要的措施。
3)应提供自动保护功能,当故障发生时自动保护当前所有状态,保证系统能够进行恢复。
1)当通信双方中的一方在一段时间内未做任何响应,另一方应能够自动结束会话。
4)应能够对并发进程的每个进程占用的资源分配最大限额。
1)应采用校验码技术或加解密技术保证重要数据在传输过程中的完整性。
2)应采用校验码技术或加解密技术保证重要数据在存储过程中的完整性。
1)应采用加解密技术保证重要数据在传输过程中的保密性。
2)应采用加解密技术保证重要数据在存储过程中的保密性。
2)应提供异地实时备份功能,利用通信网络将重要数据实时备份至备份场地。
3)应提供重要数据处理系统的热冗余,保证系统的高可用性。
1)应保证鉴别信息所在的存储空间被释放或重新分配前得到完全清除。
2)应保证存有敏感数据的存储空间被释放或重新分配前得到完全清除。
图5 大数据个人信息画像示意图
身份鉴别是应用系统与用户建立信任关系、确认操作者身份的过程,应用系统的登录控制模块应具备以下功能:
1)应用系统与用户建立信任关系必须建立在对用户进行身份标识和鉴别的基础上,即用户名和口令,且应用必须具备检测机制,拒绝出现身份标识不唯一的情况。鉴别信息复杂度检测功能,通过内建的判断条件判断用户设置的鉴别信息是否为弱口令(历史口令),如果系统判断发现弱口令(历史口令),应拒绝用户将其设置为鉴别信息,并给出响应的口令设置建议。
2)要求用户在首次登录时修改初始鉴别信息、定期更换鉴别信息,并设置告警机制;对于临近更换日期还未更换鉴别信息的用户,在登录系统后应提示其更换鉴别信息;对于超出期限仍未更换鉴别信息的用户,系统应锁定或冻结其账户,拒绝登录系统。此类用户必须通过重置账户重新设置鉴别信息,并通过鉴别信息复杂度检测后才可继续登录和使用系统,重置的过程可由用户自行完成,对于特别重要的系统,建议由专职安全人员负责用户的解锁、解冻和重置操作。
3)登录失败处理功能。系统应该具备对暴力破解、字典攻击等针对身份标识和鉴别信息猜解行为的防护能力;对单个账户单位时间内的登录次数和失败次数、单个IP地址单位时间内的登录次数和失败次数设置阈值,一旦有某个账户或IP地址的登录行为超过阈值,应当触发账户保护机制,禁止一段时间内该账户的登录行为或该IP的所有登录行为,直到一段时间后再恢复其登录权限;对于特别重要的系统,当发生疑似身份标识和鉴别信息猜解行为后,应锁定或冻结该用户或IP地址,由专职安全人员负责重置操作。
4)鉴别信息找回或重置功能。当用户身份鉴别信息丢失(遗忘口令)或失效(未及时更改口令等)时,可以通过提供注册信息、短信验证码、密保问题回答、注册邮箱验证链接等方式协助用户找回或重置他们的口令;对于特别重要的系统,则不宜提供这些在线的口令找回或重置功能,应该由专职安全人员负责用户的口令找回或重置,并定期对其开展安全意识培训,防止其因安全意识淡薄成为信息系统被侵害的突破口。
5)组合身份鉴别技术。对于特别重要的系统,其遭受暴力破解、撞库攻击的可能性很高,攻击成功带来的损失和负面影响往往非常高昂和巨大,双因子身份认证技术弥补了传统密码认证方法的很多弊端。常见的可用于认证的因子可有三种:第一种因子最常见的就是口令等;第二种因子是如IC卡、令牌、USB Key等实物;第三种因子是指人的生物特征。所谓双因子认证就是必须使用上述三种认证因子的任意两者的组合才能通过认证的认证方法。
6)应用程序应该建立安全策略配置功能,可以实现统一的用户安全策略配置,也可以针对每个账户进行单独的安全策略配置。
访问控制
策略(其流程示意图如图6所示)的配置必须由安全管理人员完成,且必须遵循以下几点:
图6 访问控制策略流程示意图
1)应用系统应具备访问控制功能,为登录的用户分配相应的权限,类似于网络与通信安全层面访问控制策略的颗粒度。应用系统的访问控制也需要达到一定的颗粒度,对于主体,即发起访问的一方,颗粒度必须达到用户级;对于客体,即被访问的资源,颗粒度必须达到文件或数据库表、记录或字段级。
2)对于应用系统内置的账号,必须修改他们的用户名和口令。
3)对于人员流动、功能测试等原因产生的多余或过期的账号,必须删除或停用,并避免出现多人使用同一账号的情况发生。
4)在配置访问控制策略时应要考虑最小权限原则,仅分配给主体完成工作所需的最小权限,并注意不同角色之间权限的制衡,防止发生共谋等情况。
5)基于角色的访问控制。基于角色访问控制(RBAC)的一个重要特征是支持三条安全准则,即最小特权、职责分离和数据抽象,它通过给角色仅配置完成工作所需权限实现最小特权;通过角色静态、动态的互斥实现职责分离;通过对操作的封装实现数据抽象。对于权限可以继续地进行细粒度的控制,例如通过控制模块及数据展示可以实现更加细粒度的权限控制要求,角色如果具有模块级权限,就可以看到该模块页面。
6)对于特别重要的系统,可以在RBAC的基础上,配置强制访问控制功能,即通过引入安全标签将访问控制策略强加给访问主体,强制主体服从访问控制政策。强制访问控制对访问主体和受控对象标识两个安全标签,一个是具有偏序关系的安全等级标签,另一个是非等级分类标签,它们是实施强制访问控制的依据,系统通过比较主体和客体的访问标签来决定一个主体是否能够访问某个客体。用户的程序不能更改它自己以及任何其他客体的安全标签,只有管理员才能确定用户和组的访问权限。
强制访问策略:将每个主体与客体赋予一个访问级别,强制访问控制系统根据主体和客体的敏感标识来决定访问模式。模式包括:
① 向下读RD 主体安全级别高于客体安全级别时允许的读操作。
② 向上读RU 主体安全级别低于客体安全级别所允许的读操作。
③ 向下写WD 主体安全级别高于客体安全级别时允许的写操作。
④ 向上写WU 主体安全级别低于客体安全级别所允许的写操作。
应用系统应具备安全审计功能,审计范围(见图7)应覆盖到每一个主体及他们的重要行为和重要安全事件。例如用户的登录成功和失败、用户的密码修改和重置、用户的信息更改、用户对重要资源的访问和修改、访问控制策略的变更等,对于上述事件的记录内容至少要包括事件的日期和时间(由NTP服务器产生)、用户名和IP地址、事件的类型(登录、配置修改、资源访问)、具体的操作(修改了什么配置、访问了什么资源)以及操作是否成功等。另外,需要对审计记录和进程实时保护,对于审计记录要做到定期备份,保证记录可以保存6个月以上的时间,并通过访问控制功能防止用户删除、修改、覆盖审计记录或关闭审计进程。
图7 安全审计主要范围示意图
应用系统应具备一定的容错功能,首先需要对用户输入数据的有效性进行校验,确保用户按照系统规定的格式提交数据,对于非法的或可能损害系统的字符、语句,可以选择过滤、转义或拒绝。应用系统各功能模块对资源的需求等应做到相对独立,当资源出现抢占或发生其他不可预料的错误发生时,可以将影响范围尽量缩小。如果故障不可避免,应用系统应自动保存故障发生时的系统、数据、业务等状态,保证系统可以快速恢复到正常运行的状态。
应用系统应具备资源控制功能,用户在登录应用系统后在规定的时间内未执行任何操作,应自动退出系统,并对系统所能支持的最大登录人数、使用同一账号同时登录系统的人数进行限制。为避免磁盘空间不足、CPU利用率过高等情况,应对每个访问账户或请求进程占用的资源进行限制。
应用系统中通信双方应利用密码
算法
对数据进行完整性校验,保证数据在传输过程中不被替换、修改或破坏,对完整性检验错误的数据,应予以丢弃,并触发重发机制,恢复出正确的通信数据并重新发送。同时还应当保证数据在存储过程中不被替换、修改或破坏,例如使用摘要算法对重要文件预先计算摘要值,在使用前重新计算并与原摘要进行比对确保文件完整性,并制定和执行合理的备份策略,从而实现存储完整性被破坏的情况下的数据纠正和恢复。
应用系统中通信双方应利用密码
算法
(例如数字信封技术)对传输的数据加密传输,保证数据在传输过程中的保密性。同时还应对重要数据和文件设置严格的访问控制策略防止未授权访问,并在数据库管理系统中利用扩展存储过程实现数据在存储过程中的加密和解密。
重要数据应根据需要定期备份(其示意图见图8),达到本地数据备份与恢复功能要求。备份方式采取实时备份与异步备份或完全备份与增量备份相结合的方式,根据系统和数据重要程度决定备份周期,在两次完全备份之间合理安排多次增量备份,确保系统恢复点目标(RPO)满足设计要求。
图8 安全审计主要范围示意图
此外,备份光盘、磁盘、磁带介质应选择合适的存放地点,存放在介质柜中,由专人负责备份介质的出入库,并定期进行数据可用性检查和介质盘点。备份数据保存期限应符合国家相关规定和标准并满足系统设计的要求。
应为重要信息系统同步规划建设异地备份中心,在实现数据定时批量传送至备份中心的基础上,进一步实现用通信网络将重要数据实时备份至备份中心的更高要求。生产中心到备份中心的网络设备、通信线路和信息系统的硬件应具备较高承载能力,满足实时异地备份对基础环境的较高要求。异地实时备份一般可采用存储技术或虚拟化技术实现存储设备或云平台的实时同步。应对异地备份策略和实施情况定期进行测试验证,确保备份操作有效、数据可用。有条件的情况下,还可以建设灾难备份中心,实现应用级容灾。
应用系统、操作系统和数据库应具备剩余信息保护的功能,剩余信息是指当前用户在登出后仍然留存在系统内存、磁盘中的身份标识、鉴别信息或其他形式的登录凭证,以及敏感数据。系统应确保存有登录凭证或敏感数据的存储空间在重新分配给其他用户前被完全清除,防止信息泄露。
作为网络运营者,收集、使用个人信息,应当遵循合法、正当、必要的原则,公开收集、使用信息的规则,明示收集、使用信息的目的、方式和范围,并经被收集者同意;采取技术措施和其他必要措施,确保其收集的个人信息安全,防止信息泄露、毁损、丢失;未经被收集者同意,不得向他人提供个人信息;对于发生或可能发生信息泄露的情况,应按规定及时向用户和主管部门报告。个人信息保护示意图如图9所示。
图9 个人信息保护示意图
图10 数据库安全保护示意图
1)对数据库系统进行安全策略配置和加固,使用安全的密码和账号策略。例如:配置密码复杂度要求、禁用SQLserver的Windows
身份认证
登录方式等;删除多余的存储过程,防止利用内置存储过程提升权限或进行破坏;修改默认端口,防止基于常见端口的扫描和探测;对网络连接IP地址进行限制等。
3)通过数据库加密技术,防止由于敏感信息明文存储导致的泄密,通过加密协议进行数据传输,防止明文传输泄露风险;依靠独立于数据库的权限控制机制,实现三权分立的安全管理手段。此外,通过数据库脱敏技术,彻底解决生产区到测试区真实数据测试引发的数据泄露问题,在符合规定要求的同时,实现测试数据可用。
4)建立完善的数据库日志审计机制,通过数据库审计技术实现数据库的全面精确记录,配合相应的审计管理,构建风险状况、运行状态、性能参数和语句分布的实时监控和定期审计评估能力,及时发现、溯源和处置安全风险。
5)做好数据备份和应急管理,根据数据库承载业务的需要,设定合理的RTO、RPO目标和数据库备份策略并确保严格执行;定期检查备份有效性和开展数据恢复演练,确保一旦发生严重突发事件可以按照预定目标尽快恢复数据。
图11 Web应用访问示意图
Web
应用系统具有相对复杂的架构,从系统角度来看,Web应用系统中的服务器和客户端,可以分成三个层面:应用层、支撑技术和中间件以及底层的计算机资源。Web应用防护的主要目标包括以下两个方面:
信息安全
:
保护数据在存储、传输、处理过程中不被泄漏、破坏和免受未授权的修改。
服务安全:
保护系统连续正常的运行,免受对系统的未授权修改、破坏而导致系统不可用。
缺少认证机制或者认证机制配置不当:在Web应用程序权限设置不正确、不完整或甚至缺少授权检查,可能会允许攻击者访问敏感信息或未授权访问登录用户的信息。这些问题很常见,实际上所有Web应用程序在UI中使用验证函数级别访问权限。如果请求不验证,攻击者能够伪造请求,以访问未经授权的功能。
敏感数据泄漏:大多数Web应用程序没有正确地保护敏感数据,例如认证证书等,攻击者可以窃取或修改这些数据,可能会导致敏感数据泄漏。
源码泄露:当Web应用程序的后端环境代码暴露给不涉及应用程序开发的用户时,会发生源代码泄露问题。源代码泄露使攻击者能够通过读取代码和检查逻辑缺陷,以及查看硬编码的用户名/密码对或者API密钥来发现这个应用程序的不足以及漏洞。
利用已知的漏洞组件:漏洞组件加入被溢出,使用这些脆弱性组建的应用程序可能会影响应用程序的安全性,导致应用程序被攻击的范围和影响扩大。
1)确保Web服务器不发送显示有关后端技术类型或版本信息的响应头。
2)确保服务器上运行的所有服务都不会显示其构建和版本的信息。
3)确保所有目录的访问权限正确。
4)避免将账户密码编码到代码中去,避免在注释中泄露敏感信息和资料。
5)不要在网站上发布或存放任何敏感信息。
6)检查每个请求是否具有适当的访问控制,防止越权访问。
7)确保Web应用程序正确处理用户输入,并且始终为所有不存在/不允许的资源返回通用响应,以便混淆攻击者。
8)考虑所有可能遇到的情况,当异常发生时,能够保证信息不被泄漏。
9)配置Web服务器以禁止目录遍历。
身份鉴别安全控制点主要关注用户身份鉴别的功能,主要包括专用的登录控制模块、采用两种或两种以上组合的鉴别技术等。
① 对于采用两种或两种以上组合的鉴别方式,可以基于数字证书的UKEY等方式,以实现双重的身份认证,强化身份认证功能。
② Web应用程序应该建立安全策略配置功能,可以实现统一的Web用户安全策略配置,也可以针对每个账户进行单独的安全策略配置。
基于角色访问控制的一个重要特征是支持三条安全准则:最小特权,即通过给用户仅配置完成工作所需权限实现最小特权;职责分离,即通过角色静态、动态的互斥实现职责分离;数据抽象,即通过对操作的封装实现数据抽象。
① 对于权限可以继续地进行细粒度的控制,例如通过控制模块及数据展示可以实现更加细粒度的权限控制要求,角户如果具有模块级权限,就可以看到该模块页面。
② 可以在基于角色访问控制的基础上,为应用系统的功能菜单和操作分配安全标记,安全标记由级别和范畴集组成。其中,级别为资源的重要程度;范畴为资源可被使用的范围。
通信保密性主要关注通信过程中的会话,要求采用加密技术来实现初始化会话验证以及对整个通信报文或会话进行加密。
① Web 应用安全一般要保证通信过程数据完整性需要使用 https 协议来实现,一般Web 服务器具有此类型的证书。
② SSL 要求客户端与服务器之间的所有发送的数据都被发送端加密、接收端解密,同时还应检查数据的完整性。
图12 Web应用防火墙部署示意图
Web
应用防火墙可以在事前自动发现新增资产、评估漏洞及是否有保护策略;构建L2~L7层纵深防御体系,屏蔽防护短板且具备联动和关联分析能力;事后进行行为审计,深度挖掘访问行为、分析攻击数据、提升应用价值,为评估安全状况提供详尽报表。
目前,多数公安网安部门以及部分第三方服务提供商建设了云安全防御平台(其示意图见图13),在提供Web应用实时深度监控和防御的同时,实现对Web应用程序的攻击分析、智能扫描、云端加固、防御告警、敏感信息泄露防护等功能,为Web应用提供全方位的防护解决方案。主要可以实现以下功能:
图13 云安全防御平台示意图
安全监控:为用户提供了自定义时段内的安全概况、防护监控、攻击类型与风险占比、防御日志等重要信息,包括站点受攻击次数、时段、数量、危害,攻击者的分布、来源、渠道、手段等,还可以对攻击过程进行检索与排查,对防御日志进行排序与查看,从而掌握网站的安全概况。
攻击分析:采用可视化、图形化呈现,可以直观及时地了解攻击者与被攻击对象的多角度信息,包括坐标、地理位置、网络渠道、时段等信息,安全管理人员通过分析结论而采取相应措施。
全球地区组合图表的使用进一步提升了攻击方式、攻击渠道、攻击时段的多视角展现,对于每次攻击可以逐条追溯来源、手段以及具体的攻击代码。
智能防御:通过大量的攻防模拟与机器学习模型对终端进行持续升级,使得受保护的门户网站具备特征匹配校验与攻击智能分析双重安全保护,不但将请求中存在风险的参数、字符以及文件进行智能清洗与攻击阻断,确保只有安全的网络请求才能到达Web应用程序内部,同时也只允许安全的正常内容返回到用户浏览器端。
应用扫描:可以准确识别安装防护系统之前与之后存在于服务器上,因其他应用程序或未修补系统漏洞而造成的病毒传染与木马
后门
等。
云端加固:可以将最新的应用层风险特征码与拦截库在云端自动识别生成,推送至用户服务器中;
还将终端风险提报给专业的安全实验室进行漏洞测试,有针对性地编制并下发防御补丁,使得应用在防御常见风险攻击的同时,还可防御零日漏洞、偏门攻击等。
攻击告警:可在第一时间掌握攻击来源、攻击威胁、攻击频率,并可即时采取相应的防范措施。
用户在不打开系统的情况下,仍可以第一时间通过邮件、短信或者微信接收到应用攻击提醒与安全提示。
是指由电信运营商提供的针对拒绝服务攻击的防护,以针对攻击源的流量清洗和压制为主要手段,是一种弃卒保帅的手段,避免全站服务对所有互联网用户彻底无法访问,确保源站的稳定可靠。
DDoS
近源防护是对超过自身带宽存储和自身 DDoS 防御能力之外的超大流量的补充性缓解措施。
微信公众号:计算机与网络安全
ID:Computer-network