Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

38 103 2
Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

ĐỀ TÀI ỨNG DỤNG KỸ THUẬT DỮ LIỆU LỚN CHO BÀI TOÁN NHẬN DIỆN MÃ ĐỘC VỚI XGBOOST VÀ DASK Ngành: Công Nghệ Thông Tin Giảng viên hướng dẫn: TS. Huỳnh Quốc Bảo TP. Hồ Chí Minh, 2021   MỤC LỤC MỤC LỤC 1 LỜI CẢM ƠN 4 GIỚI THIỆU 5 CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC 8 1.1. Giới thiệu về mã độc 8 1.2. Phân loại mã độc 8 1.2.1. Virus. 9 1.2.2. Worm 11 1.2.3. Ransomware 12 1.2.4. Trojan 14 1.2.5. Backdoor 14 1.2.6. Rootkits 15 1.3. Mục đích phân tích mã độc 16 1.4. Phương pháp phân tích mã độc 16 1.5. Trích xuất đặc trưng và các loại đặc trưng 19 1.5.1. Trích xuất đặc trưng 19 1.5.2. Các loại đặc trưng 20 CHƯƠNG 2: THUẬT TOÁN XGBOOST và DASK 22 2.1 Giới thiệu XGBoost 22 2.2 Phương pháp XGBoost tối ưu hóa hệ thống 24 2.3 Giới thiệu DASK 26 2.4 DASK Array 27 2.5 DASK DataFrame 28 2.6 DASK Bag 28 2.7 DASK Delay 28 2.8 DASK Futures 29 CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 30 3.1 Dữ liệu thực nghiệm 30 3.2 Chương trình thực nghiệm 30 CHƯƠNG 4: KẾT LUẬN 35 TÀI LIỆU THAM KHẢO 36 NHẬN XÉT CỦA GIẢNG VIÊN LỜI CẢM ƠN Trước tiên chúng em xin gửi lời cảm ơn sâu sắc nhất đến thầy TS. Huỳnh Quốc Bảo, đã tận tâm, tận lực hướng dẫn, định hướng phương pháp nghiên cứu khoa học cho em; đồng thời, cũng đã cung cấp nhiều tài liệu và tạo điều kiện thuận lợi trong suốt quá trình học tập và nghiên cứu để chúng em có thể hoàn thành báo cáo này. Em xin được gửi lời cảm ơn đến các thầy, cô trong Khoa Công nghệ thông tin, Trường Đại học Công nghệ Thành phố Hồ Chí Minh đã nhiệt tình giảng dạy và truyền đạt những kiến thức, kinh nghiệm quý giá trong suốt thời gian chúng em học tập tại trường. Em xin gửi lời cảm ơn đến các bạn học viên lớp 20SCT11, những người đồng hành trong suốt khóa học và có nhiều góp ý bổ ích cho chúng em. Cảm ơn gia đình, bạn bè đã quan tâm và động viên giúp chúng em có nghị lực phấn đấu để hoàn thành tốt báo cáo này.   GIỚI THIỆU Trong nền kinh tế số ngày nay, hầu hết các doanh nghiệp và cá nhân đều phụ thuộc vào mạng máy tính và hệ thống thông tin để xử lý và lưu trữ dữ liệu . Không chỉ các doanh nghiệp hiện đại đang chuyển đổi nội dung trên giấy của họ thành các hình thức kỹ thuật số mà còn tạo ra các mô hình kinh doanh mới dựa trên tài sản kỹ thuật số. Facebook, Netflix và các công ty tương tự là những ví dụ điển hình về các doanh nghiệp hiện đại như vậy. Song song với sự bùng nổ mạnh mẽ của công nghệ thông tin, dữ liệu 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 trầm trọng và nguy hiểm hơn, trong đó mã độc hại đang là các hiểm họa hàng đầu bởi khả năng có thể lây lan phát tán trên các hệ thống máy tính và thực hiện các hành vi tấn công bất hợp pháp. Hơn nữa, mã độc đang ngày càng tiến hóa với những biến thể đa dạng, với những cách thức che dấu ngày càng tinh vi hơn. Theo AVTEST1, tính đến tháng 5 năm 2021, tổng số phát hiện mã độc mới trên toàn thế giới lên tới 826,37 triệu và 214,37 triệu phần mềm tiềm tàng các nguy cơ mất an toàn thông tin. Và cứ mỗi giây sẽ xuất hiện trung bình 4,9 mã độc mới. Với sự gia tăng nhanh, biến hóa phức tạp và nhân lực hạn chế 2, phát hiện mã độc mới là một thách thức đối với các doanh nghiệp, chính phủ và người dùng đầu cuối. Sự phụ thuộc vào phát hiện dựa trên chữ ký đã được chứng minh là không hiệu quả với các mã độc mới hoặc các biến thể mới. Các chuyên gia và nhà nghiên cứu đã cố gắng sử dụng các kỹ thuật học máy để phát hiện chính xác mã độc mới. Với sự bùng nổ mã độc yêu cầu cần có hệ thống máy tính đủ mạnh để phân tích và tính toán trong thời gian thực giúp kịp thời nhận diện các nguy cơ an ninh mới, lúc này một máy tính mạnh nhất hiện tại cũng không thể đủ tài nguyên như bộ nhớ ngoài, bộ nhớ trong, năng lực tính toán để đáp ứng yêu cầu. Trong báo cáo này chúng em sẽ tiếp cận ứng dụng kỹ thuật phân tích dữ liệu lớn vào học máy. Báo cáo xây dựng hệ thống giản lập trên 7 máy trạm có mỗi máy trạm mỗi máy có bộ nhớ trong 6GB nhằm giải quyét bài toán học máy yêu cầu bộ nhớ trong khoảng 18GB cho giai đoạn huấn luyện. Trong khuôn khổ báo cáo này chúng em chỉ nghiên cứu ứng dụng thuật toán và thư viện vào nhận diện mã độc và tính toán song song mà không đi sâu vào nghiên cứu thuật toán. Nội dung báo cáo được chia ra làm 4 phần như sau: Chương 1: Chương này nghiên cứu tổng quan về mã độc trình bày các kiến thức chung nhất liên quan đến mã độc, phân loại mã độc cũng như các kỹ thuật phân tích và phát hiện mã độc hiện nay. Chương 2: Trình bày về thuật toán XGBoost và các ưu điểm của thuật toán cũng như thư viện DASK. Chương 3: Trình bày về quá trình thực nghiệm và đánh giá, các kết quả được thực nghiệm và so sánh với các kết quả của các công trình đã công bố. Chương 4: Tổng kết, đánh giá những kết quả đạt được cũng như những vấn đề cần cải tiến và đề xuất hướng nghiên cứu tiếp theo.   DANH MỤC HÌNH ẢNH Hình 2.1: Sự phát triển của thuật toán XGBoost từ cây quyết định 22 Hình 2.2: Phương pháp XGBoost tối ưu hóa thuật toán GBM tiêu chuẩn 24 Hình 2.3: XGBoost so với Các thuật toán ML khác sử dụng Bộ dữ liệu Make_Classification của SKLearn (20 thuộc tính, 1 triệu dòng) 26 Hình 2.4: Mô hình hoạt động của DASK 27 Hình 2.5: DASK Array 27 Hình 2.6: DASK Dataframe 28 Hình 2.7: Sơ đồ tác vụ trong DASK 29   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 (CC), các kỹ thuật che dấu, tập hợp các hành vi đượ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. 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:  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à vectơ lây nhiễm  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  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:  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.  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.  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ó.  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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM BÁO CÁO MƠN HỌC PHÂN TÍCH DỮ LIỆU LỚN Ngành: Công Nghệ Thông Tin Giảng viên hướng dẫn: TS Huỳnh Quốc Bảo TP Hồ Chí Minh, 2021 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM ĐỀ TÀI ỨNG DỤNG KỸ THUẬT DỮ LIỆU LỚN CHO BÀI TOÁN NHẬN DIỆN Mà ĐỘC VỚI XGBOOST VÀ DASK Ngành: Công Nghệ Thông Tin Giảng viên hướng dẫn: TS Huỳnh Quốc Bảo TP Hồ Chí Minh, 2021 MỤC LỤC NHẬN XÉT CỦA GIẢNG VIÊN LỜI CẢM ƠN Trước tiên chúng em xin gửi lời cảm ơn sâu sắc đến thầy TS Huỳnh Quốc Bảo, tận tâm, tận lực hướng dẫn, định hướng phương pháp nghiên cứu khoa học cho em; đồng thời, cung cấp nhiều tài liệu tạo điều kiện thuận lợi suốt trình học tập nghiên cứu để chúng em hoàn thành báo cáo Em xin gửi lời cảm ơn đến thầy, cô Khoa Công nghệ thông tin, Trường Đại học Công nghệ - Thành phố Hồ Chí Minh nhiệt tình giảng dạy truyền đạt kiến thức, kinh nghiệm quý giá suốt thời gian chúng em học tập trường Em xin gửi lời cảm ơn đến bạn học viên lớp 20SCT11, người đồng hành suốt khóa học có nhiều góp ý bổ ích cho chúng em Cảm ơn gia đình, bạn bè quan tâm động viên giúp chúng em có nghị lực phấn đấu để hoàn thành tốt báo cáo GIỚI THIỆU Trong kinh tế số ngày nay, hầu hết doanh nghiệp cá nhân phụ thuộc vào mạng máy tính hệ thống thơng tin để xử lý lưu trữ liệu Không doanh nghiệp đại chuyển đổi nội dung giấy họ thành hình thức kỹ thuật số mà cịn tạo mơ hình kinh doanh dựa tài sản kỹ thuật số Facebook, Netflix công ty tương tự ví dụ điển hình doanh nghiệp đại Song song với bùng nổ mạnh mẽ công nghệ thông tin, liệu phát triển Internet toàn cầu nguy an tồn thơng tin trở nên trầm trọng nguy hiểm hơn, mã độc hại hiểm họa hàng đầu khả lây lan phát tán hệ thống máy tính thực hành vi công bất hợp pháp Hơn nữa, mã độc ngày tiến hóa với biến thể đa dạng, với cách thức che dấu ngày tinh vi Theo AV-TEST[1], tính đến tháng năm 2021, tổng số phát mã độc toàn giới lên tới 826,37 triệu 214,37 triệu phần mềm tiềm tàng nguy an tồn thơng tin Và giây xuất trung bình 4,9 mã độc Với gia tăng nhanh, biến hóa phức tạp nhân lực hạn chế [2], phát mã độc thách thức doanh nghiệp, phủ người dùng đầu cuối Sự phụ thuộc vào phát dựa chữ ký chứng minh không hiệu với mã độc biến thể Các chuyên gia nhà nghiên cứu cố gắng sử dụng kỹ thuật học máy để phát xác mã độc Với bùng nổ mã độc yêu cầu cần có hệ thống máy tính đủ mạnh để phân tích tính tốn thời gian thực giúp kịp thời nhận diện nguy an ninh mới, lúc máy tính mạnh khơng thể đủ tài nguyên nhớ ngoài, nhớ trong, lực tính tốn để đáp ứng u cầu Trong báo cáo chúng em tiếp cận ứng dụng kỹ thuật phân tích liệu lớn vào học máy Báo cáo xây dựng hệ thống giản lập máy trạm có máy trạm máy có nhớ 6GB nhằm giải quyét toán học máy yêu cầu nhớ khoảng 18GB cho giai đoạn huấn luyện Trong khuôn khổ báo cáo chúng em nghiên cứu ứng dụng thuật toán thư viện vào nhận diện mã độc tính tốn song song mà không sâu vào nghiên cứu thuật toán Nội dung báo cáo chia làm phần sau: Chương 1: Chương nghiên cứu tổng quan mã độc trình bày kiến thức chung liên quan đến mã độc, phân loại mã độc kỹ thuật phân tích phát mã độc Chương 2: Trình bày thuật toán XGBoost ưu điểm thuật toán thư viện DASK Chương 3: Trình bày trình thực nghiệm đánh giá, kết thực nghiệm so sánh với kết cơng trình cơng bố Chương 4: Tổng kết, đánh giá kết đạt vấn đề cần cải tiến đề xuất hướng nghiên cứu DANH MỤC HÌNH ẢNH CHƯƠNG 1: TỔNG QUAN VỀ Mà ĐỘC Chương giới thiệu khái niệm mã độc, phân loại mã độc, mục đích phân tích mã độc kỹ thuật phân tích mã độc 1.1 Giới thiệu mã độc Mã độc (tên tiếng anh malware – viết tắt từ malicious software) loại phần mềm thiết kế có mục đích để gây tổn hại cho máy tính, máy chủ, máy khách mạng máy tính Các chương trình độc hại thực nhiều chức năng, bao gồm ăn cắp, mã hóa xóa liệu nhạy cảm, thay đổi chiếm đoạt chức tính tốn lõi giám sát hoạt động máy tính người dùng mà khơng cho phép họ Mã độc gây thiệt hại sau cấy đưa vào máy tính mục tiêu dạng mã lệnh thực thi, tập lệnh, nội dung hoạt động 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 mã độc không bao gồm phần mềm gây tác hại vơ ý số thiếu sót liên quan đến lỗi phần mềm Các chương trình cung cấp thức cơng ty coi phần mềm độc hại họ bí mật hành động chống lại lợi ích người dùng máy tính Ví dụ, thời điểm, đĩa nhạc Compact hãng Sony bí mật cài đặt rootkit máy tính người mua với đích ngăn chặn chép bất hợp pháp đồng thời thu thập thơng tin thói quen nghe nhạc người dùng vơ tình tạo lỗ hổng bảo mật Các giải pháp phần mềm antivirus, tường lữa…thường sử dụng để kiểm tra tồn tại, hoạt động độc hại 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 để phân loại mã độc thành số loại nhật định với đặc điểm cụ thể như: tính nhân bản, nhiễm độc, tàng hình, lệnh điểu khiển (C&C), kỹ thuật che dấu, tập hợp hành vi thể trình chạy hệ điều hành Hơn nữa, ngày khó xác định phần mềm độc hại ngày tác giả phần mềm độc hại dễ dàng tiếp cận mã nguồn số mẫu phần mềm độc hại kết hợp chức chúng để tạo mẫu có chế tự mở rộng khả nhỏ gọn Mặc dù khơng có thống chung việc phân loại phần mềm độc hại, loại phần mềm độc hại dựa mục đích hành vi chúng phân loại sau: 1.2.1 Virus 1.2.1.1 Khái niệm Virus máy tính loại phần mềm độc hại phổ biến nhất, ẩn dấu chương trình vơ hại, tự tạo lây lan vào chương trình khác tệp (file) khác để thực hành vi độc hại xóa file, 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:  Cơ chế lây nhiễm: phương tiện mà virus lây lan, cho phép tự nhân bản, chế gọi vec-tơ lây nhiễm  Bộ kích khởi (trigger): kiện hay điều kiện mà định tải (payload) kích hoạt  Payload: đoạn mã chạy máy nạn nhân, dùng để thực số hoạt động phá hoại liên quan đến hoạt động lành tính đáng ý 1.2.1.3 Vịng đời Virus Vòng đời Virus, thường bao gồm 04 giai đoạn sau:  Giai đoạn ngủ đông: Giai đoạn virus khơng hoạt động, Virus kích hoạt số kiện như: ngày, có mặt chương trình khác tệp tin dung lượng ổ đĩa vượt giới hạn Không phải tất virus có giai đoạn  Giai đoạn nhân bản: Virus chép vào chương trình khác vào vùng hệ thống ổ cứng Bản khơng giống với phiên lan truyền, virus thường biến hình để tránh phát Mỗi chương trình bị nhiễm chứa virus, thân virus bước vào giai đoạn nhân  Giai đoạn kích hoạt: Virus kích hoạt để thực chức mà dự định Cũng giai đoạn khơng hoạt động, giai đoạn kích hoạt thực loạt kiện hệ thống, bao gồm số lần virus tạo  Giai đoạn thực thi: Chức virus thực hiện, chức vơ hại thơng báo hình phá hoại chương trình tệp liệu 1.2.1.4 Phân loại virus: Virus phân làm hai loại: theo loại mục đích mà virus cố gắng lây nhiễm theo phương pháp mà virus sử dụng để che dấu thân nhằm tránh phát người dùng phần mềm chống virus Phân loại theo mục đích bao gồm loại sau:  Lây nhiễm vào vùng khởi động (Boot sector infector): lây nhiễm ghi khởi động khởi động lây lan hệ thống khởi động từ đĩa chứa virus  Lây nhiễm têp tin (file infector): lây nhiễm vào tệp tin hệ điều hành shell thực thi  Macro virus: lây nhiễm tệp tin với mã macro biên dịch ứng dụng  Phân loại theo phương pháp mà Virus sử dụng bao gồm loại sau:  Virus mã hóa (Encrypted virus): phương pháp thực 10 Tăng cường độ dốc: Một trường hợp tăng cường đặc biệt lỗi giảm thiểu thuật toán giảm độ dốc, ví dụ: cơng ty tư vấn chiến lược tận dụng cách sử dụng vấn tình để loại bỏ ứng viên chất lượng XGBoost: hay gọi 'Extreme Gradient Boost' Thuật tốn kết hợp hồn hảo kỹ thuật nhằm tối ưu hóa phần mềm phần cứng để mang lại kết vượt trội cách sử dụng tài nguyên máy tính vày tốc độ huấn luyện nhanh 2.2 Phương pháp XGBoost tối ưu hóa hệ thống Giải thuật Máy học tăng cường XGBoost Gradient (GBM) phương pháp tổng hợp áp dụng nguyên tắc thúc đẩy người học yếu (nói chung CART) sử dụng kiến trúc gradient descent Tuy nhiên, XGBoost cải tiến dựa khung GBM thơng qua việc tối ưu hóa hệ thống cải tiến thuật tốn Hình 2.2: Phương pháp XGBoost tối ưu hóa thuật tốn GBM tiêu chuẩn Song song hóa: XGBoost tiếp cận q trình xây dựng cách sử dụng thực song song Điều xảy tính chất hốn đổi cho vịng lặp sử dụng để xây dựng người học sở; vòng lặp bên liệt kê nút vịng lặp bên thứ hai tính tốn đối tượng địa lý Việc lồng vòng lặp hạn chế việc song song hóa khơng hồn thành vịng lặp bên (địi hỏi tính tốn nhiều hai vịng lặp), vịng lặp bên ngồi khơng thể bắt đầu Do đó, để cải thiện thời gian chạy, thứ tự vòng thay đổi cho cách sử dụng khởi tạo thông qua quét toàn cục tất phiên xếp cách sử dụng luồng song song Công tắc cải thiện hiệu suất thuật toán cách bù đắp chi phí song song tính tốn Tỉa cây: Tiêu chí dừng việc tách khn khổ GBM có chất tham lam phụ thuộc vào tiêu chí mát tiêu cực thời điểm tách XGBoost sử dụng tham số 'max_depth' định thay tiêu chí trước tiên bắt đầu cắt tỉa phía sau Cách tiếp cận 'theo chiều sâu' cải thiện đáng kể hiệu suất tính tốn Tối ưu hóa phần cứng: Thuật toán thiết kế để sử dụng hiệu tài nguyên phần cứng Điều thực nhờ nhận thức nhớ cache cách phân bổ đệm nội luồng để lưu trữ thống kê gradient Các cải tiến khác tính tốn 'ngồi lõi' tối ưu hóa dung lượng ổ đĩa khả dụng xử lý khung liệu lớn không vừa với nhớ Quy tắc: Nó phạt mơ hình phức tạp thông qua hai Lasso (L1) Ridge (L2) quy tắc để ngăn chặn overfitting Nhận thức độ thưa thớt: XGBoost tự nhiên thừa nhận tính thưa thớt cho đầu vào cách tự động 'học' giá trị thiếu tốt tùy thuộc vào mát trình đào tạo xử lý loại mẫu độ thưa thớt khác liệu hiệu Phác thảo lượng tử có trọng số: XGBoost sử dụng thuật tốn Phác thảo lượng tử có trọng số phân tán để tìm hiệu điểm phân tách tối ưu tập liệu có trọng số Xác thực chéo: Thuật tốn kèm với phương pháp xác thực chéo tích hợp sẵn lần lặp, loại bỏ nhu cầu lập trình rõ ràng tìm kiếm định số lần lặp thúc đẩy xác yêu cầu lần chạy Hình 2.3: XGBoost so với Các thuật toán ML khác sử dụng Bộ liệu Make_Classification SKLearn (20 thuộc tính, triệu dịng) 2.3 Giới thiệu DASK Dask thư viện linh hoạt cho tính tốn song song Python Dask hỗ trợ người lập trình chuyển từ lập trình tính tốn sang song song với thay đổi cách thức làm việc Dask gồm hai thành phần chính: - Lập tối ưu tác vụ tính tốn Sử lý liệu lớn mảng, liệu kiểu bảng, danh sách Dask cho phép xử lý liệu lớn nhớ mở rộng xử lý liệu môi trường phân tán Dask phát triển tập trung vào số tính chất sau: Quen thuộc: Cung cấp hàm, thủ tục môi trường song song tương tự làm việc với đối tượng mảng NumPy liệu kiểu bảng Pandas môi trường Linh hoạt: Cung cấp giao diện lập kế hoạch có khả tủy chỉnh cho tác vụ khả dễ dàng tích hợp với dự án khác Hỗ trợ sâu: Cho phép tính toán phân tán Python với quyền truy cập vào ngăn xếp PyData Nhanh: Chi phí tính tốn cho hệ thống thấp, độ trễ thấp tối thiểu thời gian đồng cho thuật toán số học Khả mở rộng: Có khả mở rộng thành cụm máy tính có tổng số đơn vị tính tốn lên đến1000 nhân Khả thu hẹp: Có thể cài đặt triển khai máy tính cá nhân có CPU Khả đáp ứng: Được thiết kế với tính tốn tương tác, cung cấp phản hồi chẩn đốn nhanh chóng để hỗ trợ người dùng Hình 2.4: Mơ hình hoạt động DASK 2.4 DASK Array Dask Array hoạt động mảng lớn, cách chia chúng thành khối thực thi khối song song Hình 2.5: DASK Array 2.5 DASK DataFrame Một Dask DataFrame hiểu DataFrame lớn gồm có nhiều Pandas DataFrames nhỏ phân chia theo mụ Mỗi tác vụ Dask DataFrame yêu cầu tác vụ Pandas DataFrames tương ưng Nói cách đơn giản Dask DataFrame tạo thành từ nhiều Pandas DataFrames có khả lưu trữ phân tán nhiều máy trạm cụm Hình 2.6: DASK Dataframe 2.6 DASK Bag Dask Bag hiểu tính tốn song song tập lớn đối tượng Python mà tập đối tượng thông thường không vừa với nhớ Bag thường chọn để xử lý data liên quan đến liệu nhật ký hệ thống định dạng json 2.7 DASK Delay Hỗ trợ việc song song hóa tác vụ cách xây dựng sơ đồ tác vụ trước thực thi tác vụ yêu cầu Hình 2.7: Sơ đồ tác vụ DASK Ví dụ minh họa: Trong ví dụ bên bước 1, 2, máy tính thực thi việc xây dựng sơ đồ tác vụ Bước hệ thống thực thực thi việc tính tốn 5 2.8 x = dask.delayed(inc)(1) y = dask.delayed(inc)(2) z = dask.delayed(add)(x, y) z.compute() z.visualize() DASK Futures Dask future hỗ trợ mở rộng thư viện concurrent.futures Python Thư viện tốt cho việc lập lịch tác vụ tùy ý dask.delayed, tác vụ thực thay thực yêu cầu, mang lại số tính linh hoạt tình mà việc tính tốn u cầu thời gian thực CHƯƠNG 3: THỰC NGHIỆM VÀ ĐÁNH GIÁ 3.1 Dữ liệu thực nghiệm Báo cáo sử dụng liệu kiểm tra EMBER [3] với 200 ngàn mẫu phân chia thành liệu cho huấn luyện kiểm tra Bộ liệu huấn luyện bao gồm 160 ngàn mẫu 80 ngàn mẫu gán nhãn mã độc, 80 ngàn mẫu gán nhãn lành tính 40 ngàn mẫu cịn sử dụng cho tập kiểm tra 3.2 Chương trình thực nghiệm 3.2.1 Mơi trường cài đặt Mơ hình đề xuất huấn luyện cụm máy tính máy tính sơ đồ bên dưới: Phần mềm thư viện sử dụng môi trường Anaconda 2020:  Python 3.7.7  DASK  XGBoost  NumPy  LIEF  Pandas  MatPlotLib  Scikit-Learn  Optuna  số thư viện khác hỗ trợ cho thư viện Hình 3.1: Cụm máy tính thực nghiệm 3.2.2 Đánh giá hiệu thuật toán Trong phạm vi báo cáo chúng em áp dụng phương pháp ma trận nhầm lẫn (confusion maxtrix) để đánh giá hiệu mơ hình Lớp dự đoán hệ thống Lớp �� Phân lớp thực (đúng) Lành tính Mã độc Lành tính ��� ��� Mã độc �� � ��� Các thông tin ma trận nhầm lẫn ta có thơng tin như: TP� (True Positive): Số lượng mẫu thuộc lớp dương phân xác vào lớp dương FP� (False Positive): Số lượng mẫu không thuộc lớp dương bị phân loại nhầm vào lớp dương TN� (True Negative): Số lượng mẫu không thuộc lớp dương phân loại FN� (False Negative): Số lượng mẫu thuộc lớp dương phân vào lớp âm (phân loại sai) 3.2.3 Kết thực nghiệm Phần thực nghiệm, chúng em sử dụng toàn 2381 thuộc tính tập liệu gốc huấn luyện mơ hình lặp 100 vịng Bảng 1: So sánh kểt thời gian mơ hình huấn số lượng máy trạm khác Số lượng máy trạm Tổng dung Tỉ lệ phát hiện(%) lượng nhớ sử dụng(GB) 97.67 15.3 Thời gian huấn luyện(phút) 4.5 97.67 17.9 4.5 Nhận xét: Từ bảng kết chạy cụm máy tính với máy trạm máy trạm với mơ hình đề xuất kết cho độ xác thời gian tương đương Do vậy, việc phân chia tài nguyên trường hợp máy trạm lãng phí Phân chia tài ngun cụm khơng có cơng thức định, việc phân chia tối ưu chi phí tính tốn thời gian phụ thuộc vào tốn cụ thể cụm cụ thể Hình 3.2: Biểu đồ đường cong ROC Hình 3.2: Ma trận hỗ loạn chuẩn hóa Hình 3.3: Biểu đồ giám sát hoạt động cụm máy tính DASK Hình 3.3: Biểu đồ giám sử dụng tài nguyên máy trạm CHƯƠNG 4: KẾT LUẬN Đề tài trình bày hướng tiếp cận có hiệu ứng dụng kỹ thuật học máy cụm máy tính vào việc nhận diện phát mã độc nhằm giảm thiểu thời gian tính tốn  Các kết đạt báo cáo: - Tìm hiểu mã độc phương pháp phân tích, phân loại phát mã độc - Trình bày ứng dụng thuật tốn XGBoost tốn phân lớp - Trình bày ứng dụng thư viện DASK tốn tính tốn song song cho mơ hình phân lớp - Nghiên cứu thực việc ứng dụng kỹ thuật học máy vào giải toán phát mã độc - Tiến hành thực nghiệm đánh giá, so sánh kết phân cụm  Hướng phát triển nghiên cứu: Mở rộng phương pháp với nhiều hướng tiếp cận phân tích mã độc phân tích động, phân tích dựa kinh nghiệm từ phối hợp với thuật tốn học máy vào q trình xây dựng hệ thống có khả tự động nhận diện với đa dạng mã độc cách xác, đồng thời tiếp tục nghiên cứu, phối hợp phát triển áp dụng nhiều kỹ thuật trích chọn đặc trưng nhằm nâng cao hiệu hiệu suất mô hình dự đốn Thực kiểm tra tính xác mơ hình với mẫu mã độc hồn tồn môi trường thật TÀI LIỆU THAM KHẢO [1] AVTest, 2021 Malware Statistics by AV-test.org https://portal.av-atlas.org/malware? s=1ef56b5f65960fc14ee3dd8f20068779740b96c5&c=eyJrZXkiOiJuZXdNYWx3YXJ lUGFzdDE0RGF5cyJ9 [Accessed May 12, 2021] [2] The (ISC)² Cybersecurity Workforce Study https://www.isc2.org/Research/Workforce-Study# [Accessed May 12, 2021] [3] Elastic Malware Benchmark for Empowering Researchers https://github.com/elastic/ember [Accessed Jan 10, 2021] [4] VirusShare is a repository of malware samples http://tracker.virusshare.com:6969/ [Accessed Mar 01, 2021] [5] Hyrum S Anderson and Phil Roth EMBER: An Open Dataset for Training Static PE Malware Machine Learning Models arXiv:1804.04637v2 [6] Hyrum S Anderson and Phil Roth EMBER2018 base line model https://github.com/elastic/ember/blob/master/resources/ember2018-notebook.ipynb [Accessed Mar 15, 2021] [7] Yoshihiro Oyama, Takumi Miyashita and Hirotaka Kokubo Identifying Useful Features for Malware Detection in the Ember Dataset DOI: 10.1109/CANDARW.2019.00069 [8] Michael Sikorski and Andrew Honig Practical Malware Analysis ISBN: 9781593272906 [9] Tianqi Chen and Carlos Guestrin XGBoost: A Scalable Tree Boosting System arXiv:1603.02754v3 [10] Aarshay Jain Complete Guide to Parameter Tuning in XGBoost with codes in Python [11] Colin Galen and Robert Steele Evaluating Performance Maintenance and Deterioration Over Time of Machine Learning-based Malware Detection Models on the EMBER PE Dataset DOI: 10.1109/SNAMS52053.2020.9336538 [12] Hoda El Merabet A First Approach to Malware Detection using Residual Networks ISSN 1737-930X [13] Imad Abdessadki and Saiida Lazaar A New Classification Based Model for Mali-cious PE Files Detection DOI: 10.5815/ijcnis.2019.06.01 [14] Jason Brownlee Master Machine Learning Algorithms [15] XGBoost Documentation https://xgboost.readthedocs.io/en/latest/ [Accessed Feb 10, 2021] [16] Takuya Akiba, Shotaro Sano, Toshihiko Yanase, Takeru Ohta and Masanori Koyama 2019 Optuna: A Next-generation Hyperparameter Optimization Framework In KDD [17] DASK Documentation https://distributed.dask.org/en/latest/ [Accessed Aug 10, 2021] [18] Danny Meijer, Mastering Big Data Analytics with PySpark https://www.packtpub.com/product/mastering-big-data-analytics-with-pysparkvideo/9781838640583 [Accessed Aug, 2021] ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TP HCM ĐỀ TÀI ỨNG DỤNG KỸ THUẬT DỮ LIỆU LỚN CHO BÀI TOÁN NHẬN DIỆN Mà ĐỘC VỚI XGBOOST VÀ DASK Ngành: Công Nghệ Thông Tin Giảng... cứu ứng dụng thuật toán thư viện vào nhận diện mã độc tính tốn song song mà không sâu vào nghiên cứu thuật toán Nội dung báo cáo chia làm phần sau: Chương 1: Chương nghiên cứu tổng quan mã độc. .. bày kiến thức chung liên quan đến mã độc, phân loại mã độc kỹ thuật phân tích phát mã độc Chương 2: Trình bày thuật toán XGBoost ưu điểm thuật toán thư viện DASK Chương 3: Trình bày trình thực

