2.1. Ứng dụng deep learning trong phát hiện phần mềm độc hại
2.1.1. Phát hiện phần mềm độc hại dựa trên máy PC
Phần mềm độc hại là một phần mềm có chứa mã độc lây lan để xâm nhập vào hệ thống bảo mật, làm phá vỡ tính toàn vẹn và chức năng của hệ thống. Các loại phần mềm độc hại khác nhau như: vi-rút, trojan, backdoor, spyware, botnet, v.v... Với sự phát triển của công nghệ và số lượng ngày càng tăng của người dùng Internet, phần mềm độc hại tạo ra một mối đe dọa nghiêm trọng đến an ninh của hệ thống máy tính. Nó được ước tính mà một trong bốn hệ thống máy tính hoạt động ở Hoa Kỳ bị nhiễm phần mềm độc hại. Một báo cáo gần đây từ Kaspersky Lab cho thấy rằng có đến một tỷ đô la đã bị đánh cắp trong vòng hai năm của hàng triệu các tổ chức tài chính trên toàn thế giới, đều do các cuộc tấn công của phần mềm độc hại gây ra. Do đó, phần mềm độc hại này đã thu hút nhiều sự chú ý của các cá nhân, các công ty sản xuất ứng dụng phần mềm chống phần mềm độc hại và các nhà nghiên cứu trong lĩnh vực này. Hầu hết các ứng dụng chống phần mềm độc hại đang sử dụng các phương pháp phát hiện dựa trên chữ ký. Chữ ký là một đoạn ngắn chuỗi bit, là chuỗi duy nhất cho từng phần mềm độc hại đã biết. Mặc dù, những phương pháp này ở một mức độ nào đó hứa hẹn trong việc phát hiện phần mềm độc hại, nhưng bất lợi chính của họ nằm ở chỗ đó là dễ bị phá hoại bởi những kẻ tấn công thông qua sự xáo trộn mã, đa hình và mật mã. Do đó, nhiều nhà nghiên cứu đã tập trung vào phát hiện phần mềm độc hại bằng cách áp dụng các kỹ thuật DM và ML, chẳng hạn như NN, SVM, NB và DT. Những bộ phân loại này có kho lưu trữ học tập còn nông cạn tuy đã khắc phục được phần nào nhưng bên cạnh đó vẫn không hiệu quả đối với các vấn đề phát hiện phần mềm độc hại. DL là một xu hướng mới trong lĩnh vực ML. Kiến trúc DL nhiều lớp được sử dụng trong kỹ thuật tính năng và có thể đạt được hiệu suất tốt hơn so với sang các thuật toán ML truyền thống. Như đã thảo luận trong trên, DL điển hình các mô hình bao gồm SAE, DBN với RBM và CNN.
Một trong những nỗ lực đầu tiên để áp dụng các phương pháp DL trong phần mềm độc hại đó là nghiên cứu được trình bày bởi Dahl et al. Họ đã đề xuất một quy mô hệ thống phân loại phần mềm độc hại áp dụng phép chiếu ngẫu nhiên trên 2,6 triệu ví dụ để giảm không gian đầu vào theo hệ số 45. Trong nghiên cứ họ sử dụng hơn 179 nghìn tính năng nhị phân rải rác
số của chúng. NN được đào tạo về các phép chiếu ngẫu nhiên giảm 43% trong tỷ lệ lỗi so với hệ thống LR đường cơ sở sử dụng tất cả các tính năng. Vã đã kết luận thêm rằng đào tạo trước là một phương pháp được sử dụng rộng rãi cho DL tạo ra kết quả kém hơn tiêu chuẩn. Các cấu trúc liên kết NN được đào tạo với BP. Ngoài ra, số lượng các phép chiếu dom, các lớp ẩn và các đơn vị ẩn được điều tra để đạt được hiệu quả tốt. Hiệu suất của LR và NN cho nhiệm vụ của các mục đích phân loại phần mềm độc hại nhiều lớp là ngang ngửa. Mặc dù mô hình NN nông nghiệp của họ là một trong những mô hình tốt nhất về về độ chính xác của phân loại nhị phân, DNN chắc chắn sẽ không cải thiện được độ chính xác của phân loại. Họ không thể để đạt được độ chính xác đáng kể bằng cách thêm ẩn bổ sung các lớp. Khoảng một năm sau vào năm 2014, một khuôn khổ hai lớp dựa trên RBM và One Side Perceptron (OSP) được đề xuất bởi Benchea et al. để tạo một bộ tính năng mới trong số 3.299 tính năng ban đầu những thứ khác (chủ yếu liên quan đến hoạt động mạng và tệp thay đổi) và sau đó phân loại các mẫu thành lành tính hoặc độc hại.
Họ tập trung vào sự gia tăng tỷ lệ phát hiện và tỷ lệ dương tính giả bằng không trong giai đoạn đào tạo làm cho tỷ lệ dương tính giả thấp trong tập dữ liệu thử nghiệm. Để tạo ra một mô hình thực tế, họ tiến hành quá trình huấn luyện trên tập dữ liệu ban đầu với 3.087.200 tệp và 3.299 đặc trưng. Tập dữ liệu cuối cùng bao gồm 31.507 tệp độc hại và 1.229.036 tệp lành tính với 300 tính năng cho mỗi bản ghi được trích xuất sử dụng các tính năng được lựa chọn tốt nhất theo thuật toán điểm F2 . Họ cũng so sánh khung công tác OSP-RBM của họ với OSP được thử nghiệm trên tập dữ liệu với 300 tính năng và OSP-MAP đã được kiểm tra trên tập dữ liệu với 300 tính năng được tạo bằng cách kết hợp các tính năng ban đầu với nhau và được gọi là ánh xạ. Mặc dù, khung hai lớp của chúng mô tả sự đánh đổi hợp lý giữa tỷ lệ dương tính giả thấp và tỷ lệ phát hiện tốt (0,00024% – 88,83%) so với OSP và OSP-MAP, nhưng họ vẫn tiến hành kiểm tra dư thừa không thể chấp nhận được nhiệm vụ trong lựa chọn tính năng sử dụng thuật toán điểm F2 do mâu thuẫn với triết lý sử dụng kiến trúc DL, tức là đưa ra một hệ thống thông minh tự động lấy ra các tính năng vững chắc từ một bộ sưu tập các tính năng trong quá trình học tập.
Vì các thuật toán ML truyền thống sử dụng các tính năng được làm thủ công, bởi vì thế nên họ đã không thành công trong việc xác định bị xáo
trộn hoặc đóng gói lại các phần mềm độc hại lâu đời. Dựa vào các mầu của phần mềm độc hại thông qua các hướng dẫn được thực thi ta có thể trích xuất các tính năng linh hoạt của nó.
Để đạt được mục tiêu này, Pascanu et al đã đề xuất một phương pháp dựa trên trên Echo State Network (ESN) và RNN để phân loại các phần mềm độc hại mẫu. Những mẫu này được đào tạo theo cách học không giám sát để dự đoán lệnh gọi API tiếp theo và sử dụng trạng thái ẩn của mô hình chứa các sự kiện trong quá khứ dưới dạng đối tượng địa lý có độ dài cố định là vectơ. Vectơ đặc trưng này sau đó được cấp cho một bộ phân loại riêng biệt đó là LR hoặc MLP, để phân loại từng phần mềm độc hại. Để có thể tìm ra được mô hình kết hợp tốt nhất, ta sẽ so sánh các kết hợp khác nhau của các mô hình để chiếu đến và giai đoạn phân loại mà từ đó ESN cho mô hình lặp lại MP để lấy mẫu phi tuyến tính. Cuối cùng phân loại theo LR đã được chứng minh là tốt nhất. Sử dụng tập dữ liệu có chứa số lượng phần mềm độc hại và tệp lành tính bằng nhau (500.000), chúng có đạt tỷ lệ dương tính thật 98,3% và tỷ lệ dương tính giả 0,1% so với mô hình sự kiện tiêu chuẩn. Mặc dù, thực tế là các tác giả so sánh các mô hình lai khác nhau dựa trên trên các đường cong ROC để kết luận đường cong hoạt động tốt nhất. Sau đó, DeepSign được đề xuất bởi David et al sẽ tự động hóa tạo ra các chữ ký phần mềm độc hại mà không dựa vào bất kỳ khía cạnh cụ thể nào của phần mềm độc hại. Mô hình sử dụng Stacked Denoising AE (SDAE) tạo ra một đại diện nhỏ gọn bất biến phẫn nộ về hành vi chung của phần mềm độc hại. In Denoising AE (DAE), tại đây cần thêm một số nhiễu vào vectơ đầu vào bằng cách thiết lập một tập hợp con ngẫu nhiên thành số không và sau đó tái tạo lại tập hợp con dữ liệu đầu vào bị hỏng sử dụng các tiêu chí như khoảng cách KL giữa đầu vào ban đầu và đầu vào tái tạo. Mô hình sẽ không bị gián đoạn các biểu diễn được mã hóa sau đó được sử dụng làm đầu vào cho cấp độ tiếp theo của SDAE. Trước tiên, ta chạy phần mềm độc hại trong một hộp cát Cuckoo và sau đó chuyển đổi tệp nhật ký hộp cát thành chuỗi nhị phân với 20.000 bit. Sau đó, chuỗi bit được đưa vào sâu SDAE 8 lớp tạo ra 30 giá trị như chương trình ký hiệu đảm bảo trong lớp đầu ra. Những chữ ký này, sau đó có thể được sử dụng trong khung và không được giám sát hoặc phân loại phần mềm độc hại được giám sát. Ta
bất kỳ biện pháp nào khác, chẳng hạn như độ chính xác, tỷ lệ dương tính giả hoặc tỷ lệ âm tính. Hơn nữa, tập dữ liệu biến thể từ các phần mềm độc hại được tạo ra bởi sáu họ chính chỉ bao gồm 1.800 mẫu không xác nhận chéo, tức là 1.200 mẫu đào tạo và 600 mẫu thử nghiệm.
Trên hết, cần loại bỏ bất kỳ mẫu lành tính nào sẽ dẫn đến tỷ lệ dương tính giả cao. Vào tháng 10 năm 2015, Saxe et al đã đề xuất một DNN dựa trên trình phát hiện phần mềm độc hại sử dụng chương trình nhị phân hai chiều với tính năng phát hiện phần mềm độc hại. Nó bao gồm ba thành phần chính. Trong thành phần đầu tiên, bốn loại tính năng tĩnh khác nhau, cụ thể là giá trị nhị phân của biểu đồ entropy byte hai chiều với các tính năng như: tính năng nhập PE, tính năng siêu dữ liệu PE và byte ngữ cảnh các đối tượng địa lý, được nối với nhau để tạo thành một vectơ đối tượng địa lý cuối cùng. Các thành phần thứ hai bao gồm một DNN chứa một đầu vào với lớp chứa 1.024 tính năng đầu vào. Hai lớp ẩn là các đơn vị tham số ReLU (PReLU) và một lớp đầu ra gọi là một đơn vị sigmoid. NN được đào tạo sử dụng BP và Adam là trình tối ưu hóa dựa trên gradient. Thành phần cuối cùng là mô hình ibration cho điểm cho mỗi đầu ra của DNN. Nói cách khác, điểm đầu ra được hiểu là gần đúng với xác suất rằng tệp đầu vào thực sự là một phần mềm độc hại. Tập dữ liệu chứa 431,926 mã nhị phân có nguồn gốc trực tiếp từ khách hàng và cơ sở dữ liệu phần mềm độc hại nội bộ, với 81.910 được dán nhãn là lành tính và 350.016 dưới dạng phần mềm độc hại. Họ đã đạt được tỷ lệ phát hiện là 95% và tỷ lệ dương tính giả là 0,1%. Sức mạnh của công việc của họ nằm ở số lượng lớn dữ liệu và tính năng kết hợp của nhiều các loại. Vào đầu năm 2016, Hardy et al trình bày một DL architecture bằng cách sử dụng mô hình SAE để phát hiện phần mềm độc hại. Đầu vào dựa trên các lệnh gọi API được trích xuất từ các tệp PE. Mô hình SAE sử dụng một hoạt động đào tạo khôn ngoan theo lớp để không được giám sát học các tính năng, sau đó là tinh chỉnh thông số được giám sát, tức là trọng số và vectơ bù. Hệ thống sẽ bao gồm hai các thành phần đó là: bộ giải nén tính năng và bộ phân loại dựa trên DL. Tính năng trình giải nén chứa trình giải nén và trình phân tích cú pháp PE. Nếu tệp PE là đầu tiền thì sẽ được nén mạnh bởi một công cụ nén nhị phân với một trình giải nén nên được sử dụng. Sau đó, trình phân tích cú pháp PE được áp dụng để trích xuất Windows với lệnh gọi API từ mỗi tệp PE. Cuối cùng, các lệnh gọi API được lưu trữ dưới dạng chữ ký của các tệp PE trong cơ sở
dữ liệu chữ ký. DL sẽ dựa trên trình phân loại đầu tiên thực hiện học tập dựa trên tính năng không được giám sát trên SAE và sau đó tinh chỉnh có giám sát để phân loại phần mềm độc hại thành độc hại hoặc lành tính. Mục tiêu của đào tạo là giảm thiểu lỗi giữa dữ liệu đầu vào và giá trị tái tạo. Một bộ phân loại sau đó được thêm vào lớp trên cùng và thuật toán BP được áp dụng trong một cách từ trên xuống để tinh chỉnh trọng số và bù đắp tham số. Tập dữ liệu chứa 50.000 mẫu tệp thu được từ trung tâm bảo mật đám mây Comodo từ đó có 22.500 tệp là không đúng kho, 22.500 tệp là lành tính và 5.000 tệp không xác định. Các kết quả thực nghiệm cho thấy, mô hình DL với các lớp ẩn và 100 tế bào thần kinh ở mỗi lớp sẽ hoạt động tốt hơn các cài đặt khác trong cả đào tạo và kiểm tra độ chính xác. Điểm bất thường trong điều chỉnh lớp là số lượng tế bào thần kinh trong tất cả các lớp được giả định giống hệt nhau. Năm 2016, Huang et al đề xuất một mô hình DL đa tác vụ, được gọi là MtNet cho họ mã độc nhị phân và 100 lớp phân loại cụ thể. Mô hình được đào tạo bằng cách sử dụng dữ liệu trích xuất từ động phân tích các tệp độc hại và lành tính với 50.000 features chứa mã thông báo kết thúc bằng null, sự kiện API cộng với tham số giá trị và API trigram làm vectơ đầu vào. Các MtNet cấu trúc bao gồm một DNN với ReLU là chức năng kích hoạt và bỏ học cho các lớp ẩn. Tập dữ liệu họ đào tạo và kiểm tra khung trên bao gồm 6,5 triệu tệp được cung cấp bởi các nhà phân tích từ tập đoàn Microsoft, trong đó 2,85 triệu mẫu được trích xuất từ các tệp độc hại và 3,65 triệu mẫu từ các tệp lành tính. Khung đạt được tỷ lệ lỗi phần mềm độc hại nhị phân là 0,358% và tỷ lệ lỗi gia đình là 2,94%. MtNet cung cấp một đa tác vụ kiến trúc học tập để cải thiện kết quả phân loại cho một tỷ lệ dương tính giả thấp dưới 0,07%. Tuy nhiên, thêm các lớp vào mô hình DL làm tăng tỷ lệ lỗi thử nghiệm, đặc biệt là đối với các nhiệm vụ phân loại và cản trở việc áp dụng DL. Ding và cộng sự đề xuất phát hiện phần mềm độc hại dựa trên hệ thống sử dụng DBN và đánh giá hiệu suất của DBN để phát hiện phần mềm độc hại bằng cách so sánh với SVM, DT và k –gọi là các láng giềng gần ( KNN). Mỗi tệp thực thi được đại diện bởi: op-mã, n −gram. Họ cũng sử dụng DBN như một phương pháp giảm tính năng và so sánh hiệu quả của nó với lựa chọn tính năng hiện có của các phương pháp. Hơn nữa, họ nghiên cứu ảnh hưởng của
không tối ưu hóa các tham số DL, chẳng hạn như số lớp và tế bào thần kinh trong mỗi lớp. Họ vừa báo cáo độ chính xác và dương tính giả, và không tỷ lệ lỗi chưa được tính toán. Tập dữ liệu không đủ lớn, 2.000 lành tính và 2.000 độc hại sẽ dẫn đến trang bị quá mức(học quá thông minh). Sau đó, hai bài báo đã được xuất bản chính xác cùng một lúc vào tháng 12 năm 2016. Đề xuất đầu tiên của Kolosnjaji et al, employs dấu vết cuộc gọi hệ thống phần mềm độc hại để phân loại mã độc mới được truy xuất các mẫu kho vào một tập hợp các họ phần mềm độc hại bằng cách sử dụng DNN. Họ kết hợp các phương pháp tiếp cận tích hợp và lặp lại để mô hình hóa hệ thống chuỗi cuộc gọi tem và từ đó tối ưu hóa phân loại phần mềm độc hại. CNN sử dụng các chuỗi ở dạng n để nắm bắt vị trí tuần tự của các cuộc gọi hệ thống. Mặt khác, tái diễn mạng huấn luyện một mô hình trạng thái bằng cách sử dụng sự phụ thuộc giữa các thuê bao và các cuộc gọi hệ thống trước đó theo một trình tự. Trong khuôn khổ của họ, họ sử dụng một hệ thống phần mềm độc hại nơi dữ liệu đầu vào được lấy và tạo ra phần mềm độc hại trong môi trường được bảo vệ. Kết quả sau đó là vectơ đặc trưng số và được xử lý trước được truy xuất để được cung cấp thành NN, từ đó phân loại phần mềm độc hại thành một trong những tiền đề bị phạt tập hợp các họ phần mềm độc hại. Sử dụng kho lưu trữ NN kết hợp chắc chắn,