海塘题库|十大Web应用安全风险你了解多少? | 云计算


_本文原题:十大Web应用安全风险你了解多少? | 云计算
海塘题库|十大Web应用安全风险你了解多少? | 云计算
本文插图

最近公司招了些新手 , 做了些小项目 , 然而很快就出了问题 , 数据库被攻击了 , 损失了已录入700多条数据的数据库 。 痛定思痛 , 这时突然想起了OWASP TOP10(十大最关键的Web应用安全风险) , 所以今天浅谈下OWASP TOP10 , 并将此内容纳入技术团队的培训内容 。
OWASP TOP10描述的是应用软件面临的安全风险 。 OWASP官方网站上的最新版是2017年的版本 , 由于没有最新的版本 , 所以我们以此为标杆 。 这个列表总结了Web应用程序最可能、最常见、最危险的十大漏洞 , 可以帮助IT公司和开发团队规范应用程序开发流程和测试流程 , 提高Web产品的安全性 。 这也是我们采用此文档作为培训标杆的根本原因 。
OWASP TOP 10
A1:Injection(注入漏洞)
可利用性:3 - 容易
漏洞普遍性 :2 - 常见
漏洞可检测性:3 - 容易
技术影响:3 - 严重
注入包括SQL注入、OS注入、LDAP(轻量级目录访问协议)注入等 , 可导致解释器将非受信数据作为查询或指令的一部分加以接收 。 攻击者可利用注入来诱骗解释器执行恶意代码 , 或赋予他们本不应有的敏感数据访问权 。
开发人员和经理只要经常进行安全代码审查 , 就可有效避免应用被注入 。 在持续集成和持续交付(CI/CD)管道中引入SAST和动态应用测试(DAST) , 是做到这一点的好办法 。
A2:Broken Authentication(失效的身份认证)
可利用性:3 - 容易
漏洞普遍性 :2 - 常见
漏洞可检测性:2 - 一般
技术影响:3 - 严重
应用的身份验证和会话管理功能 , 未必能正确实现 。 一旦验证和会话管理功能失效 , 攻击者可盗取口令、密钥或会话凭证 。 利用漏洞冒充已验证用户 , 也是攻击者惯用手法之一 。
多因子身份验证是抵御验证失效的最佳办法 , 因为该方法可预防被盗凭证重用攻击之类的事件 。 开发人员和经理不应在应用中留有管理员凭证 。 检查弱口令并限制登录失败次数的功能 , 则应加入到应用中 。
A3:Sensitive DataExposure(敏感数据暴露)
可利用性:2 - 一般
漏洞普遍性 :3 - 普遍
漏洞可检测性:2 - 一般
技术影响:3 - 严重
有些应用和API未引入恰当的敏感信息防护功能 , 金融数据或登录凭证之类的敏感数据未得到应有的保护 。 数字攻击者可利用程序中的缺陷 , 盗取并滥用该敏感信息 , 进行身份盗窃或信用卡诈骗活动 。
只要开发人员和经理确定不了数据防护需求——无论是传输过程中还是存储介质上的数据 , 敏感数据暴露的威胁就不能被缓解 。 他们应先确定哪些数据是敏感的 , 然后用健壮的最新算法加密保护之 。 同时 , 不应存储非必要的敏感信息 , 不必要的敏感信息就应该安全地销毁掉 。
A4:XML ExternalEntities(XXE)XML外部处理器漏洞
可利用性:2 - 一般
漏洞普遍性:2 - 常见
漏洞可检测性:3 - 容易
技术影响:3 - 严重
可扩展标记语言(XML) , 是指定文档编码准则的一种标记语言 , 其处理器负责解析XML文档并采取相应的操作 。 有些XML处理器设计粗劣或配置不当 , 可能对XML文档中的外部实体引用进行求值操作 。 攻击者就能利用这些实体来暴露内部文件 , 进行内部端口扫描 , 实现远程代码执行 。
开发人员和经理可通过序列化敏感数据 , 使用JSON之类简单数据格式的方法 , 来缓解XXE威胁 。 他们还应确保修复升级应用中的所有XML处理器 , 在所有相关XML解析器中禁用XML外部实体处理功能 。
A5:Broken AccessControl(失效的访问控制)
可利用性:2 - 一般
漏洞普遍性:2 - 常见
漏洞可检测性:3 - 一般
技术影响:3 - 严重
操作应用时 , 经验证的用户应只拥有与其身份相匹配的有限权限 。 然而 , 有些应用并没有严格实现该限制 。 攻击者就可滥用该疏漏来访问其他用户的账户 , 暴露敏感文件 。
为解决访问控制失效的风险 , 除了其他安全措施 , 开发人员和经理还应实现“默认拒绝”的访问控制机制 。 他们应记录访问控制失败情况 , 并在必要的时候通报管理员 。 这些控制措施都应在服务器端创建 , 这样攻击者就不能修改控制检查或元数据了 。
A6:SecurityMisconfiguration(安全配置错误)
可利用性:3 - 容易
漏洞普遍性:3 - 普遍
漏洞可检测性:3 - 容易
技术影响:2 - 中等
安全配置错误是最常见的应用安全风险之一 。 开放云存储、错误配置的HTTP头、包含敏感信息的错误信息提示和其他漏洞 , 都会造成这种风险 。 攻击者可利用这些错误配置以默认口令登录管理员账户 , 发现访问控制漏洞 , 盗取敏感信息 。
去除了非必要功能/组件的最小平台 , 可以有效缓解应用的安全配置风险 。 实现分隔的应用架构 , 采用自动化过程验证应用环境配置有效性 , 也是开发人员和经理应该做的 。
A7:Cross-SiteScripting(XSS)跨站脚本攻击
可利用性:3 - 容易
漏洞普遍性:3 - 普遍
漏洞可检测性:3 - 容易
技术影响:2 - 中等
有时候 , 应用不进行恰当的验证或转义 , 就在新页面中包含了非受信数据 。 这就是跨站脚本漏洞的一个例子 。 攻击者可滥用此类缺陷在受害者浏览器中执行脚本 , 由此劫持用户会话 , 将访问者重定向至恶意站点 。
幸运的是 , Ruby on Rails 和 React JS 之类框架 , 从设计上就自动转义了跨站脚本 。 开发人员和经理可以在应用中引入此类技术 , 根据HTML的输出转义非受信HTTP请求数据 。 他们还可以实现内容安全策略(CSP) , 进一步缓解潜在XSS漏洞 。
A8:InsecureDeserialization(不安全的反序列化)
可利用性:1 - 困难
漏洞普遍性:2 - 常见
漏洞可检测性:2 - 一般
技术影响:3 - 严重
对不安全反序列化的最大担忧 , 是远程代码执行(RCE) 。 即便此类漏洞不直接导致RCE , 攻击者仍可利用该漏洞进行重放攻击、提权攻击和其他数字攻击行为 。
完整性检查 , 比如审查序列化对象的数字签名 , 有助于抵御不安全反序列化漏洞 。 开发人员和经理还应隔离执行在低权限环境中反序列化的代码 , 监测反序列化过程 , 一旦用户经常反序列化 , 即发出通告 。
A9:UsingComponents with Known Vulnerabilities(使用含有已知漏洞的组件)
可利用性:2 - 一般
漏洞普遍性:3 - 普遍
漏洞可检测性:2 - 一般
技术影响:2 - 中等
很多现代应用都带有库和框架 。 这些组件的执行权限可能与应用本身并不一致 。 进一步来说 , 如果攻击者发现了脆弱组件并利用之 , 就可以盗取敏感数据或破坏关键服务器 。
有些组件并非应用必需的 。 考虑到这一点 , 公司企业应将去除应用中的非必要组件 , 作为自身应用安全计划的重要部分 。 开发人员和经理还应仅从官方源获取组件 , 并监测组件中是否含有新发现的漏洞 。
A10:InsufficientLogging & Monitoring(不足的记录&监控)
可利用性:2 - 一般
漏洞普遍性:3 - 普遍
漏洞可检测性:1 - 困难
技术影响:2 - 中等
日志与监视可以为公司IT环境提供重要洞见 。 然而 , 若对这两项安全措施投入不足 , 攻击者就能更容易地渗透系统 , 在网络中横向移动 , 盗取数据 。
确保所有登录、访问控制失败和服务器端输入验证失败都被记录下来 , 且日志信息带有足够的用户上下文 , 可以保护公司免受此类威胁的伤害 。 开发人员和经理还应确保日志格式方便集中式日志管理解决方案处理 。
OWASP介绍
开放式Web应用程序安全项目(OWASP , Open Web Application Security Project)是一个非营利组织 , 不附属于任何企业或财团 。 它提供有关计算机和互联网应用程序的公正、实际、有成本效益的信息 。 其目的是协助个人、企业和机构来发现和使用可信赖软件 。 也因此 , 由OWASP提供和开发的所有设施和文件都不受商业因素的影响 。 OWASP支持商业安全技术的合理使用 , 它有一个论坛 , 在论坛里信息技术专业人员可以发表和传授专业知识和技能 。
OWASP项目最具权威的就是其“十大安全漏洞列表”(OWASPTop 10) , OWASP Top 10不是官方文档或标准 , 而只是一个被广泛采用的意识文档 , 被用来分类网络安全漏洞的严重程度 , 目前被许多漏洞奖励平台和企业安全团队评估错误报告 。 OWASP Top 10收集了OWASP全球区域反馈的大量意见和企业组织提供的数据集 。 这些数据包含了从数以百计的组织和超过10万个实际应用程序和API中收集的安全信息 。 10大应用软件安全风险是根据这些数据的流行程度选择和优先排序 , 并结合对可利用性、可检测性和影响程度的一致性评估而形成 。
这仅仅是开始
Web应用安全对企业而言太重要了 , 因为Web应用开发是一个不断发展和创新的领域 , 它不仅改变了人们处理个人、社交和相关业务的方式 , 而且积累的大量高价值内容让Web应用成为了攻击目标 。
攻击者可以通过应用程序中许多不同的路径方法去危害您的业务或者企业组织 。 每种路径方法都代表了一种风险 , 这些风险可能会 , 也可能不会严重到值得您去关注 。
海塘题库|十大Web应用安全风险你了解多少? | 云计算
本文插图

有时 , 这些路径方法很容易被发现并利用 , 但有的则非常困难 。 同样 , 所造成的危害有可能无关紧要 , 也可能导致破产 。 为了确定您企业的风险 , 可以结合其产生的技术影响和对企业的业务影响 , 去评估威胁来源、攻击向量和安全漏洞的可能性 。 总之 , 这些因素决定了全部的风险 。
【海塘题库|十大Web应用安全风险你了解多少? | 云计算】OWASP识别并归纳的十大Web应用安全风险 , 有助于企业创建适合自己的应用安全项目 , 提高风险防范能力 。 但我们作为开发人员和经理 , 不能止步于这十大风险 , 而应牢记:能影响Web应用安全的问题还有几百个 。 因此 , 我们应建立敏捷的应用安全控制 , 创建有活力的团队和积极的公司安全文化 , 以防范网络风险 。


    推荐阅读