学习笔记-第十三章 恶意代码分析实战

第13章 数据加密

	在恶意代码分析中,术语数据加密是指以隐藏真是意图为目的的内容修改。由于恶意代码
	使用加密技术隐藏它们的恶意活动,作为分析人员,要全面的了解恶意代码,就需要掌握
	这些技术。
	
	1.分析加密算法的目的
	- 隐藏配置信息。如:命令和控制服务器域名
	- 窃取信息之前将它保存到一个临时文件。
	- 存储需要使用的字符串,并在使用前对其加密。
	- 将恶意代码伪装成一个合法的工具,隐藏恶意代码活动中使用的字符串。

	2.简单的加密算法。简单的加密技术已经存在了数千年。虽然你可能认为现在的计算机强大
	的计算能力让这些简单的加密算法灭绝了,但是情况并非如此。简单的加密技术常被用来
	隐藏内容,从而让内容看起来不明显,不可读,或者将它的数据转换成另一种字符集。
	
	- 因为它们足够小,所以可以用在受限的环境中。例如漏洞利用的(exploit)shell code。
	- 它们没有复杂加密算法那么明显。
	- 开销低,它们对性能几乎没有影响
	
	<1>凯撒密码
	<2> xor,异或。使用ida pro识别xor循环
	<3>其他的一些简单加密策略。
	<4>Base64
	3.常见的加密算法。使用标准加密存在一些潜在的漏洞,特别是对于恶意代码来说:
	- 加密库很大,所以恶意代码需要静态的集成或者链接到已有的代码中。
	- 链接主机上现有的代码可能降低可移植性。
	- 标准加密库比较容易探测(通过函数导入,函数匹配或者加密常量表示)
	- 对称加密算法需要考虑如何隐藏密钥。
	很多标准加密算法都依赖于一个强大的密钥来存储它们的秘密。算法是公开的。
	
	可以通过以下的方法尝试解密。
	<1>识别字符串和导入
	<2>查找加密常量
	<3>查找高熵值内容。 识别加密算法另一方法是查找高熵值的内容,除了识别潜在的明显的加密常量
	或者加密密钥外,这种技术也可以识别加密内容本身。
	
	4.自定义加密。自创加密方案,组合简单加密方法。
	
	5.解密。查找并且分离加密函数是恶意代码分析过程中很重要的一部分,但是通常情况下,你还想继续解
	密隐藏的内容。有俩种基本的方法来重现恶意代码中的加密
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值