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

Tóm tắt luận án Tiến sĩ Máy tính: Nghiên cứu đề xuất đặc trưng đồ thị PSI trong phát hiện mã độc Botnet trên các thiết bị IoT

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

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

Từ việc phân tích tính cấp thiết của đề tài đã trình bày ở trên, luận án xác định mục tiêu nghiên cứu nhằm đề xuất một đặc trưng có cấu trúc đồ thị mới và hiệu quả (độ chính xác cao, độ phức tạp thấp) trong phát hiện mã độc IoT botnet, có khả năng xử lý mã độc IoT botnet đa kiến trúc.

Chủ đề:
Lưu

Nội dung Text: Tóm tắt luận án Tiến sĩ Máy tính: Nghiên cứu đề xuất đặc trưng đồ thị PSI trong phát hiện mã độc Botnet trên các thiết bị IoT

  1. BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN HÀN LÂM KHOA HỌC VÀ CÔNG NGHỆ VIỆT NAM HỌC VIỆN KHOA HỌC VÀ CÔNG NGHỆ NGUYỄN NGHIÊN CỨU ĐỀ XUẤT ĐẶC TRƯNG ĐỒ THỊ PSI TRONG PHÁT HIỆN MÃ ĐỘC BOTNET TRÊN CÁC THIẾT BỊ IOT Hệ thống thông tin số: 9 TÓM TẮT LUẬN ÁN TIẾN SĨ Hà Nội
  2. Công trình đượ ạ ọ ệ ọ ệ ệ ọ ệ ệ Người hướ ẫ ọ ốc Dũng Người hướ ẫ ọ ễ ỳ ả ệ ả ệ ả ệ ậ đượ ả ệ trướ ội đồ ………………… ấ ọ ệ ọ ạ ọ ệ ọ ệ ệ ọ ệ ệ ồ ……. ờ ….. ….. năm ể ể ậ ạ Thư việ ọ ệ ọ ệ Thư v ệ ố ệ
  3. MỤC LỤC MỞ ĐẦU .................................................................................................................................................... 1 1. Tính cấp thiết của luận án.................................................................................................................. 1 2. Mục tiêu nghiên cứu của luận án ....................................................................................................... 1 3. Đối tượng và phạm vi nghiên cứu ..................................................................................................... 1 4. Nội dung và phương pháp nghiên cứu .............................................................................................. 1 5. Bố cục luận án ................................................................................................................................... 2 CHƯƠNG 1. CƠ SỞ LÝ THUYẾT........................................................................................................... 2 1.1. Khái niệm và đặc điểm thiết bị IoT ................................................................................................ 2 1.2. Khái niệm mã độc IoT botnet ......................................................................................................... 3 1.3. Sự tiến hóa của mã độc IoT botnet ................................................................................................. 3 1.4. Sự khác biệt giữa mã độc botnet truyền thống và IoT botnet......................................................... 4 CHƯƠNG 2. PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC IOT BOTNET .................................................. 5 2.1. So sánh phân tích tĩnh và phân tích động ....................................................................................... 5 2.2. So sánh, đánh giá các phương pháp dựa trên phân tích tích trong phát hiện mã độc IoT botnet ... 5 2.2.1. Xây dựng bộ cơ sở dữ liệu thử nghiệm .................................................................................. 7 2.2.2. Kết quả thực nghiệm và nhận xét ........................................................................................... 8 CHƯƠNG 3. ĐẶC TRƯNG ĐỒ THỊ PSI TRONG PHÁT HIỆN MÃ ĐỘC IOT BOTNET ................... 9 3.1. Phát biểu bài toán ........................................................................................................................... 9 3.2. Giải thích bài toán .......................................................................................................................... 9 3.3. Sơ đồ và ý tưởng phương pháp đề xuất .......................................................................................... 9 3.4. Đồ thị lời gọi hàm trong phát hiện mã độc IoT botnet ................................................................. 10 3.5. Xây dựng đồ thị PSI ..................................................................................................................... 11 3.6. Đánh giá thực nghiệm .................................................................................................................. 13 3.6.1. Môi trường thực nghiệm ....................................................................................................... 13 3.6.2. Mô hình đánh giá .................................................................................................................. 13 3.6.3. Các kết quả thực nghiệm và thảo luận .................................................................................. 15 CHƯƠNG 4. ĐẶC TRƯNG ĐỒ THỊ CON PSI CÓ GỐC TRONG PHÁT HIỆN MÃ ĐỘC IOT BOTNET .................................................................................................................................................. 16 4.1. Phát biểu bài toán ......................................................................................................................... 16 4.2. Xây dựng đặc trưng đồ thị PSI-rooted subgraph .......................................................................... 17 25
  4. 4.3. Thực nghiệm và đánh giá kết quả................................................................................................. 18 4.3.1. Môi trường thực nghiệm ....................................................................................................... 18 4.3.2. Mô hình đánh giá .................................................................................................................. 19 4.3.2. Các kết quả thực nghiệm và thảo luận .................................................................................. 19 KẾT LUẬN VÀ KIẾN NGHỊ .................................................................................................................. 23 26
  5. MỞ ĐẦU 1. Tính cấp thiết của luận án Cuộc cách mạng công nghiệp 4.0 hay còn được gọi với những cái tên như Vạn vật kết nối Internet (Internet of Things - IoT) hay công nghiệp Internet (Industrial Internet) làm biến đổi nhanh chóng nền công nghiệp ở mọi quốc gia, diễn ra trên toàn cầu. Với nhiều tên gọi khác nhau nhưng đặc điểm nổi bật nhất của cuộc cách mạng công nghiệp lần thứ 4 đó là việc dịch chuyển các hệ thống máy móc sản xuất truyền thống sang các hệ thống tự động hoá có khả năng tự hành một cách thông minh dựa trên nền tảng lõi là các thiết bị IoT. Thông qua cuộc các mạng công nghiệp 4.0 mà giáo dục, y tế, chính trị, xã hội, kinh tế đã có những thành tựu vượt bậc trong thời gian ngắn. Bên cạnh những tiện ích mà cuộc cách mạng công nghiệp 4.0 mang lại thì an toàn thông tin trên không gian mạng ngày càng trở nên phức tạp, tiềm ẩn nhiều nguy cơ ảnh hưởng trực tiếp tới an ninh quốc gia, tới lợi ích hợp pháp của người dân. Khảo sát, thống kê các nghiên cứu đã công bố từ 2016 – 2018 tại các tạp chí uy tín của các nhà xuất bản lớn trên thế giới như Elsivier, IEEE, Hindawi and Springer [6] cho thấy xác thực vẫn là giải pháp phổ biến trong đảm bảo an ninh, an toàn thiết bị IoT và quản lý tin cậy vẫn đang tiếp tục được đẩy mạnh sự đầu tư nghiên cứu. Ngoài ra có thể kể đến một số nghiên cứu về giải pháp mã hóa nhẹ (light), giao thức và cơ chế truyền thông an toàn đối với IoT. Trong khi đó, một trong những nguy cơ đe dọa nguy hiểm nhất đối với các thiết bị IoT là mã độc botnet. Chính vì lý do đó, luận án với đề tài “Nghiên cứu đề xuất đặc trưng đồ thị PSI trong phát hiện mã độc botnet trên các thiết bị IoT” nhằm nghiên cứu các giải pháp phát hiện mã độc IoT botnet hiện nay có ý nghĩa về mặt thực tiễn và khoa học, đáp ứng đòi hỏi ngày càng cao của công tác bảo đảm an ninh, an toàn thông tin cho các thiết bị IoT nói riêng và không gian mạng nói chung. 2. Mục tiêu nghiên cứu của luận án Từ việc phân tích tính cấp thiết của đề tài đã trình bày ở trên, luận án xác định mục tiêu nghiên cứu nhằm đề xuất một đặc trưng có cấu trúc đồ thị mới và hiệu quả (độ chính xác cao, độ phức tạp thấp) trong phát hiện mã độc IoT botnet, có khả năng xử lý mã độc IoT botnet đa kiến trúc. 3. Đối tượng và phạm vi nghiên cứu - Đối tượng nghiên cứu của đề tài: đối tượng nghiên cứu của luận án là các tập tin thực thi trên thiết bị IoT, có tính đa kiến trúc và có nền tảng trên các hệ điều hành Linux Kernel 2.6 hoặc 3.2. - Phạm vi nghiên cứu của đề tài: luận án tập trung vào bài toán phát hiện mã độc có thể xem như bài toán phân loại hai lớp (nhị phân) với phạm vi nghiên cứu sau: chỉ tập trung nghiên cứu, phát hiện mã độc IoT botnet; tập trung vào các thiết bị IoT ràng buộc (resource-constrained IoT) về tài nguyên (hay còn gọi là các thiết bị IoT cỡ nhỏ/thiết bị IoT SOHO (Small Office/Home Office) như năng lượng tiêu thụ thấp, bộ nhớ lưu trữ hạn chế, khả năng tính toán hạn chế…; chỉ tập trung vào phân tích tĩnh. 4. Nội dung và phương pháp nghiên cứu *) Nội dung nghiên cứu: Để đạt được mục tiêu nghiên cứu đã đề ra ở trên, luận án sẽ tập trung phân tích, đánh giá một số nội dung sau: - Nghiên cứu sự phát triển, tiến hóa và đặc điểm của mã độc IoT botnet cũng như các phương pháp phát hiện mã độc IoT botnet hiện nay. - Khảo sát, phân tích và đánh giá lại các phương pháp phát hiện mã độc IoT botnet hiện nay dựa trên phân tích tĩnh trên cùng bộ cơ sở dữ liệu lớn và môi trường thử nghiệm. - Nghiên cứu và đề xuất đặc trưng mới có cấu trúc đồ thị trong phát hiện mã độc IoT botnet 1
  6. - Đánh giá đặc trưng đã đề xuất về độ chính xác và độ phức tạp trong phát hiện mã độc IoT botnet bằng cách sử dụng tập dữ liệu lớn và đáng tin cậy, so sánh với những phương pháp hiện tại cùng hướng tiếp nghiên cứu *) Phương pháp nghiên cứu Phương pháp nghiên cứu lý thuyết kết hợp với nghiên cứu thử nghiệm. - Nghiên cứu lý thuyết: Tiến hành nghiên cứu, khảo sát, tổng hợp, đánh giá các công trình nghiên cứu liên quan ở trong và ngoài nước tại các kho dữ liệu trực tuyến như: Google Scholar, ScienceDirect, ACM Digital Library, IEEE Xplore, một số hội thảo về an toàn thông tin trong lĩnh vực công nghiệp uy tín hàng đầu như Blackhat, USENIX, DEF CON, … Trong đó, tập trung nghiên cứu lý thuyết về các đặc trưng hành vi, vòng đời lây nhiễm của mã độc botnet, nghiên cứu các đoạn mã dịch ngược của các tập mẫu thực thi trên thiết bị IoT. - Nghiên cứu thực nghiệm: Dựa trên tập dữ liệu gồm hơn 10000 mẫu gồm cả mã độc botnet và mẫu lành tính trên thiết bị IoT và chia thành tập huấn luyện và kiểm thử theo tỷ lệ 70:30, sử dụng kỹ thuật cross- validation, luận án tiến hành các thí nghiệm, thực nghiệm xây dựng đặc trưng mã độc IoT botnet bằng các phương pháp phát hiện mã độc IoT botnet, trên tập dữ liệu các tập tin thực thi trên IoT (mã độc, lành tính). Thực nghiệm đánh giá tính hiệu quả của đặc trưng đồ thị PSI mà luận án đề xuất với học sâu. Thực nghiệm xây dựng và đánh giá đặc trưng đồ thị con PSI có gốc (PSI-rooted subgraph) với các thuật toán học máy để nâng cao hiệu quả trong bài toán phát hiện mã độc IoT botnet. 5. Bố cục luận án Luận án gồm phần mở đầu, bốn chương, phần kết luận và kiến nghị, tài liệu tham khảo với 126 trang thuyết minh, trong đó có 17 bảng, 59 hình vẽ, đồ thị và 123 tài liệu tham khảo. Mở đầu: Trình bày tính cấp thiết và cấu trúc của luận án Chương 1: Cơ sở lý thuyết Chương 2: Phương pháp phát hiện mã độc IoT botnet Chương 3: Đặc trưng đồ thị PSI trong phát hiện mã độc IoT botnet Chương 4: Đặc trưng đồ thị con PSI có gốc trong phát hiện mã độc IoT botnet Kết luận và kiến nghị Tài liệu tham khảo CHƯƠNG 1. CƠ SỞ LÝ THUYẾT 1.1. Khái niệm và đặc điểm thiết bị IoT Thuật ngữ Vạn vật kết nối Internet (IoT - Internet of Things) lần đầu được đưa ra định nghĩa bởi Kevin Ashton - nhà khoa học ở Viện công nghệ Massachusets, Mỹ. Kể từ đó có rất nhiều cách giải thích hay khái niệm khác nhau về IoT được đưa ra. Tuy nhiên các khái niệm của các cá nhân, tổ chức đã đưa ra thì đều cơ bản xoay quanh việc kết nối các đồ vật qua mạng Internet. Chính vì thế, luận án cho rằng có thể hiểu đơn giản “IoT là nền tảng bao gồm các “vật” (vật lý và ảo hóa) được tích hợp trên các vật dụng, con người, môi trường và có khả năng kết nối, chia sẻ và xử lý dữ liệu phục vụ các mục đích khác nhau”. Trong phạm vi nghiên cứu, luận án định nghĩa “thiết bị IoT là những “vật” (gồm vật lý và ảo hóa) đa kiến trúc, hạn chế về tài nguyên (có năng lực xử lý thấp, bộ nhớ lưu trữ nhỏ, nguồn điện năng thấp, ...) có khả năng kết nối, chia sẻ, truyền tải và xử lý dữ liệu phục vụ các mục đích khác nhau”. Trong đó, đại đa số các thiết bị IoT chạy trên nền tảng biến 2
  7. thể của hệ điều hành Unix. Những biến thể đó rất phổ biến bởi chúng chứa nhiều tiện ích phổ biến, và nhiều khả năng của Unix trong một tập tin thực thi. Đó cũng sẽ là lý do luận án này chỉ tập trung vào các tập tin thực thi trên Linux, có định dạng phổ biến là ELF (Executable Linkable Format). Thiết bị IoT có những đặc điểm khác biệt với những công nghệ điện toán truyền thống hiện nay, như: - Môi trường không được kiểm soát: các thiết bị IoT có tính di động và tự hành cao - Tính không đồng nhất: các thiết bị IoT sử dụng một cách đa dạng các kiến trúc vi xử lý như: MIPS, ARM, PowerPC, MIPSEL, ... - Tài nguyên hạn chế: các thiết bị IoT cũng bị hạn chế về tài nguyên như bộ nhớ thấp, năng lực tính toán nhỏ, dung lượng năng lượng pin thấp. - Trạng thái động: Trạng thái của các thiết bị IoT thay đổi linh hoạt phụ thuộc vào hoàn cảnh của các thiết bị gồm vị trí, chức năng và tốc độ di chuyển. - Tính kết nối: Thông qua IoT, mọi vật có thể được kết nối, tương tác với cơ sở hạ tầng thông tin và truyền thông toàn cầu thường xuyên, liên tục. 1.2. Khái niệm mã độc IoT botnet Mã độc botnet được thiết kế để lây nhiễm các thiết bị cụ thể (ví dụ như máy tính, thiết bị di động hoặc thiết bị IoT) và biến những thiết bị đó thành một phần trong hệ thống mạng máy tính ma – đó là một mạng máy tính gồm nhiều thiết bị đã bị lây nhiễm mã độc botnet và được điều khiển bởi kẻ tấn công, thường được gọi là bot-master. Điểm khác biệt giữa mã độc botnet với các mã độc khác là mã độc botnet chỉ thực hiện các hành vi độc hại khi nhận được chỉ thị từ các máy chủ C&C của kẻ tấn công. Trong luận án này, mã độc IoT botnet được xem như là mã độc botnet lây nhiễm trên các thiết bị IoT cho rằng có thể hiểu đơn giản như sau “mã độc IoT botnet là mã độc botnet có khả năng tự lây nhiễm trên các thiết bị IoT, bị kết nối và điều khiển bởi tin tặc”. Hình 1.1. Mối quan hệ giữa một số mã độc IoT botnet 1.3. Sự tiến hóa của mã độc IoT botnet Dựa trên phân tích, đánh giá các nghiên cứu đã có về mã độc IoT cũng như thực hiện phân tích mẫu mã độc thực tế, luận án đưa ra một biểu đồ ngắn gọn về sự phát triển, tiến hóa của mã độc IoT được sử dụng để 3
  8. thực hiện tấn công từ chối dịch vụ phân tán gần đây. Tuy nhiên, danh sách các loại mã độc dưới đây vẫn chưa đầy đủ bởi tội phạm mạng thường xuyên sửa đổi và cập nhật các loại mã độc đã biết để tạo ra các loại mã độc mới, khai thác nhiều loại thiết bị IoT. 1.4. Sự khác biệt giữa mã độc botnet truyền thống và IoT botnet Kết quả so sánh giữa mã độc botnet trên máy tính truyền thống và thiết bị IoT được tổng hợp như tại bảng 1.1. dưới đây: Bảng 1.1. So sánh mã độc botnet trên máy tính truyền thống và IoT Tiêu chí Mã độc botnet trên PC Mã độc botnet trên IoT Hình thức tấn Đa dạng với nhiều hình thức tấn công Tập trung chủ yếu là hình thức tấn công từ công như mã hóa dữ liệu, đánh cắp dữ liệu chối dịch vụ phân tán bởi đặc điểm số riêng tư, tấn công từ chối dịch vụ…. lượng thiết bị IoT lớn và phân tán toàn cầu Nền tảng Nền tảng kiến trúc mã độc botnet trên So sự đa dạng của các thiết bị IoT nên mã không đồng máy tính truyền thấp có sự đa dạng độc botnet trên các thiết bị IoT rất đa dạng nhất thấp, chủ yếu tập trung vào các kiến trúc về kiến trúc như ARM, MIPS, PowerPC, x86_64 Sparc, … để đảm bảo khả năng lây nhiễm thành công nhiều loại thiết bị Đa dạng các Mã độc trên máy tính truyền thống rất Do xu hướng thiết bị IoT mới nổi, cũng loại mã độc đa dạng về chủng loại, tinh vi và phức như các đặc trưng khác biệt của thiết bị IoT tạp nên người viết mã độc lây nhiễm trên IoT đa phần là chỉnh sửa cơ bản dựa trên mã nguồn của các loại mã độc đã công bố công khai trước đó. Vì thế sự đa dạng của mã độc trên IoT thấp Kỹ thuật gây Do tài nguyên và năng lực tính toán của Do tài nguyên của các thiết bị IoT bị hạn rối máy tính truyền thống lớn nên người chế nên người viết mã độc ít khi sử dụng viết mã độc thường sử dụng các kỹ các kỹ thuật gây rối phức tập, hoặc chỉ sử thuật gây rối phức tạp để bảo vệ mã độc dụng một số kỹ thuật gây rối đơn giản như khỏi bị phát hiện, phân tích. Nguyên UPX, XOR. nhân là do mã độc có đủ tài nguyên để xử lý các kỹ thuật gây rối phức tạp trước khi thực thi hành vi độc hại Phát hiện trên Dễ dàng phát hiện dấu hiệu mã độc Khó phát hiện bởi các thiết bị IoT có tính hệ thống thông qua biểu hiện của máy tính truyền hoạt động độc lập cao, ít tương tác với thống người dùng nên không phát hiện được các dấu hiệu bất thường trên hệ thống Khả năng Dễ dàng triển khai phân tích với môi Khó triển khai phân tích với môi trường an thực thi trên trường phân tích an toàn như sandbox toàn như sandbox bởi phải đáp ứng yêu cầu môi trường trên máy tính truyền thống về có khả năng xử lý tính đa kiến trúc ảo 4
  9. Tính thường Có thể lây nhiễm và thường trú tại các Sau khi lây nhiễm sẽ xóa bỏ các tập tin thực trú vị trí bộ nhớ bền vững trên máy tính, thi và chỉ chạy trên các bộ nhớ không bền cũng như lưu lại các tập tin thực thi độc vững, tức là có tính không thường trú. hại trên máy tính. Tìm và ngăn Do tài nguyên lớn nên trên máy tính Do tài nguyên hạn chế nên mã độc IoT chặn mã độc truyền thường có khả năng bị lây nhiễm thường có cơ chế tìm và ngăn chặn mã độc khác nhiều loại mã độc đồng thời khác sau khi lây nhiễm thành công Kết luận Chương 1: Luận án trình bày tổng quan về mã độc IoT botnet gồm khái niệm về thiết bị IoT và mã độc IoT botnet, sự tiến hóa của mã độc IoT botnet, kiến trúc vòng đời lây nhiễm của mã độc IoT botnet. Đồng thời, luận án cũng đánh giá đặc điểm và sự khác biệt của mã độc botnet trên thiết bị IoT so với mã độc botnet trên máy tính truyền thống. Những nội dung đã thảo luận trên giúp luận án củng cố luận cứ trong xác định phương pháp phát hiện mã độc IoT botnet phù hợp CHƯƠNG 2. PHƯƠNG PHÁP PHÁT HIỆN MÃ ĐỘC IOT BOTNET 2.1. So sánh phân tích tĩnh và phân tích động Cả phân tích tĩnh và phân tích động đều có những ưu điểm và hạn chế nhất định. Bảng 2.1 tổng hợp các ưu nhược điểm của mỗi phương pháp nêu trên. Bảng 2.1. So sánh các phương pháp phân tích, phát hiện mã độc IoT botnet Phân tích động Phân tích tĩnh - Quan sát thực thi cụ thể của một chương - Phân tích một cách chi tiết các tập tin và đưa trình để quyết định tập tin là mã độc dễ ra được cái nhìn tổng quát về tất cả các khả Điểm dàng năng kích hoạt của chúng mạnh - Phân tích động hiệu quả hơn đối với mã - Không cần phải thực thi mã độc nên không độc gây rối bị ảnh hưởng bởi tính đa kiến trúc khi xây dựng môi trường thực thi - Chỉ có thể giám sát đơn luồng thực thi - Phân tích tĩnh phụ thuộc nhiều vào công - Làm lộ quá trình phát hiện và phân tích nghệ dịch ngược mã độc - Khó khăn khi xử lý mã độc sử dụng kỹ thuật Hạn - Có thể gây nguy cơ mất an toàn cho mạng gây rối chế và hệ thống - Khó mô phỏng đầy đủ thiết bị IoT (tính đa kiến trúc) Để phù hợp với nội dung nghiên cứu, luận án thấy rằng với đầu vào là một tập tin thực thi có tính đa kiến trúc thì cần lựa chọn phương pháp có khả năng xử lý vấn đề này hiệu quả và hiệu suất, do đó luận án lựa chọn phân tích tĩnh trong đề xuất hướng tiếp cận giải quyết bài toán nghiên cứu, trong đó luận án khai thác điểm mạnh của phân tích tĩnh và hạn chế được điểm yếu của phương pháp này. Phần tiếp theo luận án sẽ tập trung phân tích, đánh giá các nghiên cứu hiện nay dựa trên phân tích tĩnh trong phát hiện mã độc IoT botnet. 2.2. So sánh, đánh giá các phương pháp dựa trên phân tích tích trong phát hiện mã độc IoT botnet Các nghiên cứu dựa trên phân tích tĩnh trong phát hiện mã độc thường sử dụng những đặc trưng phổ biến như: tiêu đề tập tin (header), các lời gọi hàm system-calls, lời gọi API (Application Programming 5
  10. Interfaces), PSI (Printable Strings Information), FLF (Function Length Frequency), các thư viện liên kết, OpCode (trích xuất từ mã assembly), … Dịch ngược là hướng tiếp cận phổ biến để trích xuất những thông tin đặc trưng trên từ một tập tin thực thi. Cách thức trích xuất và xử lý những đặc trưng đó ảnh hưởng lớn đến độ chính xác và phức tạp của các phương pháp phát hiện mã độc IoT, những đặc trưng đó có thể được chia thành 02 nhóm: dựa trên các đặc trưng có cấu trúc đồ thị và dựa trên các đặc trưng không có cấu trúc đồ thị, như minh họa ở hình 2.1. Hình 2.1. Phân loại các đặc trưng tĩnh trong phát hiện mã độc IoT botnet Các phương pháp phát hiện mã độc sử dụng các đặc trưng không có cấu trúc đồ thị nhằm xây dựng các mô hình phát hiện chứa các thuộc tính của cấu trúc tập tin nhị phân để phân loại một tập tin nhị phân là mã độc hay lành tính. Những phương pháp này dựa trên trích xuất các đặc trưng gồm Opcode, Strings hoặc cấu trúc tập tin phân biệt các mẫu mã độc. Những đặc trưng này có thể được chia thành 2 nhóm: đặc trưng mức cao và đặc trưng mức thấp. Cụ thể, các đặc trưng mức thấp có thể được thu thập trực tiếp từ trong cấu trúc của tập tin, trong khi đó các đặc trưng mức cao cần sử dụng các công cụ hỗ trợ phân tách (disassembler) như IDA Pro hoặc Radare2. Những nghiên cứu biểu diễn các tập tin thực thi bằng các đặc trưng không có cấu trúc đồ thị sẽ phụ thuộc nhiều vào giá trị của các đặc trưng (ví dụ lời gọi hàm inet_toa) và sẽ không thể mô tả thông tin ngữ nghĩa phức tạp giữa các đặc trưng (ví dụ như dữ liệu phụ thuộc trong vòng đời mã độc IoT có khả năng tấn công từ chối dịch vụ phân tán, gọi tắt là IoT botnet). Bên cạnh đó các nghiên cứu sử dụng đặc trưng không có cấu trúc đồ thị thường khá yếu với mã độc sử dụng kỹ thuật gây rối như mã hóa, chèn dữ liệu rác… Việc so sánh các phương pháp phát hiện mã độc IoT botnet dựa trên biểu diễn dữ liệu đặc trưng tĩnh được tổng hợp dưới đây cho thấy các nghiên cứu hiện đại (state-of-art) sử dụng các đặc trưng tĩnh trong phát hiện mã độc IoT botnet còn những hạn chế. - Các nghiên cứu theo hướng sử dụng biểu diễn dữ liệu dạng Opcode tiêu biểu như Hamed HaddadPajouh [14], Ensieh Modiri Dovom [57], Darabian [52], Amin Azmoodeh et al. [36] sử dụng các cơ chế chủ yếu như xác định mã độc thông qua chuỗi opcode, áp dụng fuzzy pattern tree để phát hiện mẫu mã độc, phát hiện mã độc dựa trên tần xuất opcode. Những nghiên cứu này có hạn chế như chỉ sử dụng tập mẫu dựa trên kiến trúc ARM, tập dữ liệu không đủ lớn 6
  11. - Nghiên cứu của Mohannad Alhanahnah [4] biểu diễn dữ liệu dạng Strings cho phép sinh chữ kỹ để phân loại mã độc. Tuy nhiên, nghiên cứu có hạn chế bởi độ phức tạp tính toán lớn và chỉ sử dụng cho 4 loại mã độc. - Nghiên cứu của F. Shahzad et al. [96] biểu diễn dữ liệu dạng ELF header nhằm trích xuất các đặc trưng từ section của tập tin nhị phân để phát hiện mã độc. Tuy nhiên, hạn chế của nghiên cứu bởi cấu trúc của tập tin nhị phân dễ dàng bị chỉnh sửa. - Nghiên cứu của Jiawei Su et al. [25] biểu diễn dữ liệu dạng Grayscale image cho phép biểu diễn các mẫu nhị phân như ảnh đa mức xám để phát hiện mã độc. Tuy nhiên, nghiên cứu có hạn chế vì thiếu độ chính xác khi các mẫu sử dụng kỹ thuật gây rối hoặc mã hóa. - Nghiên cứu của Hisham Alasmary et al. [32] biểu diễn dữ liệu dạng CFG để tính toán 23 thuộc tính lý thuyết đồ thị của CFG để phân biệt các mẫu mã độc và lành tính. Tuy nhiên, nghiên cứu có độ phức tạp tính toán lớn và xác định các tính chất chưa chính xác. Dựa trên khảo sát, đánh giá các nghiên cứu hiện nay về vấn đề phát hiện mã độc IoT botnet, thấy rằng các nghiên cứu đều có những ưu điểm và hạn chế. Tuy nhiên, mỗi phương pháp nghiên cứu lại thực nghiệm trên các bộ cơ sở dữ liệu và môi trường khác nhau. Trên cơ sở đó, luận án tiến hành đánh giá một cách khách quan các nghiên cứu hiện nay với cùng môi trường thử nghiệm và trên cùng bộ cơ sở dữ liệu. Phần tiếp theo luận án sẽ trình bày chi tiết về bộ cơ sở dữ liệu, bộ cơ sở dữ liệu này không chỉ dùng để thực nghiệm cho phần đánh giá ở Chương này mà còn được sử dụng thử nghiệm ở các Chương sau của luận án. 2.2.1. Xây dựng bộ cơ sở dữ liệu thử nghiệm Để phục vụ các nghiên cứu thực nghiệm của luận án một cách tin cậy, đúng đắn thì việc xây dựng tập dữ liệu các tập tin thực thi mã độc và lành tính trên thiết bị IoT có ý nghĩa quan trọng. Bảng 2.2. Mô tả tập dữ liệu mẫu để thử nghiệm Family Name Variants Sample Number ARM MIPS Mirai 7 1,765 331 301 Bashlite 5 3,720 762 646 Other botnet 9 680 152 103 Benign - 3,845 561 533 Total 10,010 1806 1583 Tập dữ liệu có 10010 mẫu gồm 6165 mẫu mã độc IoT botnetvà 3845 mẫu lành tính IoT và tập dữ liệu có kiến trúc đa dạng gồm ARM, MIPS, PowerPC, Sparc, SuperH,… Luận án sử dụng chiến lược bỏ phiếu [17], [81] để quyết định xem một tập tin là mã độc hoặc lành tính, thể hiện qua đẳng thức (2.1). Trong đó 𝐸i (𝑆) là các bộ dò quét mã độc thứ i trên VirusTotal (ví dụ như Kaspersky, Norton, BKAV,…). 𝑀ã độ𝑐, 𝑛ế𝑢 (𝐸1 (𝑆) ∨ 𝐸2 (𝑆) ∨ … 𝐸𝑛 (𝑆)) (2.1) 𝐶𝑙𝑎𝑠𝑠𝑙𝑏 = { 𝐿à𝑛ℎ 𝑡í𝑛ℎ, 𝑛ế𝑢 (! (𝐸1 (𝑆)) ∧ ! (𝐸2 (𝑆)) ∧ … ! (𝐸𝑛 (𝑆)) Để tiến hành các thực nghiệm trong Chương này, luận án chia tập dữ liệu thành 2 tập con với tỷ lệ là: 70% tập dữ liệu là tập huấn luyện và 30% còn lại là để kiểm thử. Thực nghiệm được xây dựng với ngôn ngữ Python và thư viện Scikit-Learn (một thư viện về học máy phổ biến hiện nay, được viết trên ngôn ngữ Python) trên nền tảng hệ điều hành Ubuntu 16.04 sử dụng chip Intel Core i5-8500, 3.0GHz và bộ nhớ RAM 32 GB. 7
  12. 2.2.2. Kết quả thực nghiệm và nhận xét Kết quả tổng hợp, đánh giá các hướng tiếp cận dựa trên đặc trưng tĩnh trong phát hiện mã độc IoT được thể hiện ở Bảng 2.3. Ở đây luận án tiến hành thực nghiệm lại các nghiên cứu đã có và sử dụng lại chính xác các bộ phân lớp mà các nghiên cứu đã sử dụng, vì vậy các thuật toán phân lớp là khác nhau. Mục đích nhằm đánh giá độ tin cậy, tính chính xác của các nghiên cứu đã có trên cùng bộ dữ liệu đã mô tả ở mục 2.2.1 Bảng 2.3. Kết quả thực nghiệm các hướng tiếp cận dựa trên đặc trưng tĩnh hiện nay trong phát hiện mã độc IoT botnet FPR (False FNR (False Thời gian Thời Hướng tiếp cận Bộ phân Độ chính Positive Rate Negative trích xuất gian dựa trên đặc lớp xác - dương tính Rate - âm đặc trưng và phân trưng tĩnh giả) tính giả) tiền xử lý lớp RIPPER 99,8 0,2 0,2 0,75s ELF-header [96] PART 99,8 0,2 0,2 1h50m 1,27s DT (J48) 99,6 0,5 0,3 1s SVM 98 0,9 2,2 12,4s kNN 99,8 0,4 0,2 1s String-based [70] 4m47s DT (J48) 99,4 0,4 0,6 8,75s RF 99.7 0,3 0,4 9,71s Neural Image-based [25] 89,1 12,7 1,4 14m19s 2m19s Network SVM 89 33,8 4,4 1,45s CFG-based [32] LR 85 15,1 19,0 5 days 0,5s RF 95 7,5 5,9 1,75s Từ bảng kết quả 2.3, có thể thấy các nghiên cứu biểu diễn tập tin thực thi bằng đặc trưng không có cấu trúc đồ thị sẽ phụ thuộc nhiều vào giá trị của các đặc trưng (ví dụ lời gọi hàm inet_toa) và sẽ không thể mô tả thông tin ngữ nghĩa phức tạp giữa các đặc trưng (ví dụ như dữ liệu phụ thuộc trong vòng đời mã độc IoT có khả năng tấn công từ chối dịch vụ phân tán, gọi tắt là IoT botnet). Bên cạnh đó các nghiên cứu sử dụng đặc trưng không có cấu trúc đồ thị thường khá yếu với mã độc sử dụng kỹ thuật gây rối như mã hóa, chèn dữ liệu. Trong khi đó, hướng tiếp cận dựa trên đồ thị có khả năng đánh giá tổng quát và biểu diễn được các thông tin có cấu trúc, thông tin phức tạp về hành vi của mã độc botnet. Kết luận Chương 2: Kết quả nghiên cứu của Chương này cung cấp động cơ thúc đẩy cho các phương pháp đề xuất của luận án sau này khi thấy rằng phân tích tĩnh khả quan trong bài toán phát hiện mã độc IoT botnet, đồng thời các đặc trưng có cấu trúc đồ thị đem lại hiệu quả cao và triển vọng trong bài toán phát hiện mã độc IoT botnet. Những đóng góp của Chương 2: Đánh giá và đưa ra sự khác biệt giữa mã độc botnet trên máy tính truyền thống và thiết bị IoT, từ đó làm cơ sở đề xuất phân tích tĩnh phù hợp đối với phát hiện mã độc IoT botnet; Xây dựng bộ cơ sở dữ liệu có độ tin cậy phục vụ bài toán phát hiện mã độc botnet trên thiết bị IoT; Thực nghiệm lại và đánh giá khách quan các nghiên cứu hiện nay dựa trên phân tích tĩnh với cùng bộ cơ sở dữ liệu và môi trường thực nghiệm. Kết quả nghiên cứu đã công bố và trình bày trên Kỷ yếu Hội nghị và Tạp chí uy tín trong nước và quốc tế (tại [B3], [B4], [B5] trong danh mục các công trình của tác giả). 8
  13. CHƯƠNG 3. ĐẶC TRƯNG ĐỒ THỊ PSI TRONG PHÁT HIỆN MÃ ĐỘC IOT BOTNET 3.1. Phát biểu bài toán Bài toán nghiên cứu của Chương này được phát biểu như sau: - Cho 𝐿 = {𝑙1 , 𝑙2 , … , 𝑙𝑛 } là tập hợp gồm 𝑛 tập tin thực thi, trong đó 𝑙𝑖 ∈ {0,1} có thể là các tập tin thực ̅̅̅̅̅ thi mã độc (giá trị 1) hoặc các tập tin thực thi lành tính (giá trị 0) với 𝑖 = 1, 𝑛 - Cho 𝐹 = {𝑓𝐴𝑙ℎ𝑎𝑛𝑎ℎ𝑛𝑎ℎ , 𝑓𝑆𝑢 , 𝑓𝐻𝑎𝑑𝑑𝑎𝑑 , 𝑓𝐴𝑧𝑚𝑜𝑜𝑑𝑒ℎ𝑃𝑎𝑗𝑜𝑢ℎ , 𝑓Alasmary } là tập hợp các đặc trưng trừu tượng trong bài toán phát hiện mã độc botnet trên thiết bị IoT và có kết quả khả quan trong thời gian gần đây. Như vậy ∃𝑓𝑇𝑟𝑢𝑛𝑔 ∉ 𝐹 sao cho 𝑓𝑇𝑟𝑢𝑛𝑔 (𝐿) đơn giản hơn 𝑓𝑗 ∈ 𝐹 , về mặt cấu trúc đồ thị thì việc đơn giản hơn được định lượng thông qua số lượng cạnh và số lượng đỉnh đồ thị. Mặc dù đơn giản hơn về mặt cấu trúc nhưng 𝑓𝑇𝑟𝑢𝑛𝑔 cho kết quả tốt hơn các 𝑓𝑗 ∈ 𝐹 về độ chính xác, thời gian thực thi. 3.2. Giải thích bài toán Luận án lựa chọn cách tiếp cận dựa trên phân tích tĩnh trong phát hiện mã độc botnet trên thiết bị IoT. Hiện nay đã có những nghiên cứu theo hướng tiếp cập này, có thể kể đến như Alhanahnah và cộng sự [4], Su và cộng sự [25], HaddadPajouh và cộng sự [14], Azmoodeh và cộng sự [36], Hisham Alasmary và cộng sự [33]. Cụ thể Mohannad Alhanahnah và cộng sự kết hợp các đặc trưng tĩnh khác nhau như các chuỗi (string), đồ thị luồng điều khiển (CFG) và thông tin thống kê cấu trúc tập tin để sinh ra các chữ ký dùng cho phân lớp mã độc IoT đa kiến trúc. Su và cộng sự đã đề xuất một phương pháp nhẹ (light) để phân biệt các mẫu mã độc IoT và các mẫu lành tính IoT dựa trên ảnh đa mức xám, và bằng cách đưa các ảnh đa mức xám này vào mô hình mạng nơ-ron tích chập để phát hiện mã độc IoT. Hamed HaddadPajouh và cộng sự, Azmoodeh và cộng sự đã đề xuất một phương pháp phát hiện mã độc IoT sử dụng chuỗi opcode. Hisham Alasmary và cộng sự đã thực hiện một nghiên cứu chuyên sâu về đồ thị của mã độc Android và IoT botnet. Với mô tả chi tiết các đặc trưng của các công trình nghiên cứu tiêu biểu trong phân tích tĩnh phát hiện mã độc botnet trên thiết bị IoT, đặc trưng mới trong phát biểu bài toán nghiên cứu tại Chương này sẽ tận dụng được các điểm mạnh cũng như giải quyết được những hạn chế của các đặc trưng đã có, từ đó đem lại hiệu quả cao trong bài toán phát hiện mã độc IoT botnet với các thuật toán học máy, học sâu. 3.3. Sơ đồ và ý tưởng phương pháp đề xuất Bài toán nghiên cứu trong Chương này của luận án sẽ theo các giả thiết sau: Sự khác biệt cơ bản giữa mã độc botnet và các loại mã độc khác là luôn cần sự kết nối tới máy chủ C&C để gửi/nhận lệnh tấn công từ tin tặc. Quá trình lây nhiễm, tấn công của mã độc botnet trên thiết bị IoT đã được nghiên cứu nhiều, và thấy rằng thường diễn ra theo quy trình chung. Mỗi bước trong trạng thái vòng đời mã độc IoT botnet thường liên quan đến những thông tin được biểu diễn dưới dạng các chuỗi như các câu lệnh chỉ thị của tin tặc, các địa chỉ IP/tên miền của máy chủ C&C, … Trước khi đi vào sơ đồ phương pháp đề xuất, để hiểu rõ hơn vấn đề, các định nghĩa sau được quy định trong luận án này. Định nghĩa 3.1: Một đồ thị lời gọi hàm (function-call graph) là một đồ thị có hướng, biểu diễn bởi 𝐺 = (𝑉, 𝐸). Trong đó 𝑉 là tập các đỉnh 𝑉 = 𝑉(𝐺) biểu diễn các hàm và tập các cạnh 𝐸 = 𝐸(𝐺), ở đó 𝐸(𝐺) ⊆ 𝑉(𝐺) × 𝑉(𝐺), tương ứng với các lời gọi hàm. Với mỗi đỉnh 𝑣 ∈ 𝑉, hai hàm được định nghĩa 𝑉𝑛 (𝑣) và 𝑉𝑓 (𝑣) cung cấp tên hàm và loại hàm của hàm biểu diễn bởi 𝑣. Loại hàm 𝑡 ∈ {0,1} có thể là hàm cục bộ (giá trị 0) hoặc hàm mở rộng (giá trị 1). 9
  14. Định nghĩa 3.2: Một PSI (Printable String Information) là một chuỗi thông tin có thể in được (printable) xuất hiện trong các tập tin thực thi, có thể ở dạng tường minh (ví dụ “10.1.1.2”) hoặc mã hóa (ví dụ “eGAIM”). Định nghĩa 3.3: Đồ thị PSI là một đồ thị có hướng được biểu diễn như sau 𝐺𝑃𝑆𝐼 = (𝑉, 𝐸), trong đó: – 𝑉 là tập các đỉnh được thiết lập bằng các hàm mà các hàm đó được trích xuất từ đồ thị lời gọi hàm (function-call graph) và có chứa các PSI – 𝐸 là tập các cạnh có hướng {(𝑉𝑖 ,𝑉𝑗 ), (𝑉𝑘 ,𝑉ℎ ), … } , phản ánh mối liên kết giữa hai caller và callee (hàm gọi – hàm được gọi) Để chứng minh cho giả thiết trên và trả lời cho bài toán nghiên cứu đã đặt ra, phương pháp luận án đề xuất có sơ đồ cấu trúc như sau: Hình 3.1. Quy trình phương pháp đề xuất phát hiện mã độc IoT botnet Luận án đưa ra mô hình tổng quát phương pháp đề xuất gồm 02 pha xử lý chính: pha huấn luyện và pha sử dụng, minh họa ở hình 3.1. Trong đó, pha huấn luyện và pha sử dụng có quy trình xử lý tương đối giống nhau, chỉ khác biệt ở khối Phân lớp.Với dữ liệu đầu vào là các tập tin thực thi trên thiết bị IoT, bao gồm cả các tập tin mã độc và lành tính, thì quy trình thực hiện gồm 4 bước như sau: Pha sinh đồ thị FCG, Pha sinh đồ thị PSI, Pha tiền xử lý và trích chọn đặc trưng, và cuối cùng là Phân lớp. 3.4. Đồ thị lời gọi hàm trong phát hiện mã độc IoT botnet Một đồ thị lời gọi hàm (FCG – Function Call Graph) là một đồ thị luồng điều khiển liên thủ tục, ở đó biểu diễn lời gọi quan hệ giữa các hàm hoặc chương trình con trong một chương trình thực thi. Định nghĩa một cách chính thức được thể hiện như định nghĩa 3.1. Trước khi xây dựng đồ thị lời gọi hàm thì cần kiểm tra và tiền xử lý các kỹ thuật tự vệ của các tập tin thực thi để đảm bảo tính đúng đắn của đồ thị lời gọi hàm. Để kiểm tra các tập tin có sử dụng kỹ thuật đóng gói không, luận án sử dụng công cụ xác định trình đóng gói DiE (Detect It Easy) [115] để kiểm tra tập tin có bị đóng gói không và nếu có thì kỹ thuật đóng gói sử dụng là gì. Phân tích trên tập dữ liệu thử nghiệm của luận án gồm 10010 mẫu, thấy rằng chỉ khoảng 2% số lượng mẫu có sử dụng kỹ thuật gây rối, và đại đa số là kỹ thuật đóng gói UPX. Sau khi xác định được trình đóng gói thì hiện nay có rất nhiều công cụ hỗ trợ việc unpack như công cụ UPX [121]. Các tập tin thực thi không thể unpack bằng công cụ UPX thì sẽ được loại bỏ khỏi tập dữ liệu. Sau quá trình unpack, luận án lựa chọn IDA Pro là công cụ hỗ trợ quá trình dịch ngược bởi đây là công 10
  15. cụ hỗ trợ đa nền tảng hệ điều hành. Sau khi thực hiện phân tách các tập tin nhị phân bằng công cụ IDA Pro, luận án thu được mã hợp ngữ của tập tin. Thuật toán xây dựng đồ thị lời gọi hàm (thuật toán 3.1) được luận án triển khai kế thừa từ nghiên cứu của Ming Xu và cộng sự [108]. Thuật toán 3.1: Xây dựng đồ thị lời gọi hàm (Function Call Graph – FCG) Input: Các hàm ở dạng mã hợp ngữ của tập tin 𝐹, Output: Đồ thị lời gọi hàm 𝐺𝐹 của tập tin F // Khởi tạo ban đầu 1: 𝑮𝑭 .𝑉 = 𝝓 and 𝑮𝑭 .𝐸 = 𝝓 2: EntryFuncSet = 𝝓, FuncSet = 𝝓, FuncQ = 𝝓, VerSet = 𝝓 //Trích xuất các hàm từ mã hợp ngữ 3: FuncSet = SplitFuncs(𝐹) 4: EntryFuncSet = IdentifyEntryPointFuncs(𝑀) 5: FuncQ = InitQ(EntryFuncSet) //Xây dựng mối quan hệ caller-callee 6: while(FuncQ is not empty) 7: baseVertex = Dequeue(FuncQ) 8: Insert baseVertex in 𝑮𝑭 9: baseVertex.enQFlag = true //Trích xuất các callee của tập baseVertex 10: VerSet = getCallee(baseVertex) 11: for each vertex in VerSet 12: if((vertex ∩ FuncSet) ≡ 𝝓) // Các đỉnh không có trong FuncSet 13: continue 14: endif 15: headVertex = vertex 16: // Xây dựng cạnh kết nối giữa baseVertex và headVertex 17: if(𝑒 ∈ 𝑮𝑭 .𝐸) 18: baseVertex.outDeg++ 19: headVertex.inDeg++ 20: else 21: Insert headVertex in 𝑮𝑭 22: Insert edge 𝑒 in 𝑮𝑭 23: endif 24: if(headVertex.enQFlag == false) 25: Enqueue headVertex in FuncQ 26: headVertex.enQFlag = true 27: endif 28: next vertex 29: end while 30: return 𝑮𝑭 31: end Đồ thị lời gọi vẫn có độ phức tạp cao bởi số lượng đỉnh và số lượng cạnh lớn, do đó thường tốn kém chi phí tính toán và bộ nhớ lưu trữ [97]. Nếu độ phức tạp của một đồ thị dựa trên số cạnh và đỉnh thì độ phức tạp sẽ là 𝛰(|𝑉| ∗ |𝐸|) với |𝑉| là số cạnh và |𝐸| là số đỉnh. Chính vì thế, dựa trên cơ sở đồ thị lời gọi hàm, luận án hướng tới xây dựng một đặc trưng đồ thị mới, có hiệu quả cao (độ phức tạp thấp khi có thể giảm số lượng đỉnh và số lượng cạnh của đặc trưng đồ thị nhưng vẫn đảm bảo tỷ lệ phát hiện chính xác cao) trong bài toán phát hiện mã độc IoT botnet khi áp dụng với các kỹ thuật học máy, học sâu. 3.5. Xây dựng đồ thị PSI Trước khi xây dựng đồ thị PSI (định nghĩa 3.3), luận án trích xuất toàn bộ PSI (định nghĩa 3.2) tồn tại bên trong tập tin thực thi bằng một đoạn mã plugin của công cụ IDAPro. Cân bằng giữa độ chính xác của kết 11
  16. quả phân lớp và độ phức tạp tính toán, luận án lựa chọn các hàm chứa PSI có độ dài tối thiểu từ 3 ký tự trở lên. Những PSI này có thể ở dạng tường minh hoặc mã hóa và thường chứa nhiều thông tin ngữ nghĩa có liên quan đến mục đích của kẻ tấn công Sau khi đã xây dựng được đồ thị lời gọi hàm, cũng như xác định được các đỉnh chứa PSI, luận án tiến hành duyệt đồ thị lời gọi hàm để xây dựng đồ thị PSI, tiến trình thực hiện như trong thuật toán 3.2. Thuật toán 3.2: PSI-Graph Generation (FCG) 1 𝑉 = [ ], 𝐸 = [ ] 2 For each vertice 𝑣𝑖 in FCG do: 3 If exist psi in 𝑣𝑖 and do: 4 𝑉 = 𝑉 ∪ 𝑣𝑖 5 End if 6 For each edge 𝑒𝑗 (𝑣𝑖 , 𝑣𝑘 ) do: 7 If exist psi in 𝑣𝑘 and 𝑣𝑘 ∉ 𝑉 and 𝑒𝑗 (𝑣𝑖 , 𝑣𝑘 ) ∉ 𝐸 do: 8 𝑉 = 𝑉 ∪ 𝑣𝑘 9 𝐸 = 𝐸 ∪ 𝑒𝑗 (𝑣𝑖 , 𝑣𝑘 ) 10 End If 11 Enf for 12 End for 13 Return 𝑉, 𝐸 Quá trình xây dựng đồ thị PSI là dựa trên việc cắt tỉa đồ thị FCG nhằm giảm số lượng cạnh và số lượng đỉnh, như vậy độ phức tạp của thuật toán sinh đồ thị PSI là 𝑂(|𝑉| ∗ |𝐸|) cũng sẽ giảm. Bảng 3.1 cho thấy kết quả so sánh kích thước giữa đồ thị PSI và đồ thị lời gọi hàm. Có thể thấy, đồ thị PSI có kích thước nhỏ hơn nhiều so với đồ thị lời gọi hàm về số lượng đỉnh và cạnh ở cả các tập tin mã độc và lành tính. Vì vậy việc sử dụng đồ thị PSI như đặc trưng để phát hiện mã độc có thể giảm độ phức tạp (tăng tốc độ xử lý, giảm chi phí thời gian tính toán) so với việc sử dụng đồ thị lời gọi hàm. Bảng 3.1. So sánh giữa đồ thị PSI và đồ thị lời gọi hàm FCG Lớp Trung bình các Trung bình các Trung bình các Trung bình các đỉnh trong đồ thị cạnh trong đồ thị đỉnh trong đồ thị cạnh trong đồ thị PSI PSI FCG FCG Mã độc 147.1 1110.5 254.5 3075.5 Lành tính 167.8 1693.9 530.9 2962.2 Có thể thấy ở hình 3.2, số lượng các đỉnh trong đồ thị PSI tập trung chủ yếu trong dải [1, 300] cho cả các tập tin mã độc và lành tính. Mặc dù, có sự khác biệt nhỏ trong phân bố, nhưng sự khác biệt này không đủ rõ ràng để thiết lập một ngưỡng giá trị để phân biệt các mẫu mã độc IoT và lành tính. Hình 3.2. Số lượng các cạnh và đỉnh giữa các lớp mẫu 12
  17. Để dễ hình dung kết quả hoạt động của thuật toán sinh đồ thị PSI, quan sát hình 3.3 ví dụ về đồ thị lời gọi hàm của mẫu Linux.Bashlite, có thể thấy rõ ràng đồ thị PSI đơn giản hơn nhiều so với đồ thị lời gọi hàm. Trung bình, một đồ thị PSI chỉ chứa khoảng 16 đỉnh và 60 cạnh so với 156 đỉnh và 360 cạnh của đồ thị lời gọi hàm. Hình 3.3. Đồ thị lời gọi hàm (trái) và đồ thị PSI (phải) của mẫu mã độc Linux.Bashlite Như vậy, đặc trưng đồ thị PSI mà luận án thu được có những đặc điểm sau: - Được xây dựng dựa trên phương pháp tĩnh; - Có thể phản ánh “hành vi vòng đời” hay có thể gọi là mô phỏng quá trình lây nhiễm của mã độc IoT botnet; - Chỉ xét đến cấu trúc của các chuỗi thông tin có giá trị (printable string information – PSI), không xét đến giá trị các chuỗi; - Được xây dựng dựa trên đồ thị lời gọi hàm 3.6. Đánh giá thực nghiệm 3.6.1. Môi trường thực nghiệm Sử dụng tập dữ liệu thực nghiệm đã được trình bày ở mục 2.2.1 của bản tóm tắt luận án này, để tiến hành các thực nghiệm, luận án chia tập dữ liệu thử nghiệm thành 2 tập con là: tập huấn luyện và tập kiểm thử. Các tập con của Tập huấn luyện chứa số lượng mẫu như nhau là 2690 mẫu cho cả lớp mã độc và lớp lành tính. Tập con kiểm thử chứa phần còn lại của tập dữ liệu là 4630 mẫu. Thực nghiệm được xây dựng với ngôn ngữ Python và bộ framework PyTorch trên hệ điều hành Ubuntu 16.04 sử dụng chip Intel Core i5-8500, 3.0GHz, thẻ đồ họa NVIDIA GeForce GTX1080Ti và bộ nhớ RAM 32 GB. 3.6.2. Mô hình đánh giá Để đánh giá tính hiệu quả của đặc trưng đồ thị PSI trong bài toán phát hiện mã độc IoT botnet, luận án tiến hành đưa các đặc trưng đồ thị PSI vào mô hình đánh giá như hình 3.4, trong đó đầu vào là vector 1x1024, HL là các lớp ẩn, FC là các lớp kết nối đầy đủ, Conv là các lớp tích chập. Luận án tiếp cận dựa trên việc phân tích và biểu diễn toàn bộ cấu trúc đồ thị PSI thành giá trị vector số có độ dài cố định, luận án sử dụng graph2vec [39] trong quá trình tiền xử lý dữ liệu đồ thị PSI. 13
  18. Hình 3.4. Mô hình đánh giá đặc trưng đồ thị PSI trong phát hiện mã độc IoT botnet Graph2vec là một kỹ thuật học không giám sát để chuyển đổi một đồ thị thành dạng vector số. Graph2vec dựa trên ý tưởng hướng tiếp cận doc2vec [82] sử dụng mạng skip-gram. Graph2vec học cách biểu diễn các đồ thị bằng cách xem toàn bộ 01 đồ thị như một văn bản và các đồ thị con như các từ tạo nên văn bản đó. Thuật toán 3.3: Graph2vec (𝒢, 𝐷, 𝛿, 𝔢, 𝛼) Input: 𝒢 = {𝐺1 , 𝐺2 , … , 𝐺𝑛 }: Tập hợp các đồ thị sao cho mỗi đồ thị 𝐺𝑖 = (𝑉𝑖 , 𝐸𝑖 , 𝜆𝑖 ) đã được học 𝐷: bậc tối đa của các đồ thị con có gốc được xem xét cho việc học trong không gian nhúng. Điều này sẽ tạo ra một từ vựng các đồ thị 𝑆𝐺𝑣𝑜𝑐𝑎𝑏 = {𝑠𝑔1 , 𝑠𝑔2 , … } từ tất cả các đồ thị trong 𝒢 𝛿: số chiều không gian (kích thước không gian nhúng) 𝔢: số lượng epoch 𝛼: tỷ lệ học Output: Ma trận vector biểu diễn của đồ thị Φ ∈ ℝ|𝒢| × 𝛿 1: Initialization: Sample Φ from ℝ|𝒢| × 𝛿 2: for 𝔢 = 1 to 𝔢 do 3: 𝜔 = 𝑆h𝑢𝑓𝑓𝑙𝑒(𝒢) 4: for each 𝐺𝑖 ∈ 𝜔 do 5: for each 𝑣 ∈ 𝑉𝑖 do 6: for 𝑑 = 0 to 𝐷 do 7: (𝑑) 𝑠𝑔𝑣 := GetWLSubgraph(𝑣, 𝐺𝑖 , 𝑑) 8: (𝑑) 𝒥(Φ) = − log Pr( 𝑠𝑔𝑣 |Φ(𝒢)) 9: 𝜕𝒥 Φ=Φ− 𝛼 𝜕Φ 10: Return Φ Nguyên lý hoạt động của graph2vec như sau: toàn bộ đồ thị được xem như một văn bản, khi đó các đồ thị con trong đồ thị đang xét được xem như các câu văn mà mỗi đỉnh trong đồ thị được xử lý như một từ (word). Sau đó sử dụng kỹ thuật duyệt đồ thị “duyệt trung thứ tự cây con”, tức là theo thứ tự “duyệt các đỉnh bên trái – sau đó duyệt đỉnh gốc – rồi tới duyệt đỉnh bên phải”. Khi đã xây dựng được văn bản thì sử dụng đến kỹ thuật skipgram để biểu diễn đồ thị này. Do phải dự đoán các đồ thị con, tức là các đồ thị với các đồ thị con tương đồng và cấu trúc tương đồng thì có phép nhúng tương đồng. Kết quả của bước này là tập các vector one- hot với độ dài tùy ý biểu diễn tập các đồ thị. Trong nghiên cứu đề xuất, luận án biểu diễn các đồ thị PSI như 14
  19. vector số có độ dài 1024 được sử dụng cho việc phân lớp sau này. Dữ liệu đã thu thập sau bước tiền xử lý đồ thị PSI sẽ được sử dụng để ra quyết định xem một tập tin có tính độc hại hay không bằng cách sử dụng bộ phân lớp mạng nơ-ron học sâu. Để xây dựng mạng nơ-ron tích chập, luận án đã kế thừa mô hình mạng đề xuất bởi Kim [75]. Lớp đầu tiên của mạng nơ-ron là lớp đầu vào, lớp tiếp theo thực hiện các phép tích chập sử dụng nhiều kích thước bộ lọc. Đầu ra của lớp này được chuyển đến một hàm phi tuyến, gọi là hàm kích hoạt ReLU, được định nghĩa là 𝑓(𝑥) = max(0, 𝑥), bởi vì hàm kích hoạt ReLU có độ tính toán đơn giản hơn so với hàm kích hoạt sigmoid (hàm kích hoạt này thường yêu cầu độ phức tạp tính toán theo số mũ) [100]. Tiếp đó, lớp max-pooling được sử dụng để giảm chiều dữ liệu từ lớp tích chập, vì thế độ phức tạp và tài nguyên tính toán của quá trình xử lý có thể được giảm và có thể mở rộng dữ liệu. Cuối cùng, lớp kết nối đầy đủ (fully connected) thực hiện phân lớp các kết quả đầu ra được sinh ra từ lớp tích chập và lớp pooling. 3.6.3. Các kết quả thực nghiệm và thảo luận Nhằm đánh giá tính hiệu quả của đặc trưng đồ thị PSI trong phát hiện mã độc IoT botnet, luận án đã thực nghiệm và đưa ra bảng kết quả trong đó tập trung vào 02 đặc trưng là đồ thị PSI và đặc trưng đồ thị FCG với các giá trị độ đo gồm độ chính xác, FNR, FPR và chi phí thời gian xử lý. Bảng 3.2. Kết quả phát hiện mã độc IoT botnet bằng đồ thị PSI và đồ thị lời gọi hàm Độ đo Accuracy FNR FPR Time (m) Đặc trưng (%) (%) (%) PSI-graphs 98,7 1,83 0,78 88 FCGs 95,3 5,81 4,13 545 Từ kết quả ở bảng 3.2 có thể thấy phương pháp đề xuất sử dụng các đặc trưng đồ thị PSI thực hiện tốt hơn so với đồ thị lời gọi hàm. Kết quả cho thấy phương pháp đề xuất đạt độ chính xác cao hơn 1,7% so với việc sử dụng đồ thị lời gọi, đồng thời thời gian thực thi cũng ít hơn 457 phút. Bên cạnh đó, tỷ lệ âm tính giả (false nagative/tỷ lệ loại trừ nhầm) trong phương pháp đề xuất đạt 1,83% trong khi phương pháp FCG đạt 5,81%. Trong khi đó, với các bài toán phát hiện mã độc thì tỷ lệ âm tính giả càng thấp thì có nghĩa là bộ phân lớp gán nhãn sai mã độc là các tập tin lành tính càng thấp. Bên cạnh đó, phương pháp đề xuất của luận án vẫn có tỷ lệ sai rất nhỏ trong gán nhãn sai các tập tin lành tính là mã độc. Điều này xảy ra ở việc một số tập tin lành tính có cấu trúc đồ thị PSI giống với cấu trúc đồ thị của một số mẫu mã độc Linux.Bashlite. Qua phân tích thủ công những tập mẫu đó thấy rằng các tập tin thực thi khác nhau, có đồ thị FCG và mã hợp ngữ thu được là khác nhau nhưng vẫn có cấu trúc đồ thị PSI giống nhau. Tuy nhiên, tỷ lệ phát hiện sai này chỉ ở mức 0,78%, một tỷ lệ rất nhỏ. Bảng 3.3. Kết quả so sánh giữa các phương pháp phát hiện IoT botnet Độ chính xác Phương pháp Các thuật toán Bộ mẫu thử nghiệm (Accuracy %) Su và cộng sự [25] Deep neural network (CNN) Bộ dữ liệu mẫu mô tả 95.13 HaddadPajouh và ở mục 2.2.1 gồm 6943 Recurrent neural network (RNN) 97.88 cộng sự [14] mẫu (trong đó 3098 PSI-Graph Deep neural network (CNN) mã độc từ IoTPOT) 98.7 Từ bảng kết quả 3.3 có thể thấy các phương pháp nghiên cứu của Su và cộng sự [25], HaddadPajouh và cộng sự [14] đều cho kết quả khả quan. Mặc dù các kết quả đạt được của các nghiên cứu hiện nay đều khả quan, nhưng việc không có sẵn bộ dữ liệu thử nghiệm và mã nguồn các mô hình thử nghiệm khiến cho việc thử nghiệm lại và đánh giá kết quả đó khá khó khăn. Luận án cố gắng xây dựng lại những phương pháp đó thông qua các học liệu, bài báo đã công bố của các phương pháp trên. Kết quả đạt được cho thấy phương pháp đề xuất của luận án đạt độ chính xác tốt hơn phương pháp của Su và HaddadPajouh lần lượt là 3,57% và 0,82%. 15
  20. Bảng 3.4. Kết quả đánh giá tính quá khớp Độ chính xác Phương pháp Các thuật toán Bộ mẫu thử nghiệm (Accuracy %) Bộ dữ liệu mẫu mô tả ở mục 2.2.1 gồm 10,010 PSI-Graph Deep neural network (CNN) 97,8 (trong đó 6165 mã độc từ IoTPOT and VirusShare) Cuối cùng, vấn đề quá khớp (over-fitting) thường xảy ra với các thuật toán học sâu. Điều này xảy ra khi mô hình quá khớp với tập dữ liệu huấn luyện nhưng không thực hiện tốt khi thực thi trên các tập con mở rộng. Để đánh giá vấn đề quá khớp trong mô hình đề xuất, luận án đã thêm 3067 mẫu mã độc được thu thập từ VirusShare vào tập kiểm thử và tính toán lại độ chính xác. Như kết quả thể hiện ở bảng 3.4, khi thêm các mẫu mã độc từ VirusShare vào tập dữ liệu mẫu thì độ chính xác trong phát hiện mã độc có giảm nhẹ (giảm 0,9%). Như vậy, từ các kết quả thực nghiệm, luận án thấy rằng phương pháp đề xuất đạt kết quả khả quan trong phát hiện mã độc IoT, đồng thời giải quyết được vấn đề quá khớp trong khoảng giá trị chấp nhận được. Kết luận Chương 3 Dựa trên việc phân tích, đánh giá các đặc trưng của mã độc IoT botnet và nhằm giải quyết các hạn chế của các nghiên cứu trước trong phát hiện mã độc IoT botnet dựa trên đặc trưng có cấu trúc đồ thị, luận án đã đề xuất một hướng tiếp cận nhẹ (light) dựa trên đặc trưng mức cao, được gọi là đồ thị PSI nhằm phát hiện mã độc IoT botnet. Phương pháp đề xuất khai phá vòng đời của mã độc IoT botnet để sinh đặc trưng đồ thị PSI, áp dụng các ưu điểm của phương pháp học sâu để đạt độ chính xác tới 98,7% cùng độ quá khớp trong khoảng giá trị chấp nhận được với bài toán phát hiện mã độc IoT botnet. Tuy nhiên, phương pháp đề xuất chỉ tập trung vào khai thác cấu trúc tổng thể của đồ thị PSI, và vẫn có độ phức tạp chi phi thời gian khá lớn. Những đóng góp của Chương 3 Đề xuất một đặc trưng mới có cấu trúc đồ thị, hiệu quả trong bài toán phát hiện mã độc botnet đa kiến trúc trên thiết bị IoT, gọi là đồ thị PSI. Kết quả nghiên cứu đã công bố và trình bày trên Kỷ yếu Hội nghị và Tạp chí uy tín trong nước và quốc tế (tại [B1], [B6], [B7] trong danh mục các công trình của tác giả). CHƯƠNG 4. ĐẶC TRƯNG ĐỒ THỊ CON PSI CÓ GỐC TRONG PHÁT HIỆN MÃ ĐỘC IOT BOTNET 4.1. Phát biểu bài toán Phương pháp phát hiện mã độc IoT botnet dựa trên đặc trưng đồ thị PSI đã cho thấy tính khả thi và đạt hiệu quả cao. Tuy nhiên, phương pháp đề xuất này tập trung vào khai thác cấu trúc tổng thể của đồ thị PSI và không khai thác các đường đi trong đồ thị PSI, nói cách khác phương pháp tập trung vào việc xét đồ thị PSI như một đồ thị đơn. Thực tế là xu hướng phát triển của các tập tin thực thi mã độc botnet trên thiết bị IoT ngày càng phức tạp, do đó cấu trúc đồ thi PSI cũng sẽ phức tạp theo. Trong khi đó, các hành vi độc hại thường xuất hiện trong vòng đời mã độc IoT botnet có thể là các đường đi trong đồ thị PSI, minh họa như ở hình 4.1 thì đó có thể là các đường đi màu xanh lá hoặc màu đỏ, còn các đường đi khác là dữ liệu dư thừa. Dựa trên điều đó, bài toán nghiên cứu của Chương này được phát biểu như sau: Xây dựng một đặc trưng mới dựa trên đặc trưng đồ thị PSI, nhưng tập trung khai phá các đường đi trong đồ thị PSI, từ đó xây dựng đặc trưng đồ thị mới, gọi là đồ thị con PSI có gốc biểu diễn các hành vi độc hại của mã độc IoT botnet, nâng cao hiệu quả phát hiện mã độc IoT botnet với các thuật toán học máy đơn giản. 16
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

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