Thời của các tiền bối, mình có được nghe những câu chuyện nghiên cứu mã độc sử dụng “môi trường an toàn” ở đó là những chiếc máy tính thật, máy tính vật lý. Những chiếc máy này phải được cô lập, sử dụng trong môi trường không có kết nối internet hoặc thậm chí phải sử dụng trên một network riêng biệt để tránh các rủi ro có thể gặp phải. Nhược điểm lớn của phương pháp này đó là không đảm bảo được môi trường mạng lý tưởng cho mã độc thực hiện các chức năng và rất dễ “màn hình xanh”, chết win cùng với đó khi hoàn thành phân tích sẽ rất vất vả để “dọn dẹp”.
Chúng ta may mắn hơn rất nhiều khi hầu hết các vấn đề nêu trên đã được giải quyết bằng công nghệ ảo hóa cùng với rất nhiều các phần mềm máy ảo hiện nay. Vậy cụ thể máy ảo sẽ giúp ích chúng ta như thế nào, trước tiên cùng tìm hiểu cấu trúc của máy ảo nhé!
Máy ảo, thuật ngữ máy ảo đã phần nào giải thích được cấu trúc của nó, “ảo” – virtual, có thể được hiểu là máy tính bên trong máy tính hay hệ điều hành trong hệ điều hành. Bằng cách này khi sử dụng máy ảo để phân tích phần mềm độc hại, nếu chẳng may bị hỏng hệ điều hành, chúng ta sẽ rất dễ dàng cài đặt lại hoặc khôi phục chúng về trạng thái sạch ban đầu.
Ở bài này tôi sẽ giới thiệu cho anh em phần mềm máy ảo tôi hay sử dụng đó là VirtualBox. Ngoài ra có rất nhiều sự lựa chọn khác như VMware Workstation, Hyper-V, Red Hat Virtualization… VirtualBox rất đầy đủ tính năng và dễ sử dụng và hơn hết, nó open source và free.
Cài đặt máy ảo
Để cài đặt VirtualBox trên windows, các bạn có thể vào địa chỉ này, tải bộ cài, tại thời điểm viết bài, phiên bản mới nhất đang là 7.0.6.
Các bước cài chi tiết thì có lẽ tôi không cần nhắc đến bởi trên mạng đã có rất nhiều bài hướng dẫn nên tôi chỉ giới thiệu các thông tin hữu ích.
Các phần mềm máy ảo hiện nay, bao gồm VirtualBox đều rất thông minh, các ổ cứng ảo được tạo ra đều được tối ưu lưu trữ, ví dụ: khi bạn tạo máy ảo với 60GB ổ cứng nhưng trên thực tế chỉ lưu trữ 10GB dữ liệu thì ngoài máy thật chúng sẽ chỉ chiếm con số tương ứng.
Ngoài phân tích mã độc, máy ảo còn có rất nhiều chức năng hữu ích. Để phân tích mã độc, chúng ta cần cài một máy ảo với hệ điều hành windows, có thể sử dụng windows XP. Đến đây chắc hẳn một số bạn thắc mắc tại sao lại sử dụng windows XP đã lỗi thời đúng không.
Mặc dù windows XP có rất nhiều hạn chế và giới hạn, thậm chí một số phần mềm mới không thể chạy trên hệ điều hành này nhưng đây vẫn là một môi trường lý tưởng để phân tích mã độc, có thể lấy ví dụ đơn giản đó là khi chạy mã độc ở đây dễ dàng có được địa chỉ Entrypoint lý tưởng 0x400000 chẳng hạn. Hoặc anh em có thể giống tôi, cài thêm cả windows 7, windows 10 cũng được nhé.
Đó là về hệ điều hành, sau khi cài đặt xong, chúng ta sẽ cài thêm các công cụ hỗ trợ phân tích mã độc và cấu hình phần mềm để tối ưu cho việc phân tích.
Cấu hình máy ảo
Cấu hình mạng:
Khi phân tích mã độc chắc hẳn chúng ta vừa không muốn hệ thống mạng bị tấn công và vừa muốn theo dõi các hoạt động mạng của phần mềm độc hại. Virtualbox hay các phần mềm máy ảo khác cũng cấp rất nhiều tùy chọn thiết lập mạng ảo.
Một số cấu hình tiêu biểu như:
Not attached: Ngắt kết nối mạng
NAT (Network Address Translation): Máy ảo chia sẻ địa chỉ IP của máy tính chủ và có thể truy cập internet thông qua giao diện mạng của máy tính chủ. Đây là chế độ mặc định.
Bridged: Máy ảo được kết nối với bộ điều hợp mạng của máy tính chủ như là một máy vật lý trên mạng. Máy ảo có địa chỉ IP riêng trên cùng đoạn mạng như máy chủ.
Internal: Máy ảo được kết nối với một mạng nội bộ chỉ có thể truy cập được bởi các máy ảo khác trên cùng máy chủ. Các máy ảo có thể truyền thông với nhau nhưng không thể truy cập vào máy tính chủ hoặc internet.
Host-only: Máy ảo được kết nối với một mạng riêng chỉ có thể truy cập được bởi máy tính chủ và các máy ảo khác trên cùng máy chủ. Các máy ảo có thể truyền thông với nhau và với máy chủ, nhưng không thể truy cập internet hoặc các máy khác trên mạng bên ngoài.
Cấu hình kết nối các thiết bị ngoại vi
Máy ảo cũng có thể thiết lập để kết nối tới các thiết bị ngoại vi, ví dụ USB.
Trong Virtualbox, anh em cần cài thêm VirtualBox Extension Pack và thiết lập trong phần Setting của máy ảo.