Chống Petya: kinh nghiệm của chúng tôi trong việc khôi phục dữ liệu từ các tệp cơ sở dữ liệu Firebird bị mã hóa bởi virus mã hóa tống tiền
Như bạn đã biết, gần đây một số virus mã hóa tống tiền đã tấn công nhiều công ty - nổi tiếng nhất là Wannacry và Petya. Thông thường, như nhiều công ty báo cáo, cần phải trả tiền chuộc, hoặc, trong trường hợp của Petya, tất cả các tệp đã mã hóa sẽ bị mất.
Công ty chúng tôi chuyên tư vấn về cơ sở dữ liệu Firebird, chúng tôi cung cấp các công cụ phục hồi và tối ưu hóa, và do đó, chúng tôi đã nhận được một số yêu cầu từ các công ty bị tấn công bởi Petya và một số ransomware khác.
Petya là một loại virus mã hóa “lười biếng”: thông thường, nó chỉ mã hóa megabyte đầu tiên của tệp, có lẽ, để thực hiện công việc xấu xa của mình nhanh nhất có thể. Thông thường, việc mất megabyte đầu tiên ở phần đầu của cơ sở dữ liệu Firebird khiến nó không thể đọc được: megabyte đầu tiên chứa thông tin hệ thống quan trọng về các bảng và cấu trúc khác. Điều này rất giống với việc hỏng cơ sở dữ liệu “thông thường”, do lỗi phần cứng chẳng hạn.
Thật đáng tiếc khi mất một cơ sở dữ liệu nhiều gigabyte chỉ vì mất 1 MB đầu tiên. May mắn thay, công cụ phục hồi của chúng tôi (IBSurgeon FIrstAID) có thể truy xuất dữ liệu từ cơ sở dữ liệu Firebird và InterBase ngay cả trong các trường hợp như Petya: FirstAID hoạt động ở cấp độ thấp, bỏ qua engine Firebird hoặc InterBase, nó chỉ yêu cầu tối thiểu metadata để xuất các bản ghi từ cơ sở dữ liệu đã mã hóa sang cơ sở dữ liệu mới.
Ngoài ra, IBSurgeon FirstAID có thể mượn cấu trúc metadata từ cơ sở dữ liệu khác: nếu có một bản sao cũ tốt của cơ sở dữ liệu, có thể sử dụng nó như một nguồn metadata và xuất tất cả dữ liệu chưa mã hóa.
Cơ sở dữ liệu Firebird chứa các trang có kích thước bằng nhau: trong phiên bản mới nhất (3.0), kích thước trang mặc định là 8k, trong các phiên bản trước 2.5 - 4kb. Điều đó có nghĩa là Petya mã hóa 128 trang đầu tiên (trong trường hợp kích thước trang 8Kb) hoặc 256 trang (trong trường hợp trang 4k).
Như bạn có thể thấy trong hình dưới đây (đây là ảnh chụp màn hình của phiên bản nội bộ IBSurgeon FirstAID), các trang hệ thống quan trọng (dữ liệu cho định dạng bản ghi) thường bắt đầu từ trang 185 đối với cơ sở dữ liệu có trang 8K (mặc định trong Firebird 3.0) và, không may, từ trang 171 đối với kích thước trang 4k.
Điều đó có nghĩa là cơ sở dữ liệu Firebird 3 thường có thể được phục hồi từ mã hóa của Petya với tỷ lệ gần 100%, và cơ sở dữ liệu Firebird 2.5 sẽ yêu cầu mượn metadata bên ngoài để cứu dữ liệu.
Điều đó có nghĩa là trong trường hợp cụ thể này, chúng ta có thể đánh bại Petya: chúng ta không mất dữ liệu và không phải trả tiền chuộc.
Phần lớn khách hàng đã báo cáo rằng họ có thể phục hồi cơ sở dữ liệu Firebird từ Petya bằng IBSurgeon FirstAID.
Tất nhiên, cách tiếp cận này không bảo vệ cơ sở dữ liệu khỏi virus mã hóa, nhưng nó cho phép giảm thiểu tổn thất sau thảm họa như vậy. Sao lưu và giám sát cơ sở dữ liệu cũng rất quan trọng như một biện pháp thụ động bảo vệ chống lại virus và các thảm họa khác.
Thêm chi tiết về ransomware và Firebird: Làm thế nào để bảo vệ cơ sở dữ liệu Firebird khỏi ransomware?
