The Storm Riders
Writer
Yohanes Nugroho, một lập trình viên người Indonesia, người thực hiện các dự án viết mã cá nhân trong thời gian rảnh, đã phát triển một "trình giải mã" (decryptor) cho ransomware Akira. Công cụ này sử dụng một phương pháp mới để giải quyết một bài toán toán học phức tạp, khai thác tính song song cao của các GPU hiện đại để kiểm tra hàng triệu tổ hợp khóa trong một khung thời gian rất ngắn.
Nugroho đã ghi lại hành trình của mình thông qua mã hóa tệp của Akira trên trang web cá nhân của mình. Anh ấy đã tham gia vào một biến thể Linux của Akira sau khi một người bạn nhờ giúp đỡ. Sau khi phân tích mã, Nugroho phát hiện ra rằng ransomware sử dụng thời gian hiện tại làm hạt giống (seed) để tạo các khóa mã hóa mạnh về mặt mật mã.
Quá trình mã hóa tạo động các khóa duy nhất cho mỗi tệp, sử dụng bốn hạt giống dấu thời gian (timestamp) khác nhau với "độ chính xác đến nano giây". Các khóa này sau đó được băm (hash) qua 1.500 vòng của hàm SHA-256. Cuối cùng, các khóa được mã hóa bằng thuật toán RSA-4096 và được thêm vào cuối mỗi tệp được mã hóa.
Độ chính xác cực cao của mã hóa Akira làm cho công việc giải mã trở nên phức tạp và tẻ nhạt, vì phần mềm độc hại có thể tạo ra hơn một tỷ giá trị có thể có mỗi giây. Tuy nhiên, nhiệm vụ của Nugroho đã trở nên dễ dàng hơn nhờ các tệp nhật ký (log file) do bạn của anh ấy cung cấp. Với dữ liệu này, anh ấy đã có thể xác định thời điểm ransomware được thực thi, cho phép anh ấy chuẩn bị các điểm chuẩn mã hóa (encryption benchmark) để ước tính thời gian giải mã sẽ mất bao lâu.
Ban đầu, Nugroho đã thử chạy một cuộc tấn công brute-force trên GeForce RTX 3060, nhưng GPU quá chậm, chỉ xử lý 60 triệu tổ hợp mỗi giây. Việc nâng cấp lên GPU cấp cao hơn (RTX 3090) không cải thiện đáng kể tốc độ, vì vậy anh ấy quyết định thuê thời gian GPU thông qua các dịch vụ đám mây RunPod và Vast.ai. Bằng cách sử dụng 16 GPU RTX 4090 trên đám mây, Nugroho đã có thể hoàn thành quy trình benchmark chỉ trong hơn 10 giờ.
Nugroho lưu ý rằng GeForce RTX 4090 sẽ là một lựa chọn tuyệt vời để giải mã các tệp bị xâm phạm bởi ransomware Akira, nhờ số lượng lõi CUDA cao và giá thuê tương đối thấp. Nhà phát triển đã cung cấp mã của mình theo giấy phép nguồn mở, khuyến khích "các chuyên gia GPU" khám phá các cơ hội tối ưu hóa hơn nữa. Ở dạng hiện tại, trình giải mã Akira có thể đạt được khoảng 1,5 tỷ lần mã hóa mỗi giây cho KCipher2 trên GeForce RTX 3090.
Nugroho đã ghi lại hành trình của mình thông qua mã hóa tệp của Akira trên trang web cá nhân của mình. Anh ấy đã tham gia vào một biến thể Linux của Akira sau khi một người bạn nhờ giúp đỡ. Sau khi phân tích mã, Nugroho phát hiện ra rằng ransomware sử dụng thời gian hiện tại làm hạt giống (seed) để tạo các khóa mã hóa mạnh về mặt mật mã.
Quá trình mã hóa tạo động các khóa duy nhất cho mỗi tệp, sử dụng bốn hạt giống dấu thời gian (timestamp) khác nhau với "độ chính xác đến nano giây". Các khóa này sau đó được băm (hash) qua 1.500 vòng của hàm SHA-256. Cuối cùng, các khóa được mã hóa bằng thuật toán RSA-4096 và được thêm vào cuối mỗi tệp được mã hóa.

Độ chính xác cực cao của mã hóa Akira làm cho công việc giải mã trở nên phức tạp và tẻ nhạt, vì phần mềm độc hại có thể tạo ra hơn một tỷ giá trị có thể có mỗi giây. Tuy nhiên, nhiệm vụ của Nugroho đã trở nên dễ dàng hơn nhờ các tệp nhật ký (log file) do bạn của anh ấy cung cấp. Với dữ liệu này, anh ấy đã có thể xác định thời điểm ransomware được thực thi, cho phép anh ấy chuẩn bị các điểm chuẩn mã hóa (encryption benchmark) để ước tính thời gian giải mã sẽ mất bao lâu.
Ban đầu, Nugroho đã thử chạy một cuộc tấn công brute-force trên GeForce RTX 3060, nhưng GPU quá chậm, chỉ xử lý 60 triệu tổ hợp mỗi giây. Việc nâng cấp lên GPU cấp cao hơn (RTX 3090) không cải thiện đáng kể tốc độ, vì vậy anh ấy quyết định thuê thời gian GPU thông qua các dịch vụ đám mây RunPod và Vast.ai. Bằng cách sử dụng 16 GPU RTX 4090 trên đám mây, Nugroho đã có thể hoàn thành quy trình benchmark chỉ trong hơn 10 giờ.
Nugroho lưu ý rằng GeForce RTX 4090 sẽ là một lựa chọn tuyệt vời để giải mã các tệp bị xâm phạm bởi ransomware Akira, nhờ số lượng lõi CUDA cao và giá thuê tương đối thấp. Nhà phát triển đã cung cấp mã của mình theo giấy phép nguồn mở, khuyến khích "các chuyên gia GPU" khám phá các cơ hội tối ưu hóa hơn nữa. Ở dạng hiện tại, trình giải mã Akira có thể đạt được khoảng 1,5 tỷ lần mã hóa mỗi giây cho KCipher2 trên GeForce RTX 3090.