KeyFC欢迎致辞,点击播放
资源、介绍、历史、Q群等新人必读
KeyFC 社区总索引
如果你找到这个笔记本,请把它邮寄给我们的回忆
KeyFC 漂流瓶传递活动 Since 2011
 

用打包程序的坏处......

[ 16581 查看 / 52 回复 ]

最近,随着一个新品种Malware的发布,Symantec, McAfee等公司纷纷跟进更新病毒库。不过很不幸的,他们扫描到的指纹并不是这个恶意软件独有的,而是它外面的一层壳。于是,Albumcon顺其自然的就变成了Trojan,顿时被生吞掉了......更新了几个版本的病毒库后,可怜的Albumcon仍然是Trojan......

教训: 发布软件的时候,尽量避免使用软件打包程序。如果实在要用,要么就用一些比较著名的,这样杀毒公司在做指纹的时候会多加注意,要么就自己写一个。用一些不出名的偏门打包软件,一旦被谁用来打包恶意软件,就永远也翻不了身了...||||||
分享 转发
飛べない翼に、意味はあるんでしょうか?
TOP

回复:用打包程序的坏处......

那个...我原贴的意思应该是这样理解的:
1. 恶意软件使用了某个壳;
2. 这个壳没什么人气,或者没有商业化;
3. 杀毒公司就可以简单的将这个壳本身认为就是恶意软件。

这不是白痴,这是从商业角度追求最大投入产出比(或者,通俗地讲,叫懒办法)。
不过一旦这样的事情发生,这个壳就永远翻不了身了。你去找那个公司,别人说,我们观察发现从来没有正经的程序用这个壳,你只有把他们干瞪着。
除非作者再升级,或者用一些metamorphic code,但是这样反而就更加像是在做恶意软件了......于是几乎肯定得又会被棒杀,说不定还会引来更多的公司......
飛べない翼に、意味はあるんでしょうか?
TOP

回复:用打包程序的坏处......

另外,现在商业杀毒软件仍然基本上使用指纹对比方法,最多加上一些静态脱壳程序。这没什么奇怪的,一则速度快,二则目前还能够应付大流。
动态脱壳是一个仍然在研究中的问题,我去年底去迈阿密参加的一个安全研究论坛里面就有一篇相关文章。
我个人认为下一个进入商业杀毒软件的会是高级的静态分析。通过反解析指令分析出程序的控制流,然后做一些高级的分析,比如节点模型对比,系统调用模式对比,等等。这仍然是属于静态分析范围,因此速度上比符号执行或者动态分析有绝对的优势。
当然目前最可靠的方法是动态分析,不过那个需要虚拟机配合,速度太慢,只能应用于实验室环境。不过随着虚拟技术硬件支持的逐渐完善,可能会逐渐变得稍微可行,不过应该是许多年以后的事情了。
最后编辑Prz 最后编辑于 2008-01-29 16:27:26
飛べない翼に、意味はあるんでしょうか?
TOP

回复: 用打包程序的坏处......

原帖由 004307ec 于 2008-1-28 22:11:00 发表
- -还是乘着检验安装光盘的机会使用Linux/Unix代替的最好……病毒少………………= =+
或者在虚拟机里上网= =+


我就准备这样搞了! ^_^
我妈老是跟我抱怨,说我不给她管理员的权限,她要装个什么都不行......
那么我就给她一个虚拟机用吧,爱装啥随便;玩纸牌,炒股,看新闻都还行,要看电影玩游戏就只有用物理机器的账号了......
什么时候Intel的虚拟设备IO出来就好了......
飛べない翼に、意味はあるんでしょうか?
TOP

回复:用打包程序的坏处......

虚拟机和API没有什么关系吧 |||||| 纯底层硬件虚拟一个完整的系统,再使用Dynamic Taint没有什么能够逃过的。但是这不是用来防毒的,而是发现病毒后用来快速提取相关信息的。
其实这项技术源于DEBUG技术,早在虚拟机技术之前就有了。Intel的CPU除了ES,零售,还有开发版,接在专用的平台上,运行时每一个指令都可以被硬件log下来,并且发现特定的指令或者对特定内存的访问,就会自动中断。动态分析其实也就是利用虚拟机来实现这一系列操作而已。

脱壳问题研究已经比较成熟了。我去年厅的那篇文章,大概原理就是:壳永远也摆脱不了一个独特的内存访问模式——首先向一块内存写数据,然后又跳向该段内存执行。一般的程序则很少这样做。于是只要有系统级或者虚拟机级别的权限,监测内存的写后再执行的访问方式,不论多少层壳都可以脱。怎么发现脱壳结束了呢,也很简单,Hook (系统级)或者Taint (虚拟机级) 一些系统调用就行了——当程序开始进行一些“危险”的操作的时候,比如写硬盘/写注册表/打开网络接口等等。当然具体实现起来还有一些细枝末节的东西需要考虑,但是总的来说,这个方式确实能够有效地脱壳,并且对加密/压缩算法完全不敏感。

另外,杀毒软件和病毒就像抗生素和细菌一样,各自水平都会是保持平衡的。光假设病毒的水平变高然后翻过来嘲笑目前的杀毒软件是没有意义的。安全,永远都是一个相对概念,搞这行的人都知道。
飛べない翼に、意味はあるんでしょうか?
TOP

