恶意软件作者演示愚蠢的加密错误,安适专家或可等闲破解 8090安适门户
实证明,由于犯法分子的技术程度东倒西歪,因此他们在开发恶意软件的过程中经常会犯一些愚蠢的错误。一旦恶意软件的加密过程呈现问题,安适研究专家就可以等闲地破解这些恶意软件。
想要编写安适的代码是一件非常具有挑战性的工作,而正确地在软件中使用加密算法例越发需要下苦工夫。即等于经验丰富的开发人员也经常会犯一些愚蠢的错误。如果你的方针是为了在短时间内通过诈骗手段来获取金钱的话,那么你的软件质量可能就不会尽如人意了。如果软件的加密体系设计不当的话,你的代码中绝对会存在非常严重的加密错误。
只为实现本身的目的,完全不考虑其他
实际上,很多恶意软件的开发者在“如何错误使用加密算法”上已经给我们供给了非常丰富的经验和教训了。很多恶意软件的作者凡是会直接在他们的恶意代码中插手加密算法,他们不会像合法软件的开发者那样去为本身的软件设计合适的加密算法,因为犯法分子一般不会去考虑恶意软件的代码质量或者设计规范。他们往往只会关心这款恶意软件是否能够满足他们的犯法需求,其他的因素并不在他们的考虑范畴之内。
实际上,有时可能因为开发时间有限,或者是开发人员并不理解某些加密算法的具体事情机制,所以代码中的缝隙往往是不成制止的。但是,很多恶意软件的作者甚至都不知道如何去正确使用加密工具。无论你是专业的或是业余的恶意软件作者,你都不得不认可加密算法的正确使用在恶意软件的开发过程中是至关重要的一环。
有的恶意软件属于勒索软件,打击者可以使用勒索软件来从受害人身上勒索财帛。当打击者需要通过C&C处事器来与受传染设备进行通信时,同样需要使用到恶意软件来实现隐藏通信。除此之外,打击者有时也会需要使用恶意软件来遁藏安适工具的检测。但是安适阐颁发白,目前有很多恶意软件在使用加密算法时都存在各类百般的问题。
知其然,而不知其所以然
好比说银行木马Zeus和Linux勒索软件Linux.Encoder的开发者就陷入了这种误区,他们其实在给与加密算法之前并没有真正理解这些加密算法内部的运行机制。
银行木马Zeus的开发者在对Zeus与C&C处事器的通信数据进行加密时,虽然选用的是著名的流加密算法RC4,但是他们却对算法进行了一些改削。他们将流数据通过RC4算法加密完成之后,会用数据中的每一个字节与下一个字节进行异或运算,从而生成新的加密数据。虽然RC4算法有其自身的安适缺陷,但是这个算法的安适性对付Zeus来说,已经是绰绰有余了。而开发人员所进行的特别改削看似增加了数据的庞大水平,但实际上却有些画蛇添足的意味。
Linux.Encoder的开发者在为rand()函数选择随机数生成种子的时候使用的是当前的时间戳,并通过这个随机数来生成加密密钥。但是安适研究人员发明,通过这种方法生成的勒索软件密钥长短常容易被破解的。于是乎,该勒索软件的作者又测验考试通过对时间戳进行八次哈希计算来生成一个AES密钥。
安适研究专家暗示:
“持续使用一个哈希函数来对输出数据进行八次计算的这种行为足以表白,这些开发者其实根柢就没有真正理解哈希函数的感化。实际上,这种行为反而会大大降低措施的安适性。”
纯粹的复制粘贴
安适研究专家发明,很多恶意软件的开发者凡是会直接将某些看似可用的代码复制到本身的项目中。这些代码块从外貌上看似乎简直是一个可行的方案,但是他们却并不了解复制过来的代码块是如何事情的。其实,复制粘贴他人的代码也并不是什么大问题,如果这也成问题的话,那么StackOverflow这个网站也没有存在的须要了。但是,如果开发者无法真正了解代码块的运行机制,那么他们又怎么能够确定这段代码是一个切实可行的解决方案呢?
勒索软件CryptoDefense就是一个很好的例子。这款勒索软件的很多成果都是从勒索软件CryptoLocker身上剽窃过来的,好比说RSA2048加密,通过比特币付出赎金,以及通过Tor网络来与C&C处事器通信等等。除此之外,这款勒索软件在实现RSA加密的过程中还使用了Windows的加密API,而这些加密代码我们都可以在MicrosoftDeveloper Network的开发文档中找到。
安适研究专家暗示:
“按照开发文档的描述,如果措施中的flag设置错误的话,那么应用措施将会把密钥生存在本地。而CryptoDefense的作者没有正确设置这个flag,所以安适研究人员就可以直接在受害者的主机中找到解密密钥。”
社会工程学
实际上,这些犯法分子所犯的错误并不只仅只有编码错误而已,对付恶意软件的开发者而言,社会工程学技术就是实现打击的一种捷径。如果方针用户是“傻白甜”的话,那么他们其实根柢就不需要去设计什么“完美的加密体系”,因为“欺骗”往往越发的容易。而且对付普通用户而言,勒索软件所给与的加密算法根柢就不重要。
Nemucod是一款JavaScript木马,而近期这款木马却转型成了勒索软件。安适研究专家通过分析发明,虽然这款勒索软件声称本身给与了RSA-1024加密,但它实际上使用的只是一种简单的异或暗码。除此之外,在用户的文件真正被加密之前,Nemucod会将勒索信息显示给用户。
Nemucod的开发者认为:
“当受害者看见“RSA-1024加密算法”这几个字之后,可能就会被吓到。这样一来,他们就不会去仔细研究我们的勒索软件了,而且有的用户甚至可能会直接向我们付出赎金。”
总结
暗码学确实非常的深奥,很多软件开发者在实现加密的过程中或多或少城市出错误。甚至在目前的十大开源Web应用措施安适项目中,开发人员在实现加密的过程中同样会犯一些很白痴的错误,更何况那些唯利是图的犯法分子呢?
温馨提示: 本文由杰米博客推荐,转载请保留链接: https://www.jmwww.net/file/pc/13073.html