NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH GÓI TIN CHỨA MÃ ĐỘC Có demo. thu thập và phân tích thông tin an ninh mạng. Thường thì mã độc chọn môi trường lây nhiễm với victim từ các nguồn mà người sử dụng chủ quan hoặc chưa có sự đề phòng như: email, quảng cáo, file download ứng dụng,... Sau khi người sử dụng click vào hoặc tiến hành tải file thực thi về sẽ làm lây nhiễm mã độc vào hệ thống. Từ đó mã độc có thể tiến hành các hành độc thực thi tùy thuộc vào tác dụng của chúng, có thể là đánh cắp thông tin người sử dụng, tranh quyền kiểm soát hệ thống, làm gián đoạn hệ thống mạng, làm tắc nghẽn mạng,...
Trang 1BAN CƠ YẾU CHÍNH PHỦ
ỌC VIỆN KỸ THUẬT MẬT MÃ
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
BÁO CÁO
NGHIÊN CỨU KỸ THUẬT PHÂN TÍCH
GÓI TIN CHỨA MÃ ĐỘC
Ngành: Công nghệ thông tin
Chuyên ngành: An toàn thông tin
Học phần: thu thập và phân tích thông tin an ninh mạng
Sinh viên thực hiện:
Đỗ Đức Thành
Lê Thị Thanh Phương
Nguyễn Văn Nghĩa
Trang 2MỤC LỤC
CHƯƠNG I: TỔNG QUAN VỀ PHÂN TÍCH GÓI TIN 2
1.1 Phân tích gói tin 2
1.2 Phân tích giao thức 3
1.2.1 Xác định giao thức 3
1.2.2 Giải mã nội dung giao thức 6
1.2.3 Trích xuất nội dung trong giao thức 7
1.3 Phân tích chi tiết nội dung gói tin 9
1.3.1 Khớp mẫu 9
1.3.2 Trích xuất các trường trong giao thức 9
1.3.3 Lọc chọn gói tin 10
CHƯƠNG II: TẤN CÔNG SỬ DỤNG MÃ ĐỘC 12
2.1 Tổng quan về mã độc 12
2.1.1 Khái niệm 12
2.1.2 Phân loại và đặc tính của mã độc 12
2.2 Tấn công sử dụng mã độc 13
2.2.1 Cấu trúc PE file 13
2.2.2 Hình thức tấn công 15
2.2.3 Đối tượng tấn công 17
CHƯƠNG III: PHÂN TÍCH GÓI TIN CHỨA MÃ ĐỘC 21
3.1 Tổng quan về phân tích gói tin chứa mã độc 21
3.2 Công nghệ phân tích mã độc 21
3.2.1 Sự khác nhau về các kỹ thuật phân tích mã độc 23
3.2.2 Một số quy tắc chính khi phân tích mã độc 23
3.3 Các công cụ phân tích mã độc điển hình 24
3.4 Quá trình phân tích gói tin chứa mã độc 27
3.5 Demo phân tích gói tin chứa mã độc 29
3.5.1 Kịch bản 29
3.5.3 Các tiến trình 31
CHƯƠNG IV: KẾT LUẬN 39
Trang 3DANH MỤC HÌNH
hình 1.1:Công nghệ TCPdump để xác định giao thức 9
hình 1.2: Giao thức sử dụng trong gói tin TCP 9
hình 1.3: Giao thức sử dụng trong gói tin UDP 10
hình 1.4: công cụ WHOIS khai thác địa chỉ IP 11
hình 1.5: Wireshark giải mã gói tin 12
hình 1 6: Giải mã giao thức AIM 12
hình 1.7: Nội dung trong gói tin được lọc chọn 17
Y hình 2.1: Cấu trúc cơ bản của PE 20
hình 3.1: phương pháp phân tích tĩnh trên Android 27
hình 3.2: Kỹ thuật phân tích động bằng remnux 27
hình 3.3: Chương trình giám sát tiến trình Process Monitor 29
hình 3.4: Công cụ Wireshark 30
hình 3.5: Công cụ OllyDBG 31
hình 3.6: Sơ đồ mạng 36
hình 3.7: Tạo file mã độc trong Kali Linux 37
hình 3.8: Sử dụng payload multi Handler để lắng nghe 37
hình 3.9: Email chứa mã độc được gửi đến cho máy victim 38
hình 3.10: Giao diện Wireshark sau khi mở gói tin chứa mã độc 38
hình 3.11: Thực hiện lệnh reboot màn hình 39
hình 3.12: Quan sát các tiến trình khởi động cùng hệ thống trên Autoruns 39
hình 3.13: Quá trình bắt tay ba bước trên Wireshark 40
hình 3.14: Thực hiện lệnh Sysinfo 40
hình 3.15: Lọc địa chỉ ip và qua sát quá trình truyền tin 41
hình 3.16: Quan sát các tiến trình thực hiện trong quá trình gửi tin 42
Trang 4hình 3.17: Attrack thực hiện các lệnh gửi đến cho Victim 42 hình 3.18: Các gói tin nhận được khi thực hiện lệnh 43 hình 3.19: Quan sát các lệnh được thực thi trên victim 43
Trang 5NHẬN XÉT
LỜI NÓI ĐẦU
Trang 6Trong tất cả các lĩnh vực liên quan đến CNTT thì chắc hẳn khái niệm mãđộc không còn là điều xa lạ với hầu hết mọi người Các loại mã độc rất phongphú và hình thức lây lan của chúng cũng ngày càng đa dạng và tinh vi hơn Việcphát hiện và loại bỏ mã độc cũng đòi hỏi người sử dụng phải có kiến thức cơbản về mã độc
Thường thì mã độc chọn môi trường lây nhiễm với victim từ các nguồn màngười sử dụng chủ quan hoặc chưa có sự đề phòng như: email, quảng cáo, filedownload ứng dụng, Sau khi người sử dụng click vào hoặc tiến hành tải filethực thi về sẽ làm lây nhiễm mã độc vào hệ thống Từ đó mã độc có thể tiếnhành các hành độc thực thi tùy thuộc vào tác dụng của chúng, có thể là đánh cắpthông tin người sử dụng, tranh quyền kiểm soát hệ thống, làm gián đoạn hệthống mạng, làm tắc nghẽn mạng,
Việc phân tích hoạt động của mã độc cho phép người dùng quan sát đượccác hoạt động mà mã độc thực thi trên hệ thống sau khi nó tiến hành lây nhiễm
để từ đó có thể hiểu rõ về từng loại mã độc và tìm ra các giải pháp khắc phục,phòng tránh
Trong báo cáo lần này, nhóm sẽ tiến hành việc tìm hiểu về phân tích mộtgói tin chứa mã độc – một loại hình lây lan khá phổ biến khi mã độc được đínhkèm vào các file ứng dụng và file thực thi Việc phân tích sẽ giúp chúng ta quansát được cách hoạt động của mã độc khi mã độc được thực thi, xem xét mã độchoạt động ra sao, lây lan như thế nào, nó kết nối đến đâu, cài đặt những gì vào
hệ thống, tạo ra các dấu hiệu nhận dạng hiểu quả hoạt động của mã độc Bài báocáo cũng nêu lên được các bước của việc phân tích một gói tin nói chung vàphân tích gói tin chứa mã độc nói riêng
Trang 7CHƯƠNG I: TỔNG QUAN VỀ PHÂN TÍCH GÓI TIN 1.1 Phân tích gói tin
Khái niệm: phân tích nội dung gói tin là thực hiện thanh tra, phân tích nộidung dữ liệu bên trong một hay nhiều gói tin Quá trình phân tích này thườngđược tiến hành để xác định gói tin quan trọng, phát triển phân tích luồng dữ liệu
và xây dựng lại nội dung
Phân tích nội dung gói tin đề cập đến nghệ thuật phân tích và thanh tra cácgiao thức trong một tập các gói tin Việc phân tích các gói tin để xác định cácgói tin cần quan tâm, hiểu rõ cấu trúc và mối quan hệ để thu thập chứng cứ vàtạo điều kiện cho việc phân tích sâu hơn giai đoạn sau Để xác định gói tin cầnquan tâm người phân tích có thể sử dụng nhiều nhiều kỹ thuật khác nhau tuynhiên kỹ thuật chọn lọc là kỹ thuật phổ biến vầ hiệu quả để phân lập các gói tincần quan tâm dựa trên các trường của gói tin hay giao thức bên trong gói tin.Ngoài ra người phân tích có thể tìm kiếm với các chuỗi hoặc mẫu trong nộidung gói tin để xác định mục tiêu phân tích, các giao thức được sử dụng cho ý
đồ của kẻ lây nhiễm Việc hiểu rõ cấu trúc gói tin là rất quan trọng trong việc táitạo thông tin, dữ liệu tập tin hoặc bất kỳ dòng dữ liệu trao đổi nào giữa các bênliên quan Việc chia nhỏ gói tin hay một nhóm các gói tin thường xuyên sẽ giúpcho chúng ta xác định được các công cụ thích hợp để khai phá bằng chứng vàkhôi phục lại thông tin đã mất
Nhằm thực hiện phan tích gói tin, người phân tích có thể sử dụng một sốphương pháp phân tích gói tin như :
- Thanh tra thủ công: thực hiện việc tìm kiếm văn bản tìm kiếm mẫu nhịphân, thanh tra gói tin và xác minh giao thức
- Phương pháp lọc: dựa trên các thông tin như địa chỉ MAC, địa chỉ ip,ngày/giờ và mẫu ngoài ra tổng hợp việc lọc dựa trên các thông tin ở trên nhưlọc gói tin trong khoảng thời gian, lọc gói tin xuất phát từ những địa chỉ IP cụthể Phương pháp lọc còn được sử dụng với sự hỗ trợ dựa trên biểu thức lọcphức tạp như biểu thức chính quy
- Thống kê: thống kê dựa trên việc sử dụng băng thông, IP, ngày/giờ vàdựa trên giao thức (email, FTP, HTTP, )
Trang 81.2 Phân tích giao thức
Phân tích giao thức thực hiện kiểm tra một hoặc nhiều trường dữ liệu trongmột giao thức, điều này rất cần thiết cho việc phân tích gói tin bởi vì việc thanhtra gói tin cần thực hiện trên đúng cấu trúc truyền thông để có thể hiểu được nộidung gói tin hay luồng dữ liệu
Phân tích thông tin an ninh mạng luôn phải được chuẩn bị để có thể phântích nắm vững các giao thức chưa từng được công bố hơn nữa tin tặc đôi khiphát triển các giao thức mới tùy biến hoặc mở rộng các giao thức trước đó nhằmgiao tiếp và đưa thêm một số chức năng mới để thực hiện ý đồ của tin tặc
Phân tích giao thức bao gồm một số phương pháp cơ bản: xác định giaothức, giải mã nội dung giao thức, trích xuất nội dung giao thức
Xác định giao thức thông qua cổng TCP/UDP gắn liền với các giao thứcdịch vụ quy chuẩn
Dựa trên phân tích thông tin từ địa chỉ đích địa chỉ nguồn
a) Dựa trên thông tin nhận dạng trong đóng gói giao thức
Hầu hết giao thức có chứa các chuỗi bit thường xuất hiện ở trong các góitin gắn liền với nhận dạng giao thức hay nói cách khác giao thức chứa thông tinchỉ ra kiểu giao thức được đóng gói do vậy người phân tích có thể lợi dụng đặcđiểm này để phân tích nhận dạng giao thức Thông thường người phân tích sẽtiến hành tìm kiếm các giá trị nhị phân /thập lục phân/ASCII phổ biến thường đikèm trong một giao thức cụ thể
Trong ví dụ dưới đây người phân tích sử dụng công nghệ TCPdump để xácđịnh giao thức được sử dụng trong tập dữ liệu gói tin thu nhận được
Trang 9hình 1.1:Công nghệ TCPdump để xác định giao thức
Sử dụng công cụ Wireshark để hiển thị rõ nội dung gói tin như trong hìnhdưới đây người phân tích có thể xác định giao thức được sử dụng ở tầng ứngdụng, do byte thứ 9 trong phần đầu của gói tin IP theo định dạng sẽ chỉ ra giaothức được đóng gói bên trong Trong trường hợp này giá trị byte thứ 9 là 0x06tương ứng với giao thức TCP Dựa trên những thông tin này chúng ta có thể chỉ
ra giao thức TCP được sử dụng trong gói tin IP
hình 1.2: Giao thức sử dụng trong gói tin TCPb) Xác định giao thức thông qua các cổng TCP/UDP gắn liền với cácgiao thức, dịch vụ quy chuẩn
Thông thường các dịch vụ hay giao thức ở tầng mạng trong mô hìnhTCP/IP thường sử dụng giao thức ở tầng vận chuyển TCP hay UDP với cáccổng theo quy định
Trang 10Dựa theo tính chất này một cách đơn giản và phổ biến để xác định giaothức bằng cách kiểm tra số cổng TCP hoặc UDP sử dụng Theo cấu trúc địnhdạng của TCP/UDP có tất cả 65535 cổng cho giao thức TCP và UDP Tổ chứccấp phát số hiệu Internet IANA đã công bố các cổng TCP/UDP tương ứng vớicác giao thức, dịch vụ mạng Chúng ta có thể xem danh sách này trên trang chủIANA Ngoài ra, trong các hệ thống UNIX/LINUX cũng lưu trữ danh sách nàytrong thư mục /etc/.
Tuy nhiên xác định giao thức dựa trên các cổng giao thức TCP/UDP cónhược điểm là không phải lúc nào cũng đưa ra kết quả chính xác, bởi vì phíamáy chủ có thể cấu hình để sử dụng các cổng không quy chuẩn cho một dịch vụxác định
hình 1.3: Giao thức sử dụng trong gói tin UDPc) Phân tích thông tin từ địa chỉ nguồn, địa chỉ đích
Thông thường, tên máy chủ và các dịch vụ nó cung cấp có thể xác định cácgiao thức sử dụng, cũng như thông tin hữu ích liên quan Như ví dụ trong hình1.3 chúng ta chưa xác định các giao thức nào sử dụng mặc dù Wireshark xácđịnh nhầm giao thức được sử dụng là SSL Chúng ta có thể phân tích thông tin
từ địa chỉ IP sẽ giúp chúng ta tìm ra giao thức thật sự ở bên trong Ở đây địa chỉnguồn là “64.12.24.50”, chúng ta sử dụng WHOIS để khai thác thông tin về địachỉ IP này như dưới đây
Trang 11hình 1.4: công cụ WHOIS khai thác địa chỉ IPThông tin WHOIS cung cấp cho thấy địa chỉ này thuộc về tổ chức AmericaOnline Inc và chúng ta có thể giả thiết rằng gói tin này thuộc về luồng dữ liệu sửdụng giao thức được hỗ trợ bởi các dịch vụ AOL ví dụ như HTTP hoặc AIM.
1.2.2 Giải mã nội dung giao thức
Giải mã giao thức là kỹ thuật thông dịch các dữ liệu trong gói tin theo mộtcấu trúc, cho phép người phân tích hiểu đúng nội dung được truyền đi bởi giaothức Để giải mã lưu lượng mạng theo một đặc tả giao thức cụ thể thì chúng tacần:
- Tận dụng bộ giải mã tự động tích hợp sẵn trong công cụ
- Tham khảo các tài liệu được công bố công khai và tự giải mã\
- Viết bộ giải mã cho riêng mình
Trang 12hình 1.5: Wireshark giải mã gói tinHình 1.5 minh họa sử dụng Wireshark để giải mã gói tin, kết quả giải mãgói tin với giao thức AIM (AOL Instant Messenger) được sử dụng để hiển thịtrong hình 1.6 với thông tin chi tiết liên quan bao gồm Channel ID, SequenceNumber, ICBM Cookie Những thông tin này chỉ ra giao thức sử dụng đúng làgiao thức AIM và việc giải mã giao thức này là chính xác.
hình 1 6: Giải mã giao thức AIM
1.2.3 Trích xuất nội dung trong giao thức
Bước tiếp theo sau khi đã xác định được giao thức sử dụng và phương pháp
để giải mã là trích xuất nội dung “ cần quan tâm” trong giao thức Người phân
Trang 13tích sử dụng công cụ tshark để trích xuất nội dung ra PDML bằng cách sử dụngtùy chọn “-T” như ví dụ dưới đây
$ tshark -r evidence pcap -X lua_script : oft-tsk lua -R “oft” -n -Rframe number==112 -V
Frame 112 (310 bytes on wrie , 310 bytes captured
…
Oscar File Transfer Protocol (256)
Version : 0FT2Length : 256Type : Prompt (0x0101)Cookie : 0000000000000000Encryption : None (0)
Compression : None (0)Total File(s) : 1
File(s) Left : 1Total Parts : 1Parts Left : 1Total Size : 12008Size : 12008Modification Time : 0Checksum : 0xb1640000 Received Resource Fork Checksumm : 0xffff 0000
List Name Offset : 0
List Size Offset : 0
Dummy Block 0000000000000000000000000000000000000000… Mac File Information:
Encoding : ASCII (0x0000)
Trang 14Encoding subcode : 0x0000
Filename: recipe docx
Để trích xuất một trường hợp cụ thể như tên tệp và dung lượng tệp, ngườiphân tích có thể sử dụng cờ “-T” và “-e” như sau:
$ tshark -r evidence pcap -X lua_script : oft-tsk lua -R “oft” -n -Tfields -e “oft.fillename” -e oft.totsize -R frame.number ==112recipe.docx 12008
1.3 Phân tích chi tiết nội dung gói tin
Hiện nay người ta sử dụng 3 kỹ thuật cơ bản để phân tích chi tiết nội dunggói tin: Khớp mẫu ( Pattern Matching), trích xuất các trường của giao thức(Parsing Protocol Fields) và lọc chọn gói tin (Ơacket Filtering) Dưới đây sẽtrình bày cụ thể về ba kỹ thuật cơ bản nói trên
1.3.1 Khớp mẫu
Là phương pháp xác định các gói tin “ đáng quan tâm” bằng cách kết hợpcác giá trị cụ thể trong tập các gói tin cần phân tích Chúng ta có thể tận dụngcác danh sách gói tin “ cần quan tâm” để phân tích các hoạt động an ninh của hệthống Việc nhanh chóng tìm ra các gói tin “ cần quan tâm” này dựa trên cácchuỗi hoặc mẫu (hay còn gọi là từ khóa tìm kiếm) liên quan đến các hoạt động
an ninh mạng cần phân tích
Người phân tích có thể sử dụng nhiều công cự khác nhau để tiến hành việckhớp mẫu cho quá trình thu thập và phân tích gói tin Một trong số các công cụthường được sử dụng đó là ngrep
1.3.2 Trích xuất các trường trong giao thức
Trích xuất các nội dung của các trường của giao thức bên trong tập các góitin chúng ta quan tâm Chúng ta sử dụng tshark để trích xuất tất cả dữ liệu AIM
từ tệp thu được tập tin sau:
$ tshark -r evidence01.pcap -d tcp.por t == 443 , aim -T fields -n -e
Trang 15see you in hawaii!
Thông tin trong đoạn hội thoại sẽ cho biết nội dung tra đổi giữa hai bên vànhững thông tin này sẽ có ích cho việc phân tích sau này
1.3.3 Lọc chọn gói tin
Lọc gói tin thực hiện tách các gói tin dựa trên các giá trị của các trườngtrong giao thức Thông thường lọc chọn các gói tin bằng cách sử dụng bộ lọcBPF hoặc bộ lọc hiển thị Wireshark
Ngôn ngữ lọc gói tin Berkely (BPF)
Trong thực tế luồng dữ liệu truyền trên mạng có dung lượng rất lớn điềunày gây rất nhiều khó khăn cho người phân tích trong việc thu thập và phân tíchthông tin an ninh mạng
Libpcap cung cấp một ngôn ngữ lọc gói tin rất mạnh với tên gọi cú pháplọc gói tin Berkely (BPF) Sử dụng lọc gói tin BPF cho phép người phân tíchquyết định luồng dữ liệu nào được chặn bắt và phân tích, còn luồng dữ liệu nàochúng ta bỏ qua BPF cho phép chúng ta lọc luồng dữ liệu dựa trên việc so sánhgiá trị trong các trường ở giao thức tầng liên kết, tâng mạng và vận chuyển BPFđược xây dựng sẵn các hàm “nguyên thủy” cho phần lớn các trường giao thứcphổ biến BPF được xây dựng rất đơn giản từ các hàm “nguyên thủy” như “host”
và “port” BPF có thể sử dụng các chuỗi điều kiện, sử dụng các hàm logic nhưAND và OR Đồng thời, cú pháp BPF được sử dụng rộng rãi và hỗ trợ cho cáccông cụ thu thập và phân tích
Trang 16Ví dụ, người phân tích muốn chỉ xem luồng dữ liệu với địa chỉ IP192.168.0.1 giao tiếp với hệ thống khác ngoại trừ 10.1.1.1 trên cổng 138, 139hoặc 445, thực hiện câu lệnh BPF với cú pháp như sau:
Lọc gói tin theo từng byte, ví dụ ip[8] < 64
Lọc gói tin theo từng bit, ví dụ ip[0] & 0x0f > 0x05
Để giảm lưu lượng mạng, sử dụng công cụ tcpdum với bộ lọc BPF để tìm
ra các gói tin của địa chỉ IP nguồn và đích như dưới đây:
$ tcpdump -s 0 -r evidence01.pcap -w evidence01-talkers.pcap ‘host64.12.24.50 and host 192.168.1.158’
Reading from file evidence01.pcap, link-type EN1CMB (Ethernet)
Sử dụng Wireshark để bắt các gói dữ liệu lọc và xem có thể nhận thêmthông tin về cuộc trao đổi giữa hai bên
Trang 17hình 1.7: Nội dung trong gói tin được lọc chọn
Trang 18CHƯƠNG II: TẤN CÔNG SỬ DỤNG MÃ ĐỘC 2.1 Tổng quan về mã độc
2.1.1 Khái niệm
Mã độc là một khái niệm chung dùng để chỉ các phần mềm độc hại đượcviết với mục đích có thể lây lan phát tán (hoặc không lây lan, phát tán) trên hệthống máy tính và internet, nhằm thực hiện các hành vi bất hợp pháp nhằm vàongười dùng cá nhân, cơ quan, tổ chức Thực hiện các hành vi chuộc lợi cá nhân,kinh tế, chính trị hoặc đơn giản là để thỏa mãn ý tưởng và sở thích của ngườiviết
2.1.2 Phân loại và đặc tính của mã độc
Tuỳ thuộc vào cơ chế, hình thức tấn côngvà phương pháp phá hoại màngười ta phân biệt mã độc thành nhiều loại khác nhau: virus, trojan, backdoor,adware, spyware… Đặc điểm chung của mã độc là thực hiện các hành vi khônghợp pháp (hoặc có thể hợp pháp, ví dụ như các addon quảng cáo được thực thimột cách hợp pháp trên máy tính người dùng) nhưng không theo ý muốn củangười sử dụng máy tính Dưới đây chúng ta sẽ phân loại các mã độc theo cáchành vi nguy hiểm mà nó thường xuyên thực hiện:
Trojan: đặc tính phá hoại máy tính, thực hiện các hành vi phá hoại như:
xoá file, làm đổ vỡ các chương trình thông thường, ngăn chặn người dùng kếtnối internet…
Worm: Giống trojan về hành vi phá hoại, tuy nhiên nó có thể tự nhân bản
để thực hiện tấn côngqua nhiều máy tính
Spyware: là phần mềm cài đặt trên máy tính người dùng nhằm thu thập
các thông tin người dùng một cách bí mật, không được sự cho phép của ngườidùng
Adware: phần mềm quảng cáo, hỗ trợ quảng cáo, là các phần mềm tự
động tải, pop up, hiển thị hình ảnh và các thông tin quảng cáo để ép người dùngđọc, xem các thông tin quảng cáo Các phần mềm này không có tính phá hoạinhưng nó làm ảnh hưởng tới hiệu năng của thiết bị và gây khó chịu cho ngườidùng
Trang 19 Ransomware: đây là phần mềm khi tấn côngvào máy tính nó sẽ kiểm
soát hệ thống hoặc kiểm soát máy tính và yêu cầu nạn nhân phải trả tiền để cóthể khôi phục lại điều khiển với hệ thống
Virus: là phần mềm có khả năng tấn côngtrong cùng một hệ thống máy
tính hoặc từ máy tính này sang máy tính khác dưới nhiều hình thức khác nhau.Quá trình lây lan được thực hiện qua hành vi lây file Ngoài ra, virus cũng có thểthực hiện các hành vi phá hoại, lấy cắp thông tin…
Rootkit: là một kỹ thuật cho phép phần mềm có khả năng che giấu danh
tính của bản thân nó trong hệ thống, các phần mềm antivirus từ đó nó có thể hỗtrợ các module khác lây nhiễm, khai thác hệ thống
2.2 Tấn công sử dụng mã độc
2.2.1 Cấu trúc PE file
Một bước rất quan trọng khi tìm hiểu về mã độc là tìm hiểu về file PE vìgần như mọi mã thực thi được nạp bởi Windows đều có định dạng PE Đây làdạng phổ biến bậc nhất của Malware và cũng là định dạng hay bị tấn côngmãđộc nhất
Định dạng file PE được dùng cho những file thực thi, mã đối tượng và cácDLL của Windows Định dạng này là một cấu trúc dữ liệu bao gồm thông tincần thiết để Windows OS Loader quản lý được mã thực thi trong nó
Để có thể thực thi trên máy tính, nội dung file PE được chia thành cácthành phần và có mối liên hệ mật thiết với nhau Nắm rõ cấu trúc PE sẽ giúpchúng ta hiểu được cơ chế thực thi của một phần mềm, từ việc tổ chức tới việcnạp lên bộ nhớ, các tài nguyên sử dụng…
Hơn nữa, khi chúng ta muốn sửa đổi một file, ví dụ như thêm vào một sốđoạn mã, chỉnh sửa một số thành phần nhưng vẫn muốn phần mềm thực thi bìnhthường, ví dụ trong trường hợp cần chỉnh sửa các công cụ phân tích để tránh bịphát hiện bởi Malware thì chúng ta cần phải nắm rõ cấu trúc PE file cũng nhưmối liên hệ giữa các thành phần trong file để có thể nhanh chóng thay đổi file vàthoả mãn yêu cầu đề ra mà không ảnh hưởng tới chức năng cũng như hoạt độngcủa file
Mặt khác, đối với các Malware sử dụng kỹ thuật tiêm mã vào các tiền trình
Trang 20đang có để che giấu sự tồn tại trên hệ thống, nếu chúng ta không hiểu rõ cấu trúccủa file PE sẽ rất khó tìm ra tiến trình bị tiêm mã độc.
hình 2.1: Cấu trúc cơ bản của PECấu trúc PE có thể gồm nhiều section, trong đó tối thiểu cần 2 section: data
và code Một số section thông dụng hay được gặp ở các phần mềm:
1 Executable Code Section, có tên là text (Microsoft).
2 Data Sections, có tên nh data, rdata, bss (Microsoft) hay DATA
(Borland)
3 Resources Section, có tên là rsrc
4 Export Data Section, có tên là edata
5 Import Data Section có tên là idata
6 Debug Information Section, có tên là debug
Cấu trúc các section trên bộ nhớ và trên ổ đĩa là như nhau, tuy nhiên khiđược nạp lên bộ nhớ, các Windows loader sẽ quyết định thứ tự và vị trí nạp các
Trang 21phần, do đó vị trí các phần trên ổ đĩa và trên bộ nhớ sẽ có sự khác biệt.
2.2.2 Hình thức tấn công
Qua thiết bị lưu trữ
Cách tấn công phổ biến nhất của Malware trước đây là qua các thiết bị lưutrữ di động, dù là thời sử dụng đĩa mềm ngày xưa hay thẻ nhớ USB ngày nay.Hiện tại, thẻ nhớ trong các thiết bị di động thông minh, hay thiết bị ghi âm, ghihình kỹ thuật số cũng là một vật trung gian hiệu quả cho việc lan truyềnMalware Các thiết bị di động thông minh thì hay phải nạp pin và phương thứcnạp pin qua công USB lại rất tiện dụng, điều này tiềm ẩn nguy cơ rất lớn choviệc lây truyền Malware
Một số dạng tấn công điển hình qua USB:
- Lợi dụng chức năng Autorun
Khi thiết bị lưu trữ có sử dụng giao tiếp USB được cắm vào máy tính đãnhiễm Malware, Malware sẽ phát hiện ra thiết bị có thể tấn côngđược, sau đó tựsao chép bản thân mình vào một vị trí bí mật trên thiết bị đó Tiếp theo, nó ghimột file autorun.inf có nội dung cơ bản như sau:
[Autorun]
OPEN=Đường dẫn virus trong đĩa USB
Từ Windows Vista trở về trước, Windows sẽ mặc nhiên kiểm tra tập tinautorun.inf trong các thiết bị USB và thực thi các câu lệnh có trong đó
- Đánh lừa người dùng
Trong nhiều trường hợp, các tấn công sử dụng tập tin Autorun không hiệuquả, ví dụ như từ hệ điều hành Windows 7 trở về sau, chức năng này khôngcòn động nữa Malware chuyển sang sử dụng cách đánh lừa người dùng để thựcthi file mã độc đã tấn côngtrên thẻ nhớ USB Có thể kể đến như:
Ẩn thư mục trên USB và thay vào đó là các tập tin Malware có hình thư
Trang 22mục với tên tương tự các thư mục tồn tại ban đầu Với cách này, Malware dễdàng lừa được người dùng khởi chạy nó nếu trên hệ thống đang tắt.
chức năng hiển thị file ẩn và phần mở rộng file
Chuyển các file doc, docx của người dùng vào vị trí bí mật trên thẻ nhớUSB thay thế vào đó là các file Malware có tên và hình đại diện (icon) là filedoc, docx Đồng thời sử dụng các khoảng trắng để kéo dài tên file tối đa, làmngười dùng có để hiện tên file thì cũng có khả năng cao bị đánh lừa
Ví dụ:
Tập tin doc gốc: TenVanBan.doc
Tập tin malware: TenVanBan.doc: Vì tên tập tin quá dài nên Windows sẽ
rút ngắn lại khi hiển thị và để dấu hai chấm “ ” cuối cùng, thể hiện là tên vănbản còn tiếp tục Nhưng người dùng sẽ dễ dàng bỏ qua sự thể hiện này và chỉnhìn lướt với tên hiển thị ngay đầu tiên nên dễ dàng bị đánh lừa
Cả 2 cách trên đối với người dùng thông thường đều rất khó nhận ra khi lỡkhởi chạy nhầm phải Malware, vì khi đã đạt được mục đích lây nhiễm,Malware vẫn mở thư mục hoặc tập tin như bình thường cho người dùng Thậmchí, trong nhiều trường hợp, Malware còn khôi phục lại thẻ nhớ USB như chưa
hề bị nhiễm để tránh sự phát hiện
Qua mạng internet
Các phần mềm được viết ra có chứa sẵn mã độc, hoặc các phần mềm chínhthống bị sửa đổi để thêm mã độc vào được phát tán tràn lan trên mạng Internet.Các phần mềm Crack (bẻ khóa) có tỉ lệ chứa mã độc trong đó rất cao Nhiều khi
vì chủ quan hay vì muốn dùng phần mềm mà không phải trả tiền, người dùngsẵn sàng bất chấp mọi nguy cơ bị tấn côngmã độc để dùng những phần mềmnày
Khi truy cập các trang web, hệ thống có thể bị nhiễm mã độc bất kỳ lúcnào, nhất là khi truy cập vào các trang không đáng tin cậy Điều này có thể xảy
ra ngày cả khi chúng ta chỉ mở trang web, vì các trình duyệt, đặc biệt là cácthành phần của trình được phát triển bởi hãng thứ 3 (plugin) ẩn chứa rất nhiềunguy cơ mất an toàn Malware có thể lợi dụng những lỗ hổng này để tấn côngvào hệ thống
Trang 23Khi mà thư được sử dụng ngày càng rộng rãi thì đây là một nguồn tấncôngrất hiệu quả Khi đã tấn côngvào máy nạn nhân, Malware có thể tự tìm radanh sách các địa chỉ thư điện tử trong máy tính và nó tự gửi đi hàng loạt nhữngthư đánh lừa được đính kèm bản thân nó hoặc các liên kết chứa mã độc Khingười nhận không phát hiện ra thư bị nhiễm Malware thì khả năng cao sẽ bịnhiễm mã độc vào máy và từ máy này Malware lại tiếp tục lây nhiễm Chính vìvậy, số lượng phát tán Malware có thể theo cấp số nhân khiến trong thời gianngắn hàng triệu máy tính có thể bị lây nhiễm.
Ngày nay, khi phần mềm quản lý thư điện tử kết hợp với phần mềm diệtMalware có thể khắc phục được hành động tự nhân bản hàng loạt để phát tánqua các địa chỉ thư điện tử trong danh bạ máy tính thì chủ nhân Malware có thểchuyển qua hình thức tự gửi thư phát tán Malware bằng các nguồn địa chỉ sưutập được, các địa chỉ này cũng có thể là của chính Malware đó gửi về
Phương thức tấn công qua thư điện tử bao gồm:
- Tấn công vào các file đính kèm: Với cách này, người dùng sẽ không bịnhiễm mã độc đến khi phần mềm đính kèm đó được kích hoạt Malware cũngkhông dại gì chỉ gửi đúng mã độc của mình, mà chúng thường ẩn dưới bỏ bọc làcác phần mềm miễn phí hay những phần mềm có nội dung nhạy cảm
- Tấn công do mở một liên kết trong thư điện tử: Liên kết trong thư điện
tử có thể dẫn tới một trang web được cài sẵn mã độc, các này thường khai thác
lỗ hổng của trình duyệt hoặc các plugin (thành phần cài đặt thêm) của trìnhduyệt, ví dụ như trình FlashPlayer
- Tấn công ngay khi mở để xem thư điện tử: Trường hợp này vô cùngnguy hiểm bởi chưa cần kích hoạt các file hay mở liên kết gì hệ thống đã bịnhiễm mã độc Cách này thường là do mã độc khai thác lỗ hổng của hệ điềuhành Mặc dù vây, cách khai thác này cũng khó thực hiện hơn, do lỗ hổng trên
hệ điều hành chưa bị phát hiện (zero day) sẽ ít hơn rất nhiều lỗ hổng trên trìnhduyệt và các plugin của nó
2.2.3 Đối tượng tấn công
Một số định dạng tập tin có thể chứa mã hoặc các lệnh thực thi, do đóchúng có thể được mã độc sử dụng Một tập tin dạng exe nguy hiểm bởi vì đây
là định dạng của file thực thi mà có thể làm bất cứ điều gì (trong phạm vi quyền