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
63 trang |
Chia sẻ: honganh20 | Ngày: 21/02/2022 | Lượt xem: 390 | Lượt tải: 2
Bạn đang xem trước 20 trang tài liệu 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, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ệ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 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)
[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 + 𝑏|
√∑ 𝑤𝑖
2𝑑
𝑖=1
(4)
SVM luôn cố gắng cực đại hoá khoảng cách này, từ đó thu được một siêu
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 w và b sao cho:
(𝑤, 𝑏) ← 𝑎𝑟𝑔𝑤,𝑏𝑚𝑖𝑛
1
𝑇
∑ max(0,1 − 𝑦𝑡(𝑤. 𝑥𝑡 + 𝑏)) + 𝜆||𝑤||2
2
𝑇
𝑡=1
(5)
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
- Đối với bài toán phân lớp: 𝐶(𝑥) = [
1
𝐿
∑ 𝐶𝑘(𝑥)
𝐿
𝑘=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/
Nhược
điểm
Dựa vào cộng đồng Dựa vào phương pháp học máy
Ưu điểm
- Phát hiện chính xác
trang web lừa đảo.
- Dễ dàng sử dụng và có
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.
- Là một phương pháp tiếp cận hiện đại
dựa trên nền tảng của trí tuệ nhân tạo.
- Có thể dễ dàng tuỳ biến các thuật toán
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.
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.
24
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
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 web
lừ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ảm
thiể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 đảo
dự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 đảo
Quy trình hoạt động của kiến trúc nhiều tầng cho phát hiện và ngăn chặn
trang 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,
25
hay còn được biết đến là một extension. Trong đó, tầng một và tầng hai được
hoạ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ợp
thành một vector đặc trưng. Tiếp theo, extension gửi vector đặc trưng lên máy
chủ PhishSer. Ngay khi nhận được dữ liệu cần xử lý, máy chủ PhishSer sẽ đưa
qua 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ồn
UCI[12][13][14][15]. Kết quả của quá trình phát hiện sẽ được trả về, xác định
URL đó có hay không lừa đảo; nếu đó là URL lừa đảo, extension trên trình
duyệt củ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
truy cậ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
URL lừa đảo này vào Blacklist (danh sách đen). Trong giai đoạn này, tầng một
và tầng hai của kiến trúc cơ chế hoạt động là như nhau. Điểm khác biệt giữa hai
tầng trong 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ào giá trị của URL tồn tại trên thanh địa chỉ của trình duyệt (Address bar) là 8
được thự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ếu
không phát hiện được URL là lừa đảo sẽ chuyển tiếp URL sang tầng ba và tầng
bố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 tham
chiế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ặn
URL 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ên gia PhishTank và Google Safe Browsing. Hai dịch vụ này đều cung cấp
cho ngườ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
26
và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 động
giú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 được
phá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ững
trang 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ầng hai 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ập dữ liệu (dataset) được tải về từ kho dữ liệu học máy UCI để xây dựng mô
hình phát hiện và pha phát hiện được tích hợp trên một Plug-in (extension) của
trình duyệ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:
27
- 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ành
mộ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ận
trang web đó là lừa đảo, đồng thời kích extenstion kích hoạt tính năng ngăn chặn
và 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ầng
tiế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ệu
từ UCI gồm 11.055 bản ghi dữ liệu, trong đó có 7.262 bản ghi dữ liệu được gán
nhã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 đặc
trư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ưng
cà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àm
chậ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ất
thường có trong mã HTML và mã JavaScript của trang web. Dưới đây là danh
sá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
từ Dataset
Mô tả tóm tắt
Nhóm đặc
trưng
1 Having_IP_Address Có địa chỉ IP trong URL Address
bar 2 URL_Length URL có độ dài bài bất
28
thường
3 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
8 HTTPS_token
Thêm HTTPS vào domain
của URL
9 Favicon
Favicon được liên kết từ
domain khác
Bất thường
trong mã
HTML và
JavaScript
10 Request_URL
Hình ảnh, video được tải
từ domain khác
11 URL_of_Anchor
Có nhiều liên kết bằng thẻ
tới domain khác hoặc
không có giá trị của thuộc
tính href
12 Links_in_tags
Sử dụng nguồn trong các
thẻ , ,
từ domain khác
13 SFH (Server Form Handler)
Thuộc tính action trong
các có giá trị rỗng
14 Submitting_to_email
Có chức năng gửi email
trên trang web (mailto)
15 On_mouseover
Tắt tính năng trên thanh
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
17 Iframe
Sử dụng Iframe thu thập
dữ liệu
29
Với mỗi đặc trưng được trích chọn trong Bảng 2.1, chúng tôi sẽ sử dụng
chú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; Nghi
ngờ 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ỉ IP
thay vì tên miền để lừa người dùng web. Bất kỳ URL hợp pháp nào cũng được
hình thành bằng cách sử dụng tên máy chủ (host name) và tên đường dẫn (path
name) 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ủa giao thức mạng, tên máy chủ và đường dẫn. Độ dài của URL là một trong
những tính năng chính được trích xuất trong khi phát hiện các URL lừa đảo. Đối
tượng lừa đảo lợi dụng độ dài của URL để che dấu những nội dung nghi ngờ mà
người dùng web khó có thể phát hiện.
Quy tắc: Nếu {
Độ 𝑑à𝑖 𝑈𝑅𝐿 < 54 → −1
𝑁𝑔ượ𝑐 𝑙ạ𝑖 𝑛ế𝑢 Độ 𝑑à𝑖 𝑈𝑅𝐿 ≥ 54 𝑣à ≤ 75 → 0
𝑁𝑔ượ𝑐 𝑙ạ𝑖 → 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àm
gọ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áp
này được thực hiện bằng “HTTP Redirect” trên một tên miền ngắn, liên kết đến
trang web có URL dài. Ví dụ: URL là có thể rút ngắn
thành bit.ly/19DXSk4.
Quy tắc: Nếu {
TinyURL → 1
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ó.
30
Quy tắc: Nếu {
Url có kí tự @ → 1
Ngược lại → −1
- Ký tự “//”: Sự tồn tại của ký tự “//” trong URL có nghĩa là người dùng sẽ
được chuyển hướng đến một trang web khác. Một ví dụ về URL như vậy là:
Chúng tôi kiểm tra vị trí
xuất hiện của “//” và thấy rằng nếu URL bắt đầu với HTTP, điều này có nghĩa là
“//” sẽ xuất hiện ở vị trí thứ sáu. Tuy nhiên, nếu URL sử dụng HTTPS thì “//” sẽ
xuất hiện ở vị trí thứ bảy.
Quy tắc: Nếu {
Vị trí cuối cùng xuất hiện “//”trong URL > 7 → 1
Ngược lại → −1
- Ký tự “-”: Kí tự dấu “-” thường không được sử dụng trong các URL hợp
pháp. Những đối tượng lừa đảo có xu hướng thêm tiền tố hoặc hậu tố được phân
tách bằng (-) vào tên miền để người dùng nhầm tưởng họ đang xử lý một trang
web hợp pháp. Ví dụ:
Quy tắc: Nếu {
Trong tên miền chứa kí tự (−) → 1
Ngược lại → −1
-Số lượng tên miền phụ vượt quá quy định: Giả sử có liên kết sau:
“https://www.bidv.com.vn/doanh-nghiep”. Một tên miền có thể bao gồm các tên
miền cấp cao nhất theo mã quốc gia (ccTLD - country-code Top-level
Domains), trong liên kết trên là “vn”. Phần “com” giúp xác định tổ chức hoặc cá
nhân hoạt động trong lĩnh vực thương mại, sự kết hợp của “.com.vn” được gọi là
tên miền cấp hai (SLD - Second Level Domain); “bidv” là tên thực tế của tên
miền. Để tạo quy tắc trích xuất tính năng này, trước tiên chúng ta phải bỏ qua
(www.) Từ URL thực tế là một tên miền phụ (Sub domain); sau đó, chúng ta
phải loại bỏ (ccTLD) nếu nó tồn tại; cuối cùng, chúng tôi đếm các chấm “.” còn
lại.
Quy tắc: Nếu {
Dấu (. ) trong phần tên miền = 1 → −1
Dấu (. ) trong phần tên miền = 2 → 0
Dấu (. ) trong phần tên miền > 2 → 1
- HTTPS token: Đối tượng lừa đảo có thể thêm giao thức HTTPS vào
phần tên miền của URL để lừa người dùng. Ví dụ: “
webapps-mpp-home.soft-hair.com/”.
31
Quy tắc: Nếu {
Sử dụng HTTPS trong tên miền của URL → 1
Ngược lại → −1
- Favicon: Favicon là một hình ảnh đồ hoạ được kết hợp với một trang web
cụ thể. Hay favicon còn gọi là biểu tượng của trang web, là một hình icon được
hiển thị phía góc trên cùng của tab trình duyệt. Khi người dùng truy cập vào
trang web bất kỳ sẽ nhìn thấy biểu tượng này như một logo đại diện cho chính
trang web đó. Do đó, nếu favicon được tải từ tên miền khác với tên miền được
hiển thị trên thanh địa chỉ thì có thể xác định là lừa đảo.
Quy tắc: Nếu {
Favicon được tải từ tên miền khác → 1
Ngược lại → −1
- Request URL: Đối với hầu hết các trang web hợp pháp thường sử dụng
các đối tượng hình ảnh, âm thanh và video được liên kết từ bên ngoài trang. Tuy
nhiên, những đối tượng liên kết ngoài này luôn đảm bảo được nằm trên cùng
một tên miền. Từ tính chất này của Request URL, có thể sử dụng đặc trưng này
để phân loại các trang web.
Quy tắc: Nếu {
Tỉ lệ yêu cầu liên kết tới tên miền khác < 22% → −1
Tỉ lệ % ≥ 22% và ≤ 61% → 0
Ngược lại tỉ lệ % > 61% → 1
- Anchor (neo) trong thẻ : Thẻ trong HTML giúp tạo ra các liên
kết giữa các trang trong cùng website. Do đó, nếu:
Giá trị của thuộc tính “href” trong thẻ khác với tên miền của website
thì trường hợp này cũng giống như đặc trưng Request URL;
Neo không liên kết đến bất kỳ trang web nào. Ví dụ: hoặc <a
href=“#content”> hoặc hoặc
Quy tắc: Nếu {
Tỉ lệ % Anchor < 31% → −1
Tỉ lệ % Anchor ≥ 31% và ≤ 67% → 0
Ngược lại → 1
- Sử dụng tài nguyên , , từ tên miền khác: Với
trang web hợp pháp, sử dụng thẻ để cung cấp siêu dữ liệu (metadata)
cho trang web, thẻ để tạo tập lệnh JavaScript phía máy khách hoặc liên
kết tới tập tin script, thẻ để liên kết tới tập tin “.css” trong cùng tên miền.
32
Quy tắc:
Nếu
{
Tỉ lệ % của liên kết trong(, 𝑣à ) < 17% → −1
Tỉ lệ % của liên kết trong(, 𝑣à ) ≥ 17% và ≤ 81% → 0
Ngược lại → 1
- SFH (Server Form Handler): Thẻ giúp tạo ra một biểu mẫu
cung cấp cho người dùng web không gian nhập thông tin để gửi về máy chủ
web. Trong thẻ có thuộc tính “action” nhằm xác định trang web đích mà
dữ liệu của người dùng sẽ được gửi tới. Với trang web hợp pháp trang web đích
sẽ nằm trong cùng tên miền. Tuy nhiên, với trang web lừa đảo các đối tượng đã
thay đổi giá trị của thuộc tính “action” là một chuỗi rỗng hoặc “about:blank”
hoặc trang đích là từ một tên miền khác.
Quy tắc: Nếu {
SFH là “about: blank” hoặc Is Empty → 1
SFH tham chiếu đến một tên miền khác → 0
Ngoài ra → −1
- Gửi thông tin qua email (mailto): Biểu mẫu (form) trong trang web cho
phép người dùng gửi thông tin cá nhân tới một máy chủ để xử lý. Tuy nhiên, đối
tượng lừa đảo có thể chuyển hướng thông tin của người dùng tới địa chỉ email
cá nhân của chúng bằng phương pháp sử dụng chức năng “mailto:” trong trang
web và sử dụng hàm mail() ở phía máy chủ để kích hoạt chức năng gửi mail.
Quy tắc: Nếu {
Sử dụng “mail()”hoặc“mailto:”để gửi thông tin → 1
Ngoài ra → −1
- Tắt sự kiện onMouseOver: Đối tượng lừa đảo có thể sử dụng JavaScript
để hiển thị URL giả mạo trong thanh trạng thái cho người dùng. Để trích xuất
đặc trưng này chúng ta khai thác trong mã nguồn của trang web, đặc biệt là sự
kiện onMouseOver và kiểm tra xem nó có thực hiện bất kỳ thay đổi nào trong
thanh trạng thái hay không.
Quy tắc: Nếu {
Sự kiện onMouseOver thay đổi thanh trạng thái → 1
Không thay đổi thanh trạng thái → −1
- Vô hiệu hoá chức năng chuột phải: Nhằm che dấu hành động kiểm tra
mã nguồn của người dùng, đối tượng lừa đảo tiến hành vô hiệu hoá tính năng
33
kích chuột phải trên trang web thông qua bằng sự kiện onMouseOver để ẩn liên
kết hoặc thêm sự kiện “event.button==2” vào mã nguồn của trang web.
Quy tắc: Nếu {
Tính năng chuột phải bị vô hiệu hoá → 1
Ngoài ra → −1
- Sử dụng IFrame thu thập dữ liệu: IFrame là một thẻ trong HTML,
được sử dụng để hiển thị một trang web bổ sung vào trong trang web hiện tại.
Đối tượng lừa đảo sử dụng IFrame với tùy biến khung viền
Các file đính kèm theo tài liệu này:
- luan_van_kien_truc_nhieu_tang_cho_phat_hien_va_ngan_chan_tra.pdf