安全的随想>>加密特征匹配

关于安全的一点随想

开始写博客的原因

我少年时代很喜欢的一位黑客陈良曾在采访中说:“不知攻,焉知防。”这句话在我心中留下了很深的印象。我用了很长时间,终于确定了自己要走的路,于是我想把我的一部分学习的感想以博客的形式展现出来。
会有很多人说,程序媛太少了,或者会说,女孩子做UI就好,但其实,有很多女性在代码方面独具天赋。我不想列举那些著名的例子,我的身边就有优秀的师姐成为了谷歌的工程师。我的一位老师,请允许我用prof.Y称呼他,鼓励我多去修一些公选(并且这位老师十分推崇java),也在我的学习过程中给予了我一些宝贵的意见,我真诚地感谢他。
我的朋友们大多都是程序猿,相比起某些圈子的浮躁,我的朋友们虽然硬核但都真诚可爱。其中有一个,尤其聪明,尤其可爱,当然也尤其硬核。我喜欢我选择的路,也喜欢由0和1组成的真实的世界。

AV companies& Signature Files

安全公司(不,其实我想特指antivirus company)通过特征文件(signature file)来做出判断。他们在网络世界黑暗的角落里爬来爬去,得到信息;他们从用户那里/其他公司那里得到样本;有时搭起honey pot来获取信息。然后呢,经过时间的作用经过努力,这些AVcompanies判断出哪些的确是病毒,哪些只是不常用的应用,然后输入这份危险的文件,产生big number(我不确定这个词是否可以翻译成“大数”hhhh~)。当用户使用杀毒软件时,首先要查看文件,然后算出它们的加密特征,也就是对应的big number,然后在数据库中查询特征数字,判断它是否恶意。
对用户而言,这个过程的时间取决于从硬盘读取文件的时间,此时如果其他程序也就要访问硬盘,那么速度也就被拖慢了。对于速度的追求,造就一批裸奔的人(?)
而对AVcompanies而言,则有更加漫长的(?)时间。他们先要确定一个文件是不是恶意的,然后要生成特征文件,如果有false positive(比如把正常的文件误认为时恶意的), 不仅程序员们要加班,还可能产生经济损失。
而对于C_M同学找男朋友这个引擎而言,不仅是加密特征匹配,而且并非在数据库中查询,而是个选择结构,逐个判断是否为恶意文件。瞧,很方便的,一秒处理230个数据,我还有2218个数据待处理…不!我,c语言,不需要对象!