Ngày đăng: 11/10/2021, 05:11

Hình ảnh liên quan

Hình 2.1: Sự phát triển của thuật toán XGBoost từ cây quyết định - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 2.1.

Sự phát triển của thuật toán XGBoost từ cây quyết định Xem tại trang 22 của tài liệu.
Hình 2.2: Phương pháp XGBoost tối ưu hóa thuật toán GBM tiêu chuẩn - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 2.2.

Phương pháp XGBoost tối ưu hóa thuật toán GBM tiêu chuẩn Xem tại trang 24 của tài liệu.
Hình 2.3: XGBoost so với Các thuật toán ML khác sử dụng Bộ dữ liệu Make_Classification của SKLearn (20 thuộc tính, 1 triệu dòng)  2.3Giới thiệu DASK - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 2.3.

XGBoost so với Các thuật toán ML khác sử dụng Bộ dữ liệu Make_Classification của SKLearn (20 thuộc tính, 1 triệu dòng) 2.3Giới thiệu DASK Xem tại trang 26 của tài liệu.
Hình 2.5: DASK Array - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 2.5.

DASK Array Xem tại trang 27 của tài liệu.
Hình 2.4: Mô hình hoạt động của DASK - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 2.4.

Mô hình hoạt động của DASK Xem tại trang 27 của tài liệu.
Hình 2.6: DASK Dataframe - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 2.6.

