MỞ ĐẦU Phần mềm độc hại đang là một mối đe dọa rất lớn về bảo mật trong thời đại kỹ thuật số ngày nay. Người dùng máy tính, các công ty và chính phủ đang chịu các cuộc tấn công sử dụng các phần mềm độc hại gia tăng theo cấp số nhân: Năm 2008, tổng các cuộc tấn công là khoảng 25 triệu, đến năm 2014, thiệt hại con số này đã tăng gấp 4 lần, lên tới 325 triệu và đến 2017 là gần 600 triệu [1]. Phân tích phần mềm độc hại trở thành một thành phần quan trọng của cơ chế bảo vệ. Phương pháp phân tích tĩnh mã độc cổ điển đã đem lại những hiệu quả cao tuy nhiên nhiều phần mềm độc hại gần đây sử dụng các kỹ thuật đa hình, biến hình và các kỹ thuật lẩn tránh khác để thay đổi hành vi của phần mềm độc hại một cách nhanh chóng và tạo ra một số lượng lớn phần mềm độc hại.
Trong thập kỷ qua, rất nhiều nghiên cứu đã được thực hiện, sử dụng các phương pháp khai phá dữ liệu trên cả phân tích tĩnh và động. Một trong những dạng phần mềm độc hại mới nhất được gọi là phần mềm độc hại có mục tiêu, chưa có nhiều nghiên cứu về nó. Phần mềm độc hại có mục tiêu, là một tập hợp của Mối đe dọa liên tục nâng cao (APT), đang phát triển về số lượng và độ phức tạp trong những năm gần đây. Tấn công mạng có mục tiêu (thông qua phần mềm độc hại được nhắm mục tiêu) ngày càng đóng một vai trò độc hại trong việc phá vỡ hệ thống tài chính và xã hội trực tuyến.
APT được thiết kế để ăn cắp bí mật công ty / quốc gia và / hoặc gây tổn hại đến lợi ích quốc gia / công ty. Rất khó để nhận ra phần mềm độc hại có mục tiêu bằng các công cụ chống vi-rút, Hệ thống phát hiện xâm nhập(Intrusion Detection System - IDS), Hệ thống phòng chống xâm nhập IPS và các công cụ phát hiện phần mềm độc hại tùy chỉnh. Những kẻ tấn công tận dụng các kỹ thuật tấn công xã hội (Social Engineering) cùng với một hoặc nhiều lỗ hổng chưa được phát hiện để thực hiện triển khai các phương thức tấn công. Cùng với đó, sự ra đời gần đây của Mã hóa khóa và Ransomware(phần mềm sau khi lây nhiễm vào máy tính, mã hóa hoặc chặn truy cập dữ liệu) đặt ra những mối đe dọa nghiêm trọng đối với các tổ chức/quốc gia cũng như cá nhân.
7 Luan van Từ nhu cầu phát triển phân tích mã độc trên, luận văn sẽ tập trung nghiên cứu phương pháp phát hiện mã độc dựa trên phân tích mẫu với nội dung được trình bày như sau: Chƣơng 1: Mã độc và một số phƣơng pháp phân tích mã độc Giới thiệu chương về các khái niệm cơ bản về mã độc và phân tích mã độc cũng như một số phương pháp, công cụ xác định mã độc hiện hành. Chƣơng 2: Mô hình phát hiện mã độc Giới thiệu chương: Chương này đưa ra mô hình chung cho việc xử lý các dữ liệu độc hại, giới thiệu cách thức để trích xuất dữ liệu sang dạng phân tích được, cuối cùng là khai phá các mẫu tuần tự để tìm ra ngưỡng phù hợp để xác định mã độc và phân tích xem dữ liệu có phải là độc hại hay không. Chƣơng 3: Thử nghiệm và đánh giá Giới thiệu chương: Chương này giới thiệu về tập dữ liệu, cách thức thực hiện và triển khai mô hình phân tích mã độc Nội dung chương sẽ giới thiệu quá trình thu thập dữ liệu thử nghiệm, xử lý và trích chọn đặc trưng, huấn luyện các mô hình thuật toán học máy, đưa ra kết quả và nhận xét đánh giá. 8 Luan van CHƢƠNG I: TỔNG QUAN VỀ MÃ ĐỘC V CÁC PHƢƠNG PHÁP PHÁT HIỆN Chƣơng I trình bày khái niệm về mã độc, lịch sử phát triển và các loại mã độc phổ biến.
Ngoài ra, trong chƣơng này cũng sẽ đi tìm hiểu về các phƣơng pháp phân tích và phát hiện mã độc cùng các nghiên cứu có liên quan.1 Tổng quan về mã độc 1. Định nghĩa Mã độc hay Malware (Malicious software) là một khái niệm chung dùng để chỉ các phần mềm độc hại được viế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ào ngườ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ười viết. Lịch sử phát triển Lịch sử phát triển của mã độc gắn liền với lịch sử phát triển máy tình và mạng máy tính.
Các virus đầu tiên là trò đùa lành tính; virus độc hại không được công khai cho đến đầu những năm 1980. Đầu tiên là Sâu (worms) , được tạo ra vào cuối năm 1970, cũng là lành tính, nhằm thực hiện bảo trì hệ thống. Mã độc đã không trở nên phổ biến cho đến cuối những năm 1980. Trong thời gian đó, hình thức phổ biến nhất là virus, đặc biệt là là các virus nhiễm vào MBR.
Tại thời điểm đó, người viết virus cũng tạo ra một số kỹ thuật khiến virus của họ có thể tránh bị phát hiện. Năm 1988, Morris worm khét tiếng đã được phát hành, phá hoại hàng ngàn máy tính nối mạng. Trojan bắt đầu lộ diện vào giữa năm 1980. Trong những năm đầu thập niên 1990, tình hình phần mềm độc hại phần lớn vẫn không thay đổi, với virus biên soạn tiếp tục là hình thức phổ biến của mã độc.
Tuy nhiên, trong nửa sau của năm 1990, một số thay đổi quan trọng trong máy tính tạo ra cơ hội mới cho các phần mềm độc hại. Thứ nhất, số lượng máy tính cá nhân tăng lên rất nhiều. Ngoài ra, việc sử dụng các ứng dụng Thư điện tử và phần mềm với ngôn ngữ vĩ mô, chẳng hạn như xử lý văn bản và bảng tính, trở nên phổ biến. Theo đó, người viết virus bắt 9 Luan van đầu phát triển virus hiểu và lan truyền qua thư điện tử, cũng như phát triển Sâu với khả năng tương tự.
Hai vụ tấn công giải thích phần mềm độc hại, virus Melissa (năm 1999) và Love-Letter worm (năm 2000), mỗi vụ tấn công ảnh hưởng hàng triệu hệ thống. Kể từ năm 2000, Worms trở thành một dạng phần mềm độc hại phổ biến. Những người viết virus thường thích worms hơn virus vì worms có thể lây lan nhanh hơn nhiều. Trong số các loại virus, virus khởi động đã trở nên khá phổ biến, chủ yếu là do việc sử dụng suy giảm của đĩa mềm; virus macro đã trở thành loại virus phổ biến nhất.
Năm 2001, lần đầu tiên loại virus tấn công trộn, Nimda, đã được phát hành, gây ảnh hưởng nghiêm trọng. Nimda có đặc điểm của virus, worms, và viru di động. Gần đây hơn, mã độc tấn công điện thoại di động đã trở nên ngày càng phổ biến, chủ yếu là do sự phổ biến của các trình duyệt Web và HTML dựa trên thư điện tử; Tuy nhiên, mã độc trên các thiết bị di động vẫn không phổ biến như worms. Một xu hướng khác là nhiều trường hợp của các phần mềm độc hại, bao gồm worms, trojan và mã độc di động, cung cấp các công cụ tấn công, chẳng hạn như các rootkit, keystroke logger, và backdoors, để hệ thống bị nhiễm.
Trong những năm gần đây, cùng với sự phát triển của tiền điện tử, các cuộc tấn công tống tiền bằng mã độc bùng nổ. Nổi bật nhất có thể kể đến cuộc tấn công WannaCry (năm 2017) lây nhiễm cho 250000 máy tính. Sau khi các máy tính bị lây nhiễm, mã độc đã thực hiện mã hoá toàn bộ dữ liệu của người dùng và bắt người dùng phải nộp cho kẻ tấn công một khoản tiền bằng bitcoin để có thể lấy lại được dữ liệu. Với khả năng của các tin tặc, mã độc ngày ngay có thể xâm nhập bằng cách phá vỡ các hàng rào an toàn của hệ điều hành hay xâm nhập vào các lỗ hổng của các phần mềm nhất là các phần mềm thư điện tử, rồi từ đó lan tỏa khắp nơi theo các nối kết mạng hay qua thư điện tử.
Do đó, việc truy tìm ra nguồn gốc phát tán virus sẽ càng khó hơn nhiều. Chính Microsoft, hãng phần mềm tạo ra các phần mềm phổ biến, cũng là một nạn nhân. Họ đã phải nghiên cứu, sửa chữa và phát hành rất nhiều các phần mềm nhằm sửa các khiếm khuyết của phần mềm cũng như phát hành các cập nhật của gói dịch vụ (service pack) nhằm giảm hay vô hiệu hóa các tấn công của mã độc. Nhưng dĩ nhiên với các phần mềm có hàng triệu dòng mã nguồn thì mong ước chúng hoàn hảo theo ý nghĩa của sự an 10 Luan van toàn chỉ có trong lý thuyết.
Đây cũng là cơ hội cho các nhà sản xuất các loại phần mềm bảo vệ, sửa lỗi phát triển. Trong tương lai không xa, mã độc được dự báo sẽ có thêm các bước biến đổi khác, nó bao gồm mọi điểm mạnh sẵn có (polymorphic, hay tấn công bằng nhiều cách thức, nhiều kiểu) và còn kết hợp với các thủ đoạn khác của phần mềm gián điệp (spyware). Đồng thời chúng có thể tấn công vào nhiều hệ điều hành khác nhau chứ không nhất thiết nhắm vào một hệ điều hành độc nhất như trong trường hợp của Microsoft Windows hiện nay. Và có lẽ mã độc sẽ không hề (thậm chí là không cần) thay đổi phương thức tấn công: lợi dụng điểm yếu của máy tính cũng như chương trình.
Các loại mã độc phổ biến a) Vi rút khởi động Virus khởi động, là loại virus lây vào phân vùng khởi động hoặc bản ghi gốc của ổ đĩa cứng. Đây là các khu vực đặc biệt chứa các dữ liệu để khởi động hệ thống, nạp các phân vùng. Vi rút khởi động được thực thi trước khi hệ điều hành được nạp lên. Vì vậy, nó hoàn toàn độc lập với hệ điều hành.
Virus khởi động có nhược điểm là khó viết do không thể sử dụng các dịch vụ, chức năng có sẵn của hệ điều hành và kích thước virus bị hạn chế bởi kích thước của các sector (mỗi sector chỉ có 512 byte). Ngày nay gần như không còn thấy sự xuất hiện của Virus khởi động do đặc điểm lây lan chậm và không phù hợp với thời đại Internet. b) Virus tác vụ (Macro virus) Đây là loại virus đặc biệt tấn công vào chương trình trong bộ Microsoft Office của Microsoft: Word, Excel, Powerpoint. Macro là tính năng hỗ trợ trong bộ công cụ văn phòng Microsoft Office cho phép người sử dụng lưu lại các công việc cần thực hiện lại nhiều lần.
Thực tế hiện nay cho thấy virus macro gần như đã “tuyệt chủng”.