intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Luận văn Thạc sĩ Công nghệ thông tin: Nâng cao hiệu quả phát hiện mã độc sử dụng các kỹ thuật học máy

Chia sẻ: Yi Yi | Ngày: | Loại File: PDF | Số trang:50

81
lượt xem
12
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Luận văn đã trình bày một hướng tiếp cận mới có hiệu quả trong việc so sánh, đánh giá của 2 phương pháp trích xuất đặc trưng gói tin mạng, phương pháp trích xuất đậc trưng từ header gói tin mạng cho kết quả tốt hơn so phương pháp trích xuất từ payload của gói tin mạng trên cơ sở áp dụng cùng dữ liệu đầu vào và cùng một toán học máy để phát hiện và phân loại mã độc đã biết.

Chủ đề:
Lưu

Nội dung Text: Luận văn Thạc sĩ Công nghệ thông tin: Nâng cao hiệu quả phát hiện mã độc sử dụng các kỹ thuật học máy

  1. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM LÊ MINH NÂNG CAO HIỆU QUẢ PHÁT HIỆN MÃ ĐỘC SỬ DỤNG CÁC KỸ THUẬT HỌC MÁY LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN Hà Nội – 2019
  2. ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM LÊ MINH NÂNG CAO HIỆU QUẢ PHÁT HIỆN MÃ ĐỘC SỬ DỤNG CÁC KỸ THUẬT HỌC MÁY Chuyên ngành: An toàn thông tin Mã số: 8480202.01 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS NGUYỄN ĐẠI THỌ Hà Nội – 2019
  3. i LỜI CAM ĐOAN Tôi xin cam đoan rằng luận văn thạc sĩ công nghệ thông tin “Nâng cao hiệu quả phát hiện mã độc sử dụng các kỹ thuật học máy” là công trình nghiên cứu của riêng tôi, không sao chép lại của người khác. Trong toàn bộ nội dung của luận văn, những điều đã được trình bày hoặc là của chính cá nhân tôi hoặc là được tổng hợp từ nhiều nguồn tài liệu. Tất cả các nguồn tài liệu tham khảo đều có xuất xứ rõ ràng và hợp pháp. Tôi xin hoàn toàn chịu trách nhiệm và chịu mọi hình thức kỷ luật theo quy định cho lời cam đoan này. Hà Nội, ngày …. tháng 05 năm 2019 Phạm Lê Minh
  4. ii LỜI CẢM ƠN Trước tiên tôi xin dành lời cảm ơn chân thành và sâu sắc đến thầy giáo, TS. Nguyễn Đại Thọ – người đã hướng dẫn, khuyến khích, chỉ bảo và hỗ trợ cho tôi những điều kiện tốt nhất từ khi bắt đầu cho tới khi hoàn thành công việc của mình. Tôi xin dành lời cảm ơn chân thành tới các thầy cô giáo khoa Công nghệ thông tin, trường Đại học Công nghệ, ĐHQGHN đã tận tình đào tạo, cung cấp cho tôi những kiến thức vô cùng quý giá và đã tạo điều kiện tốt nhất cho tôi trong suốt quá trình học tập, nghiên cứu tại trường. Đồng thời tôi xin cảm ơn tất cả những người thân yêu trong gia đình tôi cùng toàn thể bạn bè những người đã luôn giúp đỡ, động viên tôi những khi vấp phải những khó khăn, bế tắc. Cuối cùng, tôi xin chân thành cảm ơn các đồng nghiệp của tôi tại Tổng Công ty Viễn thông Viettel – Tập đoàn Công nghiệp Viễn thông Quân đội đã giúp đỡ, tạo điều kiện thuận lợi cho tôi học tập và nghiên cứu chương trình thạc sĩ tại Đại học Công nghệ, ĐH QGHN.
  5. iii MỤC LỤC LỜI CAM ĐOAN ............................................................................................. i LỜI CẢM ƠN .................................................................................................. ii DANH MỤC HÌNH ......................................................................................... v TÓM TẮT ....................................................................................................... vi MỞ ĐẦU .......................................................................................................... 1 CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC ................................................. 4 1.1. Giới thiệu về mã độc .................................................................................. 4 1.2. Phân loại mã độc ........................................................................................ 4 1.2.1. Virus [5]. ................................................................................................. 5 1.2.2. Worm [5] ................................................................................................. 7 1.2.3. Ransomware ............................................................................................ 8 1.2.4. Trojan .................................................................................................... 10 1.2.5. Backdoor [6].......................................................................................... 10 1.2.6. Rootkits ................................................................................................. 11 1.3. Mục đích phân tích mã độc ...................................................................... 12 1.4. Phương pháp phân tích mã độc ............................................................... 12 1.5. Trích xuất đặc trưng và các loại đặc trưng............................................... 14 1.5.1. Trích xuất đặc trưng .............................................................................. 14 1.5.2. Các loại đặc trưng ................................................................................. 15 CHƯƠNG 2: TỔNG QUAN VỀ HỌC MÁY ............................................. 17 2.1. Giới thiệu về học máy .............................................................................. 17 2.2. Phân loại các thuật toán học máy [2] ....................................................... 19 2.3. Thuật toán One-class SVM. ..................................................................... 20 2.3.1. Giới thiệu thuật toán One-class SVM ................................................... 20 2.3.2. Giới thiệu thuật toán SVM. ................................................................... 21 2.3.3. Thuật toán One-class SVM theo tác giả Schölkopf .............................. 25
  6. iv 2.3.4. Thuật toán One-class SVM theo tác giả Tax và Duin .......................... 26 2.4. Đánh giá hiệu quả thuật toán.................................................................... 26 CHƯƠNG 3: PHƯƠNG PHÁP ÁP DỤNG HỌC MÁY VÀO PHÂN TÍCH MÃ ĐỘC ............................................................................................. 30 3.1. Mô hình đề xuất thực hiện gồm các bước sau: ....................................... 30 3.2. Thu thập và tiền xử lý xử liệu dữ liệu ..................................................... 31 3.2.1. Thu thập dữ liệu gói tin mạng ............................................................... 31 3.2.2. Trích chọn đặc trưng trong header của gói tin ...................................... 32 3.2.3. Trích chọn đặc trưng từ payload gói tin ................................................ 33 3.3. Lựa chọn đặc trưng ................................................................................. 34 3.3.1. Lựa chọn đặc trưng từ header ............................................................... 34 3.3.2. Lựa chọn đặc trưng từ payload ............................................................. 35 3.4. Xây dựng mô hình học máy .................................................................... 36 3.5. Thực nghiệm và đánh giá kết quả ............................................................ 36 3.5.1. Dữ liệu thực nghiệm.............................................................................. 36 3.5.2. Chương trình thực nghiệm .................................................................... 36 3.5.3. Đánh giá hiệu quả thuật toán................................................................. 37 3.5.4. Kết quả thực nghiệm ............................................................................. 37 KẾT LUẬN .................................................................................................... 39 TÀI LIỆU THAM KHẢO ............................................................................ 41
  7. v DANH MỤC HÌNH Hình 2.1: quy trình học máy ........................................................................... 17 Hình 2.2: phân tích bài toán SVM .................................................................. 23 Hình 2.3: các điểm gần mặt phân cách nhất của hai class được khoanh tròn. 24 Hình 3.1: mô hình phân tích mã độc ............................................................... 30 Hình 3.2: thông tin gói tin http ........................................................................ 31 Hình 3.3: thông tin header của giao thức http ................................................. 32 Hình 3.4: thông tin payload trong gói tin http ................................................ 32 Hình 3.5: trích xuất đặc trưng từ header ......................................................... 32 Hình 3.6: nội dung payload được trích xuất từ file .pcap ............................... 33 Hình 3.7: mô tả biểu diễn byte theo n-gram ................................................... 33 Hình 3.8: payload được trích xuất theo phương pháp 2-gram ........................ 34
  8. vi TÓM TẮT Phần mềm độc hại (mã độc) là một trong những mối đe dọa bảo mật gây thiệt hại lớn nhất đối với Internet hiện nay. Việc phát hiện chính xác phần mềm độc hại hết sức khó khăn và nhiều thử thách do mã độc ngày càng tinh vi trong việc che dấu bản thân bằng các kỹ thuật như mã hóa nội dung (payload) và ngụy trang (obfucation). Ngoài ra, nhiều loại phần mềm độc hại phát triển nhanh chóng với nhiều thể loại tiếp tục cản trở việc phát hiện mã độc. Trong học máy, lựa chọn đặc trưng và trích xuất đặc trưng là một trong những thành phần quan trọng ảnh hưởng đến kết quả xây dựng mô hình học máy. Trong luận văn này chúng tôi tập trung vào hai cách trích xuất đặc trưng của gói tin mạng từ tiêu đề (header) và từ nội dung (payload), sau đó đánh giá hiệu quả của 02 phương pháp trích chọn đặc trưng mạng với cùng một thuật toán học máy được áp dụng là one-class SVM để phát hiện, phân loại mã độc. Kết quả thưc nghiệm với các độ đo F1, Precision, Recall để đánh giá hiệu quả của thuật toán cho thấy phương pháp trích xuất từ header có độ chính xác cao hơn so với phương pháp trích xuất từ payload, cụ thể: phương pháp trích xuất từ header có kết quả với các độ đo Precision, Recall, F1 lần lượt là 95,93%, 95,83%, 95,84% so với phương pháp trích xuất từ payload cho kết quả lần lượt là là 87,78%, 71,16%, 78,60% đối với tập dữ liệu huấn luyện và kết quả 95,91%, 95,73%, 95,82% so với kết quả 85,58%, 69,82%, 76,91% đối với tập dữ liệu kiểm thử. Điều này cho thấy có thể phát hiện mã độc trong các gói tin mạng một cách hiệu quả chỉ bằng cách xem xét các thông tin tiêu đề, không cần tiêu tốn thời gian vào quét và phân tích nội dung của từng gói tin.
  9. 1 MỞ ĐẦU Ngày nay cùng với sự phát triển mạnh mẽ của công nghệ thông tin và sự phát triển của Internet toàn cầu là các nguy cơ mất an toàn thông tin đang trở nên nguy hiểm và khó lường hơn, trong đó mã độc hại (malware) là một trong những mối hiểm họa nghiêm trọng trên Internet. Mã độc ngày càng tiến hóa với những biến thể đa dạng từ virus máy tính, worm, botnet…với các hình thức xâm nhập, che dấu ngày càng tinh vi. Số lượng và hình thái đa dạng của mã độc ngày càng tăng, trong khi các phần mềm phòng chống mã độc không thể phát hiện, ngăn chặn được hết dẫn đến hàng triệu máy tính bị nhiễm mã độc. Ở Việt Nam, theo số liệu thống kê của BKAV thì năm 2017 có đến 15 triệu máy tính ở Việt Nam bị nhiễm mã độc tương ứng thiệt hại khoảng 12.300 tỷ đồng. Ngoài ra, ngày nay để phát triển một mã độc mới không yêu cầu nhiều kỹ năng cao do tính sẵn có các công cụ tấn công trên internet. Tính sẵn sàng cao của các kỹ thuật chống phát hiện cũng như khả năng mua phần mềm độc hại trên thị trường chợ đen dẫn đến cơ hội trở thành một kẻ tấn công cho bất kỳ ai, không phụ thuộc vào cấp độ kỹ năng và trình độ chuyên môn. Do đó, bảo vệ hệ thống máy tính khỏi các phần mềm độc hại trên Intenet là một trong những nhiệm vụ quan trọng nhất về an ninh mạng cho người dùng, doanh nghiệp. Một cuộc tấn công đơn lẻ có thể dẫn đến dữ liệu bị xâm phạm và gây ra những hậu quả to lớn. Sự mất mát lớn và các cuộc tấn công thường xuyên đặt ra yêu cầu cần thiết phải có các phương pháp phát hiện chính xác và kịp thời. Các kỹ thuật phân tích tĩnh và phân tích động thường dựa vào cơ sở dữ liệu được xây dựng trước đó nên có một số hạn chế như khó có khả năng phát hiện ra các mã độc mới, các lỗ hổng chưa được công bố (zero-day) hay các biến thể của mã độc đã biết. Hơn nữa, ngày nay số lượng mã độc ngày càng tăng cao dẫn đến số lương mẫu ngày càng nhiểu đòi hỏi phải có một phương pháp phù hợp để phát hiện mã độc. Do đó hướng
  10. 2 nghiên cứu dựa vào các mô hình học máy để phát hiện và phân loại mã độc tỏ ra là phương pháp tìm năng và hiệu quả khi số lượng mẫu mã độc lớn và các biến thể của mã độc ngày càng đa dạng. Tuy nhiên một trong những vấn đề chính được quan tâm là làm thế nào để xây dựng được mô hình học máy hiệu quả và mang lại kết quả chính xác cao. Trong đó có một yếu tố quan trọng ảnh hưởng chính đến mô hình và hiệu qủa của các thuật toán học máy là lựa chọn đặc trưng và các phương pháp trích chọn đặc trưng phù hợp. Trong phần nghiên cứu của luận văn này chúng tôi lựa chọn đặc trưng mạng do đặc trưng mạng có thể nâng cao khả năng phát hiện các lỗ hổng chưa được biết (zero- day) và khắc phục được hạn chế về hiệu quả học máy đối với việc lựa chon các đặc trưng khác như đặc trưng về byte sequence, strings, API, opcode, system call ... được sử dụng làm đầu vào cho các thuật toán học máy thường cho kết quả không tốt đối với các mã độc được mã hóa, được ngụy trang (obfucated), biến thể của mã độc. Đồng thời, chúng tôi trình bày về 02 phương pháp trích chọn đặc trưng gói tin mạng gồm phương pháp trích chọn đặc trưng từ tiêu đề (header) của gói tin mạng và phương pháp trích chọn đặc trưng từ tải (payload) của gói tin mạng dựa trên phương án 2-gram. Sau đó dữ liệu đặc trưng này sẽ được trích chọn ra các đặc trưng phù hợp nhất làm đầu vào cho thuật toán học máy, trong luận văn này chúng tôi lựa chọn thuật toán one-class SVM do thuật toán one-class SVM là một trong những thuật toán phân loại phổ biến nhất và có khả năng phát hiện mã độc đã biết, mã độc mới (zero-day), các biến thể của mã độc và phân loại mã độc. Kết quả của luận văn được thực nghiệm dựa trên dữ liệu mẫu Android Malware dataset (CICAndMal2017) gồm 212788 mẫu, trong đó có 168186 mẫu sạch và 44202 mẫu mã độc thuộc họ Ransomware gồm các loại Charger, Jisut, Wannalocker. Kết quả thực nghiệm với các độ đo F1, Precision, Recall để đánh giá hiệu quả của thuật toán cho thấy phương pháp trích xuất từ header có độ chính xác cao hơn so với phương pháp trích xuất từ payload, cụ thể: phương pháp trích xuất từ header có kết quả với các độ đo Precision, Recall, F1 lần lượt là 95,93%,
  11. 3 95,83%, 95,84% so với phương pháp trích xuất từ payload cho kết quả lần lượt là là 87,78%, 71,16%, 78,60% đối với tập dữ liệu huấn luyện và kết quả 95,91%, 95,73%, 95,82% so với kết quả 85,58%, 69,82%, 76,91% đối với tập dữ liệu kiểm thử. Nội dung tiếp theo của luận văn này được chia làm 04 phần như sau: Chương 1: Tổng quan về mã độc. Chương này này sẽ giới thiệu về các loại mã độc, phân loại mã độc, các kỹ thuật phân tích mã độc, các đặc trưng và trích chọn đặc trưng. Chương 2: Tổng quan về kỹ thuật học máy. Chương này sẽ giới thiệu về học máy, phân loại các phương pháp học máy, thuật toán học máy svm, thuật toán one-class svm và các phương pháp đánh giá hiệu quả của học máy. Chương 3: Giải pháp áp dụng học máy vào phân tích mã độc. Chương này sẽ trình bày về mô hình đề xuất, 02 phương pháp trích chọn đặc trưng gói tin mạng, lựa chọn đặc trưng, thực nghiệm và đánh giá kết quả thực nghiệm. Kết luận và hướng phát triển của đề tài
  12. 4 CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC Chương này giới thiệu khái niệm về mã độc, phân loại mã độc, mục đích phân tích mã độc và các kỹ thuật phân tích mã độc. 1.1. Giới thiệu về mã độc Mã độc (tên tiếng anh là malware – được viết tắt từ malicious software) là loại phần mềm bất kỳ được thiết kế có mục đích để gây tổn hại cho một máy tính, máy chủ, máy khách hoặc mạng máy tính. Các chương trình độc hại này có thể thực hiện nhiều chức năng, bao gồm ăn cắp, mã hóa hoặc xóa dữ liệu nhạy cảm, thay đổi hoặc chiếm đoạt các chức năng tính toán lõi và giám sát hoạt động máy tính của người dùng mà không được sự cho phép của họ. Mã độc chỉ gây thiệt hại sau khi được cấy hoặc đưa vào máy tính mục tiêu và có thể ở dạng mã lệnh thực thi, tập lệnh, nội dung hoạt động và phần mềm khác. Mã độc có mục đích xấu, hoạt động trái phép với người dùng máy tính bình thường vì vậy mã độc không bao gồm phần mềm gây ra tác hại vô ý do một số thiếu sót liên quan đến lỗi phần mềm. Các chương trình được cung cấp chính thức bởi các công ty có thể được coi là phần mềm độc hại nếu họ bí mật hành động chống lại lợi ích của người dùng máy tính. Ví dụ, tại một thời điểm, đĩa nhạc Compact của hãng Sony đã bí mật cài đặt một rootkit trên máy tính người mua với đích ngăn chặn sự sao chép bất hợp pháp nhưng đồng thời cũng thu thập thông tin về thói quen nghe nhạc của người dùng và vô tình tạo ra các lỗ hổng bảo mật. Các giải pháp như phần mềm antivirus, tường lữa…thường được sử dụng để kiểm tra sự tồn tại, các hoạt động độc hại cũng như ngăn chặn phần mềm độc hại truy cập vào máy tính. 1.2. Phân loại mã độc Có nhiều cách tiếp cận khác nhau để phân loại mã độc thành một số loại nhật định với các đặc điểm cụ thể như: tính nhân bản, sự nhiễm độc, tàng hình, lệnh và điểu khiển (C&C), các kỹ thuật che dấu, tập hợp các hành vi
  13. 5 được thể hiện trong quá trình chạy trên hệ điều hành. Hơn nữa, ngày càng khó xác định các phần mềm độc hại vì ngày nay tác giả của phần mềm độc hại có thể dễ dàng tiếp cận mã nguồn của một số mẫu phần mềm độc hại và kết hợp các chức năng của chúng để tạo ra các mẫu mới có cơ chế tự mở rộng khả năng và nhỏ gọn hơn. Mặc dù không có sự thống nhất chung về việc phân loại phần mềm độc hại, các loại phần mềm độc hại dựa trên mục đích và hành vi của chúng có thể được phân loại như sau: 1.2.1. Virus [5]. 1.2.1.1. Khái niệm Virus máy tính là một loại phần mềm độc hại phổ biến nhất, được ẩn dấu trong một chương trình có vẻ vô hại, có thể tự tạo ra các bản sao và lây lan vào các chương trình khác hoặc các tệp (file) khác để thực hiện một hành vi độc hại như xóa file, sao chép nội dung, mã hóa file... 1.2.1.2. Thành phần Một virus máy tình gồm 03 thành phần: o Cơ chế lây nhiễm: các phương tiện mà virus lây lan, cho phép tự nhân bản, cơ chế này gọi là vec-tơ lây nhiễm o Bộ kích khởi (trigger): sự kiện hay điều kiện mà quyết định khi nào tải (payload) được kích hoạt o Payload: một đoạn mã được chạy trên máy nạn nhân, dùng để thực hiện một số hoạt động phá hoại hoặc có thể liên quan đến hoạt động lành tính nào đó nhưng đáng chú ý. 1.2.1.3. Vòng đời của Virus Vòng đời của Virus, thường bao gồm 04 giai đoạn sau: o Giai đoạn ngủ đông: Giai đoạn này virus không hoạt động, Virus được kích hoạt bởi một số sự kiện như: như ngày, sự có mặt của chương trình khác hoặc tệp tin hoặc dung lượng ổ đĩa vượt quá giới hạn. Không phải tất cả các virus đều có giai đoạn này.
  14. 6 o Giai đoạn nhân bản: Virus sao chép bản sao của chính nó vào chương trình khác hoặc vào các vùng của hệ thống trên ổ cứng. Bản sao của nó có thể không giống với phiên bản lan truyền, virus thường biến hình để tránh phát hiện. Mỗi chương trình đã bị nhiễm sẽ chứa một bản sao của virus, bản thân virus sẽ bước vào giai đoạn nhân bản. o Giai đoạn kích hoạt: Virus sẽ được kích hoạt để thực hiện chức năng mà nó đã dự định. Cũng như giai đoạn không hoạt động, giai đoạn kích hoạt có thể được thực hiện bởi một loạt các sự kiện hệ thống, bao gồm số lần bản sao của virus đã tạo ra các bản sao của chính nó. o Giai đoạn thực thi: Chức năng của virus được thực hiện, chức năng có thể vô hại như một thông báo trên màn hình hoặc phá hoại chương trình và các tệp dữ liệu 1.2.1.4. Phân loại virus: Virus cơ bản được phân làm hai loại: theo loại mục đích mà virus cố gắng lây nhiễm và theo phương pháp mà virus sử dụng để che dấu bản thân nhằm tránh phát hiện bởi người dùng và các phần mềm chống virus. Phân loại theo mục đích bao gồm các loại sau:  Lây nhiễm vào vùng khởi động (Boot sector infector): lây nhiễm một bản ghi khởi động chính hoặc bản khi khởi động và lây lan khi một hệ thống được khởi động từ đĩa chứa virus.  Lây nhiễm têp tin (file infector): lây nhiễm vào các tệp tin của hệ điều hành hoặc shell được thực thi.  Macro virus: lây nhiễm các tệp tin với mã macro được biên dịch bởi một ứng dụng. Phân loại theo phương pháp mà Virus sử dụng bao gồm các loại sau:  Virus được mã hóa (Encrypted virus): phương pháp được thực hiện như sau. Một phần của virus tạo ra một khóa mã hóa ngẫu nhiên và mã hóa phần còn lại của virus. Khóa được lưu với virus. Khi một chương trình bị nhiễm được gọi, virus sử dụng khóa ngẫu nhiên được lưu trữ để giải
  15. 7 mã virus. Khi virus nhân bản, một khóa ngẫu nhiên khác nhau được lựa chọn. Bởi vì phần lớn virus được mã hóa bằng một khóa khác nhau cho mỗi trường hợp dẫn đến không có mẫu bit cố định để quan sát.  Virus tàng hình (Stealth virus): một hình thức của virus được thiết kế để che dấu bản thân nó khỏi sự phát hiện của phần mềm chống virus.  Virus đa hình (Polymorphic virus): một loại virus biến đổi theo mọi lây nhiễm, khiến cho việc phát hiện virus bằng chữ ký trở nên không thể.  Virus biến hóa (Metamorphic virus): giống như một virus biến hình, một virus biến hóa biến đổi với mọi sự lây nhiễm. Sự khác biệt là một virus biến hóa tự viết lại hoàn toàn ở mỗi vòng lặp để tăng độ khó phát hiện. Virus biến hóa có thể thay đổi hành vi, cũng như ngoại hình của chúng. 1.2.2. Worm [5] Sâu (Worm) là một chương trình có thể tự sao chép và gửi các bản sao từ máy tính này sang máy tính khác qua các kết nối mạng. Khi đến nơi, worm có thể được kích hoạt và nhân bản lần nữa. Ngoài việc nhân bản, worm thường thực hiện một số chức năng không mong muốn như thu thập thông tin hệ thống, tìm kiếm lỗ hổng bảo mật... Worm là một loại phần mềm độc hại được ẩn náu trong máy tính, nhưng nó không phải là virus vì nó không được nhúng vào chương trình khác.Worm lây nhiễm từ máy tính này đến máy tính khác bằng cách khai thác lổ hổng bảo mật hoặc lỗ hổng do chính tác giả tạo ra. Để tự nhân bản, một worm mạng sử dụng một số phương tiện mạng như sau:  Chức năng thư điện tử (Electronic mail facility): worm thư điện tử gửi bản sao của nó đến hệ thống khác, mã của nó được kích hoạt khi thư điện tử hoặc tệp đính kèm nhận được hoặc xem.  Khả năng thực thi từ xa (Remote execution capability): worm thực thi bản sao của chính nó trên hệ thống khác bằng cách sử dụng một cơ chế thực thi từ xa hoặc bằng cách khai thác lỗ hổng chương trình của một dịch vụ mạng để phá hủy hoạt động của chúng.
  16. 8  Khả năng truy cập từ xa (Remote login capability): worm đăng nhập vào hệ thống từ xa như một người dùng, sau đó sử dụng các lệnh để sao chép chính nó từ hệ thống này đến hệ thống khác và thực thi lệnh. Ví dụ, một trong những sâu máy tính nổi tiếng nhất trong lịch sử máy tính có tên là Confiker. Confiker mục tiêu tấn công vào hệ điều hành Microsoft Window, phiên bản đầu tiên của sâu Confiker được phát hiện vào tháng 10 năm 2008 và đã lây nhiễm hàng triệu máy tính trên thế giới. Confiker khai thác một lỗ hổng về dịch vụ mạng được xây dựng trên hệ điều hành Window, bao gồm tất các các phiên bản từ Window 2008 đến Windows server 2008 được nhân bản qua Internet. Lỗ hổng này có tên là MS08_067, cho phép một kẻ tấn cống thực thi mã lệnh từ xa và chiếm toàn bộ quyền điều khiển máy tính từ xa. 1.2.3. Ransomware Ransomware (mã độc tống tiền) gồm nhiều lớp phần mềm độc hại với mục đích hạn chế truy cập đến hệ thống máy tính mà nó đã lây nhiễm và đòi hỏi phải trả một khoản tiền cho kẻ tấn công nhằm xóa bỏ hạn chế truy cập mà nó đã tạo ra trước đó. Một vài dạng của ransomware mã hóa tệp tin, dữ liệu trên ổ đĩa cứng nhằm tống tiền, trong khi một vài dạng khác thì đơn giản hơn như chúng khóa hệ thống lại và hiển thị một thông báo để thuyết phục nạn nhân trả tiền. Mã độc tống tiền thường lan truyền qua email với các file đính kèm, như các virus máy tính khác, khi mở file đính kèm này thì máy tính của người dùng sẽ bị kiểm soát. Khi đó, mã độc quét toàn bộ ổ đĩa của máy tính và mã hóa các file bằng mã hóa công khai. Hầu hết các tập tin quan trọng trên máy tính người dùng với định dạng .doc, pdf, xls, zip... sẽ không mở được nữa. Để giải mã bắt buộc phải có khóa bí bật, mà khóa bí mật chỉ có kẻ tấn công mới có và nạn nhân sẽ nhận được thông báo trên màn hình (desktop) đòi tiền chuộc nếu muốn giải mã file. Một số loại mã độc ransomware như sau:  Charger: mã độc này sẽ sao chép tất cả các dữ liệu từ tin nhắn dạng text, danh bạ, nhật ký ...và tìm kiếm quyền admin từ người dùng. Nếu người
  17. 9 dùng chấp nhận yêu cầu của mã độc, thì phần mềm mềm độc hại sẽ tấn công người dùng và một tin nhắn cảnh báo cho người dùng biết là thiết bị của người dùng đã bị khóa và các dữ liệu cá nhân sẽ được bán trên thị trường nếu người dùng không chấp nhận trả tiền chuộc. Các nạn nhân của mã độc Charger sẽ yêu cầu phải trả khoảng 0.2 bitcoins (khoảng 8000$ USD) nếu muốn mở khóa (unblock) thiết bị.  Jisut: Không giống như những mã độc ransomware khác thường yêu cầu tiền chuộc thì Jisut tiếp cận theo một cách khác và không quan tâm về sự nặc danh. Trên màn hình xuất hiện con ngựa con bao gồm thông tin liên quan trên mạng xã hội QQ ở Trung Quốc và thuyết phục nạn nhân liên hệ với tác giả để lấy lại các tệp tin của họ. Nếu thông tin trên QQ là đúng thì chủ nhân của mã độc là các thanh niên từ 16 đến 21 tuổi sẽ xuất hiện. Các biến thể đầu tiên của Jisut Android/LockScreen xuất hiện nữa đầu năm 2014, từ thời điểm 2014 đến bây giờ đã phát hiện hàng trăm biến thể của Jisut với các hành vi khác nhau hoặc các tin nhắn đòi tiền chuộc khác nhau nhưng tất cả dựa trên cùng một mẫu mã độc. Khi mã độc Jisut được kích hoạt thì nó sẽ tạo ra một màn hình hoạt động được hiện lên với đầy đủ màn hình với màu đen, nếu người dùng thay đổi giao diện hoặc tắt, khởi động lại thiết bị thì một thông báo sẽ được hiển thị lên hoặc một bài hát sẽ được thực thi.  WannaLocker: mã độc này là một loại khác của ransomware Wannacry, ban đầu nhắm đến người dùng Android ở Trung Quốc và mở rộng ra toàn thế giới. Mã độc này lây nhiễm các tệp tin (files) trên bộ lưu trữ của thiết bị và mã hóa các tệp tin bằng thuật toát mã hóa AES. Khi các tệp tin bị mã hóa, mã độc sẽ hiện lên một thông báo đòi tiền chuộc tương tự như WannaCry, nó cung cấp thông tin về dữ liệu đã được mã hóa và các khả năng đê phục hội chúng bằng ngôn ngữ tiếng trung. WannaLocker yêu cầu số tiền chuộc là 40 Renmibi Trung Quốc và cách liên lạc để thực hiện giao dịch chuyển tiền và khôi phục dữ liệu.
  18. 10 1.2.4. Trojan Trojan là một loại phần mềm giả mạo phổ biến, chúng thường ẩn náu trong chương trình phần mềm hữu ích để thực hiện các nhiệm vụ mong muốn và hợp pháp nhưng thực chất là thực hiện một số chức năng độc hại như xóa file, thu thập thông tin hệ thống và gửi cho máy chủ điều khiển, ăn cắp thông tin tài khoản người dùng ....Những chức năng mong muốn và hợp pháp chỉ là phần bề mặt giả tạo nhằm che dấu cho các thao táo độc hại. Không giống như virus, trojan không có chức năng tự sao chép nhưng lại có chức năng phá hoại tương tự virus. Một số dạng Trojans cơ bản như sau:  Remote Access Trojans: cho phép kẻ tấn công kiểm soát toàn bộ hệ thống từ xa  Data-Sending Trojans: Trojan gửi thông tin nhạy cảm của nạn nhân cho kẻ tấn công  Destructive Trojans: Trojan phá hủy hệ thống  Denied-of-Service – DoS Attack Trojan: Trojan phục vụ tấn công Ddos  HTTP, FTP Trojans: Trojan tự tạo thành HTTP hay FTP server để kẻ tấn công khai thác lỗi  Security Software Disable Trojan: Có tác dụng tắt tính năng bảo mật trong các máy tính nạn nhân 1.2.5. Backdoor [6] Backdoor (cửa hậu) là một loại phần mềm độc hại cung cấp cho kẻ tấn công quyền truy cập từ xa vào máy nạn nhân. Backdoor là loại phần mềm độc hại phổ biến nhất và chúng có đủ hình dạng, kích cỡ với khả năng khác nhau. Mã backdoor thường thực hiện đầy đủ các khả năng, vì vậy khi sử dụng backdoor kẻ tấn công thường không cần tải thêm các phần mềm độc hại khác hoặc mã chương trình. Backdoor thường cho phép kẻ tấn công kết nối đến máy tính từ xa với ít quyền hoặc không cần xác thực và đi kèm với một số chức năng phổ biến như khả năng thao tác các khóa registry, liệt kê các cửa sổ hiện thị, tạo thư mục, tìm kiếm tập tin, truy cập từ xa bằng tài khoản riêng, thực thi lệnh hệ thống....Một số loại backdoor như sau:
  19. 11  Reverse Shell: là một kết nối bắt nguồn từ một máy bị nhiễm và cung cắp quyền truy cập shell cho kẻ tấn công vào máy tính đó. Khi ở trong reverse shell, kẻ tấn công có thể thực thi các lệnh trên máy của nạn nhân ngay trên máy của kẻ tấn công.  RATs: công cụ quản trị từ xa (RAT) được sử dụng để quản lý các máy tính từ xa. RAT thường được sử dụng trong các cuộc tấn công có chủ đích với mục tiêu cụ thể, chẳng hạn như đánh cắp thông tin.  Botnet: là tập hợp các máy chủ bị xâm nhập, được gọi là zombie, được điểu khiển bởi máy chủ botnet. Mục tiêu của botnet là tạo ra một mạng lưới zombie lớn để botnet phát tán mềm mềm độc hại hoặc thực hiện tấn công từ chối dịch vụ (DDoS). 1.2.6. Rootkits Rootkit là một bộ công cụ phần mềm do kẻ xâm nhập đưa vào máy tính nạn nhân nhằm mục đích cho phép mình quay lại xâm nhập máy tính đó và dùng nó cho các mục đích xấu mà không bị phát hiện. Một số mục đích của kẻ xâm nhập khi sử dụng rootkit bao gồm:  Thu thập dữ liệu về các máy tính trong cùng mạng và thông tin của người dùng như mật khẩu, thông tin tài chính.  Tạo hoặc chuyển tiếp spam.  Gây lỗi hoặc sai trong hoạt động của máy tính. Rootkit được thiết kế tốt có khả năng che giấu hoặc xóa bỏ bất cứ dấu vết nào của việc nó truy cập vào máy tính, sự tồn tại và hoạt động của nó. Ví dụ, nó có thể sữa nhật ký (log) của hệ thống để hệ điều hành không ghi hoặc xóa bỏ tất cả các thông tin liên quan đến việc nó đăng nhập vào máy, thông tin các lần truy cập tiếp theo của kẻ xâm nhập, thông tin về các chương trình mà rootkit chạy. Rootkit không phải là virus do nó không tự nhân bản và không có cơ chế hoạt động tự chủ. Rootkit nằm hoàn toàn dưới quyền kiểm soát của kẻ tấn công.
  20. 12 1.3. Mục đích phân tích mã độc Khái niệm: phân tích phần mềm độc hại là quá trình xác định chức năng và mục đích của mẫu phần mềm độc hại đã cho là virus, worm, Trojan Horse .. hay biến thể của mã độc đã biết hoặc mã độc mới. Các mục đích của phân tích mã độc: có ba mục đích chính trong việc phân tích mã độc bao gồm phát hiện mã độc, phân tích sự tương tự giữa các phần mềm độc hại và phân loại các phần mềm độc hại. Chi tiết ba mục đích của phân tích mã độc như sau: [2]  Phát hiện mã độc nhằm mục đích phát hiện một tập tin có phải là mã độc hay không.  Phân tích sự tương tự giữa các phần mềm độc hại nhằm mục đích kiểm tra sự giống nhau, khác nhau giữa các phần mềm độc hại để phát hiện biến thể của mã độc đã biết hoặc lớp mã độc mới.  Phân loại phần mềm độc hại: cho phép phân loại phần mềm độc hại vào các nhóm phần mềm đọc hại khác nhau như nhóm virus, horm, rootkit... 1.4. Phương pháp phân tích mã độc Hiện tại có một số kỹ thuật được dùng để phân tích mã độc, gồm có phân tích tĩnh, phân tích động và phân tích lai, chi tiết các các kỹ thuật như sau: Phân tích tĩnh là phương pháp phân tích phần mềm mà không cần thực thi chúng. Các thông tin thu được có thể bao gồm các metadata của chương trình, định dạng, dung lượng…các chuỗi ký tự xuất hiên trong mã nguồn, các thư viện được thêm vào (import), các lời gọi hàm có thể được sử dụng, mã nguồn chương trình dưới dạng Assembly…Ưu điểm của phương pháp này là có thể biết được tất cả các khả năng thực hiện có thể của chương trình, tuy nhiên đối với mã độc thì việc phân tích tĩnh thường gặp khó khăn do việc mã hóa (Encrypt), đóng gói (Packed), ngụy trang (Obfuscated). Một số kỹ thuật được sử dụng cho phân tích tĩnh bao gồm [8]:  Kỹ thuật phát hiện dựa trên chữ ký (signature based detection technique) còn gọi là khớp mẫu hoặc chuỗi hoặc mặt nạ hoặc kỹ thuật
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2