ĐẠ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
Chun 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
1
LỜ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ẩ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
trong 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ổng
hợ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à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 mình.
Hà Nội, ngày 18 tháng 11 năm 2019
Người cam đoan
Phạm Ngọc Thọ
2
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 trong 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 trong 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 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à 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 trong quá trình học tập.
Học viên
Phạm Ngọc Thọ
3
MỤ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
4
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
5
DANH MỤC CÁC KÍ HIỆU VÀ CHỮ VIẾT TẮT
Ký hiệu
Chữ viết tắt
Ý nghĩa
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 cây 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
Trường đại học Irvine của
California
HTML
Hyper Text Markup Language
Ngôn ngữ đánh dấu siêu văn
bản
PHP
Personal Home Page
Ngôn ngữ lập trình web động
PHP
HTTP
HyperText Transfer Protocol
Giao thức truyền tải siêu văn
bản
HyperText Transfer Protocol
Giao thức truyền tải siêu văn
bản kết hợp với giao thức bảo
HTTPS
Secure
mật TLS và SSL
WWW
World Wide Web
Không gian thông tin toàn cầu
CSDL
Cơ sở dữ liệu
TP
True Positive
Dương tính thật
FP
False Positive
Dương tính giả
6
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ả
7
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 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ô
27
hình ...........
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
8
DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ
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 là 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ô phỏng siêu phẳng trong không gian hai chiều và ba chiều (20)
Hình 1.5.
Sơ đờ giải thuật rừng ngẫu nhiên
(21)
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 đảo
(24)
Hình 2.2.
Giải thuật Rừng ngẫu nhiên
(34)
Hình 2.3.
Luậ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ân (35)
lớp vuông
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
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 và xây dựng mô
(43)
hình phát hiện trên tầng một
Hình 3.2.
Chín đặc trưng được lựa chọn để huấn luyện và xây dựng mô
(44)
hình phát hiện trên tầng hai
Hình 3.3.
Chương trình huấn luyện và xây dựng mô hình phát hiện trên
(45)
tầng một
Hình 3.4.
Chương trình huấn luyện và xây dựng mô hình phát hiện trên
(46)
tầng hai
Hình 1.1.
(14)
(40)
9
Hình 3.5.
Kiến trúc extension của Chrome
(47)
Hình 3.6.
Cấu trúc tập tin của extension được lập trình, cài đặt trên
trình duyệt
(47)
Hình 3.7.
Extension thực hiện trích xuất đặc trưng trên trang web
(47)
Hình 3.8.
Extension gửi vector đặc trưng của URL một lên máy chủ
web
(48)
Hình 3.9.
Extension gửi vector đặc trưng của Content lên máy chủ web (49)
Hình 3.10.
Máy chủ web đưa dữ liệu đã nhận được qua mô hình phát
hiện
(49)
Hình 3.11.
So sánh kết quả trả về với giá trị ngưỡng của tầng một
(50)
Hình 3.12.
Tiến trình ngăn chặn trang web khi phát hiện có lừa đảo
(50)
Hình 3.13.
Lưu URL của trang web lừa đảo vào Blacklist
(50)
Hình 3.14.
Gửi URL lên máy chủ web phát hiện trên tầng ba
(51)
Hình 3.15.
Thực hiện kiểm tra URL trong CSDL của Blacklist
(51)
Hình 3.16.
API key được đăng ký từ Google Cloud Platform
(52)
Hình 3.17.
API key được đăng ký từ PhishTank
(52)
Hình 3.18.
Kiểm tra URL trên API của Google Safe Browsing
(53)
Hình 3.19.
Kiểm tra URL trên API của PhishTank
(53)
Hình 3.20.
Cài đặt Extension vào trình duyệt
(56)
Hình 3.21.
Cài đặt máy chủ web trên Server
(56)
Hình 3.22.
Dữ liệu cho tiến hành thử nghiệm
(57)
Hình 3.23.
Trang web cho người dùng truy vấn URL trực tuyến
(58)
10
MỞ ĐẦU
Ngày nay, mạng Internet đã và đang mang đến một sự thay đổi to lớn trên
mọ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ôi
với thế giới trong mọi lĩnh vực: Kinh tế, chính trị, văn hoá, giáo dục, .... nhằm
trao đổi, chia sẻ thông tin một cách nhanh chóng. Đặc biệt, trong kỷ nguyên
cô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 ra
bấ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ới
con 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ùng
như: Tên đăng nhập, mật khẩu, mã sô thẻ tín dụng, thông tin tài khoản ngân
hàng, mã xác thực một lần (One Time Password - OTP) dưới hình thức tạo lập
nhữ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ôn
là một chủ đề được các tổ chức và cộng đồng người dùng Internet đặc biệt quan
tâm. Đồng thời, cũng đã có nhiều giải pháp được đề xuất bởi một sô nhà nghiên
cứ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ông
lừ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át
hiệ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áp
hiệ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ả trong
việ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ết
luậ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 đảo
trê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át
hiện đã có dựa vào cộng đồng và phương pháp học máy trong phát hiện trang
web 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óm
tắt kết quả đạt được và khả năng ứng dụng của nghiên cứu.
11
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
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 quan là trình bày phương pháp học máy sử dụng
trên thuật toán rừng ngẫu nhiên (Random Forest - RF) tùy biến tham sô, tự điều
chỉ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ác
phương pháp phát hiện dựa trên hệ chuyên gia, danh sách đen (blacklist) trên
tầ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 đặt
và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 trong
nội dung cũng như trong trình bày. Với mong mn được phát triển hơn nữa
trong 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.
12
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
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
10
Tháng
11
Tháng
12
Quý I - Năm 2019
Tháng
1
Tháng
2
Tháng
3
Quý II - Năm 2019
Tháng
4
Tháng
5
Tháng
6
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ạ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
13
gia 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ặng
nề cho nền kinh tế thế giới nói chung và những nguy cơ mất an toàn thông tin
nó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 Q II - 2019
90,000
80,000
70,000
60,000
50,000
40,000
30,000
20,000
10,000
0
Tháng
10/2018
Tháng Tháng
11/201812/2018
Tháng
1/2019
Tháng
2/2019
Tháng
3/2019
Tháng
4/2019
Tháng
5/2019
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ện
tử, dịch vụ lưu trữ trực tú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
14
Tại Việt Nam, theo sô liệu thông kê của Bộ Thông tin và Truyền thông tại
thờ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ấn
cô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ến
hà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áp
hoạ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ạt
ngườ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ành
nhữ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ủa
trang web gôc như logo, bô cục và nội dung của trang web để người dùng không
phá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 nhau
như 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
15
tin 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ân
tham gia chương trình trúng thưởng, ...Sau đó, chúng gửi hàng nghìn email kiểu
nà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 đôi
tượng lừa đảo thu thập, tổng hợp để thực hiện những mục đích riêng như: Bán
dữ 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ện
và 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ây
dựng và phát triển bởi tổ chức OpenDNS [2], nó cung cấp một hệ thông xác
minh lừa đảo dựa vào cộng đồng nơi người dùng gửi URL của những trang web
bị nghi ngờ lừa đảo và những người dùng khác “bỏ phiếu”cho URL đó có hay
khôg sự lừa đảo. Thực chất, giải pháp của PhishTank chính là việc duy trì một
danh sách đen (blacklist) bởi người sử dụng. Dữ liệu tại đây được cung cấp miễn
phí để tải xuông hoặc truy cập thông qua lệnh gọi API, gồm cả cho mục đích
thương mại.
-
16
- 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 danh
sá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ác
biế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 thay
thế 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ương
hiệ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à danh
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ười
dù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ông
báo giúp đưa ra cảnh báo trước nguy cơ của cuộc tấn công lừa đảo.
17
+ 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ả hai
khô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 web
hợ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ấu
hiệ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 zeroday. Tuy nhiên, phương pháp này cũng có nhược điểm là cho ra tỷ lệ dương tính
giả 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ảng
cá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ền
khá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ình
nà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à so
sá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ực
hiệ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
-
18
(Cascading Style Sheet) để giả mạo các trang web gôc [7]. Trong phương pháp
này, việc so sánh kiểu CSS đã được thực hiện với các trang web trong danh sách
trắ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. Trong
phầ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 quy
Logistic (Logistic Regression - LR), cây quyết định (Decision Tree - DT), Naive
Bayes (NB), máy vector hỗ trợ (Support Vector Machine - SVM), rừng ngẫu
nhiê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 śt trang web lừa đảo
(y=1) và các yếu tô ảnh hưởng được thể hiện:
(1)
1
( =1| ; , )= ( + )=
1+
−(
+ )
Tôi ưu hàm Hồi quy Logistic có thể được tính toán theo công thức:
1
( ,)←
∑− (
log
+ (1 − ) log(1 − )
(2)
,
=1
Trong đó, T là kích cỡ tập dữ liệu trang web lừa đảo, yt 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ây
dự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
19
đặ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ết
hợ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ên
giá trị của các đặc trưng.
Quá trình học cây qú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ọi
nú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ưng
cho 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)
( | = 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ến
dù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 đa
chiề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
20
phẳ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ần
nhấ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ày
gọi là các lề (margin). Do đó, siêu phẳng tôi ưu là siêu phẳng có khoảng cách
giữ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:
WTx + 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
( , )←
∑ max(0,1 − ( .
,
2
+ )) + || ||
(5)
2
=1
Nhờ đó 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
21
(bootstrap). Các thuộc tính tại mỗi nút con được chọn ngẫu nhiên từ không gian
thuộ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 vector
ngẫ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 ( )
1
- Đôi với bài toán phân lớp: ( ) = [ ∑
=1
( )]
22
1.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
- Phát hiện chính xác - Là một phương pháp tiếp cận hiện đại
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ó 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ừa
chức và cá nhân.
đảo mới được tạo ra.
Nhược
điểm
- Khả năng cập nhật cơ
sở dữ liệu chậm.
- Không thể phát hiện
những trang web
lừa
đảo mới được tạo ra.
- Khó tiếp cận đôi những người mới
nghiên cứu phương pháp học máy.
- Kết quả phát hiện có tỉ lệ sai sót
(dương tính giả và âm tính giả) nhất
định
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ể:
23
- 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ấp
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.
- 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ên
tầ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ô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.