DASK Dataframe Xem tại trang 28 của tài liệu.
Hình 2.7: Sơ đồ tác vụ trong DASK - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 2.7.

Sơ đồ tác vụ trong DASK Xem tại trang 29 của tài liệu.
Bảng 1: So sánh kểt quả và thời gian mô hình huấn trên những số lượng máy trạm - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Bảng 1.

So sánh kểt quả và thời gian mô hình huấn trên những số lượng máy trạm Xem tại trang 32 của tài liệu.
Hình 3.1: Cụm máy tính thực nghiệm - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 3.1.

Cụm máy tính thực nghiệm Xem tại trang 32 của tài liệu.
Nhận xét: Từ bảng kết quả chạy trên cụm máy tính với 5 máy trạm và 7 máy trạm - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

h.

ận xét: Từ bảng kết quả chạy trên cụm máy tính với 5 máy trạm và 7 máy trạm Xem tại trang 33 của tài liệu.
Hình 3.2: Ma trận hỗ loạn đã chuẩn hóa - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 3.2.

Ma trận hỗ loạn đã chuẩn hóa Xem tại trang 34 của tài liệu.
Hình 3.3: Biểu đồ giám sát hoạt động cụm máy tính DASK - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 3.3.

Biểu đồ giám sát hoạt động cụm máy tính DASK Xem tại trang 34 của tài liệu.
Hình 3.3: Biểu đồ giám sử dụng tài nguyên trên máy trạm - Ứng dụng kỹ thuật dữ liệu lớn cho bài toán nhận diện mã độc với XGBOOST và DASK

