Chương 1 - Giới thiệu : Chương | giới thiệu về xu hướng điện thoại thông minh, đồng thời rủi ro nhắm đến người dùng. Chương này cũng giới thiệu kiến trúc hệ điều hành Android và các kỹ thuật phổ biến trong việc phân tích mã độc trên hệ điều hành này. Chương 2 - Phân loại mã độc Android bằng học máy và mạng sinh đối kháng: Chương 2 sẽ giới thiệu về mô hình học máy, học sâu, mạng sinh đối kháng trong phát hiện và phân loại mã độc Android. Một số nghiên cứu trước đây cũng được khảo sát và trình bày.
Chương 3 - Phương pháp đề xuất: Trinh bày về phương pháp nghiên cứu, sử dụng các mô hình học máy, học sâu và mạng sinh đối kháng để phân loại mã độc trên hai tập dữ liệu mã độc. Chương 4 ~ Thực nghiệm và đánh giá: Chương 4 sẽ thực hiện huấn luyện các mô hình học máy, học sâu và mạng sinh đối kháng, sau đó đánh giá kết quả của các mô hình dựa vào một số tiêu chí và độ đo nhằm đánh giá mức độ phù hợp và độ chính xác của các mô hình. Chương 5 - Kết luận và hướng phát triển: Téng kết lại quá trình nghiên cứu cũng như kết quả của đề tài, các hạn chế trong thời gian thực hiện và đề ra hướng phát triển cho nghiên cứu trong tương lai. 11 PHAN LOẠI MÃ ĐỘC ANDROID BANG HỌC MAY VÀ MẠNG SINH DOI KHANG CHƯƠNG 2 PHAN LOẠI MÃ ĐỘC ANDROID BANG HỌC MAY VÀ MẠNG SINH ĐÓI KHÁNG Chương 2 giới thiệu về mô hình học máy, học sâu, mạng sinh đối kháng và áp dụng vào phân loại mã độc Android.
Một số nghiên cứu gần đây cùng các hướng tiếp cận cũng được đề cập.1 Giới thiệu về học máy 2.1 Khái niệm học máy Học máy là một nhánh trong ứng dụng trí tuệ nhân tạo. Học máy gồm một loạt kỹ thuật đê tự động hoá việc đưa ra các dự đoán ở tương lai dựa trên các quan sát trong quá khứ. Học máy thông thường được phân thành hai loại, bao gồm dự đoán và phân loại. Một số ứng dụng của học máy có thể kể đến là dự đoán giá cổ phiếu dựa trên diễn biến giá ở quá khứ, dự đoán giá trị bất động sản.
hoặc các bài toán phân loại như nhận dạng đồ vật trong ảnh, nhận diện chữ viết theo các ngôn ngữ khác nhau.2 Phan loại học máy Dựa trên cách thức học, mô hình học máy được chia thành bốn nhóm: © Hoc không giám sát (unsupervised learning): Ở cách học này, thuật toán không thể dự đoán được kết quả đầu ra (output) hay nhãn (label) mà dựa trên dữ liệu đầu vào (input). Thuật toán dựa vào cấu trúc của đữ liệu không gán nhãn (tức không được cung cấp trước kiến thức hay thông tin nào khác) để thực hiện một yêu cầu cụ thể như phân nhóm hay giảm thiểu số chiều dữ liệu dé sử dụng cho tính toán hoặc lưu trữ. Do dit liệu không cần gán nhãn nên việc cài đặt một thuật toán không giám sát sẽ dễ dàng hơn so với học có giám sát. Tuy nhiên do không gắn nhãn nên các thuật toán không giám sát không thé đưa ra dự đoán quá trình xác nếu ta không tiền xử lý dữ liệu trước khi huấn luyện.
Các thuật toán phổ 12 PHAN LOẠI MÃ ĐỘC ANDROID BANG HỌC MAY VÀ MẠNG SINH DOI KHANG biến như: K-Means hay trong học sâu có Recurrent Neural Network (RNN), hay Deep Belief Network (DBN). ¢ Hoc có giám sát (supervised learning): Day cũng là phương thức hoc phổ biến, mô hìn sẽh được học bằng cách dự đoán dữ liệu đầu ra (outpu0 của một dữ liệu đầu vào mới (new input) dựa trên cặp (input, output) được biết đến trước đó tức được gan nhãn. Từ đây, mô hình sẽ có thêm kiến thức và hiểu thêm về dữ liệu đó, sau đó các kiến thức này sẽ được kiểm tra dé giảm thiểu sai số lỗi (loss). Một số thuật toán có giám sát như: Random Forest, Linear Regression, Extra Trees, Logistic Regression, Decision Tree hay trong học sâu là Deep Neural Network (DNN), Convolutional Neural Network (CNN).
¢ Hoc bán giám sát (semi-supervised learning): Hay học nửa giám sát. Trong một số thời điểm, bài toán cho ta một tập dữ liệu lớn, nhưng chỉ một phần dữ liệu được gán nhãn trước khi đến giai đoạn huấn luyện, và phần lớn dữ liệu còn lại chưa gán nhãn, với các bài toán như vậy, ta có thể xếp vào nhóm học bán giám sát. Đầu tié đữ liệu đã gán nhãn được dùng để đào tạo thuật toán học máy. Tiếp đến, thuật toán đã được đào tạo sẽ tự gán nhãn cho dữ liệu chưa được gán nhãn.
Phương pháp học bán giám sát sẽ kết hợp kết quả từ dé liệu đã và chưa gan nhãn tuỳ vào yêu cầu cụ thê từng bài toán, với mục tiêu đạt độ chính xác cao nhất. “Thực tế, rất nhiều bài toán học máy thuộc nhóm bán giám sát vì việc thu thập dữ liệu và gán nhãn tốn nhiều chỉ phi và mắt thời gian. © Học tăng cường (reinforcement learning): viết tắt là RL, mô hình sẽ thực hiện các hành động dựa trên hoàn cảnh sao cho đạt được kết quả tốt nhất. Bản chất của học tăng cường là trial-and-error, bao gồm nhiều lần thử đi thử lại và sau đó rút ra kinh nghiệm sau mỗi lần thử sao cho độ chính xác là tốt nhất.
PHAN LOẠI MÃ ĐỘC ANDROID BANG HỌC MAY VÀ MẠNG SINH DOI KHANG 2.2 Giới thiệu về học sâu 2.1 Khái niệm học sâu Học sâu là một phần thuộc học máy, bao gồm các công nghệ lõi chủ yếu được áp dụng lên xe tự hành; cho phép tham gia giao thông mà không cần người ngồi điều khiển. Học sâu cũng được áp dụng lên các thiết bị thông minh như chức năng tự động phản hồi, trợ lý ảo trên loa thông minh, thiết bị đeo tay, điện thoại thông minh, máy tính bang,. Vi thế học sâu dần dẫn đầu xu hướng, đạt nhiều thành tựu và còn dư địa phát triển. Kiến trúc của học sâu bao gồm nhiều lớp đữ liệu được gán nhãn và nhiều kiến trúc mạng nơ-ron nhân tạo.
Dữ liệu đi từ lớp đầu vào (input), qua các lớp mạng nơ-ron an nối tiếp nhau, được dùng với mục đích khác nhau, trước khi tới được lớp cuối cùng gọi là lớp kết quả. Các lớp mạng ẩn bên trong mô hình học sâu sẽ hỗ trợ cho việc học, giúp đạt hiệu quả cao hơn so với mô hình học máy tiêu chuẩn. Hình bên dưới mô tả rõ nét về mối quan hệ giữa trí tuệ nhân tạo (AI), học máy và học sâu. ARTIFICIAL INTELLIGENCE MACHINE LEARNING DEEP 1950 «1960's 1970 «1980 190% 2000 2010% Hình 2.1 Mối quan hệ giữa AI, học máy và học sau’, Shups://blogs.com/blog/2016/07/29/whats-difference-artificial-intelligence-machine-learning-deep- learning-ai/ 14 PHÂN LOẠI MÃ ĐỘC ANDROID BẰNG HỌC MÁY VÀ MẠNG SINH ĐÓI KHÁNG 2.2 Một số khái niệm trong học sâu e Mạng nơ-ron: mô phỏng lại mạng lưới não bộ của con người, bao gồm các nơ-ron được liên kết chặt chẽ với nhau.
Chúng được phân vào ba loại lớp bao gồm lớp đầu vào, các lớp ẩn và lớp dau ra. @ Dau vào @ Lopan @ Đàura Hình 2.2 Mô hình kiến trúc của một mang than kinh”. ¢ Té bào than kinh (perceptron): Một tế bào thần kinh ta có thể hiểu là một hàm toán học có đầu vào (input) là tập hợp số thực, xử lý và thực hiện các phép toán sau đó đưa ra kết quả. Các trọng số (weights) sẽ được tìm ra qua quá trình huấn luyện dựa vào giá trị đầu vào, hoặc độ lệch (bias) và ngưỡng tương ứng.
s⁄/ = a xi} ay, w Hình 2.3 Cách hoạt động của tế bào thân kinh. e Hàm kích hoạt (activation functions): có vai trò là một thành phần phi tuyến tính được áp dụng vào đầu ra (output) của các nơ-ron thần * https://wwaw.com/life-science/deep-learning-in-digital-pathology/ 15 PHAN LOẠI MÃ ĐỘC ANDROID BANG HỌC MAY VÀ MẠNG SINH DOI KHANG kinh ở lớp ân, sau đó được dùng làm đầu vào cho lớp kế tiếp. Một số hàm kích hoạt được sử dụng phổ biến như Sigmoid, Tanh và Rectified Linear Unit (ReLU). © One-hot Encoding: Hỗ trợ biểu diễn dữ liệu để cung cấp cho thuật toán học máy.
Các giá trị ban đầu sẽ được biến đổi thành các đặc trưng ở dạng nhị phân, chỉ bao gồm các giá trị 0 hoặc 1. Mỗi mẫu sẽ được chuyển thành một vector có kích thước n, giá trị là 1 biêu thị trạng thái hoạt động. © Sofimax: Hay hàm trung bình mũ, sofimax sẽ tính xác suất xảy ra của sự kiện, hay tính toán khả năng xuất hiện một lớp trong tổng số các lớp, được sử dụng trong bài toán phân loại đa lớp. Kế tiếp, xác suất sau khi tính toán được dùng đê xác định lớp mục tiêu cho đầu vào.
© Cross entropy: Được dùng dé so sánh khoảng cách giá trị đầu ra giữa one-hot encoding và softmax. Chúng có giá trị được cực tiểu hoá (minimized) của phép dự đoán mẫu dữ liệu tương ứng một lớp nào đó. Cross entropy thường được dùng đê tôi ưu hóa cho các mô hình. e Dropout: Day là một cách phòng tránh overfitting (quá khớp) của mô hình.
Theo đó, dropout sẽ loại bỏ ngẫu nhiên một đơn vị trong mạng nơ-ron trong quá trình đào tạo, do đó đơn vị này không được xem xét trong quá trình kế tiếp. Dropout giúp tránh việc quá phụ thuộc lẫn nhau trong một mạng kết nối đầy đủ (fully-connected) của mô hình học sâu. ®© Max pooling: Thêm vào ở giữa các lớp tích chập với mục tiêu làm giảm kích thước các lớp thông qua việc lấy mẫu. Đây cũng là một cách giúp phòng tránh hiện tượng quá khớp (overfiting) trong mô hình học sâu.
16 PHAN LOẠI MÃ ĐỘC ANDROID BANG HỌC MAY VÀ MẠNG SINH DOI KHANG Single depth sic, 1|1|2|4 5|6|7|8|.4 Cách hoạt động của max pooling"®. Các mô hình học máy và học sâu được sử dụng trong đề tài Các thuật toán học máy thường được sử dụng trong phân loại mã độc Android như: Support Vector Machine (SVM), Decision Tree (DT), K-Nearest Neighbors (KNN) hay Multilayer Perceptron (MLP), Recurrent Neural Network (RNN), Deep Neural Network (DNN), Convolutional Neural Network (CNN). Tuy nhiên sau khi thử nghiệm, dé tài chọn lọc một số thuật toán hỗ trợ phân loại đa lớp với kết quả tốt. Các mô hình thuật toán được trình bày ở phan kế tiếp.1 Random Forest (RF) Đây là một thuật toán học máy có giám sát.
Thường được sử dung cho các bai toán phân loại cũng như hồi quy. Đây là thuật toán dễ thích nghỉ và thân thiện với người dùng nhất. Random Forest bao gồm nhiều Decision Trees, nhưng mỗi Decision Trees là duy nhất bởi vì các cây này được xây dựng dựa trên yếu tố ngẫu nhiên. Bởi vì các Decision Trees được xây dựng không sử dụng toàn bộ tập dữ liệu huấn luyện, việc này khiến cho chúng hoạt động không đủ tốt.