当前位置:  开发笔记 > 编程语言 > 正文

令人惊讶的软件漏洞或漏洞?

如何解决《令人惊讶的软件漏洞或漏洞?》经验,为你挑选了13个好方法。

您见过的最奇怪/最复杂/最令人惊讶/深度隐藏的软件漏洞或攻击是什么?在代码中你认为没有隐藏的危险,但错了?

[澄清:每个人都知道SQL注入,XSS或缓冲区溢出 - 通常由粗心编码引起的错误.但事情像肯·汤普森隐藏的木马(反思信任信托:http://cm.bell-labs.com/who/ken/trust.html),最近在Linux内核(NULL解除引用漏洞HTTP://isc.sans. org/diary.html?storyid = 6820),或使用拒绝服务对RNG进行复杂攻击(http://news.ycombinator.com/item?id=639976)让我非常不安.

更新:感谢大家的回答,他们很棒.我很难做出选择.最终,我决定将赏金奖励给侧通道/电源监控攻击.然而,你所有的答案结合起来表明我必须更多地了解安全性,因为它是一个非常深刻的主题:).



1> Mark Renouf..:

到目前为止,我最喜欢和最令人印象深刻的是一类密码技术,称为边信道攻击.

一种侧通道攻击使用功率监视.通过仔细分析从电源获取的电量,已从智能卡设备恢复加密密钥.嵌入其中的处理器使用不同的功率来处理不同的指令集.使用这一小部分信息,可以完全被动地恢复受保护的数据.


除其他外:反向优化.就拿谁已经花了几年时间搞清楚如何获得与至少晶体管,功率最少,最快速的功能的硬件设计,并把他们心中的新帧,其中一致性就是一切.如果设备在运行时始终需要100ms进行交易并以恒定的150mW电池供电 - 则侧通道攻击失败,并且客户可能愿意吃掉增加的硬件成本并缩短电池寿命以获得该优势.
确实是一次令人印象深刻的攻击......但对于那些想要如何保护自己免受此类攻击的人,我有一个不同的答案 - 你没有.不是你*不能*,而是你*不应该*.因为,不要打扰 - 除非你是CIA/DoD/NSA,或者那个联盟中的并行组织 - 这通常不是一个严重的威胁,用这种方式进行有效利用的成本也太高了有问题的,太多的垃圾.家庭用户真的不需要担心这个问题(除非你是沃伦·巴菲特),而且对于大多数常见的企业间谍活动来说,它甚至有点过高.
绝对疯狂,但它是一个软件漏洞吗?

2> Bratch..:

每个人都知道SQL注入,但我最近听到的一个最令人惊讶的漏洞就是将SQL注入到条形码中.测试人员应检查所有输入是否存在恶意SQL.攻击者可能会出现在一个事件中并崩溃他们的注册系统,改变商店的价格等等.我认为一般的条形码黑客对我来说是令人惊讶的.这里没有令人惊叹的因素,只是需要注意的其他因素.

编辑:刚刚讨论了将SQL注入放在磁卡条上的想法.我想你可以把它放在任何地方,所以测试任何和所有输入,特别是来自用户和这些类型的数据存储设备.



3> Falaina..:

我认为一个相对较新的Linux漏洞符合您对利用似乎安全的代码的描述(尽管有点错误构造).

这是Linux内核中的一段代码:

struct sock *sk = tun->sk;  // initialize sk with tun->sk
…
if (!tun)
    return POLLERR;  // if tun is NULL return error

由于GCC优化,if语句和正文被删除(这对于用户态代码是合理的,对于内核代码而言则是如此).通过一些聪明,一个人能够建立一个利用这个.

总结:

http://isc.sans.org/diary.html?storyid=6820

发布的漏洞利用:

http://lists.grok.org.uk/pipermail/full-disclosure/2009-July/069714.html

编辑:以下是对此代码如何被利用的更深入的总结.这是一个简短的阅读,但对用于利用的机制的一个非常好的解释.

http://lwn.net/SubscriberLink/342330/f66e8ace8a572bcb/



4> Dour High Ar..:

一个经典的漏洞就是Ken Thompson的黑客攻击,让他可以根本访问地球上的每个Unix系统.

当贝尔实验室是Unix的唯一供应商时,他们分发了源代码,因此每个安装都可以构建和定制自己的操作系统.该源包括Unix登录命令.Ken修改了C编译器以识别它是否正在编译logon命令,如果是,则添加初始密码检查.这个密码是他自己的魔法密码并授予root访问权限.

当然,任何阅读C编译器源代码的人都会看到并将其删除.所以肯再次修改了C编译器,这样如果它正在编译一个C编译器,它就会把logon hack重新编入.

现在是心灵的一部分; Ken用他的黑客编译器编译了C编译器,然后删除了他的所有黑客攻击,从源代码,备份,源代码控制,一切都删除了它.它只存在于Unix发行版的编译二进制文件中.

任何从贝尔实验室获得这个Unix的人都有一个被黑客入侵的登录和C编译器.如果他们查看来源,那就安全了.如果他们重建了操作系统,被黑客入侵的编译器会攻击重建的编译器,这会将hack重新插入到登录命令中.

我从中得到的教训是,您不能保证任何数量的静态分析(检查源代码,操作系统,应用程序)的安全性.

Ken在一篇题为"信任信任的思考"的ACM文章中透露了这一点.



5> Jason Willia..:

几年前,我看了一个受到复杂加密系统保护的程序(在Acorn Archimedes上)(只是为了看看它是如何完成并从中学习的).这是非常巧妙地完成的,解密代码本身被用作解密密钥的一部分,因此任何弄乱它的尝试都会破坏解密,从而在内存中留下垃圾.

经过2天试图弄清楚它是如何完成的以及如何绕过它,一位朋友参观了.使用操作系统工具(单击并拖动以最大化RMA内存分配),他将进程的可用RAM限制为略大于.exe的大小.然后他跑了.解密后,它立即尝试分配内存,失败并崩溃.然后他从内存中保存了解密的程序.总破解时间:大约2分钟,仅使用鼠标拖动和命令行保存命令.

我从中了解到,不值得投入太多时间和精力来保护您的软件 - 如果有人想破解它们,可能他们会通过一种从未发生过的简单方式来实现.

(免责声明:我们都购买了该程序的合法副本,并且从未以任何方式使用过破解的代码.这真的只是一项智力编程练习)



6> Brian Becket..:

好的,这不是软件漏洞或漏洞,但即便如此:

" Van Eck Phreaking是通过检测其电磁辐射来窃听CRT和LCD显示器内容的过程." (来自维基百科)

只是...哇...



7> Aaron Digull..:

我昨天读到了一个聪明的方法来窃取您的浏览器历史记录:通过添加查看链接颜色的JavaScript(它们会改变您访问过的网站的颜色).

这可以用来攻击通过简单地尝试所有可能的组合来添加URL的安全令牌(如果该令牌不太长)的站点.



8> AviD..:

是的,是的,我们都知道SQL注入 - 我们都知道如何防范它,对吗?
您的应用程序应该进行输入验证,调用存储过程等.

但是你知道在某些情况下,SQL走私很容易绕过这一切吗?
关于它的最令人震惊的是,这是由一些鲜为人知的,大多数未记录的,在某些数据库,框架,数据库对象等方面的"特性"引起的.简而言之 - 数据库(或那里的管道)可能会对你造成影响快乐地 - 默默地 - 将一些不熟悉的角色转化为其他人的恩惠!例如,Unicode字符U + CABC可能会成为引用(U + 0027),您试图在应用程序中阻止它,但不幸的是,DB决定创建并允许攻击者再次直接通过您的防御安装他的SQLi攻击.

是的,我发表了链接文章,但是当我最初发现这种行为时,我感到震惊.



9> Jared Oberha..:

Blue Pill Hypervisor rootkit.



10> YogoZuno..:

我见过的最复杂的攻击之一是最有效的攻击之一.我认识的测试人员正在Win98下测试VB6应用程序.该应用程序是为了在固定大小的窗口中打开而构建的.聪明的测试人员创建了应用程序的快捷方式,并设置快捷方式以打开最大化的应用程序.当应用程序以比开发人员预期更大的尺寸打开时,它会暴露出通常不可见的数据控件.通过手动点击数据控件,测试人员设法移动到他本不应该查看的记录,并修改它...



11> 小智..:

:-)

