详解勒索软件的四种加密方式

安全
勒索软件的加密方式通常包括对称加密、非对称加密和混合加密,这些方式在勒索软件中都有可能被采用。加密趋势方面,随着技术的不断发展和攻击者的不断创新,勒索软件的加密方式也在不断演变和变化。

勒索软件的加密方式通常包括对称加密、非对称加密和混合加密,这些方式在勒索软件中都有可能被采用。加密趋势方面,随着技术的不断发展和攻击者的不断创新,勒索软件的加密方式也在不断演变和变化。加密趋势方面,随着加密技术的不断发展和加密算法的更新换代,勒索软件的加密方式也在不断演进。攻击者可能会尝试使用更高级的加密算法或者将多种加密方式组合使用,以增加加密的复杂度和安全性,使得受害者更难以解密文件而被迫支付赎金。

此外,随着量子计算等新技术的发展,未来加密方式可能面临新的挑战和变革。因此,加密技术和勒索软件的加密方式都需要不断关注和研究,以应对不断变化的威胁。

图片

一、基础加密  

基础加密是指以一种极其简单的运算方式来修改原始文件的数据,而没有特定数学算法参与,比较典型的方式比如异或运算、加法运算、减法运算或者结合起来使用,最初的勒索软件由于技术水平不成熟,加密算法技术未普及等诸多原因会使用这种运算符操作数据的方式修改文件的数据,解密这样的文件只需要进行运算符暴力枚举,文件数据碰撞或者逆向勒索软件运算时使用的密钥就能直接对数据内容进行还原    

二、对称加密  

对称加密算法在勒索软件中常用的包括AES(Advanced Encryption Standard)、Blowfish和DES(Data Encryption Standard)等。其中,AES是目前最为流行和广泛使用的对称加密算法之一。

勒索软件随技术发展强化加密手段,初期依赖对称加密算法(AES、DES、3DES、RC4、Salsa20、TEA等),其特点为使用单一密钥完成加密与解密,虽加密快速,但密钥易泄漏且可能通过文件分析或逆向工程找回。部分攻击者选择将对称密钥远程发送至服务器并删除本地记录,此举虽提高解密难度,但也令服务器成为攻击目标,增加风险。

1.对称加密算法

DES(Data Encryption Standard):这是一种早期的对称加密标准,但因其密钥长度较短(56位),对于现代计算机来说破解相对较易,所以目前较少被新型勒索软件直接采用。

3DES(Triple DES):为增强DES的安全性而设计,通过三次DES运算进行加密,有效密钥长度达到168位,安全性有所提升。不过,由于计算效率问题以及AES的普及,3DES在勒索软件中的应用也逐渐减少。

AES(Advanced Encryption Standard):是最常见的对称加密算法之一,以其高效性和足够的安全性(密钥长度可选128位、192位或256位)受到广泛认可。众多勒索软件如WannaCry、CryptoLocker、LockerGoga等都采用了AES算法。    

2.具体实现过程及原理

AES加密过程中涉及到密钥调度、轮密钥生成、SubBytes、ShiftRows、MixColumns和AddRoundKey等操作。这些步骤循环执行多轮,最终得到加密后的数据。

(1)实现原理

AES算法采用固定的块大小(128位),并支持不同的密钥长度(128位、192位或256位)。AES算法通过替代、置换和线性变换等操作来混淆和扰乱数据,从而实现强大的加密保护。

(2)实现过程

密钥调度:根据输入的密钥生成每一轮加密需要的轮密钥。

SubBytes:将字节替换为另一个字节,通过S盒来实现。

ShiftRows:按照特定规则对行进行移位。

MixColumns:对列进行线性变换。

AddRoundKey:将轮密钥与数据进行按位异或操作。

3.勒索软件中对称加密的应用

(1)勒索软件侵入受害者系统后,会生成一个随机的对称密钥(AES密钥为例)。

(2)使用该密钥通过AES加密算法对受害者的敏感文件进行加密,使得未经解密无法访问文件内容。

(3)加密完成后,通常会将密钥信息通过非对称加密的方式(如RSA)加密,并上传至攻击者服务器或者保存在本地加密文件中。    

