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.