替代文字http://www.codingthewheel.com/image.axd?picture=transparent_intercept.png


我从来没有理解过这个.因此,能够修改("注入")安全提供程序代码是一个安全漏洞.对任何人来说这有什么惊喜?我在这里错过了什么?
我认为人们正在赞美一幅美好的画面.正如RBarryYoung所说,能够注入代码意味着游戏结束,这并不令人惊讶,而且它的创造性编码并不是一个漏洞!无论如何,您需要某种预先存在的漏洞才能以这种方式利用某些东西.这更像是有效载荷.

12> Martin Geisl..:

在冷启动攻击也许更多的是硬件的攻击,但仍然非常有趣和令人惊讶的.

他们表明你可以在重启后读取普通RAM的内容.通过使用罐装空气除尘器喷雾(不是液氮或类似物)将芯片冷却至-50°C,他们发现在没有电源的情况下10分钟内不到1%的位被翻转(!)

这是对所有磁盘加密程序的严重攻击.他们必须将解密密钥保存在RAM中,如果您可以重新启动计算机,则可以访问该密钥.你可能会说你不会让人们像这样重启你的机器,但想想待机模式下被盗的笔记本电脑.他们会醒来并提供一个屏幕保护程序,要求输入密码.那时磁盘加密密钥在RAM =>重启后,密钥可能在坏人的拥有...

他们的主页上有视频和非常易读的会议论文.



13> Sam Harwell..:

人类的"天真" 永远不会让我惊讶.

推荐阅读
wangtao
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有