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 TOÀN THÔNG TIN Hà Nội - 2019... TRƯỜNG ĐẠI HỌC CÔNG NGHỆPHẠM N
Trang 1TRƯỜ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 TOÀN THÔNG TIN
Hà Nội - 2019
Trang 2TRƯỜ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 toàn thông tin
Mã số: 8480102.01
LUẬN VĂN THẠC SĨ AN TOÀN THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: TS LÊ ĐÌNH THANH
Hà Nội - 2019
Trang 3LỜI CAM ĐOAN
Tôi xin cam đoan các kết quả nghiên cứu trong luận văn này là sản phẩmcủ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àytrong toàn bộ luận văn này là những gì do tôi tự nghiên cứu hoặc là được tổnghợp từ nhiều nguồn tài liệu khác nhau Các tài liệu tham khảo có xuất xứ rõ ràngvà đượ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 mình
Hà Nội, ngày 18 tháng 11 năm 2019
Người cam đoan
Phạm Ngọc Thọ
Trang 4LỜ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ê ĐìnhThanh, 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ậntình chỉ bảo, giúp đỡ và hướng dẫn tôi trong suô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 trong Khoa Công nghệ Thôngtin, Trường Đại học Công nghệ, Đại học Quôc gia Hà Nội đã luôn tận tâm truyềndạy cho tôi những kiến thức bổ ích trong thời gian tôi tham gia học tập vànghiên cứu tại nhà trường
Tôi cũng xin gửi lời cám ơn tới Ban Lãnh đạo và
Toán - Tin học, Học viện Cảnh sát Nhân dân, nơi tôi
giúp đỡ tôi trong quá trình học tập
các đồng nghiệp Bộ môncông tác đã tạo điều kiện
Học viên
Phạm Ngọc Thọ
Trang 5MỤC LỤC
LỜI CAM ĐOAN 1
LỜI CẢM ƠN 2
MỤC LỤC 3
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT 5
DANH MỤC CÁC BẢNG 7
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ 8
MỞ ĐẦU 10
CHƯƠNG 1 GIỚI THIỆU 12
1.1 Thực trạng đáng báo động của các 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 chúng tôi 22
1.4 Kết quả đạt được và khả năng ứng dụng 23
CHƯƠNG 2 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 và 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 và 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 3 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 và tầng hai 43
3.1.3 Tầng ba 51
3.1.4 Tầng bôn 52
3.2 Đánh giá 53
Trang 63.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
Trang 7DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
OTP One Time Password Mật khẩu sử dụng một lần
APWG Anti Phishing Working Group Tổ chức làm việc chông tội
phạm mạng lừa đảoURL Universal Resource Locator Định vị tài tuyên hợp nhấtAPI Application Programming Giao diện lập trình ứng dụng
Interface
DNS Domain Name System Hệ thông phân giải tên miềnCSS Cascading Style Sheet Ngôn ngữ định kiểu tài liệu
web
LR Decision Tree Thuật toán cây quyết định
SVM Support Vector Machine Thuật toán máy hỗ trợ vectorUCI University of California, Irvine Trường đại học Irvine của
CaliforniaHTML Hyper Text Markup Language Ngôn ngữ đánh dấu siêu văn
bảnPHP Personal Home Page Ngôn ngữ lập trình web động
PHPHTTP HyperText Transfer Protocol Giao thức truyền tải siêu văn
bảnHyperText Transfer Protocol Giao thức truyền tải siêu văn
Secure
mật TLS và SSLWWW World Wide Web Không gian thông tin toàn cầuCSDL Cơ sở dữ liệu
Trang 8TN True Negative Âm tính thật
TPR True Positive Rate Tỉ lệ dương tính thậtFPR False Positive Rate Tỉ lệ dương tính giả
Trang 9DANH MỤC CÁC BẢNG
năm 2019 12
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 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 trong chương trình thực nghiệm 42
Bảng 3.2 Bảng đánh giá dựa trên 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
Trang 10Mô hình kiến trúc đa tầng cho phát hiện và ngăn chặn trangweb lừa đảo
Giải thuật Rừng ngẫu nhiênLuật bình chọn sô đông cho gán nhãn ở nút lá của cây quyếtđịnh, nút lá có nhãn làvuông, nên điểm p và q đều được phânlớp vuông
Giao diện website của PhishTankChức năng báo cáo trang web lừa đảo của PhishTank Chức năng bỏ phiếu trang web lừa đảo của PhishTankChức năng kiểm tra trạng thái trang web của Google SafeBrowsing
Trang web chứa tập API của Google Safe BrowsingTám đặc trưng được lựa chọn để huấn luyện và xây dựng mô
hình phát hiện trên tầng mộtChín đặc trưng được lựa chọn để huấn luyện và xây dựng môhình phát hiện trên tầng hai
Chương trình huấn luyện và xây dựng mô hình phát hiện trêntầng một
Chương trình huấn luyện và xây dựng mô hình phát hiện trêntầng hai
(13)(13)(14)(20)(21)(24)(34)
(35)
(38)(39)(40)(41)(41)(43)(44)(45)(46)
Trang 11Extension thực hiện trích xuất đặc trưng trên trang webExtension gửi vector đặc trưng của URL một lên máy chủ
webExtension gửi vector đặc trưng của Content lên máy chủ webMáy chủ web đưa dữ liệu đã nhận được qua mô hình pháthiện
So sánh kết quả trả về với giá trị ngưỡng của tầng mộtTiến trình ngăn chặn trang web khi phát hiện có lừa đảoLưu URL của trang web lừa đảo vào Blacklist
Gửi URL lên máy chủ web phát hiện trên tầng baThực hiện kiểm tra URL trong CSDL của BlacklistAPI key được đăng ký từ Google Cloud PlatformAPI key được đăng ký từ PhishTank
Kiểm tra URL trên API của Google Safe BrowsingKiểm tra URL trên API của PhishTank
Cài đặt Extension vào trình duyệtCài đặt máy chủ web trên ServerDữ liệu cho tiến hành thử nghiệmTrang web cho người dùng truy vấn URL trực tuyến
(47)(47)(47)(48)(49)(49)(50)(50)(50)(51)(51)(52)(52)(53)(53)(56)(56)(57)(58)
Trang 12MỞ ĐẦU
Ngày nay, mạng Internet đã và đang mang đến một sự thay đổi to lớn trênmọi phương diện của cuộc sông, giúp con người có thể kết nôi nhau và kết nôivới thế giới trong mọi lĩnh vực: Kinh tế, chính trị, văn hoá, giáo dục, nhằmtrao đổi, chia sẻ thông tin một cách nhanh chóng Đặc biệt, trong kỷ nguyêncông nghệ sô - thời kỳ của nền công nghiệp 4.0 hướng tới mọi hệ thông, thiết bị,phương tiện và con người có thể giao tiếp với nhau một cách dễ dàng
Tuy nhiên, kéo theo đó là những nguy cơ mất toàn thông tin có thể xảy rabất cứ lúc nào Một trong những môi đe dọa hiện hữu, đã tác động trực tiếp tớicon người chính là vấn đề lừa đảo Lừa đảo là một hình thức tấn công của cácđôi tượng tội phạm mạng nhằm chiếm đoạt thông tin nhạy cảm của người dùngnhư: Tên đăng nhập, mật khẩu, mã sô thẻ tín dụng, thông tin tài khoản ngânhàng, mã xác thực một lần (One Time Password - OTP) dưới hình thức tạo lậpnhững trang web giả mạo với trang web của các tổ chức hợp pháp
Do đó, việc nghiên cứu phát hiện và ngăn chặn các trang web lừa đảo luônlà một chủ đề được các tổ chức và cộng đồng người dùng Internet đặc biệt quantâm Đồng thời, cũng đã có nhiều giải pháp được đề xuất bởi một sô nhà nghiêncứu nhằm ngăn chặn tôi đa các cuộc tấn công lừa đảo; song những kẻ tấn cônglừa đảo luôn tìm cách thay đổi phương thức hoạt động nhằm ngăn cản sự pháthiện Vì vậy, đề xuất một giải pháp có sự tiến hoá được xem là một phương pháphiệu quả trong việc phát hiện và ngăn chặn trang web lừa đảo
Luận văn “Kiến trúc nhiều tầng cho phát hiện và ngăn chặn trang web lừađảo” được thực hiện nhằm đề xuất và thử nghiệm một giải pháp hiệu quả trongviệc phát hiện và ngăn chặn trang web lừa đảo Ngoài các phần mở đầu và kếtluận, luận văn bao gồm 3 chương:
Chương 1 Giới thiệu
Chương này trình bày thực trạng đáng báo động của các trang web lừa đảotrên thế giới nói chung và tại Việt Nam nói riêng Trình bày các giải pháp pháthiện đã có dựa vào cộng đồng và phương pháp học máy trong phát hiện trangweb lừa đảo Chương 1 cũng trình bày tóm tắt cách tiếp cận của luận văn; tómtắt kết quả đạt được và khả năng ứng dụng của nghiên cứu
Trang 13Chương 2 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
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 trangweb lừa đảo Sau phần tổng quan là trình bày phương pháp học máy sử dụngtrên thuật toán rừng ngẫu nhiên (Random Forest - RF) tùy biến tham sô, tự điềuchỉnh tỉ lệ dương tính giả trong phát hiện trang web lừa đảo, thực hiện nhiệm vụsàng lọc cho tầng một và tầng hai của kiến trúc Cuôi chương này trình bày cácphương pháp phát hiện dựa trên hệ chuyên gia, danh sách đen (blacklist) trêntầng ba và gọi API của PhishTank, Google Safe Browsing trên tầng bôn
Chương 3 Cài đặt thử nghiệm
Là chương kết thúc của luận văn, trình bày kỹ thuật cài đặt thử nghiệm vàcác bước được triển khai trên mỗi tầng Lựa chọn phương pháp và tiến hànhđánh giá, so sánh kết quả thử nghiệm Đồng thời, nghiên cứu và triển khai thửnghiệm tích hợp kết quả nghiên cứu vào một tiện ích mở rộng (extension) cài đặtvào trình duyệt của người dùng
Trong quá trình thực hiện luận văn không tránh khỏi những thiếu sót trongnội dung cũng như trong trình bày Với mong muôn được phát triển hơn nữatrong lĩnh vực đang nghiên cứu, tác giả của luận văn rất mong nhận được sựđóng góp ý kiến của các thầy cô giáo và của các anh/chị học viên
Trang 14CHƯƠNG 1 GIỚI THIỆU 1.1 Thực trạng đáng báo động của các trang web lừa đảo
Trang web lừa đảo được tạo ra bởi các đôi tượng tội phạm nhằm mục đíchchiếm đoạt những thông tin nhạy cảm của người dùng như tên đăng nhập, mậtkhẩu, mã sô thẻ tín dụng, mã xác thực OTP và các thông tin liên quan tới tàikhoản ngân hàng, Với sự kết hợp giữa hai yếu tô chính, đó là: Sử dụng kỹthuật tạo trang web giả mạo với trang web của các tổ chức hợp pháp và yếu tôtác động tâm lý của người dùng (hay còn được biết đến là Social Engineering -
Kỹ nghệ xã hội) đã góp phần thành công giúp các đôi tượng tội phạm thực hiệnhành vi lừa đảo
Trên thế giới, theo sô liệu báo cáo của tổ chức APWG [1] (Anti PhishingWorking Group), trong quý II năm 2019 đã phát hiện có tổng sô 182.465 trangweb lừa đảo Con sô này tăng lên đáng kể so với quý I năm 2019 phát hiện là180.768 và quý IV năm 2018 là 138.328 trang web lừa đảo
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 201
Quý IV - Năm 2018 Quý I - Năm 2019 Quý II - Năm 2019
Tháng Tháng Tháng Tháng Tháng Tháng Tháng Tháng Tháng
56.815 35.719 45.794 48.663 50.983 81.122 59.756 61.820 60.889
(Tổng hợp số liệu trích từ nguồn của APWG)
Tuy nhiên, khi một trang web lừa đảo được tạo ra, các đôi tượng tội phạmlập tức tiến hành thay đổi thành hàng nghìn các biến thể địa chỉ URL của nhữngtrang web đó trước khi phát tán tới người dùng Do đó, khi người dùng truy cậpvào những địa chỉ này thì sẽ đều được điều hướng tới cùng một trang đích lừađảo Sô liệu mà APWG đã tiến hành thông kê sô lượng được dựa vào tính duynhất của các trang web lừa đảo (không tính đến những URL biến thể của cùngmột trang web)
Qua sô liệu được báo cáo từ APWG có thể dễ dàng nhận thấy, sô lượng cáctrang web lừa đảo xuất hiện trong những năm trở lại đây ngày càng có xu hướng
Trang 15gia tăng mà không có dấu hiệu giảm xuông Điều này gây ra những tổn thất nặngnề cho nền kinh tế thế giới nói chung và những nguy cơ mất an toàn thông tinnói riêng đôi với các tổ chức, doanh nghiệp và đặc biệt là với cá nhân.
Số lượng trang web lừa đảo từ Quý IV - 2018 đến Quý II - 2019
Tháng 2/2019
Tháng 3/2019
Tháng 4/2019 5/2019Tháng
Tháng
6/2019
Hình 1.1 Biểu đồ thông kê sô lượng trang web lừa đảo từ 10/2018 đến 06/2019
Mục tiêu của các cuộc tấn công lừa đảo được các đôi tượng hướng tới chủyếu tập trung vào một sô lĩnh vực như: Phần mềm dưới dạng dịch vụ, dịch vụwebmail, dịch vụ thanh toán, dịch vụ của các tổ chức tài chính, thương mại điệntử, dịch vụ lưu trữ trực tuyến,
Hình 1.2 Biểu đồ tỉ lệ phần trăm các lĩnh vực là mục tiêu của tấn công lừa đảo
Trang 16Tại Việt Nam, theo sô liệu thông kê của Bộ Thông tin và Truyền thông tạithời điểm 6 tháng đầu năm 2019, trong tổng sô 3.159 cuộc tấn công mạng vào hệthông thông tin, có 968 cuộc tấn công thay đổi giao diện (Deface), 635 cuộc tấncông cài cắm mã độc (Malware) và đặc biệt đôi với loại hình tấn công lừa đảo(Phishing) có tới 1.556 Trong đó, các cuộc tấn công lừa đảo chủ yếu được tiếnhành thông qua việc xây dựng các trang web giả mạo với các tổ chức hợp pháphoạt động trong các lĩnh vực tài chính, ngân hàng, mạng xã hội, nhằm lừa gạtngười dùng cung cấp thông tin nhạy cảm cá nhân hòng chiếm đoạt chúng.
Để thực hiện thành công hành vi lừa đảo, đôi tượng tấn công sẽ tiến hànhnhững cách thức như sau:
Hình 1.3 Tiến trình tấn công lừa đảo
- Tạo một trang web giả mạo: Là một phần kế hoạch của cuộc tấn công
lừa đảo, những đôi tượng tấn công tạo ra một trang web giả mạo có giao diện vàtương tác tương tự với trang web gôc Chúng sử dụng những tính năng chính củatrang web gôc như logo, bô cục và nội dung của trang web để người dùng khôngphát hiện đấy là trang web giả mạo
- Liên kết một trang web giả mạo qua email: Sau khi tạo ra trang web
giả mạo, đôi tượng tấn công tạo ra những email với nhiều nội dung khác nhaunhư gây tính tò mò, sự kích thích về tâm lý của người dùng như: cập nhật thông
Trang 17tin tài khoản trong các dịch vụ tài chính - ngân hàng, khai báo thông tin cá nhântham gia chương trình trúng thưởng, Sau đó, chúng gửi hàng nghìn email kiểunày đến người dùng và làm cho người nhận (người dùng) kích vào một URL đểchuyển hướng đến trang web giả mạo.
- Kích chuột vào một URL độc hại: Người dùng không biết URL độc hại
được cung cấp trong email, lập tức kích chuột vào và dễ dàng bị chuyển hướngđến trang web giả mạo do đôi tượng lừa đảo đã tạo ra Tại đây, một cuộc tấn công lừa đảo bắt đầu diễn ra
- Nhập thông tin nhạy cảm: Khi người dùng được chuyển hướng đến
trang web giả mạo, các thông tin nhạy cảm như tên đăng nhập, mật khẩu, mã sôthẻ tín dụng và các thông tin khác được người dùng lần lượt nhập trên trang web
do những đôi tượng lừa đảo đã tạo ra
- Tập hợp dữ liệu sau khi đánh cắp và sử dụng nó: Khi người dùng đã
nhập những thông tin nhạy cảm, tất cả những dữ liệu này sẽ được những đôitượng lừa đảo thu thập, tổng hợp để thực hiện những mục đích riêng như: Bándữ liệu người dùng, giao dịch bất hợp pháp, thực hiện hoạt động rửa tiền
1.2 Các giải pháp đã có nhằm ngăn chặn trang web lừa đảo
1.2.1 Giải pháp dựa vào cộng đồng
Hiện nay, có nhiều giải pháp dựa trên cộng đồng được đề xuất để phát hiệnvà ngăn chặn trang web lừa đảo Một sô giải pháp được tiếp cận bao gồm:PhishTank, Google Safe Browsing, PhishNet, PhishGuard, SpoofGuard,BaitAlarm
- PhishTank: Là một giải pháp giúp cộng đồng người dùng có thể dễ dàng
phát hiện những trang web nghi ngờ có dấu hiệu lừa đảo PhishTank được xâydựng và phát triển bởi tổ chức OpenDNS [2], nó cung cấp một hệ thông xácminh lừa đảo dựa vào cộng đồng nơi người dùng gửi URL của những trang webbị nghi ngờ lừa đảo và những người dùng khác “bỏ phiếu”cho URL đó có haykhôg sự lừa đảo Thực chất, giải pháp của PhishTank chính là việc duy trì mộtdanh sách đen (blacklist) bởi người sử dụng Dữ liệu tại đây được cung cấp miễnphí để tải xuông hoặc truy cập thông qua lệnh gọi API, gồm cả cho mục đíchthương mại
Trang 18- Google Safe Browsing: Đây là giả pháp sử dụng các URL trong danh
sách đen để khám phá các cuộc tấn công lừa đảo [3] Mỗi URL cần kiểm trađược sử dụng làm dữ liệu đầu vào và thực hiện kiểm tra URL đó trong kho danhsách đen Nếu URL có trong kho danh sách đen thì xác định đây là trang web lừađảo; ngược lại, trang web là lành tính Với giải pháp này, điểm hạn chế chính làkhông có khả phát hiện những trang web có URL không tồn tại trong danh sáchđen, điểm này sẽ làm tăng tỉ lệ dương tính giả trong phát hiện trang web lừa đảo
- PhishNet: Giải pháp này có thể khắc phục các vấn đề liên quan đến danh
sách đen Giải pháp bao gồm hai bước chính: Tạo ra các biến thể URL so với cácbiến thể ban đầu để phát triển danh sách đen và cấu trúc dữ liệu gán từng điểm
sô cho URL dựa trên sự tương đồng của URL hiện có [4] Trong bước thứ nhất,nó sử dụng các phương pháp phỏng đoán khác nhau để tạo các URL mới thaythế tên miền cấp cao nhất (TLD - Top level domain), tương đương địa chỉ IP,tương tự cấu trúc thư mục, thay thế chuỗi truy vấn, tương đương với tên thươnghiệu Trong bước thức hai gồm, kỹ thuật đôi sách giúp kiểm tra địa chỉ
IP, tên máy chủ,
- PhishGuard: Đây là giải pháp thực hiện trên thuật toán ObURL để đánh
giá các trang web đáng ngờ dựa trên sự xuất hiện trực quan của các trang web[5] Thuật toán này được xác định bằng cách: Kiểm tra danh sách đen và danhsách trắng (whitelist), kiểm tra địa chỉ IP, kiểm tra sử dụng dịch vụ rút gọn URL,kiểm tra DNS và kiểm tra trên khuôn mẫu
+ Kiểm tra danh sách đen và danh sách trắng: Trong thử nghiệm này, tất cả
các URL lần lượt được xác minh trong danh sách đen và danh sách trắng Ngườidùng an toàn khi URL được tìm thấy trong sách trắng; đồng thời, người dùng sẽđược cảnh báo nếu URL mà họ truy cập được tìm thấy trong danh sách
đen
+ Kiểm tra sử dụng dịch vụ rút gọn URL: Với thử nghiệm này, nếu đôi
tượng tấn công sử dụng dịch vụ rút gọn URL thì người dùng sẽ nhận được thôngbáo giúp đưa ra cảnh báo trước nguy cơ của cuộc tấn công lừa đảo
Trang 19+ Kiểm tra DNS: Trong thử nghiệm này, được thực hiện trích xuất và kiểm
tra giá trị của neo (anchor) và các liên kết Nếu cả hai giá trị không giông nhau,người dùng sẽ nhận được thông báo rằng cả hai DNS là đều khác nhau
+ Kiểm tra trên khuôn mẫu: Trong thử nghiệm này, siêu liên kết và neo
được xác minh cho từng URL, nếu cả hai giông hệt nhau, người dùng sẽ khôngđược thông báo; trong khi cảnh báo được hiển thị cho người dùng nếu cả haikhông giông nhau
- SpoofGuard: Trong giải pháp này [6], các đặc tính lừa đảo được kiểm tra
đôi với các trang web đáng ngờ để phân loại xem một trang web là trang webhợp pháp hay lừa đảo Một sô phương pháp phỏng đoán bao gồm: Kiểm tra hìnhảnh; kiểm tra liên kết; kiểm tra URL và kiểm tra trường mật khẩu Tất cả các dấuhiệu này được đưa ra một trọng sô, dựa trên đó trang web được phân loại phùhợp Nếu tổng sô điểm của các dấu hiệu lừa đảo được liệt kê ở trên vượt quángưỡng, thì nó được phân loại là trang web lừa đảo; ngược lại được phân loại làmột trang web hợp pháp Cách tiếp cận này có thể phát hiện cuộc tấn công zero-day Tuy nhiên, phương pháp này cũng có nhược điểm là cho ra tỷ lệ dương tínhgiả cao trong phát hiện Giải pháp được mô tả như sau:
+ Kiểm tra tên miền: Đặc tính này được sử dụng để xác minh tên miền của
URL đã thử trong lịch sử trình duyệt Sự giông nhau được đánh giá bởi khoảngcách chỉnh sửa của hai miền Khoảng cách chỉnh sửa được định nghĩa là sôlượng ký tự được thêm hoặc xóa để chuyển đổi từ tên miền này sang tên miềnkhác
+Kiểm tra URL: Kiểm tra URL sẽ được kích hoạt nếu có bất kỳ vấn đề nào
liên quan đến tên miền, tên đăng nhập và sô cổng của một URL cụ thể
+ Kiểm tra hình ảnh: Đặc tính này được sử dụng để so sánh các hình ảnh
trong một trang web mới với hình ảnh trên các trang web trước đó Quá trìnhnày được thực hiện bằng cách thu thập mọi hình ảnh, tính toán hàm băm và sosánh giá trị băm với các giá trị trước đó Sau khi tất cả các kiểm tra được thựchiện, các trọng sô từ mỗi vòng được tính toán để so sánh với giá trị ngưỡng đểxác định xem có nên hiển thị cảnh báo cho người dùng hay không
- BaitAlarm: Giải pháp này sử dụng để phát hiện trang web lừa đảo dựa
trên hình ảnh, trong đó đôi tượng tấn công sử dụng cùng một kiểu CSS
Trang 20(Cascading Style Sheet) để giả mạo các trang web gôc [7] Trong phương phápnày, việc so sánh kiểu CSS đã được thực hiện với các trang web trong danh sáchtrắng với các trang web đáng ngờ để phát hiện các cuộc tấn công lừa đảo.
1.2.2 Giải pháp dựa vào học máy
Với giải pháp dựa vào học máy, có nhiều thuật toán phân lớp được áp dụng
để huấn luyện mô hình dự đoán cho bài toán phát hiện trang web lừa đảo Trongphần này, luận văn tìm hiểu một sô thuật toán học máy phổ biến như: Hồi quyLogistic (Logistic Regression - LR), cây quyết định (Decision Tree - DT), NaiveBayes (NB), máy vector hỗ trợ (Support Vector Machine - SVM), rừng ngẫunhiên (Random Forest - RF)
1.2.2.1 Hồi quy Logistic (Logistic Regression -LR)
Phương pháp Hồi quy Logistic là một phương pháp sử dụng mô hình hồi
quy nhằm dự đoán giá trị đầu ra rời rạc y ứng với một véc-tơ đầu vào x Phương
pháp này thường được sử dụng để dự báo sự có hay không có mặt của biến phụ
thuộc y dựa vào giá trị của biến độc lập x.
Theo mô hình Hồi quy Logistic, quan hệ giữa xác suất trang web lừa đảo
(y=1) và các yếu tô ảnh hưởng được thể hiện:
Trong đó, T là kích cỡ tập dữ liệu trang web lừa đảo, y t là lớp tương ứng
của dữ liệu thứ t trong tập dữ liệu (+ ).
1.2.2.2 Cây quyết định (Decision Tree - DT)
Cây quyết định là một dạng đặc biệt của cấu trúc cây được xây dựng để trợgiúp việc ra quyết định dựa trên các câu hỏi Kỹ thuật học máy sử dụng việc xâydựng cây quyết định trên tập dữ liệu được gọi là học bằng cây quyết định hayđơn giản chỉ là cây quyết định Mỗi nút bên trong của cây tương ứng với một
Trang 21đặc trưng, các nút lá đại diện cho các phân loại và các cành đại diện cho các kếthợp của các đặc trưng dẫn tới phân loại đó Các cành được phân tách dựa trêngiá trị của các đặc trưng.
Quá trình học cây quyết định gồm 3 giai đoạn:
1- Tạo cây: Sử dụng thuật toán phân lớp để phân chia dữ liệu sao cho mọinút lá đều có cùng một giá trị trên thuộc tính quyết định Việc lựa chọn đặc trưngcho mỗi nút được dựa trên độ lợi thông tin của các đặc trưng trên bộ huấn luyện.Có rất nhiều thuật toán phân lớp dựa trên cây quyết định như: C4.5 [8], CART[9],
2 - Cắt tỉa cây: Là việc làm nhằm khắc phục những khuyết điểm của cây như loại bỏ nhánh không phù hợp (nhánh lỗi)
3 - Kiểm định kết quả: Đánh giá độ chính xác trước khi sử dụng
1.2.2.3 Naive Bayes (NB)
Naive Bayes là một thuật toán dựa trên định lý Bayes về lý thuyết xác suất để đưa ra các
phán đoán cũng như phân loại dữ liệu Naive Bayes giả định rằng tất cả các đặc trưng của x là độc lập với nhau P(x|y) biểu thị xác suất có điều kiện của véc-tơ đặc trưng cho một lớp, giả định độc
lập ngụ ý rằng ( | ) =
∏ =1 ( | ) với d là sô lượng đặc trưng Bằng cách áp dụng lý thuyết Bayes, ta có thể tính xác suất để một véc-tơ đặc trưng x là một trang lừa đảo bằng cách:
(3)( | = 1) + ( | = −1)
Thuật toán Naive Bayes phân loại dễ dàng nhất bằng cách tính xác suất có
điều kiện P(xi|y) từ ước lượng hợp lý cực đại (Maximum Likehood Estimation)
[10]
1.2.2.4 Máy vector hỗ trợ (Support Vector Machine - SVM)
Máy vector hỗ trợ (SVM) là một thuật toán học máy có giám sát phổ biếndùng để phân chia dữ liệu thành các nhóm riêng biệt Thuật toán sẽ tìm mộtđường thẳng (trong không hai chiều) hoặc mặt phẳng (trong không gian đachiều) cũng được gọi là siêu phẳng sẽ phân tách hiệu quả nhất hai lớp Siêu
Trang 22phẳng này sau đó được dùng để phân lớp cho các dữ liệu chưa biết cần tiênđoán.
Hình 1.4 Mô phỏng siêu phẳng trong không gian hai chiều và ba chiều
Siêu phẳng tôi ưu là siêu phẳng có khoảng cách với hai điểm dữ liệu gầnnhất tương ứng với hai lớp là lớn nhất Phương trình chứa các điểm dữ liệu nàygọi là các lề (margin) Do đó, siêu phẳng tôi ưu là siêu phẳng có khoảng cáchgiữa nó và lề là xa nhất
Siêu phẳng trong không gian d chiều được biểu diễn bằng công thức:
Khi đó khoảng cách được tính bằng công thức:
ℎ = | 0 + |
SVM luôn cô gắng cực đại hoá khoảng cách này, từ đó
phẳng tạo khoảng cách xa nhất Bài toán tôi ưu là bài toán
tìm
(4)
thu được một siêu
1
( , ) ← ∑ max(0,1 − ( + )) + || || 2 (5)
=1Nhờ đó mà SVM có thể giảm thiểu việc phân lớp sai đôi với dữ liệu mới đưa vào
1.2.2.5 Rừng ngẫu nhiên (Random Forest - RF)
Rừng ngẫu nhiên [11] tạo ra một tập hợp các cây quyết định không cắt nhánh, mỗi cây được xây dựng dựa trên tập mẫu ngẫu nhiên có hoàn lại
Trang 23(bootstrap) Các thuộc tính tại mỗi nút con được chọn ngẫu nhiên từ không gianthuộc tính ban đầu.
Thủ tục xây dựng rừng ngẫu nhiên gồm ba pha: Tạo dữ liệu (tạo vectorngẫu nhiên); Xây dựng các cây cơ sở; Kết hợp các cây cơ sở theo phương thức
bỏ phiếu
Hình 1.5 Sơ đồ giải thuật rừng ngẫu nhiên
Thuật toán xây dựng rừng ngẫu nhiên:
Đầu ra của hệ cho đôi tượng x sẽ là:
- Đôi với bài toán hồi quy: ( ) = 1 ∑ =1 ( )
- Đôi với bài toán phân lớp: ( ) = [ 1 ∑ =1 ( )]
Trang 241.3 Tiếp cận của chúng tôi
Hiện nay, trên thế giới có nhiều giải pháp khác nhau trong cách thức tiếpcận cho phát hiện, ngăn chặn trang web lừa đảo và đã được công bô trên phươngdiện nghiên cứu khoa học và đã được triển khai thực nghiệm Điển hình trong sôđó là hai nhóm giải pháp: Phát hiện trang web lừa đảo dựa vào cộng đồng vàphát hiện bằng phương pháp học máy
Tuy nhiên, ở mỗi nhóm giải pháp, bên cạnh những ưu điểm đã đạt được thìvẫn còn tồn tại những hạn chế nhất định Cụ thể, ưu/nhược điểm của hai phươngpháp được tóm tắt trong bảng sau:
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
- Dễ dàng sử dụng và có - Có thể dễ dàng tuỳ biến các thuật toán
Ưu điểm thể tích hợp vào những học máy trong quá trình nghiên cứu và
công cụ được phát triển mở rộng
riêng biệt bởi các tổ - Có thể phát hiện những trang web lừachức và cá nhân đảo mới được tạo ra
- Khả năng cập nhật cơ - Khó tiếp cận đôi những người mới
Nhược sở dữ liệu chậm nghiên cứu phương pháp học máy
- Không thể phát hiện - Kết quả phát hiện có tỉ lệ sai sót
Trang 25- Tầng một và tầng hai: Cài đặt mô hình học máy đã được thiên vị hoá,
thực hiện nhiệm vụ sàng lọc nhanh trang web lừa đảo
- Tầng ba và tầng bốn: Thực hiện tham vấn dịch vụ blacklist và hỏi
chuyên gia nhằm tiến hành chuẩn đoán trang web lừa đảo
1.4 Kết quả đạt được và khả năng ứng dụng
- Sử dụng thuật toán học máy trên tầng một và tầng hai của kiến trúc đềxuất, thiên vị hóa thuật toán học máy nhằm đảm bảo tỉ lệ dương tính giả rất thấp(gần như bằng 0) giúp cho việc sàng lọc chính xác
- Xây dựng kho blacklist chứa URL của các trang web lừa đảo, cung cấpgiải pháp website cho người dùng tại Việt Nam có thể dễ dàng tra cứu và sửdụng trong phát hiện, ngăn chặn trang web lừa đảo
- Kết nôi thành công, sử dụng API (Application Programming Interface)của các hệ chuyên gia PhishTank và Google Safe Browsing, được thực hiện trêntầng bôn của kiến trúc
- Đánh giá và so sánh kết quả thử nghiệm của nghiên cứu
- 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ôngcông cụ phát hiện và ngăn chặn trang web lừa đảo vào trình duyệt web củangười dùng
Trang 26CHƯƠNG 2 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 tầng cho phát hiện và ngăn chặn trang weblừa đảo nhằm phân tách nhiệm vụ cụ thể trên mỗi tầng khác nhau, giúp giảmthiểu quá trình xử lý dữ liệu, tăng hiệu xuất cho phát hiện trang web lừa đảo.Trong đó, tầng một và tầng hai có nhiệm vụ sàng lọc những dấu hiệu lừa đảodựa vào các đặc trưng được trích xuất từ URL và Content của trang web Tầng
ba và tầng bôn có nhiệm vụ chuẩn đoán thông qua kỹ thuật sử dụng Blacklist vàtham vấn dịch vụ từ các chuyên gia PhishTank và Safe Browsing của Google
Hình 2.1 Mô hình kiến trúc đa tầng cho phát hiện và ngăn chặn
trang web lừa đảoQuy trình hoạt động của kiến trúc nhiều tầng cho phát hiện và ngăn chặntrang web lừa đảo được tích hợp vào một Plug-in trên phần mềm trình duyệt,
Trang 27hay còn được biết đến là một extension Trong đó, tầng một và tầng hai đượchoạt động như sau:
Khi người dùng truy cập tới một URL của trang web bất kỳ, extension sẽtrích xuất các đặc trưng có trên URL, kết quả sau khi trích xuất được tập hợpthành một vector đặc trưng Tiếp theo, extension gửi vector đặc trưng lên máychủ PhishSer Ngay khi nhận được dữ liệu cần xử lý, máy chủ PhishSer sẽ đưaqua mô hình phát hiện đã được huấn luyện bằng thuật toán Random Forest(được tùy biến) trên tập dữ liệu (dataset) gồm 11.055 bản ghi dữ liệu từ nguồnUCI[12][13][14][15] Kết quả của quá trình phát hiện sẽ được trả về, xác địnhURL đó có hay không lừa đảo; nếu đó là URL lừa đảo, extension trên trình duyệtcủa người dùng sẽ kích hoạt chức năng ngăn chặn không cho người dùng truycập tới nó và hiển thị thông báo cho người dùng biết Đồng thời, cập nhật URLlừa đảo này vào Blacklist (danh sách đen) Trong giai đoạn này, tầng một và tầnghai của kiến trúc cơ chế hoạt động là như nhau Điểm khác biệt giữa hai tầngtrong kiến trúc mà chúng tôi đề xuất là nhóm đặc trưng được trích xuất dựa vàogiá trị của URL tồn tại trên thanh địa chỉ của trình duyệt (Address bar) là 8 đượcthực hiện trên tầng một và nhóm đặc trưng dựa trên sự bất thường của mãHTML, JavaScript (gọi là đặc trưng dựa trên Content) là 9 (cụ thể sẽ được đặc tảtrong mục 2.2 của chương này) được thực hiện trên tầng hai Ngược lại, nếukhông phát hiện được URL là lừa đảo sẽ chuyển tiếp URL sang tầng ba và tầngbôn để kiểm tra
Trong tầng ba, với URL cần kiểm tra, máy chủ PhishSer sẽ thực hiện thamchiếu trong cơ sở dữ liệu PhishSer blacklist (kho dữ liệu chứa các URL lừa đảođược chúng tôi xây dựng bằng công nghệ PHP và MySQL) Máy chủ web trả vềkết quả, nếu URL này đã tồn tại trong Blacklist, extension sẽ tiến hành chặnURL này và thông báo tới người dùng như trên tầng một và tầng hai Ngược lại,tiếp tục chuyển tiếp URL sang tầng bôn để kiểm tra
Tại tầng bôn, URL sẽ được tham vấn với các dịch vụ của của các hệ chuyêngia PhishTank và Google Safe Browsing Hai dịch vụ này đều cung cấp chongười dùng tập thư viện hàm API (Application Programming Interface) có thểtham vấn nhanh và dễ dàng bằng nhiều ngôn ngữ lập trình khác nhau Kết quảngay sau khi hệ chuyên gia trả về sẽ được kiểm tra, nếu URL là lừa đảo,extension sẽ chặn URL này và thông báo tới người dùng và cập nhật URL này
Trang 28vào PhishSer blacklist Ngược lại, nếu không xác định được URL là lừa đảo, sẽcho phép người dùng truy cập tới URL mà họ mong muôn.
2.2 Tầng một và tầng hai
2.2.1 Nhiệm vụ sàng lọc
Được thực hiện trên tầng một và tầng hai, nhiệm vụ sàng lọc là hoạt độnggiúp hệ thông có thể phát hiện nhanh và chính xác một sô trang web lừa đảo.Chức năng sàng lọc được phép “bỏ sót” các trang lừa đảo nhưng không được
“bắt nhầm” các trang lành tính Nói cách khác, một trang web đã bị phát hiện ởtầng một và tầng hai chắc chắn là trang lừa đảo, trong khi trang web không đượcphát hiện ở tầng một và tầng hai có thể là trang lừa đảo hoặc lành tính Nhữngtrang lừa đảo đã được phát hiện ở tầng một và tầng hai sẽ không phải xử lý thêm
ở các tầng ba, tầng bôn mất nhiều thời gian, do vậy hiệu năng của tổng thể hệthông được nâng lên Những trang lừa đảo không bị phát hiện ở tầng một và tầnghai sẽ được xử lý tiếp và phát hiện ở tầng ba và tầng bôn
Quá trình sàng lọc được chia làm hai pha: Pha huấn luyện thực hiện trên tậpdữ liệu (dataset) được tải về từ kho dữ liệu học máy UCI để xây dựng mô hìnhphát hiện và pha phát hiện được tích hợp trên một Plug-in (extension) của trìnhduyệt người dùng
Tại pha huấn luyện, luận văn thực hiện các công việc sau:
- Lựa chọn các đặc trưng phù hợp trên tập dữ liệu được tải từ UCI để xây dựng mô hình phát hiện
- Sử dụng ngôn ngữ Python huấn luyện dữ liệu bằng thuật toán Random Forest tiến hành xây dựng mô hình phát hiện
- Kiểm soát tỉ lệ dương tính giả (trang web là lành tính nhưng phát hiện là lừa đảo) để đưa ra giá trị ngưỡng làm căn cứ cho việc phát hiện lừa đảo
- Lưu trữ mô hình phát hiện trên máy chủ PhishSer phục vụ việc đôi chiếu và so sánh khi có yêu cầu từ extension trên máy người dùng
Tại pha phát hiện trên extension của trình duyệt:
Trang 29- Sử dụng ngôn ngữ JavaScript trích xuất các đặc trưng có trên URL và từmã HTML, mã JavaScript của trang web cần kiểm tra Tập hợp kết quả thànhmột vector đặc trưng gửi lên máy chủ PhishSer.
- Máy chủ PhishSer tiến hành đưa vector đặc trưng qua mô hình phát hiệnđã được huấn luyện tại pha trước
- Thực hiện so sánh kết quả trả về từ mô hình phát hiện với giá trị ngưỡngđược sinh ra trên mô hình phát hiện, nếu vượt quá ngưỡng cho phép thì kết luậntrang web đó là lừa đảo, đồng thời kích extenstion kích hoạt tính năng ngăn chặnvà cảnh báo tới người dùng Ngược lại, chuyển tiếp để phát hiện trên các tầngtiếp theo
2.2.2 Phương pháp phát hiện dựa vào học máy
2.2.2.1 Trích chọn đặc trưng
Hoạt động trích chọn đặc trưng tiến hành trên URL và Content căn cứ theo
30 đặc trưng của tập dữ liệu (dataset) được tải từ kho lưu trữ UCI Tập dữ liệutừ UCI gồm 11.055 bản ghi dữ liệu, trong đó có 7.262 bản ghi dữ liệu được gánnhãn lừa đảo và 3.793 bản ghi dữ liệu gán nhãn lành tính Sô lượng đặc trưngđược chúng tôi đề xuất trong luận văn sau khi trích chọn lại là 17, đây là các đặctrưng chắc chắn sẽ trích xuất được từ trình duyệt web Mỗi đặc trưng được thửnghiệm trên trình duyệt để có thể trích xuất nó mà không cần sử dụng bất kỳdịch vụ web từ bên ngoài hoặc từ bên thứ ba nào Tuy nhiên, sô lượng đặc trưngcàng nhiều sẽ làm tăng độ chính xác trong việc phát hiện Ngược lại, sẽ làmchậm quá trình xử lý do sô lượng đặc trưng cần trích chọn là nhiều hơn
Các đặc trưng cần trích chọn được phân loại thành hai nhóm: Đặc trưng cótrong giá trị của URL tồn tại trên thanh địa chỉ (Address bar), đặc trưng bấtthường có trong mã HTML và mã JavaScript của trang web Dưới đây là danhsách các đặc trưng được trích chọn:
Bảng 2.1.Các đặc trưng được trích chọn sử dụng để xây dựng mô hình
TT Đặc trưng được trích chọn Mô tả tóm tắt Nhóm đặc
Trang 303 Shortining_Service Sử dụng dịch vụ rút gọn
URL
4 Having_At_Symbol Có biểu tượng “@”
5 Double_Slash_Redirecting Điều hướng với kí tự “//”
6 Prefix_Suffix Có kí tự “-” trong tên
miền
7 Having_Sub_Domain Vượt quá sô lượng sub
domain theo quy định
của URL
domain khác
10 Request_URL Hình ảnh, video được tải
từ domain khácCó nhiều liên kết bằng thẻ
11 URL_of_Anchor <a> tới domain khác hoặc
không có giá trị của thuộctính href
Sử dụng nguồn trong các
12 Links_in_tags thẻ <meta>, <script>, Bất thường
<link> từ domain khác trong mã
13 SFH (Server Form Handler) Thuộc tính action trong HTML và
các <form> có giá trị rỗng JavaScript
14 Submitting_to_email Có chức năng gửi email
trên trang web (mailto)Tắt tính năng trên thanh
15 On_mouseover trạng thái trình duyệt khi
đưa chuột qua liên kết
16 RightClick Tắt tính năng kích chuột
phải
dữ liệu
Trang 31Với mỗi đặc trưng được trích chọn trong Bảng 2.1, chúng tôi sẽ sử dụngchúng cho việc đề xuất quy tắc tương ứng được sử dụng trong giai đoạn thửnghiệm Các đặc trưng [16] trong tập dữ liệu của UCI được mô tả cụ thể như sau(với tất cả các quy tắc có thể quy ước thành: Lừa đảo là 1; Lành tính là -1; Nghingờ là 0):
- Địa chỉ IP: Địa chỉ IP là một mã định danh duy nhất được gắn với một
thiết bị hoạt động trên môi trường mạng Đôi tượng lừa đảo sử dụng địa chỉ IPthay vì tên miền để lừa người dùng web Bất kỳ URL hợp pháp nào cũng đượchình thành bằng cách sử dụng tên máy chủ (host name) và tên đường dẫn (pathname) nhưng không sử dụng địa chỉ IP
Quy tắc: Nếu{ IP tồn tại trong URL → 1 Không tồn tại → −1
- Độ dài của URL: URL là một chuỗi ký tự chữ và sô được sử dụng để
truy cập tài nguyên mạng trên World Wide Web (WWW) URL là sự kết hợp củagiao thức mạng, tên máy chủ và đường dẫn Độ dài của URL là một trong nhữngtính năng chính được trích xuất trong khi phát hiện các URL lừa đảo Đôi tượnglừa đảo lợi dụng độ dài của URL để che dấu những nội dung nghi ngờ mà ngườidùng web khó có thể phát hiện
Độ à < 54 → −1
Quy tắc: Nếu { ượ ạ ế Độ à → 1 ≥ 54 à ≤ 75 → 0 ượ ạ
- Sử dụng dịch vụ rút gọn URL “TinyURL”: Rút gọn URL là một
phương pháp trên Web World Wide Web, trong đó một URL có thể được làmgọn hơn đáng kể về chiều dài và vẫn dẫn đến trang web bắt buộc Phương phápnày được thực hiện bằng “HTTP Redirect” trên một tên miền ngắn, liên kết đếntrang web có URL dài Ví dụ: URL là http://portal.hud.ac.uk/ có thể rút ngắnthành bit.ly/19DXSk4
TinyURL → 1
Quy tắc: Nếu { Ngược lại → −1
- Biểu tượng “@”: Biểu tượng “@” được sử dụng bởi những kẻ tấn công
để làm cho trình duyệt web bỏ qua mọi thứ trước nó và chuyển hướng người dùng đến liên kết được nhập sau nó