FlashGuard: Leveraging Intrinsic Flash Properties to Defend Against Encryption Ransomware
Jian Huang † ‡ Jun Xu Xinyu Xing Peng Liu Moinuddin K. Qureshi †
† ‡
to Defend Against Encryption Ransomware Jian Huang Jun Xu - - PowerPoint PPT Presentation
FlashGuard: Leveraging Intrinsic Flash Properties to Defend Against Encryption Ransomware Jian Huang Jun Xu Xinyu Xing Peng Liu Moinuddin K. Qureshi Encryption Ransomware Is Becoming More Aggressive May 12,
Jian Huang † ‡ Jun Xu Xinyu Xing Peng Liu Moinuddin K. Qureshi †
† ‡
2
2
3
Destroy
Encrypt files Ask for payments to decrypt files
3
3
A ransom notification: users files have been encrypted
3
A ransom notification: users files have been encrypted Pay ransom to recover user files
3
A ransom notification: users files have been encrypted Pay ransom to recover user files
3
A ransom notification: users files have been encrypted Pay ransom to recover user files
More ransom required if the payment is delayed
4
Family #Samples Attack Time (minutes) Backup Spoliation
Petya 14 2 CTB-Locker 119 14 Jigsaw 5 16 Mobef 7 16 Maktub 10 22 Stampado 42 27 Cerber 29 37 Locky 344 43 7ev3n 16 44 TeslaCrypt 75 44 HydraCrypt 13 70 CryptoFortree 4 75 CrytoWall 799 75 Total 1477
4
Family #Samples Attack Time (minutes) Backup Spoliation
Petya 14 2 CTB-Locker 119 14 Jigsaw 5 16 Mobef 7 16 Maktub 10 22 Stampado 42 27 Cerber 29 37 Locky 344 43 7ev3n 16 44 TeslaCrypt 75 44 HydraCrypt 13 70 CryptoFortree 4 75 CrytoWall 799 75 Total 1477
4
Family #Samples Attack Time (minutes) Backup Spoliation
Petya 14 2 CTB-Locker 119 14 Jigsaw 5 16 Mobef 7 16 Maktub 10 22 Stampado 42 27 Cerber 29 37 Locky 344 43 7ev3n 16 44 TeslaCrypt 75 44 HydraCrypt 13 70 CryptoFortree 4 75 CrytoWall 799 75 Total 1477
Ask for ransom quickly
4
Family #Samples Attack Time (minutes) Backup Spoliation
Petya 14 2 CTB-Locker 119 14 Jigsaw 5 16 Mobef 7 16 Maktub 10 22 Stampado 42 27 Cerber 29 37 Locky 344 43 7ev3n 16 44 TeslaCrypt 75 44 HydraCrypt 13 70 CryptoFortree 4 75 CrytoWall 799 75 Total 1477
4
Family #Samples Attack Time (minutes) Backup Spoliation
Petya 14 2 CTB-Locker 119 14 Jigsaw 5 16 Mobef 7 16 Maktub 10 22 Stampado 42 27 Cerber 29 37 Locky 344 43 7ev3n 16 44 TeslaCrypt 75 44 HydraCrypt 13 70 CryptoFortree 4 75 CrytoWall 799 75 Total 1477
Many ransomware attempt to delete backup files (and bypass User Access Control)
5
Malware detection
5
Malware detection
Damage has already happened when ransomware is detected
5
Malware detection Journaling & log-structured FS
5
Malware detection Journaling & log-structured FS
Ransomware with kernel privilege can destroy data backups
5
Malware detection Journaling & log-structured FS Networked & Cloud Storage
5
Malware detection Journaling & log-structured FS Networked & Cloud Storage
Increased storage cost & can be stopped by ransomware
6
Block Driver Application kernel userspace
read/write
Block I/O Interface Flash Translation Layer NAND Flash Disk
6
Block Driver Application kernel userspace
read/write
Block I/O Interface Flash Translation Layer NAND Flash Disk
6
Block Driver Application kernel userspace
read/write
Block I/O Interface Flash Translation Layer NAND Flash Disk
6
Block Driver Application kernel userspace
read/write
Block I/O Interface Flash Translation Layer NAND Flash Disk
Hard Disk Drive Flash-based SSD
7
No Seek Latency
40x lower latency
7
No Seek Latency
40x lower latency
Increased Parallelism
Dozens of
parallel chips
7
No Seek Latency
40x lower latency
Increased Parallelism
Dozens of
parallel chips
Became Commodity
Less than $0.2/GB
7
No Seek Latency
40x lower latency
Increased Parallelism
Dozens of
parallel chips
Became Commodity
Less than $0.2/GB
8
8
8
Out-of-Place Update
A
8
Out-of-Place Update
Write A
8
Out-of-Place Update
A A Write B
8
Out-of-Place Update
A A Write B
Garbage Collection
9
Block Driver Application kernel userspace
read/write
Block I/O Interface Flash Translation Layer Flash Flash-based SSD
9
Block Driver Application kernel userspace
read/write
Block I/O Interface Flash Translation Layer Flash
A
10
Overwrite a block Overwrite on SSD
Overwrite
B A
10
Overwrite a block Overwrite on SSD
Overwrite
A
B A
10
Overwrite a block Overwrite on SSD
Overwrite
A A
Overwrite on HDD
B A
10
Overwrite a block Overwrite on SSD
Overwrite
A A
Overwrite on HDD
B
Overwrite
B A
10
Overwrite a block Overwrite on SSD
Overwrite
A A
Overwrite on HDD
B
Overwrite
Retaining all the invalid pages (stale data) is expensive
B A
10
Overwrite a block Overwrite on SSD
Overwrite
A A
Overwrite on HDD
B
Overwrite
Retaining all the invalid pages (stale data) is expensive
Only retain the invalid pages caused by encryption ransomware
11
File Read Encrypt Overwrite File Read Encrypt Write new files Delete/Overwrite
11
File Read Encrypt Overwrite File Read Encrypt Write new files Delete/Overwrite
Read Overwrite Read Overwrite
11
File Read Encrypt Overwrite File Read Encrypt Write new files Delete/Overwrite
Read Overwrite Read Overwrite
11
0% 20% 40% 60% 80% 100% Ratio of different IO operations
Read Write Read-Overwrite University computers (20 days) Enterprise servers (6-10 days)
11
0% 20% 40% 60% 80% 100% Ratio of different IO operations
Read Write Read-Overwrite University computers (20 days) Enterprise servers (6-10 days)
11
0% 20% 40% 60% 80% 100% Ratio of different IO operations
Read Write Read-Overwrite University computers (20 days) Enterprise servers (6-10 days)
The data size is relatively small (a few GBs)
12
Data OOB Metadata Flash Block Flash Page LPA RIP Timestamp P-PPA 4 Bytes 1 bit 4 Bytes 4 Bytes The logical page address mapped to the physical page
12
Data OOB Metadata Flash Block Flash Page LPA RIP Timestamp P-PPA 4 Bytes 1 bit 4 Bytes 4 Bytes Previous physical page address for tracking all invalid pages
12
Data OOB Metadata Flash Block Flash Page LPA RIP Timestamp P-PPA 4 Bytes 1 bit 4 Bytes 4 Bytes Check how long the page has been retained
12
Data OOB Metadata Flash Block Flash Page LPA RIP Timestamp P-PPA 4 Bytes 1 bit 4 Bytes 4 Bytes Identify whether this page is a retained invalid page
13
Block A Block B Block C
valid page invalid page retained invalid page
select flash lock (greedy algorithm)
13
Block A Block B Block C
valid page invalid page retained invalid page
select flash lock (greedy algorithm) Block C
13
Block A Block B Block C
valid page invalid page retained invalid page
select flash lock (greedy algorithm) Block A
13
Block A Block B Block C
valid page invalid page retained invalid page
select flash lock (greedy algorithm) copy valid and retained invalid pages to a new block Block A
13
Block A Block B Block C
valid page invalid page retained invalid page
select flash lock (greedy algorithm) copy valid and retained invalid pages to a new block erase old flash block Block A
14
Data OOB Metadata Flash Block Flash Page LPA RIP Timestamp P-PPA 4 Bytes 1 bit 4 Bytes 4 Bytes
14
Data OOB Metadata Flash Block Flash Page LPA RIP Timestamp P-PPA 4 Bytes 1 bit 4 Bytes 4 Bytes
Leveraging OOB metadata to retrieve index information for recovery
14
Data Recovery
14
Data Recovery
Checking flash block one by one is slow Building the logical connections among retained invalid pages is challenging
14
Data Recovery
Building the logical connections among retained invalid pages is challenging
Chip
…
Chip
…
Chip
…
Leveraging internal parallelism of SSDs
14
Data Recovery
Chip
…
Chip
…
Chip
…
Leveraging internal parallelism of SSDs Leveraging previous-PPA stored in OOB metadata
data P-PPA data P-PPA data P-PPA
15
1 TB 64 pages/block 4 KB/page
15
1 TB 64 pages/block 4 KB/page
1,477 ransomware samples (VirusTotal)
15
1 TB 64 pages/block 4 KB/page
Enterprise servers (11 workloads) University machines (6 workloads) Storage benchmarks: IOZone/Postmark Database workloads (TPCC/TPCE)
1,477 ransomware samples (VirusTotal)
16
1 2 3 4 5 Victim Data Size (GB)
Victim Data Size
16
1 2 3 4 5 Victim Data Size (GB)
Victim Data Size
10 20 30 40 50 60 Recovery Time (secs)
Recovery Time
17
200 400 600 800 1000 1200 1400 Latency (microseconds) Unmodifed SSD FlashGuard
FlashGuard decreases the storage performance by 6% for I/O-intensive workloads
1 10 100 1000 10000 100000 Latency (microseconds)
18
0.2 0.4 0.6 0.8 1 1.2 Normalized Write Amplification Factor Unmodifed SSD FlashGuard
FlashGuard increases the WAF by 4% due to the additional page movements in GC
19
GC Attack
19
GC Attack Timing Attack
19
GC Attack Timing Attack Secure Deletion
20
Against Encryption Ransomware
SSD performance & lifetime
21
Jian Huang† ‡ jianh@illinois.edu
Jun Xu Xinyu Xing Peng Liu Moinuddin K. Qureshi † †
‡