zh

什么是权限提升?

2016 年 02 月 18 日

Dave Piscitello

本部分内容不仅提供联合国六种官方语言版本,还提供以下语言版本

null

在我前一篇博文中,我们解释了组织用来执行授权政策的措施。授权政策和我们用来执行授权政策的方法(即访问控制、用户许可或权限)旨在防止敏感信息被未经授权查看、共享、修改或删除。这些政策也可防止未经授权在计算机上执行应用程序。

恶意用户、犯罪分子或参与网络间谍活动的各方受到金钱、社会政治环境的鼓动或为了名声,会违反授权政策访问机密或敏感商业数据,进而对商人实施诈骗或窃取金钱。这些攻击者常常从破坏用户账户开始。或者,他们可能会寻找可以用来控制计算机系统或应用程序的漏洞。

通过这些最初的漏洞利用途径,攻击者将获得一定的访问权限。接着,攻击者将逐步探查其破坏的系统来获得比最初更多的权限,以期从其他账户访问敏感信息,或甚至获得对某个系统的完全管理控制。当攻击者以这种方式扩大其最初的未经授权访问权限时,我们将其行为称之为权限提升攻击

水平权限提升

我们假设攻击者已经获得了在线银行账户的访问权限。她的目的是窃取金钱,但她从这一个账户中窃取的金钱并不多。这时,她就会寻找信息或尝试各种漏洞利用途径来获得对其他账户的访问权限。这称之为水平权限提升,因为攻击者是在具有相似权限的账户中横向移动。

她是如何横向移动的?攻击者可以在她登录后检查该银行返回的超链接,查看是否透露有关内容在该银行网站上的组织方式的任何信息。她可能会发现银行以特定方式在超链接中编码客户的账号。这时,她就会编写并在网址中插入超链接,以测试银行系统的安全是否存在缺陷以及是否可以利用该缺陷查看其他客户的账户数据或(更严重情形)转移资金。如果成功的话,她可以在银行检测到其活动或客户报告失窃之前访问多个账户。这称之为直接对象引用技术

垂直权限提升

通常,攻击者的动机是完全控制计算机系统,以便可以任意使用系统。当攻击者首先从被攻击的用户账户开始并能够将其拥有的单一用户权限扩大或提升至完全管理权限或"根"权限时,我们称这类攻击为垂直权限提升

我们来看看这样一个情景:攻击者已经未经授权获得了在计算机系统上访问用户账户的权限。他将进行本地侦查,查看遭到攻击的用户可以做什么和他可以访问什么信息,他是否可以从该账户编写脚本或编译程序等等。如果他能够在遭到攻击的计算机上下载和执行软件,他就可以运行恶意软件。他将到处侦查,直到发现可以加以利用的漏洞或配置错误,以便成为目标计算机的管理员,或者他也将放弃该系统并移到另一台计算机。

攻击者也可能通过远程路径以旁路方式访问受保护的信息或敏感信息。例如,通过小心地制作查询来利用在目标网站上配置的 web 应用程序中的漏洞,攻击者可以将指令直接插入网站的数据库应用程序中,从而允许他们访问表面上受保护的记录或转出数据库中的全部内容(参见 SQL 注入)。攻击者有大量的攻击途径可以尝试,但他们通常只利用缺乏对用户提交的数据类型进行任何验证的 web 应用程序:在这些情况下,web 应用程序会将攻击者输入 web 提交表的任何内容传给数据库,数据库执行其收到的内容,这通常会导致灾难性后果,包括完整数据库披露、数据篡改或损坏。

加强认证和验证所有数据!

有三个简单的补救措施可以减少权限提升攻击:(1) 让用户或客户使用可能的最强认证方法,并明智地使用(如长密码、强密码、复杂密码);(2) 扫描 web 应用程序是否存在已知漏洞,以将漏洞利用风险降至最低;以及 (3) 验证网站使用的每个提交表中的数据。应用这些补救措施,可减少您所在组织的权限提升攻击风险暴露。

Dave Piscitello