当前位置: 首页 > 科技观察

5大Web应用安全威胁和7大防护措施_0

时间:2023-03-12 00:13:09 科技观察

【.com快译】由于极易出现漏洞引发安全事件,数据隐私保护是目前大多数企业绕不开的运维环节.然而,许多中小型企业往往错误地认为只有大企业才是黑客的目标。但实际统计数据却大相径庭:43%的网络犯罪恰恰是针对小企业的。而且,无论是系统陈旧、漏洞未打补丁,还是各种恶意软件,甚至是一些人为失误,都可能成为系统的攻击面。如果您仔细观察当前的网络威胁形势,您可能会惊讶地发现90%的Web应用程序都是攻击者的潜在目标。因此,为了保护应用程序和数据资产免受威胁,各大在线社区(如OWASP和NIST)都努力制定各种安全标准和最佳实践,并以免费文档、方法、工具等形式协助企业.实施以增强其IT环境的安全态势。在深入探讨之前,让我们先来看一组惊人的数据:仅2020年上半年,企业数据泄露量就达到了360亿的记录。86%的网络安全漏洞是出于经济动机,而10%是间谍活动。按类别细分,45%的违规与黑客相关,17%与恶意软件相关,22%与网络钓鱼相关。许多金融公司允许员工无限制地访问各种文档资源,他们甚至可以访问公司内部约17%的敏感文件(约1100万个文件)。平均而言,只有5%的公司文件夹受到适当保护。此外,超过77%的企业没有事件响应计划。可见,针对上述威胁,我们应该采取积极主动的网络安全策略和严格的措施,确保敏感数据信息、网络应用和信息系统等资产不受攻击和侵害。下面,我将与大家一起探讨最重要的五种Web应用安全威胁,以及七种行之有效的防护措施和做法。1.注入漏洞注入漏洞允许攻击者轻松地将恶意代码植入目标应用系统(例如,解析器)。简而言之,如果您的Web应用程序允许用户将他们输入的信息插入后端数据库,或使用shell命令调用操作系统,那么您的应用程序可能会受到注入漏洞的影响。当然,您可以通过检查应用程序的源代码或对应用程序进行彻底的渗透测试来发现此类漏洞。最常见的注入漏洞类型是SQL注入。攻击者将恶意代码插入到SQL查询中,转发给后端数据库服务器进行远程窃取或攻击。除了常见的SQL注入,目前还有LDAP注入、XML注入、XPATH注入、OS命令注入、HTML注入。我们通常可以通过适当及时地检查和清理用户输入来防止此类威胁。2.身份验证失败身份验证失败是由于身份验证和会话管理控制实施不当造成的。如果攻击者能够成功识别并利用这些与身份验证相关的漏洞,他们就可以直接访问各种敏感数据和功能。要利用身份验证漏洞,攻击者需要通过使用诸如凭证填充、会话劫持、密码暴力破解和会话IDURL重写等方法来冒充应用程序的合法用户。我们可以通过实施强大的会话管理控制、多因素身份验证以及限制和监控失败的登录尝试来防止此类攻击。有关更多预防措施,请参阅--https://cheatsheetseries.owasp.org/cheatsheets/Authentication_Cheat_Sheet.html。3.敏感数据泄露当Web应用程序未能充分保护会话ID、密码、财务信息和客户数据等敏感信息时,就会发生数据泄露。此类泄露的内部原因主要包括:敏感数据未加密,仅采用弱加密,软件应用本身易受攻击,运营商将数据上传到错误的数据库。外部攻击因素包括:SQL注入、破坏认证和访问控制、钓鱼攻击、针对明文协议HTTP、FTP、SMTP传输数据的网络级攻击。针对此类泄漏,我们可以采取的主要措施包括:彻底检查应用程序的源代码和IT环境,尤其是在使用安全加密算法的地方。4.XMLExternalEntityXMLExternalEntityInjection(俗称XMLExternalEntity,XXE)允许攻击者通过Web应用程序中的漏洞干扰应用程序对XML数据的处理。此类攻击通常会导致拒绝服务、数据泄露、服务器端请求伪造等问题。我们可以通过实现服务器端输入验证、修补和升级所有XML处理器、使用SAST工具分析源代码来有效地防止XML外部实体注入。5.访问控制受损从概念上讲,访问控制机制是确定用户是否可以执行与其身份和权限相符的操作。当用户可以执行超出其预期权限的操作时,就会违反访问控制。受损的访问控制通常会导致:未经授权的信息泄露、直接修改或破坏数据以及业务功能偏离其预期用途。我们可以通过在受信任的服务器端代码或无服务器API中强制使用强大的访问控制来防止攻击者修改元数据或绕过正常的访问控制检查。鉴于Web应用在当前竞争激烈、快速发展的商业环境中显得尤为重要,我们可以通过以下七种针对Web应用的安全防护措施和实践来帮助企业保护自己的系统和数据。1.定义并采用适当的网络安全框架网络安全框架包括一系列文件和指南,这些文件和指南定义了组织在管理网络安全风险和减少漏洞时需要遵循的最佳实践。这里主要强调的是“适合的才是最好的”。我们需要对公司所在的行业和目前从事的业务进行研究。在此基础上,我们利用专业知识和业界已有的安全标准,为企业制定详细的规划和相应的安全策略。2.跟踪您的资产并进行威胁评估如今,大多数企业都会对IT资产进行在线操作和维护,例如:Web应用程序、网站、Web服务、API和基于云的软件即服务(SaaS),以进行管理。因此,在这样的IT环境中,他们需要不断地与内部和外部的各种系统进行通信。同时会暴露出很多功能接口。对此,企业需要实施的关键网络安全方案是资产发现。该链接可以帮助运维人员找到各种Web资产,以便他们根据需要保护目标组件并制定相应的安全策略。可以说,一旦创建了所有重要Web资产的列表,他们就可以开始执行威胁评估,以确定对当前应用程序的潜在威胁,并制定有效的缓解计划。3、遵守安全编码标准据软件工程研究所统计,约90%的软件安全问题是由软件设计或代码缺陷引起的。诚然,开发人员的主要工作是让应用程序正常运行,但如果忽视安全编码,无形中会留下各种安全漏洞和攻击后门。由此可见,我们需要实施安全编码标准,以确保软件和应用程序受到保护,免受安全漏洞的侵害。在实际项目中,我们可以在软件开发生命周期(SDLC)的早期引入安全,通过遵循OWASPSecureCodingSpecification和SEICERTCodingStandard这两个时下流行的安全编码标准,避免在后期测试和部署的时间和精力都花在了填补各种安全漏洞上。4.部署企业级安全解决方案最常见的企业级智能安全解决方案是Web应用防火墙(WAF)。它可以通过监视和过滤各种恶意HTTP流量来帮助保护Web应用程序免受SQL注入、跨站点脚本等攻击。也就是说,通过在Web应用程序和互联网之间放置一个WAF屏障,我们可以只允许合法用户访问并阻断各种恶意请求。当然,我们也可以考虑使用Burpsuitepro、Acunetix等专业的Web安全扫描器,快速扫描Web应用,识别潜在的漏洞。5、尽可能自动化在日常运维中,我们经常需要进行Web应用扫描、签名和行为分析、DDoS缓解等重复性工作。为了节省大量的时间和精力,安全人员应该与自动化技术人员合作,在确保各种任务可以自动化的前提下,增强Web应用程序的安全性。6.加密数据过去,Web应用程序通常使用明文HTTP协议进行通信。这将允许攻击者以中间人(MIM)方式作为通信的一方来窃取特定内容。如今,使用基于传输层安全(TLS)的HTTP加密已成为许多企业应用程序的必备条件。同时,它也成为了大多数浏览器的默认配置项。HTTPS加密可以保持用户浏览器与服务器之间传输数据的完整性。也就是说,当用户使用HTTPS协议连接到网上银行应用等网站时,浏览器会根据证书建立一个安全的TLS会话,以保证浏览器与服务器之间的请求和响应是加密的.显然,此类加密技术是维护敏感用户数据的机密性和完整性的良好做法。7.渗透测试最后一个有效的安全策略是定期对Web应用程序进行全面的渗透测试,及时发现目标系统的关键漏洞。渗透测试可以模拟攻击者或黑客扫描并试图攻击系统的入口和出口、源代码、数据库、公开来源和后端网络。测试完成后,渗透者将对发现的漏洞出具优先级排序报告,并参考行业最佳标准协助开发团队进行漏洞修复和安全整改。总结至此,我们讨论了企业目前面临的五大Web应用威胁,以及应对威胁的七大技术实践和防护措施。当然,还需要对运维人员和普通员工进行最新威胁概念的教育,以及基本的威胁识别和防范。总之,对于攻击,越早发现和处理,就越安全。原标题:5种Web应用安全威胁及7种防范措施,作者:CyrilJames