SCI论文(www.lunwensci.com):
摘要:本文基于OWASP(开放式Web应用程序安全项目)TOP10 2021的十大漏洞进行分析和研究,逐步形成安全漏洞的定义、威胁、成因、修复及预防分析框架。Web应用的安全防御始终是一个动态的过程,需要共同防御,才能最大限度的降低Web安全漏洞带来的危害。
关键词:Web应用;安全漏洞;OWASP(开放式Web应用程序安全项目)TOP10 2021
Analysis and Research of Web Application Vulnerability
TANG Jun1,ZHAO Suyun2
(1.Yunnan Qujing Applied Technology School,Qujing Yunnan 655000;2.Yunnan Transportation Planning and Design Institute Co.,Ltd.,Kunming Yunnan 650000)
【Abstract】:Based on the analysis and research of the top ten vulnerabilities of OWASP(Open Web Application Security Project)TOP10 2021,this paper gradually forms an analysis framework of the definition,threat,causes,repair and prevention of security vulnerabilities.The security defense of Web application is always a dynamic process,which requiresjoint defense to minimize the harm caused by Web security vulnerabilities.
【Key words】:Web application;security vulnerability;OWASP(Open Web Application Security Project)TOP10 2021
随着大数据网络时代的到来,Internet已经成为一个非常重要的平台,人们在享受移动、Web网络时代带来的便利的同时,各种应用软件的功能和性能上都在不断的完善和提高,但在安全性上,往往遭到忽视,从而导致黑客利用各类漏洞得到服务器的控制权,轻则篡改网页内容,重则窃取重要内部数据,更为严重的则是在网页中植入恶意代码,使得网站访问者受到侵害,Web安全威胁日益凸显。如近年来发生的网络安全问题:2018年5月,重庆警方破获一起涉外黑客非法获取我国境内网站服务器权限并出售获利的案件,该黑客犯罪团伙通过寻找此类网站漏洞,植入木马病毒,控制网站服务器,入侵的网站达到200余个,非法控制网站500余个,涉案金额高达2千余万元。
针对Web服务的攻击手段五花八门,形形色色。为了帮助企业和开发团队规范应用程序开发流程和测试流程,提高Web产品的安全性,OWASP提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息。OWASP是一个非营利组织,其最具权威的就是“十大安全漏洞列表”,被广泛用于分类网络安全漏洞的严重程度[1]。
1 OWASP(开放式Web应用程序安全项目)TOP10 2021十大安全风险分析
(1)2021-Broken Access Control越权漏洞。从2017年的第五位上升到第一位,该漏洞是指应用在检查授权时存在纰漏,使得攻击者在获得低权限用户账户后,利用一些方式绕过权限检查,从而获得更高的数据权限。
原因:开发人员在对数据进行增、删、改、查询时对客户端请求的数据过分相信而遗漏了权限的判定[2]。
修复及预防:在建立完善的越权访问程序的基础上,注意:1)前后端同时对用户输入信息进行校验,双重验证机制;2)调用功能前验证用户是否有相应等级权限;3)执行关键操作验证用户身份,验证是否有操作数据的权限;4)直接对象引用的资源ID,防止攻击者枚举ID,敏感数据特殊化处理;5)对可控参数进行严格的检查和过滤。
(2)2021-Cryptographic Failures敏感数据泄露。较2017年上升一位。此问题应该重点关注于密码学相关的漏洞,这些漏洞通常会导致敏感数据泄露或系统受损。
原因:许多Web应用程序和API不能正确的保护敏感数据,如金融、医疗保健和PII(个人身份信息)等。攻击者可能会窃取或篡改这些弱保护的数据,从而进行信用卡欺诈、身份盗窃或其他犯罪行为[3]。
修复及预防:1)基于应用程序对不同的数据的存储、处理、传输进行分类管理,根据隐私法、监管要求或业务需求确定哪些数据是敏感的;2)根据分类数据从应用层面进行控制;3)使用适当的密钥管理;4)使用安全协议;5)对包含敏感数据禁用缓存;6)使用具有工作因子(延迟因子)的强自适应和加盐散列函数存储密码。
(3)2021-Injection注入类安全漏洞。较2017年下滑至第三位,当攻击者将无效数据发送到Web应用程序以使其执行该应用程序未设计/编程的操作时,就会发生代码注入。此安全漏洞的最常见示例是使用不受信任数据的SQL查询。即Web应用接口传入一些特殊字符,达到欺骗服务器执行恶意的SQL命令。
原因:当使用外部不可信任的数据作为参数进行数据库的增、删、改、查时,如果未对外部数据进行过滤,就会产生SQL注入漏洞。更为严重的后果可能导致Web应用服务器被植入后门程序[4]。
修复及预防:1)检查输入的数据是否具有所期望的数据格式;2)使用数据库特定的敏感字符转义函数把用户提交上来的非数字数据进行转义;3)严格限制Web应用的数据库的操作权限,给用户提供满足其工作的最低权限;4)当数据库操作失败时,尽量不要将原始错误日志返回以防止攻击者利用这些错误信息进行SQL注入。
(4)2021-Insecure Design不安全的设计。在2021中是新增的一项安全漏洞,侧重于与设计缺陷相关的风险,技术上与威胁建模、安全设计模式和参考架构有密切关联。主要包括:1)CWE-209:生成包含敏感信息的错误消息;2)CWE-256:未受保护的凭证存储;3)CWE-501:信任边界违规;4)CWE-522:受保护的凭证不足。
原因:软件设计中数据安全及信任边界不清,验证逻辑不完整。
修复及预防:1)在开发阶段增加验证逻辑,让数据安全地穿过信任边界,即从不受信任的一边移到受信任的一边;2)建立和使用安全设计模式库;3)将威胁建模用于关键身份验证、访问控制、业务逻辑和关键流;4)编写单元和集成测试以验证所有关键流都能抵抗威胁模型。
(5)2021-Security Misconfiguration安全配置错误。较2017年上升一位,攻击者通常会尝试利用未修补的缺陷或访问默认帐户、未使用的页面、未受保护的文件和目录等来获得未经授权的访问或系统知识。安全配置错误可能发生在应用程序堆栈的任何级别,此类缺陷经常让攻击者未经授权访问某些系统数据或功能。有时,此类缺陷会导致完整的系统受损。
原因:服务器及应用程序安全、权限配置不当。
修复及预防:1)删除或不安装未使用的功能和框架;2)作为补丁管理过程的一部分,审查和更新适用于所有安全说明、更新和补丁的配置的任务;3)分段的应用程序架构,通过分段、容器化或云安全组(ACL)在组件或租户之间提供有效、安全的分离;4)验证所有环境中配置,可使用自动化工具进行测试验证。
(6)2021-Vulnerable and Outdated Components易受攻击和过时的组件。在2017年称作“已知漏洞组件”,该类别从2017年的第9位上升,是一个难以测试和评估风险的已知问题。
原因:基于组件开发的模式使得多数开发团队根本不了解其应用或API中使用的组件,更谈不上及时更新这些组件了。
修复及预防:1)统一对应用使用的组件进行管理,移除不使用的依赖、不需要的功能、组件、文件和文档;2)持续监控对已使用组件的漏洞信息,可以使用软件分析工具来自动完成此功能;3)订阅关于使用组件安全漏洞的警告邮件;4)仅从官方渠道获取安全的组件,并使用签名机制来降低组件被篡改或加入恶意漏洞的风险,并定时对已使用的组件进行升级、打补丁;5)定时对已使用的组件进行安全配置和安全评估,尽量寻找可替代解决方案。
(7)2021-Identification and Authentication Failures认证和授权失败。该漏洞主要针对应用的身份验证和会话管理功能,一旦验证和会话管理功能失效,攻击者可盗取口令、密钥或会话凭证。利用漏洞冒充已验证用户,也是攻击者惯用手法之一。
原因:应用程序身份验证机制上发生的逻辑问题,例如不良会话管理容易导致用户名枚举(恶意行为者使用蛮力技术猜测或确认系统中的有效用户时)。
修复及预防:1)多因子身份验证是抵御验证失效的最佳办法,因为该方法可预防被盗凭证重用攻击之类的事件;2)不要使用任何默认凭据进行交付或部署;3)实施弱密码检查;4)使用服务器端、安全、内置的会话管理器,在登录后生成新的高熵随机会话ID;5)限制或增加延迟失败的登录尝试;6)通过对所有结果使用相同的消息,确保针对帐户枚举攻击加强注册、凭证恢复和API途径;7)使密码长度、复杂性和轮换策略符合ISO27001或NIST的密码策略。
(8)2021-Software and Data Integrity Failures软件和数据完整性故障。该漏洞着眼于在不验证完整性的情况下,做出与软件更新、关键数据和持续集成/持续部署管道相关的假设。
原因:如不安全反序列化程序程序没有对用户输入的反序列化字符串进行检测,导致反序列化过程可以被恶意控制,进而造成代码执行、Getshell等一系列不可控的后果。
修复及预防:1)确保未签名或未加密的序列化数据不会在没有完整性检查或数字签名的情况下发送到不受信任的客户端;2)通过签名或类似机制验证软件;3)确保库和依赖项使用受信任的存储库;4)确保使用软件供应链安全工具来验证组件不包含已知漏洞;5)确保CI/CD管道具有正确的配置和访问控制,以确保流经构建和部署过程的代码的完整性。
(9)2021-Security Logging and Monitoring Failures安全日志记录和监控失败。较2017年上升一位。此类故障会直接影响到可见、事件警报和取证的准确性。
原因:对应用的日志记录和监控不足,没有形成有效的系统实时监控机制。使攻击者能够进一步攻击系统、保持持续性或转向更多系统,以及篡改、提取或销毁数据。
修复及预防:1)确保所有登录、访问控制和服务器端输入验证失败都被记录,以识别可疑或恶意帐户,并保留足够的时间以允许延迟取证分析;2)确保以日志管理解决方案可以轻松使用的格式生成日志;3)确保日志数据编码正确,以防止对日志或监控系统的注入或攻击;4)确保高价值交易具有带有完整性控制的审计跟踪,以防止篡改或删除;5)应该建立有效的监控和警报,以便快速检测和响应可疑活动。
(10)2021-Server-SideRequest Forgery服务器请求伪造。是2021中新增的一项安全漏洞,也称为跨站端口攻击,攻击者通过伪造服务器请求与内网进行交互,从而达到探测内网,对内网进行攻击的目的(与多种攻击方式相结合),利用漏洞伪造服务器端发起请求,从而突破客户端获取不到数据限制。
原因:服务端提供了从其他服务器应用获取数据的功能,且没有对目标地址做过滤与限制。在真实的应用场景中存在一些安全策略,如Cookie策略、同源策略、“跨源”资源共享策略等都有可能是能触发CSRF漏洞的部分条件[5]。
修复及预防:1)在单独的网络中分段远程资源访问功能以减少SSRF的影响;2)强制执行“默认拒绝”防火墙策略或网络访问控制规则,以阻止除基本Intranet流量之外的所有流量;3)清理和验证所有客户端提供的输入数据;4)使用肯定的允许列表强制执行URL架构、端口和目标;5)不要向客户端发送原始响应;6)禁用HTTP重定向;7)注意URL一致性,以避免DNS重新绑定和“检查时间、使用时间”竞争条件等攻击。
2 Web安全漏洞的趋势分析
近几年层出不穷的Web安全事件,比如数据库资料被窃取、删除;服务器遭受入侵,用户帐号被盗;用户资料被修改、被钓鱼、勒索病毒等,且不断涌现出新型攻击手法,这些都说明了Web安全的重要性。越权漏洞和敏感数据泄露的问题,在大量用户的隐私信息泄露事件之后,所造成的负面影响比较大,因此越来越被重视。注入漏洞仍然在第三位一定程度说明其重要性和攻击危害的程度。今年新增的三项安全漏洞:不安全的设计、软件和数据完整性故障和SSRF都是从行业调查中添加的,说明新的漏洞在不断的被攻击和暴露,Web安全漏洞在未来一段时间内依旧是研究的重点领域和共同防御的重点。
3总结
本文以WASP TOP 10 2021的十大漏洞,分析了相关漏洞的概念、原理、修复和预防措施,Web应用的安全防御始终是一个动态的过程,需要用户、开发人员、网络管理人员、信息安全厂商等充分意识到网络安全的危害,不断的保持网络安全技术学习,关心网络安全漏洞及技术总结共同防御,才能最大限度的降低Web安全漏洞带来的危害。
参考文献
[1]郭锡泉,陈香锡.强化网络安全和安全情报意识,共筑网络安全防线:基于OWASP和CNCERT相关项目的分析[J].网络空间安全,2020,11(2):66-74.
[2]赵少飞,杨京,杨睿超,等.浅析Web应用中的越权访问漏洞[J].网络安全技术与应用,2020(5):15-16.
[3]谭军.OWASP发布十大Web应用安全风险[J].计算机与网络,2017,43(23):52-53.
[4]梁本来.Web应用安全漏洞与防御机制研究综述[J].电脑知识与技术,2021,17(1):54-55+68.
[5]王保锦,林卉,王健如,等.跨站请求伪造攻击技术浅析[J].网络安全技术与应用,2020(5):28-29.
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网!
文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jisuanjilunwen/39525.html