记录黑客技术中优秀的内容, 传播黑客文化,分享黑客技术精华

安全漏洞本质扯谈之扯谈安全漏洞本质

2015-01-10 01:16

前面扯谈讲到了一些构建的世界,试图让新入安全圈的小伙伴们了解到安全漏洞程序世界是密不可分的。程序世界一旦定型(发布版本),安全漏洞就已经在那里了,只有对程序世界规则了解越深,才能挖出深层次的安全漏洞,才能利用好安全漏洞

老黑客@瘦肉丁 (star)同学今年5月份发了个文章《安全漏洞概念及分类》http://pan.baidu.com/s/1kT9LT4r,大伙可以看看。讲到安全漏洞的定义以及安全漏洞(Vulnerability)BUG之间的关系还有一些例子。Star同学文章讲到:安全漏洞和BUG之间是交集关系;而我在2008年的blog上也谈到过安全漏洞和BUG的关系:认为安全漏洞是BUG的子集。其实各有理解,我的理解则更多了扩展了BUG的内涵和外延。不管是BUG还是安全漏洞,都属于代码质量范畴,都是程序员的职责。我也一直跟我们的团队说一个观点,”测试(开发中的测试)不能帮助我们提高产品代码质量,只能帮忙我们把次品把挑出来代码质量根本在于程序员自己,因为他们是程序世界的缔造者。

安全漏洞各种各样,有的安全漏洞安全界的前辈们已经把他们归纳整理好了,还有漏洞没法归类型,有的甚至是属于间歇性抽搐型,匪夷所思的。

各种各样的安全漏洞,希望能够统一在微观的程序世界面,便于小伙伴理解和把握安全漏洞(Vulnerability)利用(exploit)的本质。

安全漏洞利用的本质总纲:攻击者精心构造的数据从一个攻击界面经过传播到达另一个攻击界面的处理它的代码,改变或获得其想要的控制流,从而造成获得不同的权限或能力。关键词:从数据流到控制流

这里隐含了几个东西,有必要展开解读下

1.   改变或获得其想要的控制流是要有一个内外因的,这也是我们常说的漏洞原因

2.   安全漏洞在两个界的其中一个界面上产生,这两个界可能是清晰的明确的,也可能是虚的逻辑上的。

3.   攻击界面两边的界的权限和能力是不一样的,一定要有“利”可图。例如上面操作系统构建的世界中讲到的从普通人变到地界的主宰rootAdministrator

4.   攻击者可构造的数据其实也叫污点数据,污点数据从一个攻击界面经过传播到另一个攻击界面意味着污点数据可能被处理加工(加密解密变形等等)和存储,并且不受空间和时间上的约束和限制。不受空间和时间上的约束和限制在后面具体漏洞类型还会具体讲述。

5.   污点数据可能会穿透很多个攻击界面到达有问题的处理代码的一“界”中,其方式是利用漏洞改变或获得其想要的控制流,其最终目的为获得不同的权限或能力

6.   一般的程序世界的权限分为垂直权限水平权限。垂直权限如普通用户和管理员,典型的漏洞为本地提权漏洞,从普通用户到管理员;水平权限为不同普通用户间的权限,典型的漏洞为XSS漏洞,从普通网站用户A到普通网站用户B的权限。能力是更泛的一种“权限”,相对比较细粒度些。

7.   从另一个层面讲,攻击者从他能够控制的数据流到变成他能够控制或获得其控制流控制流可以是直接的CPU机器指令例如利用缓冲区溢出构造机器指令的SHELLCODE对于程序来说机器指令是“程序指令”,对于CPU来说机器指令是数据;也可以是@yuange1975一直说的DVE(数据虚拟执行)中的Script脚本,DVE其中一个形态就是利用漏洞开启上帝模式后,使用浏览器Script脚本当做SHELLCODE对于脚本层面来说,Script脚本是程序指令,对于Script解释引擎来说,Script脚本是数据;也可以是光利用数据,影响本身的控制流最终得到目的。所以是“程序指令”还是“数据”往往要看是在哪一个“界”的世界中。(@yuange1975 还有一个观点,大伙可以研究学习下安全是一个条件语句http://hi.baidu.com/yuange1975/item/6f05f83c876c5cc21b96964e)

 本小章可能比较绕,初入安全技术圈的小伙伴可能不太能理解。不过没有关系,先有个大概了解,等具体研究到了一定阶段,相信会有那么一点体会。自认为这一章节是这几小章扯谈中的浓(hai)(shi)(che)(dan),是母鸡中的战斗机。而且我把那小段红色字称其为安全漏洞本质的总纲。总纲总纲,总要咀嚼咀嚼才能品尝到这里面的甘甜。

知识来源: www.weibo.com/p/1001643795222273386013

阅读:308179 | 评论:0 | 标签:漏洞

想收藏或者和大家分享这篇好文章→复制链接地址

“安全漏洞本质扯谈之扯谈安全漏洞本质”共有0条留言

发表评论

姓名:

邮箱:

网址:

验证码:

公告

关注公众号hackdig,学习最新黑客技术

推广

工具

标签云

本页关键词