Phát hiện website lừa đảo dựa trên mô hình phân lớp random forest

60 0 0
Phát hiện website lừa đảo dựa trên mô hình phân lớp random forest

Đ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

- ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ h tế H uế  in KHÓA LUẬN TỐT NGHIỆP cK PHÁT HIỆN WEBSITE LỪA ĐẢO DỰA TRÊN LÝ THANH TÙNG Tr ườ ng Đ ại họ MƠ HÌNH PHÂN LỚP RANDOM FOREST Niên khóa: 2015-2019 - ĐẠI HỌC HUẾ TRƯỜNG ĐẠI HỌC KINH TẾ KHOA HỆ THỐNG THÔNG TIN KINH TẾ h tế H uế  in KHÓA LUẬN TỐT NGHIỆP cK PHÁT HIỆN WEBSITE LỪA ĐẢO DỰA TRÊN ng Đ ại họ MƠ HÌNH PHÂN LỚP RANDOM FOREST Giảng viên hướng dẫn: Lớp: K49B Tin học kinh tế TS.Nguyễn Đình Hoa Cương Tr ườ Người thực hiện: Lý Thanh Tùng Niên khóa: 2015 - 2019 Huế, tháng năm 2019 - Lời Cảm Ơn Luận văn tốt nghiệp hoàn thành Trường Đại học Kinh tế Huế Trong q trình làm khóa luận em nhận nhiều giúp đỡ để hoàn uế thành luận văn tế H Đầu tiên em xin gửi lời cám ơn chân thành đến thầy Nguyễn Đình Hoa Cương, người hướng dẫn tận tình cho em suốt thời gian thực tập Thầy không ngần ngại dẫn, truyền đạt kiến thức, định hướng cho em để em hoàn thành tốt nhiệm vụ Một lần em chân thành gửi lời cám ơn đến h thầy chúc thầy dồi sức khỏe in Em xin gửi lời cám ơn đến quý thầy cô Khoa Hệ Thống Thông Tin Kinh cK Tế, Trường Đại Học Kinh Tế Huế, người truyền đạt kiến thức quý báu cho em suốt thời gian học tập trường họ Ngoài ra, em xin cám ơn tất bạn bè, thư viện, doanh nghiệp, cơng ty giúp đỡ, dìu dắt em suốt thời gian qua Tất người nhiệt tình giúp đỡ, đặc biệt Trung tâm Công nghệ Thông tin Thừa Thiên Huế - Đ ại HueCIT Tuy nhiên kiến thức chun mơn cịn hạn chế thân thiếu nhiều kinh nghiệm thực tiễn nên nội dung báo cáo không tránh khỏi ng thiếu xót, em mong nhận góp ý, bảo thêm q thầy tồn thể cán bộ, công nhân viên doanh nghiệp để báo cáo ườ hoàn thiện Tr Một lần xin gửi đến thầy cô, bạn bè cô chú, anh chị doanh nghiệp lời cảm ơn chân thành tốt đẹp nhất! Huế, tháng năm 2019 SV Lý Thanh Tùng I - MỤC LỤC LỜI CẢM ƠN I MỤC LỤC II DANH MỤC HÌNH VẼ V uế DANH MỤC BẢNG BIỂU VI tế H DANH MỤC SƠ ĐỒ VII DANH MỤC TỪ VIẾT TẮT .VIII PHẦN I MỞ ĐẦU .1 Lý chọn đề tài h Mục tiêu nghiên cứu in Đối tượng nghiên cứu cK Phương pháp nghiên cứu Cấu trúc Khóa luận PHẦN II NỘI DUNG NGHIÊN CỨU họ CHƯƠNG I CƠ SỞ LÝ THUYẾT 1.1 Tổng quan khai phá liệu 1.1.1 Nhu cầu phát tri thức từ liệu Đ ại 1.1.2 Khai phá liệu 1.1.3 Các lĩnh vực ứng dụng 1.2 Các phương pháp khai phá liệu ng 1.2.1 Khai phá luật kết hợp 1.2.1.1 Giới thiệu Luật kết hợp ườ 1.2.1.2 Thuật toán Apriori 1.2.1.3 Thuật toán FP-Growth Tr 1.2.1.4 Ứng dụng Khai phá luật kết hợp 1.2.2 Phân cụm 1.2.2.1 Phân cụm phẳng 1.2.2.2 Phân cụm phân cấp 1.2.3 Phân lớp II - 1.2.3.1 Mơ hình phân lớp Nạve Bayes 1.2.3.2 Mơ hình phân lớp K-NN 10 1.2.3.3 Mơ hình phân lớp Support Vector Machines 11 1.2.3.4 Mơ hình phân lớp Mạng Nơ-ron nhân tạo 12 uế 1.2.4 Hồi quy .13 1.3 Phát biểu toán nghiên cứu .14 tế H 1.4 Lý thuyết mơ hình phân lớp Random Forest 14 1.4.1 Giới thiệu chung 14 1.4.2 Cơ sở lý thuyết 14 1.4.2.1 Khái niệm 14 in h 1.4.2.2 Cây định 15 1.4.2.3 Random Forest 16 cK 1.4.3 Nguyên tắc hoạt động 16 1.4.4 Ứng dụng 17 1.5 Các cơng trình liên quan .17 họ CHƯƠNG II XÂY DỰNG MƠ HÌNH PHÂN LỚP VÀ ỨNG DỤNG DỰ ĐOÁN WEBSITE LỪA ĐẢO 24 Đ ại 2.1 Mô tả liệu 24 2.1.1 Giới thiệu mô tả liệu 24 2.1.2 Thơng tin thuộc tính 25 ng 2.2 Xây dựng mơ hình 31 2.3 Phương pháp đánh giá mơ hình 31 ườ 2.3.1 Tổng quan Receiver Operating Characteristic .31 2.3.2 Xây dựng ROC để đánh giá 32 Tr 2.4 Xây dựng ứng dụng dự đoán website lừa đảo 33 CHƯƠNG III THÍ NGHIỆM VÀ KẾT QUẢ 34 3.1 Thiết lập thí nghiệm 34 3.1.1 Phân lớp với phân lớp 34 3.1.2 Phân lớp với mơ hình Random Forest .37 3.1.3 Thiết lập mơ hình đánh giá 37 III - 3.1.4 Thiết lập ứng dụng dự đoán website lừa đảo 41 3.1.4.1 Chuẩn bị liệu Unlabel 41 3.1.4.2 Tạo ứng dụng sử dụng Java Swing 43 3.2 Kết thí nghiệm 45 uế PHẦN III KẾT LUẬN .46 Kết đạt 46 tế H Hạn chế đề tài 46 Hướng phát triển đề tài 46 Tr ườ ng Đ ại họ cK in h DANH MỤC TÀI LIỆU THAM KHẢO 47 IV - DANH MỤC HÌNH VẼ Hình 1 Quy trình khai phá liệu Hình Đường cong ROC 32 Hình 2 Mơ hình đánh giá ROC Knowledge Flow 33 uế Hình Chia liệu PhishingWebsite sử dụng lọc Remove Percentage 34 tế H Hình Chọn phân lớp Naïve Bayes để huấn luyện 35 Hình 3 Huấn luyện liệu Training Set sử dụng phân lớp Naïve Bayes với 10-fold Cross Validation 35 Hình Kiểm thử lại mơ hình với Test Set 36 h Hình Kết kiểm thử với Test Set mô hình phân lớp Nạve Bayes 36 in Hình Kết kiểm thử với Test Set mô hình phân lớp Random Forest 37 cK Hình Lưu mơ hình huấn luyện 10-fold Cross Valication 38 Hình Thêm model vào mơ hình phân lớp 39 Hình Tiến hành đánh giá mơ hình 40 họ Hình 10 Đánh giá mơ hình thành công 40 Hình 11 Kết đánh giá mơ hình đường ROC liệu Phishing Website.41 Hình 12 Bộ liệu Unlabel 42 Đ ại Hình 13 Giao diện ứng dụng 43 Hình 14 Các Java Class Jframe ứng dụng 43 Hình 15 Tạo thư viện Netbeans 44 ng Hình 16 Thêm file jar folder doc Weka vào thư viện .44 Tr ườ Hình 17 Kết chương trình sau dự đốn .45 V - DANH MỤC BẢNG BIỂU Bảng 2.1 Bảng thuộc tính liệu Phishing Website 24 Bảng 2.2 Một số cổng quan trọng trang web 27 Tr ườ ng Đ ại họ cK in h tế H uế Bảng 3.1 Bảng kết thí nghiệm so sánh kết mơ hình 45 VI - DANH MỤC SƠ ĐỒ Sơ đồ 1: Tiến hóa cơng nghệ sở liệu theo quan điểm J.Han M.Kamber Tr ườ ng Đ ại họ cK in h tế H uế Sơ đồ Quy trình định dự đốn nhiệt độ - Cây định 15 VII - DANH MỤC TỪ VIẾT TẮT CDF-g Tiếng anh Tiếng việt uế Từ viết tắt Cumulative Distribution Chức phân phối tích Function gradient lũy gradient tế H STT CSDL DT Decision Tree HEFS Hybrid Ensemble Feature Lựa chọn tính đồng Selection lai NLP in h Cây định cK Cơ sở liệu Natural Language oRFs PCA-RF oblique Random Forests Rừng ngẫu nhiên xiên Principal Component Phân tích thành phần Analysis Random Forest Rừng ngẫu nhiên ng Đ ại họ Processing Xử lý ngôn ngữ tự nhiên Random Forest Rừng ngẫu nhiên University of California, Trường đại học California, Irvine Irvine Uniform Resource Locator Định vị tài nguyên thống RF Tr ườ 10 UCI URL VIII - - Bước 4: Tiến hành kiểm thử mơ hình cách chọn Supplied test set chọn liệu Test Set chia bước Sau kích chuột phải vào mơ hình huấn luyện chọn Re- cK in h tế H uế evaluate model on current test set để kiểm thử lại với liệu Test Set Tr ườ ng Đ ại họ Hình Kiểm thử lại mơ hình với Test Set Hình Kết kiểm thử với Test Set mơ hình phân lớp Nạve Bayes 36 - 3.1.2 Phân lớp với mơ hình Random Forest Tương tự với phân lớp quy trình phân lớp với mơ hình Random Forest bao gồm bước sau: - Bước 1: Tải Training Set vào nhớ Lựa chọn classifier Random Forest uế - Bước 2: Thiết lập chế độ huấn luyện Và ấn start để tiến hành huấn luyện - Bước 4: Tiến hành kiểm thử mơ hình cách chọn Supplied test set chọn tế H liệu Test Set Sau kích chuột phải vào mơ hình huấn luyện chọn Re-evaluate model on ng Đ ại họ cK in h current test set để kiểm thử lại với liệu Test Set ườ Hình Kết kiểm thử với Test Set mơ hình phân lớp Random Forest Tr 3.1.3 Thiết lập mơ hình đánh giá Trước vào thiết lập thí nghiệm mơ hình đánh giá Chúng ta cần chuẩn bị mơ hình (model) huấn luyện với 10-fold Cross Valication phân lớp Random Forest Các bước chuẩn bị model sau: - Bước 1: Tiến hành huấn luyện Training Set với mô hình Random Forest - Bước 2: Sau huấn luyện xong mơ hình, tiến hành kích chuột phải vào mơ hình chọn Save model 37 cK in h tế H uế - họ Hình Lưu mơ hình huấn luyện 10-fold Cross Valication Sau lưu xong model phân lớp, sử dụng công cụ Đ ại Knowledge Flow Weka để tiến hành vẽ đường ROC Các bước để vẽ đường ROC bước mục 2.3.2 Xây dựng ROC để đánh giá Ở đây, thêm vào model vào phân lớp cách kích đúp chuột vào ng mơ hình phân lớp, tìm đến mục Classifier model to load nhấn Browse tìm đến mục chứa Tr ườ model ứng với mơ hình 38 Tr ườ ng Đ ại họ cK in h tế H uế - Hình Thêm model vào mơ hình phân lớp Cuối cùng, chọn Run this flow để tiến hành đánh giá 39 h tế H uế - in Hình Tiến hành đánh giá mơ hình cK Sau thời gian tiến hành đánh giá, dòng Status Knowledge Flow “OK”, tức trình đánh giá xong, tìm đến thư mục lưu ảnh ImageSaver để xem Tr ườ ng Đ ại họ đường ROC Hình 10 Đánh giá mơ hình thành cơng 40 cK in h tế H uế - họ Hình 11 Kết đánh giá mơ hình đường ROC liệu Phishing Website Qua kết đường ROC thu được, nhận thấy đường ROC mơ hình phân lớp Random Forest đường màu xanh cây, nằm gần đỉnh bên trái Đ ại Do hiệu mơ hình phân lớp Random Forest tốt mơ hình phân lớp đem so sánh 3.1.4 Thiết lập ứng dụng dự đoán website lừa đảo ng 3.1.4.1 Chuẩn bị liệu Unlabel Unlabel Set liệu tách từ Test Set xóa nhãn lớp trường ườ hợp Tr Các bước chuẩn bị liệu Unlabel đơn giản - Bước 1: Mở file TestSet.arff Notepad Copy từ dòng đến @data vào tệp Notepad khác - Bước 2: Chọn ngẫu nhiên trường hợp Test Set copy sang Notepad lại - Bước 3: Tiến hành chuyển giá trị nhãn lớp (thường nằm cuối cùng) Result dấu “?” lưu lại 41 Đ ại họ cK in h tế H uế - Tr ườ ng Hình 12 Bộ liệu Unlabel 42 - 3.1.4.2 Tạo ứng dụng sử dụng Java Swing Tạo giao diện ứng dụng sử dụng Java Swing (Neatbeans IDE) cK in h tế H uế Dưới hình ảnh giao diện ứng dụng Hình 13 Giao diện ứng dụng Ở họ Sau tạo xong giao diện, tiến hành viết code cho ứng dụng có hai Java Class: MyKnowledgeModel Tr ườ ng Đ ại MyRandomForestModel (lớp con) JFrame Hình 14 Các Java Class Jframe ứng dụng 43 (lớp cha), - Ở có lưu ý để tiến hành phân lớp dự đoán liệu cần thêm vào thư viện Weka Libraries chương trình Các bước thêm thư viện sau: - Bước 1: Chọn Libraries, nhấn chuột phải vào chọn Add Library, tiến hành tạo cK in h tế H uế thư viện họ Hình 15 Tạo thư viện Netbeans - Bước 2: Ấn Add JAR/Folder vào chọn thư việc cần thiết để thêm vào Ở mục Đ ại Classpath thêm file weka.jar, mục Sources thêm file weka-src.jar Javadoc thêm Tr ườ ng thư mục doc cuối ấn OK để lưu lại Hình 16 Thêm file jar folder doc Weka vào thư viện 44 - Cuối tiến hành chạy chương trình để tiến hành dự đốn Ở mục Data Set thêm vào liệu Phishing Website, mục Unlabel Set thêm vào liệu Unlabel Sau thiết lập thơng số mơ hình phân lớp RF ấn Dự đoán để tiến hành chạy chương trình Sau chạy xong, chương trình thơng báo “Dự đốn họ cK in h tế H uế thành cơng” sau ấn OK để xem kết dự đốn Bảng kết Đ ại Hình 17 Kết chương trình sau dự đốn 3.2 Kết thí nghiệm ng Bảng 3.1 Bảng kết thí nghiệm so sánh kết mơ hình Mơ hình Thất bại Naive Bayes 92.1616 % 7.8384% IBk (k =3) 95.2367 % 4.7633% LibSVM 93.4278 % 6.5722% MultilayerPerceptron 97.2867 % 2.7133% Random Forest 97.5882 % 2.4118% ườ Tr Thành công 45 - PHẦN III KẾT LUẬN Kết đạt Đề tài đạt mục tiêu đề ban đầu thu thập liệu, tiến hành chia liệu uế thành hai huấn luyện kiểm thử, sau huấn luyện, kiếm thử liệu với phân lớp tế H đánh giá mơ hình sử dụng ROC Weka Tiếp theo, tạo liệu không nhãn (Unlabel set), xây dựng ứng dụng Java Swing với chức dự đoán nhãn lớp cho liệu Qua kết thí nghiệm, cho thấy mơ hình phân lớp Random Forest cho kết h cao mơ hình phân lớp sở đem so sánh Naïve Bayes, K-nn, SVM in MultilayerPerceptron Từ phân tích tính khả thi việc sử dụng mơ hình phân lớp Random Forest Hạn chế đề tài cK việc dự đốn website lừa đảo họ Trong q trình thực đề tài đến lúc kết thúc, thời gian kiến thức thân có hạn nên đề tài chưa hồn thiện hết tính khai thác hết lĩnh vực khai phá liệu Những kiến thức sử dụng đề tài kiến thức cách huấn Đ ại luyện kiểm thử mơ hình Weka thiết lập ứng dụng Java Swing Bộ liệu nghiên cứu chưa đầy đủ hết tính website để phát ng website lừa đảo Hướng phát triển đề tài ườ Đầu tiên xây dựng liệu bao gồm tính tối ưu việc dự đoán trang web lừa đảo Sau phát triển ứng dụng sử dụng mơ hình phân lớp Random Forest để tiến hành dự đốn trang web lừa đảo Ngồi tiến hành nghiên cứu thêm số Tr mơ hình phân lớp khác Bagging, Voting, Stacking hay Boosting Bên cạnh việc phát trang web lừa đảo, mở rộng lĩnh vực khác thương mại điện tử, ngân hàng, chứng khoáng y học 46 - DANH MỤC TÀI LIỆU THAM KHẢO Techblog (2019) Data mining gì? Tìm hiểu cơng cụ khai phá liệu phổ biến, Nguyễn H.N., Nguyễn T.T., Hà Q.H (2016) Giáo trình Khai phá liệu Thành Nam (2016) Tìm hiểu Naive Bayes Classification (phân loại Bayes đơn giản) Nguyễn Văn Hiếu (2017) Thuật Trần Nguyên Long (2017) Một chút thuật toán SVM (Support Vector Machine algorithm) Viblo Giới thiệu tổng quan Mạng Nơron nhân tạo (Artificial Neural Network- ANN) Wikipedia (2018) Phân tích hồi quy Wiki (2019) Random forest WiKi Couhp (2018) Random Forest, rừng ngẫu nhiên K láng giềng gần Đ ại họ cK in h toán tế H uế 10 Sahingoz O.K., Buber E., Demir O cộng (2019) Machine learning based phishing detection from URLs Expert Systems with Applications ng 11 Rao R.S Pais A.R (2018) Detection of phishing websites using an efficient featurebased machine learning framework Neural Computing and Applications ườ 12 Hutchinson S., Zhang Z., Liu Q (2018) Detecting Phishing Websites with Random Forest Machine Learning and Intelligent Communications Springer International Publishing, Cham 13 Jagadeesan S (2018) URL Phishing Analysis using Random Forest Tr 14 Buber E., Diri B., Sahingoz O.K (2017) Detecting phishing attacks from URL by using NLP techniques 2017 International Conference on Computer Science and Engineering (UBMK), Antalya 15 Parekh S., Parikh D., Kotak S cộng (2018) A New Method for Detection of Phishing Websites: URL Detection 2018 Second International Conference on Inventive Communication and Computational Technologies (ICICCT), Coimbatore 47 - 16 Subasi A., Molah E., Almkallawi F cộng (2017) Intelligent phishing website detection using random forest classifier 2017 International Conference on Electrical and Computing Technologies and Applications (ICECTA) 17 Lee J.L., Park D.H., Lee C.H (2015) Phishing Detection Methodology Using Web Sites Heuristic KIPS Transactions on Computer and Communication Systems uế 18 Chiew K.L., Tan C.L., Wong K cộng (2019) A new hybrid ensemble feature selection framework for machine learning-based phishing detection system Information Sciences tế H 19 Buber E., Diri B., Sahingoz O.K (2018) NLP Based Phishing Attack Detection from URLs Intelligent Systems Design and Applications Springer International Publishing, Cham 20 Weedon M., Tsaptsinos D., Denholm-Price J (2017) Random forest explorations for URL classification 2017 International Conference On Cyber Situational Awareness, Data Analytics And Assessment (Cyber SA), London, United Kingdom in h 21 Islam M Chowdhury N.K (2016) Phishing Websites Detection Using Machine Learning Based Classification Techniques cK 22 Smadi S., Aslam N., Zhang L cộng (2015) Detection of phishing emails using data mining algorithms 2015 9th International Conference on Software, Knowledge, Information Management and Applications (SKIMA), Kathmandu, Nepal 23 Kazi R (2016) Evaluation of Machine Learning Classifiers for Phishing Detection họ 24 Yaokai Y (2019), Effective Phishing Detection Using Machine Learning Approach, Case Western Reserve University 25 Zakariah M (2014) Classification of large datasets using Random Forest Algorithm in various applications: Survey Đ ại 26 Kumar Nepali R Wang Y (2016) You Look Suspicious!! : Leveraging Visible Attributes to Classify Malicious Short URLs on Twitter ng 27 Hodžić A Kevrić J (2016) COMPARISON OF MACHINE LEARNING TECHNIQUES IN PHISHING WEBSITE CLASSIFICATION Regional Economic Development 28 Yasin A Abuhasan A (2016) An Intelligent Classification Model for Phishing Email Detection International Journal of Network Security & Its Applications ườ 29 Akinyelu A A Adewumi O A (2014) Classification of Phishing Email Using Random Forest Machine Learning Technique Journal of Applied Mathematics Tr 48 - Tr ườ ng Đ ại họ cK in h tế H uế KẾT QUẢ KIỂM TRA ĐẠO VĂN 49 - Tr ườ ng Đ ại họ cK in h tế H uế KẾT QUẢ KIỂM TRA LỖI CHÍNH TẢ 50

Ngày đăng: 28/08/2023, 20:48

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

Tài liệu liên quan