ĐẠ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 TOÀN THÔNG TIN
Hà Nội - 2019
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
PHẠM NGỌC THỌ
KIẾN TRÚC NHIỀU TẦNG CHO PHÁT HIỆN VÀ
NGĂN CHẶN TRANG WEB LỪA ĐẢO
Chuyên ngành: An 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
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
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
Naive Bayes
Thuật toán Naive Bayes
SVM
Support Vector Machine
Thuật toán máy hỗ trợ vector
UCI
University of California, Irvine
HTML
Hyper Text Markup Language
PHP
Personal Home Page
HTTP
HyperText Transfer Protocol
HTTPS
HyperText Transfer Protocol
Giao thức truyền tải siêu văn
bản kết hợp với giao thức bảo
mật TLS và SSL
Không gian thông tin toàn cầu
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ả
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
(14)
(21)
Mô hình kiến trúc đa tầng cho phát hiện và ngăn chặn trang
Hình 2.1.
web lừa đảo
(24)
Hình 2.2.
Giải thuật Rừng ngẫu nhiên
(34)
Luật bình chọn số đông cho gán nhãn ở nút lá của cây quyết
Hình 2.3.
định, nút lá có nhãn làvuông, nên điểm p và q đều được phân (35)
(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
tầng hai
(46)
9
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.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
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 muốn đượ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ố
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 Quý II - 2019
90,000
80,000
70,000
60,000
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 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
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
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.
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.
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 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ọ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:
𝑃(𝑦 = 1|𝑥 ) =
𝑃(𝑥|𝑦 = 1)
𝑃(𝑥|𝑦 = 1) + 𝑃(𝑥|𝑦 = −1)
(3)
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)
1
(𝑤, 𝑏) ← 𝑎𝑟𝑔𝑤,𝑏 𝑚𝑖𝑛 ∑ max(0,1 − 𝑦𝑡 (𝑤. 𝑥𝑡 + 𝑏)) + 𝜆||𝑤|| 22
𝑇
(5)
𝑡=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à:
1
- Đối với bài toán hồi quy: 𝐶 (𝑥 ) = 𝐿 ∑𝐿𝑘=1 𝐶𝑘 (𝑥)
- 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
công cụ được phát triển
riêng biệt bởi các tổ
chức và cá nhân.
Nhược
điểm
học máy trong quá trình nghiên cứu và
mở rộng.
- Có thể phát hiện những trang web lừa
đả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
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
những trang web lừa (dương tính giả và âm tính giả) nhất
đảo mới được tạo ra.
đị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