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
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 1 GIỚI THIỆU
1.1.Thực trạng đáng báo động của các trang web lừa đảo
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
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 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
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 3 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á
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
Ký hiệu
Interface
HyperText Transfer ProtocolHTTPS
Secure
Trang 8CSDL Cơ sở dữ liệu
Trang 9FN False Negative
Trang 10DANH 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 trong 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
Hình 1.1.
Hình 1.2.
Hình 1.3.
Hình 1.4.
Hình 1.5.
Hình 2.1.
Hình 2.2.
Hình 2.3.
Hình 2.4.
Hình 2.5.
Hình 2.6.
Hình 2.7.
Hình 2.8.
Hình 3.1.
Hình 3.2.
Hình 3.3.
Hình 3.4.
8
D A N H M Ụ C C Á C H Ì N H V Ẽ , Đ Ồ T H Ị
Trang 11Giao 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 12Extension 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 13MỞ ĐẦ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 14Chươ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 15CHƯƠ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 đích
chiế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ật
khẩ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ài
khoả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ện
hà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 Phishing
Working Group), trong quý II năm 2019 đã phát hiện có tổng sô 182.465 trang
web 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
Tháng
1056.815
(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ạm
lậ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ững
trang web đó trước khi phát tán tới người dùng Do đó, khi người dùng truy cập
và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 duy
nhất của các trang web lừa đảo (không tính đến những URL biến thể của cùng
mộ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ác
trang 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 16gia 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 17Tạ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 18tin 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 19- 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
sá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 20+ 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 21(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:
( =1| ; , )= ( + )=
Tôi ưu hàm Hồi quy Logistic có thể được tính toán theo công thức:
( , ) ←
,
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 22đặ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],
như loại bỏ nhánh không phù hợp (nhánh lỗi)
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:
( =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ó
[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 23phẳ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:
W T x + b = 0
Khi đó khoảng cách được tính bằng công thức:
ℎ = | 0 + |
√∑ =1 2
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
w và b sao cho:
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 24(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 251.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ếp
cận cho phát hiện, ngăn chặn trang web lừa đảo và đã được công bô trên phương
diệ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ương
phá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
Giải
pháp
Ưu/ Dựa vào cộng đồng Dựa vào phương pháp học máy Nhược
điểm
trang web lừa đảo.dựa trên nền tảng của trí tuệ nhân tạo
- Dễ dàng sử dụng và có
công cụ được phát triểnriêng biệt bởi cácchức và cá nhân
- Khả năng cập nhật cơ
- Không thể phát hiện
điểm
những trang webđảo mới được tạo ra
Xuất phát từ những ưu và nhược điểm của hai nhóm giải pháp đã nêu ở
trên, chúng tôi tiến hành kết hợp những ưu điểm của cả hai giải pháp; đồng thời,
đề xuất tạo nên kiến trúc nhiều tầng cho phát hiện và ngăn chặn trang web lừa
đảo Kiến trúc mà chúng tôi đề xuất được chia thành bôn tầng Cụ thể:
Trang 26- 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
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
giả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
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
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ủangười dùng
Trang 27CHƯƠ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 28hay 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 29và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
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:
dựng mô hình phát hiện
Forest tiến hành xây dựng mô hình phát hiện
lừa đảo) để đưa ra giá trị ngưỡng làm căn cứ cho việc phát hiện lừa đảo
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 30- 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.
hiện
đã được huấn luyện tại pha trước
đượ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
từ 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
Trang 3317 Iframe
Trang 34Vớ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
→ 1
- 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ó