Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 63 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
63
Dung lượng
3,74 MB
Nội dung
ĐẠ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 tồ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 đỡ hướng dẫn tôi śt 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 10 CHƯƠNG GIỚI THIỆU 12 1.1 Thực trạng đáng báo động của trang web lừa đảo 12 1.2 Các giải pháp đã có nhằm ngăn chặn trang web lừa đảo 15 1.2.1 Giải pháp dựa vào cộng đồng 15 1.2.2 Giải pháp dựa vào học máy 18 1.3 Tiếp cận của 22 1.4 Kết quả đạt được khả năng ứng dụng 23 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 24 2.1 Tổng quan 24 2.2 Tầng một tầng hai 26 2.2.1 Nhiệm vụ sàng lọc 26 2.2.2 Phương pháp phát hiện dựa vào học máy 27 2.2.3 Kiểm soát tỉ lệ dương tính giả 35 2.3 Tầng ba tầng bốn 35 2.3.1 Nhiệm vụ chuẩn đoán 35 2.3.2 Tự động cập nhật Blacklist 37 2.3.3 Tham vấn dịch vụ PhishTank 38 2.3.4 Tham vấn dịch vụ Google Safe Browsing 40 CHƯƠNG CÀI ĐẶT THỬ NGHIỆM 42 3.1 Cài đặt 42 3.1.1 Kỹ thuật xây dựng chương trình 42 3.1.2 Tầng một tầng hai 43 3.1.3 Tầng ba 51 3.1.4 Tầng bốn 52 3.2 Đánh giá 53 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 Ý nghĩa Chữ viết tắt OTP One Time Password Mật khẩu sử dụng một lần RF Random Forest Thuật toán Random Forest APWG Anti Phishing Working Group Tổ chức làm việc chống tội phạm mạng lừa đảo URL Universal Resource Locator Định vị tài tuyên hợp nhất API Application Programming Interface Giao diện lập trình ứng dụng TLD Top Level Domain Tên miền cấp cao IP Internet Protocol Giao thức Internet DNS Domain Name System Hệ thống phân giải tên miền CSS Cascading Style Sheet Ngôn ngữ định kiểu tài liệu web LR Decision Tree Thuật toán quyết định NB Naive Bayes Thuật toán Naive Bayes SVM Support Vector Machine Thuật toán máy hỗ trợ vector UCI University of California, Irvine HTML Hyper Text Markup Language PHP Personal Home Page HTTP HyperText Transfer Protocol HTTPS HyperText Transfer Protocol Secure WWW World Wide Web CSDL Cơ sở dữ liệu TP True Positive Dương tính thật FP False Positive Dương tính giả Trường đại học Irvine của California Ngôn ngữ đánh dấu siêu văn bản Ngơn ngữ lập trình web động PHP Giao thức truyền tải siêu văn bản Giao thức truyền tải siêu văn bản kết hợp với giao thức bảo mật TLS SSL Khơng gian thơng tin tồn cầu TN True Negative Âm tính thật FN False Negative Âm tính giả TPR True Positive Rate Tỉ lệ dương tính thật FPR False Positive Rate Tỉ lệ dương tính giả 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 12 Bảng 1.2 Bảng mô tả ưu/ nhược điểm giải pháp đã có cho phát hiện trang web lừa đảo 22 Bảng 2.1.Các đặc trưng được trích chọn sử dụng để xây dựng mơ hình 27 Bảng 3.1.Thông tin kỹ thuật sử dụng chương trình thực nghiệm 42 Bảng 3.2 Bảng đánh giá dựa phương pháp Confusion Matrix 54 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 55 Bảng 3.4 Kết quả thực nghiệm trên các mô hình đối với tầng hai 55 DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 1.1 Hình 1.2 Biểu đồ thống kê số lượng trang web lừa đảo từ 10/2018 đến (13) 06/2019 Biểu đồ tỉ lệ phần trăm các lĩnh vực mục tiêu của tấn công (13) lừa đảo Hình 1.3 Tiến trình tấn cơng lừa đảo Hình 1.4 Mơ siêu phẳng khơng gian hai chiều ba chiều (20) Hình 1.5 Sơ đờ giải thuật rừng ngẫu nhiên (14) (21) Mơ hình kiến trúc đa tầng cho phát hiện và ngăn chặn trang Hình 2.1 web lừa đảo (24) Hình 2.2 Giải thuật Rừng ngẫu nhiên (34) Luật bình chọn sớ đông cho gán nhãn nút của quyết Hình 2.3 định, nút lá có nhãn làvuông, nên điểm p và q đều được phân (35) lớp vng Hình 2.4 Giao diện website của PhishTank (38) Hình 2.5 Chức năng báo cáo trang web lừa đảo của PhishTank (39) Hình 2.6 Chức năng bỏ phiếu trang web lừa đảo của PhishTank (40) Hình 2.7 Chức năng kiểm tra trạng thái trang web của Google Safe Browsing (41) Hình 2.8 Trang web chứa tập API của Google Safe Browsing (41) Hình 3.1 Tám đặc trưng được lựa chọn để huấn luyện xây dựng mơ (43) hình phát hiện tầng một Hình 3.2 Chín đặc trưng được lựa chọn để huấn luyện xây dựng mơ (44) hình phát hiện tầng hai Hình 3.3 Chương trình huấn luyện xây dựng mơ hình phát hiện (45) tầng một Hình 3.4 Chương trình h́n luyện xây dựng mơ hình phát hiện tầng hai (46) 47 Hình 3.5 Kiến trúc extension của Chrome Hình 3.6 Cấu trúc tập tin của extension được lập trình, cài đặt trình duyệt - Extension tiến hành trích xuất các đặc trưng của URL người dùng gửi yêu cầu truy cập vào một trang web bất kỳ, cách tạo hàm JavaScript truy cập vào cấu trúc DOM của trang web để kiểm tra: Hình 3.7 Extension thực hiện trích xuất đặc trưng trên trang web 48 - Tập hợp kết quả được trả về từ hàm 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à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 URL, tiến hành kiểm tra - Kết quả từ máy chủ web trả về cho extension 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ị 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 dừng tiến trình phát hiệ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 x́t content của trang web (chủ yếu các đặc trưng bất thường mã HTML 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 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 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 xây dựng một Blacklist chứa 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 kiểm tra thông qua phần mềm ứng dụng hoặc tra cứu trực tiếp website của chúng tơi Hình 3.14 Gửi URL lên máy chủ web phát hiệ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 tầng bốn 52 3.1.4 Tầng bốn Tại tầng bốn, lần lượt sử dụng API của PhishTank 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 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 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 API của Google Safe Browsing Hình 3.19 Kiểm tra URL 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) TN (True Negative) lớn; đồng thời, tỉ lệ FP (False Positive) FN (False Negative) nhỏ (tức 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 mẫu thuộc lớp dương bị phân loại nhầm vào 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 dự đoán (Predicted class) Lớp thực tế (True class) + - + TP - True Positive FN - False Negative - FP - False Positive TN - True Negative Xuất phát từ nhiệm vụ phát hiện trang web lừa đảo đối tầng một 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 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 Positive (TP + FP) Giá trị của Precision cao đờng nghĩa với độ xác của các điểm tìm được cao: Precision = 𝑇𝑃 𝑇𝑃+ 𝐹𝑃 55 - Recall được định nghĩa là tỉ lệ số điểm True Positive số những điểm thực sự 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 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 tập 2000 dữ liệu lại từ nguồ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) trang web lành tính So sánh kết quả thực nghiệm giữa mơ hình dựa 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 Số lượng đặc trưng Precision Recall SVM 87,3% 53,1% RF 79,6% 63,0% Tầng 99,1% 30,3% Mơ hình Bảng 3.4 Kết thực nghiệm mơ hình tầng hai Số lượng đặc trưng Precision Recall SVM 79,1% 99,5% RF 84,7% 97,0% Tầng 99,2% 43,2% Mơ hình 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 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 dịch vụ máy chủ web hệ thớng máy chủ Hình 3.21 Cài đặt máy chủ web 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 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 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ị hố; Tầng ba tầng bớn thực hiện ch̉n đoán trang web lừa đảo thông qua hoạt động tham vấn dịch vụ blacklist 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 giải pháp đã có phát hiện trang web lừa đảo thông qua giải pháp cộng đờng Đờng thời, trình bày tóm tắt cơ sở lý thút của thuật tốn phân lớp kỹ thuật học máy bao gồm: Hồi quy Logistic, 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 ś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 tầng một hai - Nghiên cứu cơ chế kết nối, cách thức làm việc với API của hệ chuyên gia của Google Safe Browsing PhishTank - Tiến hành cài đặt 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 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 ... 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 xây dựng kiến trúc nhiều... cứu 11 Chương Thiết kế kiến trúc nhiều tầng cho phát ngăn chặn trang web lừa đảo Trình bày tổng quan kiến trúc nhiều tầng cho phát hiện và ngăn chặn trang web lừa đảo Sau phần tổng...ĐẠ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