(4)然后向受害者展示勒索通知,要求支付赎金以换取解密密钥。

(5)受害者支付赎金后,攻击者提供私钥用于解密之前用RSA加密过的AES密钥。

(6)受害者使用解密后的AES密钥对文件进行解密恢复。

整个过程中,对称加密算法用于快速大量地加密用户文件,而非对称加密则用于保证对称密钥的安全传输。

三、非对称加密  

非对称加密算法(公钥加密)不同于对称加密,需一对密钥:公钥公开用于加密,私钥保密仅作解密。攻击者利用公钥嵌入勒索软件加密文件,私钥紧握手中,导致无私钥即难以解密。尽管非对称加密较慢,勒索软件结合两者优势:快速使用对称算法加密文件,再用非对称算法加密对称密钥,实现安全与效率兼顾。RSA与ECC是非对称加密在勒索软件中的主流选择。

1.非对称加密算法简介

非对称加密算法,又称公钥加密算法,是一种现代密码学的重要组成部分,其基本思想在于使用一对密钥而非单个密钥进行加密和解密操作。这一对密钥具有互不相同但相互关联的特性:

公钥(Public Key):任何人都可以获得并使用此密钥。公钥可以用于加密数据,也可以用于验证数字签名,但不能用于解密由相应私钥加密的内容。    

私钥(Private Key):与公钥一一对应,但必须严格保密,只有拥有私钥的实体才能对其进行解密操作,或者对数据进行签名以证明数据的真实性和完整性。

(1)非对称加密的主要流程

当一方(比如Alice)想向另一方(比如Bob)发送加密信息时,Bob会将自己的公钥提供给Alice。

Alice使用Bob的公钥对消息进行加密,加密后的消息只能由Bob持有的私钥解密。

同样,Bob也可以用自己的私钥对消息进行签名,Alice收到后使用Bob的公钥验证签名,确认消息确实来源于Bob且未经篡改。

(2)非对称加密算法的优点

安全性高:即使公钥被截获,由于缺乏对应的私钥,攻击者也无法解密信息。

密钥分配方便:无需预先建立安全通道就能分享公钥,解决了对称加密中密钥交换的安全问题。

(3)常见的非对称加密算法包括

RSA(Rivest-Shamir-Adleman)

ECC(Elliptic Curve Cryptography)

DSA(Digital Signature Algorithm)

ElGamal加密算法

2.勒索软件中非对称加密的应用

勒索软件经常采用非对称加密技术来加密受害者的数据,以确保除非支付赎金得到解密密钥,否则数据无法解密。其中,RSA是最著名的非对称加密算法之一,被多种勒索软件所采用,例如CryptoLocker、WannaCry、NotPetya、REvil(Sodinokibi)和LockBit等。    

非对称加密在勒索软件中的实现过程和原理大致如下:

(1)感染阶段

勒索软件首先入侵受害者的计算机系统。

(2)密钥生成

勒索软件会在受害者的设备上生成一个随机的对称密钥(如AES密钥),这个密钥用于快速高效地加密受害者的文件。

(3)文件加密

使用上述对称密钥通过AES等对称加密算法加密受害者的重要文件,确保数据无法直接读取。

(4)非对称加密保护对称密钥

为了避免对称密钥在本地被找到和使用,勒索软件接着会使用非对称加密算法(如RSA)加密这个对称密钥。攻击者拥有非对称加密算法的一对密钥,其中公钥会被嵌入到勒索软件中,私钥则保留在攻击者手中。勒索软件使用公钥加密对称密钥后,将其存储在受害者的计算机上或是通过网络发送给攻击者。

(5)支付赎金与解密

受害者收到勒索通知,被告知要支付赎金以获取私钥。支付赎金后,攻击者提供私钥,受害者用这个私钥解密之前用RSA加密过的对称密钥。最后,受害者使用解密出来的对称密钥对被加密的文件进行解密。    

这样,即便受害者获得了加密后的文件和加密对称密钥,但在没有攻击者的私钥的情况下,仍然无法解密原始文件。同时,由于非对称加密的特性,攻击者可以在不泄露私钥的情况下向多个受害者传播他们的公钥,实施大规模的勒索攻击。

