luận văn thạc sĩ kiến trúc nhiều tầng cho phát hiện và ngăn chặn trang web lừa đảo​

67 15 0
luận văn thạc sĩ kiến trúc nhiều tầng cho phát hiện và ngăn chặn trang web lừa đảo​

Đ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 QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM NGỌC THỌ KIẾN TRÚC NHIỀU TẦNG CHO PHÁT HIỆN VÀ NGĂN CHẶN TRANG WEB LỪA ĐẢO LUẬN VĂN THẠC SĨ AN TỒN THƠNG TIN Hà Nội - 2019 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM NGỌC THỌ KIẾN TRÚC NHIỀU TẦNG CHO PHÁT HIỆN VÀ NGĂN CHẶN TRANG WEB LỪA ĐẢO Chuyên ngành: An tồn thơng tin Mã số: 8480102.01 LUẬN VĂN THẠC SĨ AN TỒN THƠNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ ĐÌNH THANH Hà Nội - 2019 LỜI CAM ĐOAN Tôi xin cam đoan các kết quả nghiên cứu luận văn này là sản phẩm của cá nhân tôi dưới sự hướng dẫn của thầy giáo TS Lê Đình Thanh Các sơ liệu, kết quả được công bơ là hoàn toàn trung thực Những điều được trình bày toàn bộ luận văn này là những tôi tự nghiên cứu hoặc là được tổng hợp từ nhiều nguồn tài liệu khác Các tài liệu tham khảo có xuất xứ rõ ràng và được trích dẫn đầy đủ, hợp pháp Tôi xin hoàn toàn chịu trách nhiệm trước lời cam đoan của Hà Nội, ngày 18 tháng 11 năm 2019 Người cam đoan Phạm Ngọc Thọ LỜI CẢM ƠN Lời đầu tiên tôi xin được gửi lời biết ơn sâu sắc tới thầy giáo TS Lê Đình Thanh, Phịng Thí nghiệm An toàn Thông tin, Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quôc gia Hà Nội, người thầy đã luôn tận tình chỉ bảo, giúp đỡ và hướng dẫn tôi st quá trình nghiên cứu luận văn Tôi xin chân thành cảm ơn các thầy, cô giáo Khoa Công nghệ Thông tin, Trường Đại học Công nghệ, Đại học Quôc gia Hà Nội đã luôn tận tâm truyền dạy cho tôi những kiến thức bổ ích thời gian tôi tham gia học tập và nghiên cứu nhà trường Tôi cũng xin gửi lời cám ơn tới Ban Lãnh đạo và các đồng nghiệp Bộ môn Toán - Tin học, Học viện Cảnh sát Nhân dân, nơi tôi công tác đã tạo điều kiện giúp đỡ tôi quá trình học tập Học viên Phạm Ngọc Thọ MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN MỤC LỤC DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT DANH MỤC CÁC BẢNG DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU CHƯƠNG GIỚI THIỆU 1.1.Thực trạng đáng báo động của các trang we 1.2.Các giải pháp đã có nhằm ngăn chặn trang w 1.2.1 Giải pháp dựa vào cộng đồng 1.2.2 Giải pháp dựa vào học máy 1.3.Tiếp cận của chúng tôi 1.4.Kết quả đạt được và khả năng ứng dụng CHƯƠNG THIẾT KẾ KIẾN TRÚC NHIỀU TẦNG CHO PHÁT HIỆN VÀ NGĂN CHẶN TRANG WEB LỪA ĐẢO 2.1.Tổng quan 2.2.Tầng một và tầng hai 2.2.1 Nhiệm vụ sàng lọc 2.2.2 Phương pháp phát hiện dựa vào học máy 2.2.3 Kiểm soát tỉ lệ dương tính giả 2.3.Tầng ba và tầng bôn 2.3.1 Nhiệm vụ chuẩn đoán 2.3.2 Tự động cập nhật Blacklist 2.3.3 Tham vấn dịch vụ PhishTank 2.3.4 Tham vấn dịch vụ Google Safe Browsing CHƯƠNG CÀI ĐẶT THỬ NGHIỆM 3.1.Cài đặt 3.1.1 Kỹ thuật xây dựng chương trình 3.1.2 Tầng một và tầng hai 3.1.3 Tầng ba 3.1.4 Tầng bôn 3.2.Đánh giá 3.2.1 Phương pháp đánh giá .53 3.2.2 Kết quả so sánh .55 3.3 Triển khai thử nghiệm 56 KẾT LUẬN .59 TÀI LIỆU THAM KHẢO 60 DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT Ký hiệu OTP One Ti RF Rando APWG Anti Ph URL Univer API Applic Interfa TLD Top Le IP Interne DNS Domai CSS Cascad LR Decisio NB Naive SVM Suppor UCI Univer HTML Hyper PHP Person HTTP HyperT HTTPS HyperT Secure WWW World CSDL Cơ sở TP True P FP False P TN True N FN False N TPR True P FPR False P DANH MỤC CÁC BẢNG Bảng 1.1 Thông kê sô lượng trang web lừa đảo từ quý IV năm 2018 đến quý II năm 2019 Bảng 1.2 Bảng mô tả ưu/ nhược điểm các giải pháp đã có cho phát hiện trang web lừa đảo Bảng 2.1.Các đặc trưng được trích chọn sử dụng để xây dựng mô hình Bảng 3.1.Thông tin kỹ thuật sử dụng chương trình thực nghiệm Bảng 3.2 Bảng đánh giá dựa trên phương pháp Confusion Matrix Bảng 3.3 Kết quả thực nghiệm trên các mô hình đơi với tầng một Bảng 3.4 Kết quả thực nghiệm trên các mô hình đơi với tầng hai 48 Tập hợp kết quả được trả về từ các hàm trên thành một vector kết quả của các đặc trưng (với ý nghĩa của giá trị “1” là lừa đảo; “0” là nghi ngờ và “-1” là lành tính) Ví dụ: feature_url = [1, -1, 1, 1, 1, -1, 0, 1] Đồng thời, gửi vector - đặc trưng này lên máy chủ web để đưa qua mô hình phát hiện dựa trên URL, tiến hành kiểm tra Kết quả từ máy chủ web trả về cho extension chính là giá trị của xác suất phát hiện của chính vector đặc trưng vừa được gửi lên Sử dụng giá trị này thực hiện so sánh với giá trị ngưỡng (threshold) được lựa chọn pha xây dựng mô hình phát hiện Nếu lớn hơn giá trị ngưỡng (tức đây là trang web lừa đảo) gửi yêu cầu cho “background.js” của extension xử lý ngăn chặn, thông báo cho người dùng không nên truy cập và dừng tiến trình phát hiện trên tầng một Ngược lại, thực hiện tương tự đôi các đặc trưng được trích xuất content của trang web (chủ yếu các đặc trưng bất thường mã HTML và JavaScript) - Hình 3.8 Extension gửi vector đặc trưng của URL một lên máy chủ web 49 Hình 3.9 Extension gửi vector đặc trưng của Content lên máy chủ web Hình 3.10 Máy chủ web đưa dữ liệu đã nhận được qua mô hình phát hiện Xử lý kết quả trả về sau đưa qua mô hình phát hiện: Nếu URL cần kiểm tra là của một trang web lừa đảo, thực hiện ngăn chặn và lưu URL trang web đó vào Blacklist Ngược lại, chuyển tiếp sang tầng ba để tiếp tục phát hiện: - 50 Hình 3.11 So sánh kết quả trả về với giá trị ngưỡng của tầng một Hình 3.12 Tiến trình ngăn chặn trang web phát hiện có lừa đảo Hình 3.13 Lưu URL của trang web lừa đảo vào Blacklist 51 3.1.3 Tầng ba Ngay hoạt động phát hiện và ngăn chặn trang web lừa đảo lần lượt diễn tầng một và tầng hai không thành công, URL của trang web cần kiểm tra được gửi lên tầng ba để tiếp tục phát hiện Tầng ba được chúng tôi xây dựng một Blacklist chứa các trang web lừa đảo, giúp cung cấp cho người dùng một kênh để tham chiếu, truy vấn và kiểm tra thông qua phần mềm ứng dụng hoặc tra cứu trực tiếp trên website của chúng tôi Hình 3.14 Gửi URL lên máy chủ web phát hiện trên tầng ba Hình 3.15.Thực hiện kiểm tra URL CSDL của Blacklist Kết quả được trả về tầng ba, nếu URL đã tồn Blacklist, extension tiến hành xử lý ngăn chặn không cho người dùng truy cập tới URL của trang web hiện Ngược lại, tiếp tục thực hiện kiểm tra URL này trên tầng bôn 52 3.1.4 Tầng bốn Tại tầng bôn, chúng tôi lần lượt sử dụng API của PhishTank và Google Safe Browsing để kiểm tra URL được gửi lên từ tầng ba Đăng ký một project để sử dụng API key trên Google Cloud Platform trước kiểm tra Google Safe Browsing: - Hình 3.16 API key được đăng ký từ Google Cloud Platform Đăng ký một project để sử dụng API key trước kiểm tra trên PhishTank: - Hình 3.17 API key được đăng ký từ PhishTank 53 - Sử dụng API của Google Safe Browsing tiến hành kiểm tra: Hình 3.18 Kiểm tra URL trên API của Google Safe Browsing Hình 3.19 Kiểm tra URL trên API của PhishTank 3.2 Đánh giá 3.2.1 Phương pháp đánh giá Phương pháp đánh giá của luận văn được dựa trên phương pháp ma trận nhầm lẫn (Confusion Matrix) 54 Một mô hình phát hiện được đánh giá là tôt nếu tỉ lệ TP (True Positive) và TN (True Negative) lớn; đồng thời, tỉ lệ FP (False Positive) và FN (False Negative) nhỏ (tức là tỉ lệ TP, TN tỉ lệ nghịch với FP, FN) Trong đó: TP: Sô lượng các mẫu thuộc lớp dương được phân loại chính xác vào lớp dương - FP: Sô lượng các mẫu không thuộc lớp dương bị phân loại nhầm vào lớp dương - - TN: Sô lượng các mẫu không thuộc lớp dương được phân loại đúng FN: Sô lượng các mẫu thuộc lớp dương bị phân loại nhầm vào các lớp không phải lớp dương - Bảng 3.2 Bảng đánh giá dựa phương pháp Confusion Matrix Lớp thực tế (True class) Xuất phát từ nhiệm vụ phát hiện trang web lừa đảo đôi tầng một và tầng hai với mục đích sàng lọc Do đó, chúng tôi tiến hành tính toán những giá trị sau làm căn cứ cho việc đánh giá mô hình: Với một cách xác định một lớp là Positive (lớp dương), Precision được định nghĩa là tỉ lệ sô điểm True Positive sô những điểm được phân loại là Positive (TP + FP) Giá trị của Precision cao đờng nghĩa với độ chính xác của các điểm tìm được là cao: - Precision = + 55 Recall được định nghĩa là tỉ lệ sô điểm True Positive sô những điểm thực sự là positive (TP + FN) Giá trị của Recall cao đồng nghĩa với việc True Positive Rate cao, tức tỉ lệ bỏ sót các điểm thực sự Positive là thấp: - Recall = + 3.2.2 Kết so sánh Tiến hành đánh giá mô hình phát hiện trang web lừa đảo trên tập 2000 dữ liệu cịn lại từ ng̀n dữ liệu của UCI Kết quả của đánh giá dựa trên phương pháp ma trận nhầm lẫn (Confusion Matrix), đó coi lớp dương (Positive) là trang web lừa đảo, lớp âm (Negative) là trang web lành tính So sánh kết quả thực nghiệm giữa các mô hình dựa trên các thuật toán học máy khác nhau: Bảng 3.3 Kết thực nghiệm mơ hình tầng Mơ hình SVM RF Tầng Bảng 3.4 Kết thực nghiệm mơ hình tầng hai Mơ hình SVM RF Tầng Nhận xét: Như vậy, dựa vào kết quả thử nghiệm được thực hiện trên tầng một và tầng hai có thể thấy độ đo Precision (tỉ lệ chính xác phát hiện đúng trang web lừa đảo) trên mô hình của chúng tôi so với mô hình của hai thuật toán SVM và Random Forest là vượt trội hơn hẳn Trong đó, độ chính xác phát 56 hiện của tầng một là 99,1% và tầng hai là 99,2% Đồng nghĩa với việc không có phát hiện nhầm xảy Bên cạnh đó, giá trị của Recall (hiệu xuất phát hiện trang web lừa đảo) không cao, nghiên cứu của chúng tôi cho phép “bỏ sót” trên tầng một và tầng hai Tuy nhiên, nhiệm vụ này tiếp tục tiến hành phát hiện trên tầng ba và tầng bôn của kiến trúc hệ thông đã được đề xuất 3.3 Triển khai thử nghiệm Cài đặt Extension “PPA Phishing Detector” trên trình duyệt của máy tính người dùng - Hình 3.20 Cài đặt Extension vào trình duyệt - Cài đặt môi trường và các dịch vụ máy chủ web trên hệ thơng máy chủ Hình 3.21 Cài đặt máy chủ web trên Server 57 - Chuẩn bị dữ liệu thử nghiệm Hình 3.22 Dữ liệu cho tiến hành thử nghiệm - Kết quả thử nghiệm Hình 3.22 Cảnh báo phát hiện có trang web lừa đảo 58 Hình 3.23 Trang web cho người dùng truy vấn URL trực tuyến 59 KẾT LUẬN Luận văn đã trình bày một hướng tiếp cận có hiệu quả đó kết hợp giữa hai nhóm giải pháp kỹ thuật: Kỹ thuật học máy và kỹ thuật dựa vào cộng đồng việc phát hiện và ngăn chặn trang web lừa đảo Đồng thời, đề xuất một kiến trúc nhiều tầng cho tiến hành thực nghiệm, cụ thể: Tầng một và tầng hai thực hiện sàng lọc nhanh trang web lừa đảo cách cài đặt mô hình học máy đã được thiên vị hoá; Tầng ba và tầng bôn thực hiện chuẩn đoán trang web lừa đảo thông qua hoạt động tham vấn dịch vụ blacklist và hỏi chuyên gia Quá trình nghiên cứu luận văn đã đạt được một sơ kết quả chính sau đây: Tìm hiểu các giải pháp đã có phát hiện trang web lừa đảo thông qua các giải pháp cộng đồng Đồng thời, trình bày tóm tắt cơ sở lý thuyết của các thuật toán phân lớp kỹ thuật học máy bao gồm: Hồi quy Logistic, cây quyết định, Naive Bayes, máy vector hỗ trợ (SVM), rừng ngẫu nhiên (Random Forest) cho phát hiện trang web lừa đảo - Tiến hành đề xuất kiến trúc nhiều tầng phát hiện và ngăn chặn trang web lừa đảo - Đề xuất được giải pháp lựa chọn các đặc trưng tôt nhất đảm bảo hiệu quả, hiệu suất cho xây dựng mô hình phát hiện - Tùy biến thuật toán Random Forest nhằm thiên vị hoá việc xây dựng mô hình phát hiện trang web lừa đảo được thực hiện trên tầng một và hai - Nghiên cứu cơ chế kết nôi, cách thức làm việc với API của các hệ chuyên gia của Google Safe Browsing và PhishTank - - Tiến hành cài đặt và thử nghiệm, đánh giá và so sánh kết quả Sử dụng kết quả của nghiên cứu, tiến hành cài đặt, tích hợp thành công công cụ phát hiện và ngăn chặn trang web lừa đảo vào trình duyệt web của người dùng - Hướng phát triển tiếp theo: Nghiên cứu mở rộng phương pháp với nhiều hướng tiếp cận phát hiện trang web lừa đảo hơn Tiếp tục nghiên cứu lựa chọn, bổ sung thêm các đặc trưng của trang web lừa đảo cho huấn luyện và sinh mô hình phát hiện nhằm nâng cao hiệu quả hiệu suất của mô hình phát hiện 60 TÀI LIỆU THAM KHẢO [1] APWG, "Phishing Activity Trends Report," APWG, 2019 [2] D Ulevitch, "OpenDNS," Cisco, November 2005 [Online] Available: https://www.opendns.com/ [3] "Google Safe Browsing API," [Online] Available: http://code.google.com/apis/safebrowsing/developersguide.html [4] P Prakash, M Kumar, R.R Kompella and M Gupta, "Phishnet: Predictive Blacklisting to Detect Phishing Attacks," in Proceedings IEEE, 2010 [5] Y Joshi, S Saklikar, D Das and S Saha, "Phish Guard: A Browser Plug-In for protection from phishing web sites,," in Published in 2nd International Conference on Internet Multimedia Services Architecture and Applications, 2008 [6] N Chou, R Ledesma, Y Teraguchi and J Mitchell, "Client-Side Defense Against Web-Based Identity Theft," in NDSS, 2004 [7] J Mao, P Li, K Li, T Wei and Z Liang, "Bait alarm: Detecting Phishing Sites using Similarity in Fundamental Visual Features," in Intelligent Networking and Collaborative Systems, 2013 [8] S L Salzberg, C4.5: Programs for Machine Learning by J Ross Quinlan, KLuwer Academic, 1993 [9] L Breiman, Classification and Regression Trees, New York, CA: Wadsworth International Group, 1984 [10] J Ma, L K Saul, S Savage and G M Voelker, "Beyond Blacklists: Learning to Detect Malicious Website from Suspicious URLs," in KDD'09, Paris, France, 2009 [11] L Breiman, "Random Forests," in Machine Learning, vol 45, California, Statistics DepartmentUniversity of CaliforniaBerkeley, 2001, pp 5-32 [12] Mohammad, Rami, McCluskey, Thabtah and Fadi, "An Assessment of Features Related to Phishing Websites using an Automated Technique," in International Conferece For Internet Technology And Secured Transactions, London, UK, 2012 [13] Mohammad, Rami, Thabtah, F Abdeljaber and McCluskey, "Predicting phishing websites based on self-structuring neural network," Neural 61 Computing and Applications, pp 443-458, 2014 [14] Mohammad, Rami, McCluskey, T a Thabtah and F Abdeljaber, "Intelligent Rule based Phishing Websites Classification," IET Information Security, pp 153-160, 2014 [15] M Karabatak and T Mustafa, "Performance comparison of classifiers on reduced phishing website dataset," in 2018 6th International Symposium on Digital Forensic and Security (ISDFS), Antalya, Turkey, 2018 [16] R M A Mohammad, L McCluskey and F Thabtah, "UCI Machine Learning Repository," 26 03 2015 [Online] Available: https://archive.ics.uci.edu/ml/datasets/phishing+websites [17] Breiman, L., J H Friedman, R A Olshen and C J Stone, "Classification and Regression Trees," Belmont, CA: Wadsworth International Group, 1984 [18] J Quinlan, C4.5: Programs for Machine Learning, Morgan Kaufmann, 1993 ... ĐẠI HỌC CÔNG NGHỆ PHẠM NGỌC THỌ KIẾN TRÚC NHIỀU TẦNG CHO PHÁT HIỆN VÀ NGĂN CHẶN TRANG WEB LỪA ĐẢO Chuyên ngành: An tồn thơng tin Mã số: 8480102.01 LUẬN VĂN THẠC SĨ AN TỒN THƠNG TIN NGƯỜI HƯỚNG... phát hiện và ngăn chặn trang web lừa đảo vào trình duyệt web của người dùng - 24 CHƯƠNG THIẾT KẾ KIẾN TRÚC NHIỀU TẦNG CHO PHÁT HIỆN VÀ NGĂN CHẶN TRANG WEB LỪA ĐẢO 2.1 Tổng quan Việc... 1.4.Kết quả đạt được và khả năng ứng dụng CHƯƠNG THIẾT KẾ KIẾN TRÚC NHIỀU TẦNG CHO PHÁT HIỆN VÀ NGĂN CHẶN TRANG WEB LỪA ĐẢO 2.1.Tổng quan 2.2.Tầng một và tầng hai

Ngày đăng: 21/02/2021, 09:54

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

  • Đang cập nhật ...

Tài liệu liên quan