OWASP TOP 10项目:简介

这是有关OWASP Top 10 Project的系列文章中的第一篇材料,该项目最初是为发烧友设计的,后来成为对Web应用程序中的攻击媒介和漏洞进行分类的最权威的来源。

在本文中,我们将简要分析OWASP Top 10列表中的所有主要漏洞,并了解为什么对于开发安全应用程序而言,了解典型漏洞为何如此重要。

大约10年前,一些非常细心的人制定了新的口头禅-HTTP是新的TCP。 当然,从这个意义上讲,该人决定将HTTP放在传输级别上。 没门 只是对于现代通信,HTTP协议在其级别上执行与TCP相同的功能-绝大多数现代应用程序(包括移动应用程序)都使用HTTP作为传输。 随着HTTP 2.0的出现,这种情况已经古铜色,并且在不久的将来,显然不会改变。 该协议已成为事实上的内容交付标准,并且HTTP不再被视为Web协议。

似乎HTTP一直存在,并且当您考虑到RFC中的第一个正式规范出现在1997年时,这几乎是正确的,尽管该协议本身开始使用的更早了。

花费大量时间才能理解,该协议一经流行,每个人都会开始使用它来交付内容,通常没有适当的资格。 结果将是世界各地成千上万的易受攻击的系统以及补救该情况的前景不明确。

对于特定供应商的决定,您总是可以求助于他的材料或直接问:“什么是最好的行动方式?” -并获得合格的答案,因为最终只有供应商才对其产品负责。 在使用开放标准和工具来构建应用程序时,需要有关最佳实践的公正信息来源。 这样的消息来源可以是发烧友,也可以是该领域的整个专业人员社区。

黄蜂飞


在Web应用程序安全领域,OWASP(开放Web应用程序安全项目)已成为这样的社区。 当然,OWASP是一个非营利组织,不隶属于任何技术公司。 这种情况使您可以为组织,教育机构,政府服务甚至对此问题感兴趣的个人提供有关Web应用程序保护技术的公正实用信息。


那么OWASP到底在做什么? OWASP在其权限范围内有两项主要任务:完全免费地提供文档和提供工具。
在本系列文章中,我们可能会分析最受欢迎的OWASP TOP 10项目。 这是一份文档,列出了Web应用程序最重大和最严重的风险。 将漏洞包含在此列表中的决定是基于来自世界各地(没有该漏洞的地方)的信息安全专家的专家意见,并且从总体上来说,了解这些漏洞是改变软件开发文化的第一步。


您需要清楚地了解,通常,所有这些漏洞不是基于特定程序员的错误或协议本身的漏洞,而是基于软件设计的体系结构问题。

十大致命法术


漏洞列表会不断更新,2017年如下:

•A1:2017年-注入,也称为“代码注入”

我们正在谈论所有类型的注入:SQL,NoSQL,LDAP-等等。 当未验证的数据作为命令或请求的一部分发送到解释器时,代码注入成为可能。 这样的“恶意”请求将被安全地执行并造成自身的伤害。 在90%的情况下,当您听说通过网络访问私有数据库时,这只是我们的A1。

•A2:2017-不正确的身份验证

负责身份验证和会话管理的应用程序功能经常被错误地使用,这将损害密码,密钥,会话令牌,甚至完全拦截用户会话的能力。 当您坐在公共wifi上并突然发现代表公共网络资源正在执行某些操作时-这是A2。

•A3:2017年-披露敏感信息

许多Web应用程序和API可能会错误地存储和处理敏感信息,例如个人数据。 攻击者可以窃取或更改此类信息,这可能成为造成严重财务或声誉损失的基础。 在通过通信通道进行传输期间,必须正确存储敏感信息并对其进行保护。

•A4:2017-实施外部XML实体(XXE)

许多较旧的或配置错误的XML处理器都可以使用XML文件中链接的外部数据。 此类外部数据可能包含恶意代码,这些恶意代码将使您可以在目标计算机上执行几乎所有无关的代码。

•A5:2017年-违反访问控制

在纸上非常好的访问矩阵,对于特定的系统可能会被错误地尝试,因此非法用户可以轻松地访问站点的封闭区域,或者有机会自行决定更改资源的权利。

•A6:2017-安全性配置错误-配置错误

在这里,我们谈论的是更多全局性的事情,例如缺少对服务器和应用程序软件的及时更新,错误消息中甚至HTTP标头中存在重要信息。 该应用程序可能几乎是完美的,但是如果运行它的Web服务器的基本配置有问题,那么一切都是无用的。

•A7:2017年-Crossite脚本(XSS)

当应用程序包含未经信任的数据且未经正确验证时,就会发生XSS。 例如,广告横幅的程序代码可能包含脚本来拦截用户数据,网站的外观,甚至透明地重定向到其他网站。

•A8:2017-不安全的反序列化

不安全的反序列化通常会导致远程执行代码。 最重要的是,不可信的数据在反序列化后会立即破坏应用程序的逻辑。 乍一看,一个相当异国情调的漏洞在列表中取代了荣誉。

•A9:2017年-使用具有已知漏洞的组件

库,框架,操作系统和信息系统的其他组件需要及时更新。 否则,一个库中的已知漏洞可能损害甚至使用易受攻击的库中的一个功能的大型服务。

•A10:2017-日志和监控不足

这里的一切都很简单-您构建了一个很棒的系统,但是却忘了固定监控工具。 它甚至与连接的SIEM系统无关,而仅与主服务器事件的常规记录有关。 不幸的是,在黑客入侵发生六个月后发现黑客攻击系统并不少见,他们不是从日志中而是从外部观察者那里了解到这一点。

在以下文章中,我们将开始更详细地分析这些漏洞中的每一个。 我们将使用必要的工具武装自己,并查看如何在实践中实现这些漏洞。

Sergey Polunin编写。

Source: https://habr.com/ru/post/zh-CN415283/


All Articles