图片


四、混合加密类  

混合加密通常是指结合了对称加密和非对称加密两种加密技术的方案,以便利用各自的优势:对称加密算法速度快,适合大量数据加密;而非对称加密算法提供了安全的密钥交换机制。在实际应用中,常见的混合加密流程可能包括以下步骤:

(1)对称加密算法(如AES)生成一个会话密钥(Session Key)用来加密数据。

(2)非对称加密算法(如RSA)则用于加密这个会话密钥,确保即使在传输过程中密钥被盗也不会导致数据泄露。

(3)发送方用接收方的公钥加密会话密钥,并将加密后的会话密钥和使用该会话密钥加密的数据一同发送给接收方。

(4)接收方收到数据后,用自己的私钥解密出会话密钥,然后使用这个会话密钥解密原始数据。

1.采用混合加密的勒索软件    

在勒索软件领域,许多恶意软件也采用了混合加密策略来加密受害者的文件,例如CryptoLocker、WannaCry、NotPetya、REvil(Sodinokibi)、LockBit、Cerber、GandCrab、DarkSide等

2.勒索软件实现混合加密过程

(1)勒索软件会在受害者的计算机上生成一个随机的对称密钥(如AES密钥)。

(2)使用这个对称密钥对受害者的所有敏感文件进行快速加密。

(3)勒索软件生成一个非对称密钥对(比如RSA密钥对)或者从其服务器获取公钥。

(4)使用公钥加密刚才生成的对称密钥,并将加密后的对称密钥保存在本地或上传至攻击者的服务器。

(5)向受害者显示勒索通知,声称只有通过攻击者提供的私钥才能解密那个对称密钥,进而解密所有被加密的文件。

通过这种方式,勒索软件既保证了数据加密的速度,又利用了非对称加密的强安全性,使得攻击者可以在保持私钥保密的前提下,迫使受害者付费获取解密密钥。

3. RSA+Salsa20混合加密实例

现代勒索软件不会使用单一加密手段对文件进行直接加密,那样的方式要么是效率十分低下,要么是安全性不足,在这种情况下混合加密成为了勒索软件主流的运用手法,以GandCrab的RSA+Salsa20为例,RSA公钥用于加密第一个salsa20的Key和Iv ,之后使用第一个salsa20加密程序生成的RSA私钥    

图片

使用程序RSA公钥加密第二个salsa20的Key和Iv,之后使用第二个Salsa20算法来加密磁盘文件

图片

被加密的文件隐藏着能够解密文件的salsa20密钥,但是这将需要作者的RSA私钥才能够进行解密,使用两次RSA的好处是作者不需要暴露自己的私钥,交给用户一个程序生成的RSA私钥来针对不同的受害机器执行单独解密的操作。    

图片

参考文章:

https://xz.aliyun.com/t/13044?time__1311=mqmxnDBDu7qqlxGgx%2BxCq%3D8xcergAqx

责任编辑:庞桂玉 来源: 小兵搞安全
相关推荐

2022-03-22 08:59:32

勒索软件网络安全网络攻击

2014-12-25 09:41:15

Android加载方式

2021-11-15 09:18:39

勒索软件黑客数据备份

2020-06-12 08:28:29

JavaScript开发技术

2013-06-14 15:24:57

Android开发移动开发数据存储方式

2013-10-17 09:25:52

2010-07-28 13:54:42

Flex数据绑定

2023-05-22 08:03:28

JavaScrip枚举定义

2022-03-25 14:47:24

Javascript数据类型开发

2017-04-17 19:31:03

Android多线程

2021-12-22 09:34:01

Golagn配置方式

2021-06-25 08:00:00

物联网医疗技术

2011-05-20 09:55:26

Oracle连接

2015-09-06 09:23:23

Android异步更新

2022-10-27 14:18:13

Flowable流程变量

2021-06-04 10:45:31

软件架构分布式

2009-04-27 10:33:16

ASP.NET视图状态

2009-07-08 18:20:21

JDBC驱动

2023-11-06 07:50:00

RabbitMQ交换机

2010-08-05 09:33:08

Flex页面跳转
点赞
收藏

51CTO技术栈公众号