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

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

pdf63 trang | Chia sẻ: honganh20 | Ngày: 21/02/2022 | Lượt xem: 390 | Lượt tải: 2download
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:

  • pdfluan_van_kien_truc_nhieu_tang_cho_phat_hien_va_ngan_chan_tra.pdf
Tài liệu liên quan