Bắt kịp malware cao cấp?
Bảo vệ hệ thống trước “cặp bạn tâm giao quỷ quyệt” worm và virus đòi hỏi
phải kiểm tra kỹ càng ổ đĩa.
Các doanh nghiệp vẫn đang tìm kiếm cách thức hiệu quả hơn trong trận chiến
trước malware như virus, Trojan và bot. Đáng tiếc, lập trình viên “mũ đen”
vẫn tiếp tục không ngừng pha chế thêm nhiều mã mới nguy hiểm. Do đó các
công ty cũng cần update thêm nhiều vũ khí bảo mật và kế hoạch phòng chống
bảo vệ mới.
Virus thường được chỉnh sửa từ các mã host hợp pháp và phát tán qua e-mail
hay tin nhắn tức thời. Chúng khó viết hơn worm và Trojan, vì viết ra được
mã virus là phải đảm bảo có sức phá hoại khiến các file chỉnh sửa mới không
bị phá hoại.
Microsoft Windows và Windows File Protection
(được giới thiệu lần đầu tiên với tên gọi System
File Protection trong Windows Me) bảo vệ được
khoảng 99% file hệ thống mặc định trước các chỉnh
sửa không rõ nguồn gốc. Nếu một virus chỉnh sửa file đưa ra, Windows sẽ
thay thế bản copy đã sửa bằng một bản copy lành lặn trong một vài giây sau
đó.
Windows Resource Protection sắp tới của Windows Vista thậm chí còn được
nâng cấp chức năng tốt hơn, bảo vệ được nhiều file hơn và ngăn chặn các
chỉnh sửa ngay từ ban đầu. Đối phó với biện pháp này, hầu hết chương trình
malware ngày nay tự tạo ra file mới trong hoạt động phá hoại của mình.
Muốn loại bỏ virus đòi hỏi phải xoá sạch từng con từ các file đã bị nhiễm
độc, thường khó hơn là chỉ cần phát hiện ra chúng như các chương trình anti-
viurus thông thường vẫn làm.
Còn với worm, bot, spyware, và Trojan thì lại khác. Đơn giản bạn chỉ cần xác
định và loại bỏ các file nhiễm độc độc lập mới. Tôi thường xuyên sử dụng
chức năng Autorun của Sysinternals hay SilentRunner.vbs để xác định vị trí
và kiểu chương trình không rõ nguồn gốc. Trong vòng nửa thế kỷ trước, với
hầu hết virus đã biết, việc loại bỏ malware trở nên dễ dàng, trừ phi máy tính
bị tấn công bởi một chương trình rootkit.
Nhưng bây giờ, một loạt cặp sâu mới xuất hiện làm phức tạp thêm quá trình
xác định, như Downloader.Agent.awf. Được biết đến giống kiểu spawner hay
twin, các cặp sâu (và virus) này sẽ chỉnh sửa môi trường của máy tính bị
nhiễm độc. Khi hệ thống cố gắng thực thi một file hợp pháp, file độc hại sẽ
tranh chạy đầu tiên.
Sau khi thực thi, chương trình malware Download.Agent.awf đọc mã đăng ký
HKLM (hay HKCU) \Run của máy tính bị nhiễm độc để xác định các chương
trình tự động cài đặt trước đó. Rồi copy chương trình thực thi nguyên gốc
sang một khu vực mới và thay thế file ban đầu với file copy đặt lại tên của
sâu. Khi máy tính thực thi khoá đăng ký \Run, nó sẽ chạy cặp chương trình
thay thế, sau đó mới tiếp tục đến chương trình nguyên gốc ban đầu.
Điều này khiến chương trình dò tìm và
loại bỏ trở nên phức tạp. Các sâu sẽ
xuất hiện như đã được biết từ trước
hoặc như một chương trình thực thi cài
đặt sẵn được nhận ra một cách phổ
biến. Vì thế khi tìm kiếm các mã độc hại, bạn không thể tin tưởng đơn giản
vào tên file và khu vực lưu trữ. Bạn phải kiểm chứng từng hàm băm toàn vẹn
trong file trước một bản copy vô hại hoặc một giá trị đã biết.
Với sự tái xuất hiện của các cặp malware và mối đe doạ ngày càng tăng từ
các Trojan rootkit, các nhân viên điều tra pháp lý cần xem xét kỹ máy tính
nhiễm độc đáng ngờ với phương thức out-of-band (như boot mở rộng chẳng
hạn) và kiểm chứng tính toàn vẹn của tất cả các chương trình cài đặt.
Để được trung thực hơn, bất kỳ chương trình bảo mật máy tính cá nhân nào
cũng thực sự nên có phương án dự phòng mở rộng kèm theo. Nhưng khi hầu
hết malware không làm được điều này, thật dễ dàng trở nên lười biếng với
các shorcut.
Tôi thường sử dụng đĩa boot Linux (như Live distros) để thực hiện các cuộc
kiểm tra out-of-band. Đĩa boot yêu thích nhất hiện nay của tôi là Live distros,
dành cho các chuyên gia phân tích pháp lý là Ubuntu, Knoppix, và
BackTrack.
Nhưng Linux Live distros không thể chạy phần mềm Windows 32-bit dùng
để kiểm tra tính pháp lý của một máy tính Windows. Cũng như thế, mặc dù
chúng có thể thường xuyên đọc các phần vùng NTFS, nhưng hầu hết lại
không thể ghi được (như loại bỏ một chương trình malware, ngắt hoạt động
của một dịch vụ hay cơ chế tự động hoá…). Thậm chí chúng không hiểu
nhiều thành phần mở rộng của Windows (như EFS, Compression,…). Trong
nhiều trường hợp, nếu muốn boot nhanh một shell Windows 32-bit out-of-
band để làm một số việc có phần hơi gian lận thì rất khó.
Khách hàng doanh nghiệp của Microsoft với cơ chế tái bảo hiểm phần mềm
đã có Windows Preinstallation Environment (WinPE) từ Windows XP. Mục
đích ban đầu của chương trình này là hỗ trợ cài đặt nhanh chóng hệ điều
hành. WinPE và giao diện “dòng lệnh” trở thành người trong cuộc thú vị với
hình thức kiểm tra out-of-band trong các hệ thống bị nhiễm độc. Windows
Vista có WinPE 2.0, thành viên mở rộng của gia đình WinPE với giao diện
GUI Windows 32 bit khá đẹp, hỗ trợ Windows API và cơ chế đọc, ghi NTFS,
cơ chế đăng nhập mạng, điều khiển ổ, có thể chạy trên hầu hết chương trình
Windows. Đáng tiếc các tính năng mở rộng đó chỉ có ở Windows Vista.
Hiện nay xuất hiện một sản phẩm tốt hơn có tên BartPE. BartPE Builder có
thể giúp bạn tạo toàn bộ ảnh boot Windows out-of-band. Khi cài đặt, chương
trình sẽ tìm kiếm ổ cứng của bạn trước để cài đặt file. Mỗi lần tìm chương
trình sẽ dùng chúng để xây dựng một ảnh boot mới. BartPE Builder có thể
tạo một ảnh ISO hoặc lấy trực tiếp ảnh vào đĩa CD hoặc DVD.
Đó là một phiên bản “yếu” toàn bộ của Windows. Mặc dù chỉ đến trước khi
cài đặt với một nhóm chương trình kiểm tra (gọi là plug-in) nhưng bạn có thể
bổ sung bất kỳ tính hợp pháp mới nhất nào hoặc bổ sung chương trình kiểm
tra mà bạn thích. Ảnh BartPE của Chris, người hỗ trợ tác giả bài viết này có
tới 13 sản phẩm antivirus được cài đặt, 6 chương trình anti-spyware và 20 bộ
kiểm tra tính toàn vẹn, cả chương trình kiểm tra rootkit RootkitRevealer và
Blacklight cùng gần 100 chương trình khác. Khi bạn cần kiểm tra tính hợp
pháp của một hệ thống, bạn có thể khởi động đĩa CD BartPE tùy chọn và tất
cả mọi thứ bạn cần đều nằm trong một menu GUI.. Bạn có thể tự lập ảnh
BartPE tuỳ chọn riêng với các chức năng hữu ích nhất.
Tuy nhiên khi làm điều này, bạn sẽ thấy việc kiểm tra file đơn giản theo kiểu
auto-run lại ít tính tin cậy hơn. Hãy cân nhắc sử dụng BartPE để xây dựng cơ
chế kiểm tra Windows toolkit cuối cùng cho bạn.