回复:用打包程序的坏处......

赫赫,楼上怎么又开始想当然了。我从一开始的那贴就说得是“代价高”的虚拟机,而且我早就指出了这一点。请仔细读完再回帖。

杀毒软件也没有必要完整的脱壳,抓病毒并并不需要完整的看所有的部分,只需要能够抓到足够多的部分确认就行。另外,我并没有说脱壳需要一开始就脱到底。请仔细想想,我前面描述的原理:不论你再高级的什么壳,永远也摆脱不了释放代码(写)到一段内存后的某个时间又跑过去执行这样的异常举动。并且监视这个动作并不是什么高代价的操作,完全可以在程序执行的全过程实行。发现这个动作一次,就启动指纹/静态扫描一次,以后再有,再扫就行了。

哈哈。“抗生素是人为的,而细菌是自发的”不得不说这是一个非常肤浅的论断。提示: 请不要单纯的从“抗生素”这个人给的标签上下结论,标签确实是人给的,但“病毒”这个标签也是人给的。没有人他们就不存在了么?

而且我从来也没有否定病毒的技术超过杀毒软件,不要变更讨论的重心。你前面说的是:如果很多人都有很高的技术以及很多的时间来写高级的病毒,那么就可以完全的鄙视所有的杀毒软件了。我的意思:请不要忘了,杀毒软件就像抗生素一样,尽管永远也不可能解决所有的病毒,但是可以保证他能够对抗大多数的主流病毒。现在的杀毒软件水平其实就是反映主流病毒的水平,仅此而已。如果主流病毒技术提高,可以肯定绝对会出现相应的杀毒技术,因此你的“鄙视”是没有道理的。

最后一句话,如果你没有读或者理解的话:世界上所有的给大众“安全”措施,都仅仅是防主流而不是防全部的。这点古人就明白,所以有话说“防君子不防小人”。如果你在某个方面的技术领先,得确,你可以轻易的化解绝大多数的安全措施;但是如果你假设绝大多数人都有你的技术然后得到结论所有的安全措施都将形同虚设,那就想入非非了。所谓领先,就是指少数,要想领先就永远摆脱不了成为少数。

----------------------

另:“虚拟机当然指的是杀软件用来脱壳的简易虚拟机”

其实你说的“简易虚拟机”应该叫“沙盒”(Sandbox)。因为它不是一个虚拟的机器,仅仅是一个通过Hook一些API获得的虚拟的环境,叫虚拟机会混淆概念的。
最后编辑Prz 最后编辑于 2008-01-30 03:04:53
飛べない翼に、意味はあるんでしょうか?
TOP

回复:用打包程序的坏处......

既然是(高)技术贴,必然会有很多没有完全解决的问题,争论是必然的,否则就不叫(高)技术了.... (逃...)

哦,再补一句:
除了这里有搞杀软行业的人外,我没想到维护杀软的人这么热烈.


我声明我的回复完全不是维护杀毒软件的。仅仅是对一些倒因为果的言论有一些意见。
比如下面这两句话就似乎是在倒因为果,我想请问一下诸位看客是否有同感......


正所谓"法不责众",正因为犯法的人只占很少的一部分,法才会有意义.
同时也正式因为“有这样能力且有闲时间的制作者少之又少”,杀毒软件才在实际中与之抗衡.
最后编辑Prz 最后编辑于 2008-01-31 09:45:42
飛べない翼に、意味はあるんでしょうか?
TOP

回复:用打包程序的坏处......

高技术的先锋们都去做商业黑客去了。俄国BBS上经常可以看到有人叫卖Trojan / Rootkit,可以躲过所有的监测。虽然不排除有滥竽充数者,但是也有许多精彩的技术,都被封闭起来不向外公开了。

一年多两年前,新加坡一个安全公司的研究员曾经发过一篇很有影响力的文章,介绍如何利用现在CPU提供的VT技术轻松的夺取整个系统的控制而且不论用什么方法都监测不出来。她形象地给这个技术起名叫BluePill,就像Matrix里面的Neo一样,一旦吞下这个药丸,就会发生一些找不出原因的灵异现象......

我个人觉得未来的恶意程序将会在这方面做文章。所以各位有VT功能但是没有使用虚拟机的清尽量把这个功能关掉......
飛べない翼に、意味はあるんでしょうか?
TOP

回复:用打包程序的坏处......

楼上严重过奖了...... ||||||

我其实仅仅是觉得根据那些话的逻辑推出下面这句话有点荒谬:

因为现在的细菌病毒大多数都没有高致病性和高毒性,所以我们人类的免疫统才能才能苟且应付,活到今天。

而我上面一个贴举的例子就是一个有力的反证:安全研究公司在利用VT技术的恶意软件应用上明显早于黑客。
要举出生物世界的例子就更多了。基因随时都在随着遗传变异,在进化选择的作用下,一些新的免疫功能会比一些病毒提前出现,并且在传染病扩散的时候发挥积极的抵抗作用。
飛べない翼に、意味はあるんでしょうか?
TOP