Trích xuất thơng tin thuộc tính cơ bản của ELF (EME)

Một phần của tài liệu Nghiên cứu xây dựng hệ thống VSandbox trong phân tích và phát hiện mã độc IoT Botnet. (Trang 66 - 69)

6. Bố cục của luận án

2.2. Các thành phần chính

2.2.1. Trích xuất thơng tin thuộc tính cơ bản của ELF (EME)

Mơi trường V-Sandbox của nghiên cứu sinh tập trung bao gồm GNU/Linux và BSD. Định dạng của các tệp thực thi trong mơi trường này là ELF (Executable and

Linkable Format), định dạng cĩ thể thực thi và cĩ thể liên kết với các thư viện nằm

ngồi mã nguồn của tệp tin (thư viện liên kết động). Các thơng tin mơ tả về thuộc tính cơ bản của ELF được lưu trữ trong tiêu đề (header) của tệp. Header ELF dài 32 byte và xác định định dạng của tệp. Nĩ bắt đầu bằng một chuỗi gồm bốn byte duy nhất là

0x7F, sau đĩ là 0x45, 0x4c và 0x46, dịch thành ba chữ cái E, L và F. Trong các giá trị

khác, tiêu đề cũng cho biết đĩ cĩ phải là tệp ELF cho định dạng 32-bit hoặc 64-bit, cĩ thể thực thi hay khơng, kiến trúc Little edian hoặc Big edian, hiển thị phiên bản ELF cũng như tệp được biên dịch cho hệ điều hành nào và loại tập lệnh CPU sử dụng.

Để xác định các tham số cấu hình ban đầu cho mơi trường Sandbox cĩ thể khởi chạy tệp đầu vào, khối EME sẽ thực hiện trích xuất thơng tin thuộc tính cơ bản từ tệp thực thi, bao gồm:

- Định dạng của tệp: xác định tệp là định dạng ELF hay khơng, nếu cĩ thì là kiến trúc 32 bit hay 64 bit.

- Loại tệp: cĩ khả năng thực thi hay khơng.

- Kiến trúc CPU: xác định kiến trúc CPU cần thiết để thực thi. - Kernel: xác định phiên bản Kernel Linux cần thiết.

- Liên kết tĩnh hoặc liên kết động: xác định danh sách các tệp thư viện cần thiết ban đầu.

Để đọc các giá trị trong Header ELF, cĩ nhiều cơng cụ như “Readelf”, “File

utility”, “Elfdump”, “Elfutils”, “Objdump”, “Scanelf”, “Elfkickers”,… Với thơng tin

yêu cầu cần thu thập của khối EME kể trên, nghiên cứu sinh đã thử nghiệm và lựa chọn sử dụng cơng cụ “Readelf”, vì hai lý do. Đầu tiên, cơng cụ “Readelf” cung cấp thơng tin đầy đủ theo yêu cầu của khối EME. Thứ hai, nĩ được tích hợp vào các phiên bản Linux dễ sử dụng mà khơng phải cài đặt thêm các gĩi bên ngồi.

Sử dụng cơng cụ “Readefl” để xác định các thuộc tính tệp được minh họa kết quả trong Hình 2.2 và Hình 2.3. Trong Hình 2.2 cho thấy mẫu tệp đầu vào (mẫu mã độc IoT Botnet Mirai cĩ mã MD5 là a7192c394957ba17878e3c1f57aca67b) là tệp khả chạy (Executable file – EXEC) với định dạng ELF 32 bit, Little Endian và được xây dựng cho kiến trúc Unix - System V, kiến trúc tập lệnh vi xử lý MIPS. Trong Hình 2.3 cho thấy một danh sách các thư viện mẫu mã độc yêu cầu cần để chạy. Lưu ý rằng đây là danh sách các thư viện mà ELF yêu cầu khi đọc Header, vì vậy nĩ khơng chắc chắn là đầy đủ. Vấn đề này sẽ được thảo luận thêm trong phần tiếp theo. Các thơng tin thuộc tính này được gửi đến khối SCG để tạo máy ảo phù hợp để thực thi tệp ELF. Đầu ra của khối EME là một tệp cĩ đuơi "argconfig" như được minh họa trong Hình 2.4.

Hình 2.2 Sử dụng Readelf đọc Header ELF

Hình 2.3 Sử dụng Readelf liệt kê các yêu cầu thư viện động

Một phần của tài liệu Nghiên cứu xây dựng hệ thống VSandbox trong phân tích và phát hiện mã độc IoT Botnet. (Trang 66 - 69)

Tải bản đầy đủ (DOC)

(143 trang)
w