Hình 3.3.

Biểu đồ giám sử dụng tài nguyên trên máy trạm Xem tại trang 35 của tài liệu.

Từ khóa liên quan

Mục lục

  • MỤC LỤC

  • LỜI CẢM ƠN

  • GIỚI THIỆU

  • DANH MỤC HÌNH ẢNH

  • CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC

  • 1.1. Giới thiệu về mã độc

  • 1.2. Phân loại mã độc

    • 1.2.1. Virus.

    • 1.2.2. Worm

    • 1.2.3. Ransomware

    • 1.2.4. Trojan

    • 1.2.5. Backdoor

    • 1.2.6. Rootkits

    • 1.3. Mục đích phân tích mã độc

    • 1.4. Phương pháp phân tích mã độc

    • 1.5. Trích xuất đặc trưng và các loại đặc trưng

      • 1.5.1. Trích xuất đặc trưng

      • 1.5.2. Các loại đặc trưng

      • CHƯƠNG 2: THUẬT TOÁN XGBOOST và DASK

      • 2.1 Giới thiệu XGBoost

      • Hình 2.1: Sự phát triển của thuật toán XGBoost từ cây quyết định

      • 2.2 Phương pháp XGBoost tối ưu hóa hệ thống

Tài liệu cùng người dùng

Tài liệu liên quan