TỔNG QUAN VỀ URL ĐỘC HẠI VÀ PHƯƠNG PHÁP PHÁT HIỆN
Khái quát về URL
URL viết tắt của Uniform Resource Locator là đường dẫn hay địa chỉ dùng để tham chiếu đến các tài nguyên trên mạng Internet Đường dẫn URL là đoạn văn bản có thể đọc được thay cho địa IP mà máy tính sử dụng để liên lạc với máy chủ.
URL là địa chỉ của một tài nguyên duy nhất trên Web Mỗi URL hợp lệ sẽ trỏ đến một tài nguyên duy nhất, tài nguyên đó có thể là trang HTML, tài liệu CSS, hình ảnh, video, file PDF Trong một số trường hợp ngoại lệ, URL có thể trỏ đến những tài nguyên không còn tồn tại hoặc đã bị di chuyển sang địa chỉ khác.
URL có thể chứa nhiều thành phần khác nhau, như biểu diễn trên Hình 1-1 và Hình 1-2 URL thường bao gồm hostname (tên máy) ánh xạ tới địa chỉ IP của một tài nguyên cụ thể trên Internet và một loạt các thông tin bổ sung thông báo cho trình duyệt và máy chủ biết cách xử lý mọi thứ Bạn có thể nghĩ địa chỉ IP như số điện thoại, hostname như tên của người sở hữu số điện thoại đó mà bạn muốn tra cứu Và một tiêu chuẩn được gọi là Hệ thống tên miền (Domain Name System - DNS) hoạt động trong nền giống như một cuốn danh bạ điện thoại, dịch các hostname thành địa chỉ IP để mạng sử dụng để định tuyến lưu lượng truy cập [1] Ví dụ một địa chỉ URL là https://vnexpress.net.
1.1.2 Các thành phần của URL
Cấu trúc URL lần đầu được xác định vào năm 1994 bởi Sir Tim Berners-Lee,người đã tạo ra web và trình duyệt đầu tiên Về cơ bản, URL kết hợp tên miền với việc sử dụng đường dẫn file để xác định cấu trúc file và thư mục cụ thể Vì vậy, nó tương tự như sử dụng đường dẫn C:\Documents\Personal\myfile.txt trong Windows,nhưng thêm một số thành phần ở đầu để có thể tìm đúng máy chủ trên Internet nơi chứa đường dẫn đó và sử dụng giao thức để truy cập thông tin.
URL chứa một vài đường dẫn khác Ví dụ, hình 1-1 minh họa một URL cơ bản, hãy cùng phân tích cấu trúc của nó URL đơn giản này được chia thành hai thành phần chính: Scheme (giao thức kết nối) và Authority (bên có thẩm quyền).
Scheme: Đa số nghĩ rằng URL như một địa chỉ web nhưng nó không hoàn toàn đơn giản như vậy Một địa chỉ web là URL nhưng không phải tất cả URL không phải là địa chỉ web Các dịch vụ khác bạn có thể truy cập trên Internet như FTP hoặc thậm chí MAILTO cũng là URL Phần scheme của URL (các chữ cái theo sau dấu hai chấm) biểu thị giao thức mà ứng dụng (như trình duyệt web) và máy chủ giao tiếp.
Các địa chỉ web là URL phổ biến nhất, tuy nhiên còn có các URL khác nữa.
Do đó, scheme có thể gồm một số dạng như:
Giao thức truyền tải siêu văn bản (HTTP): Đây là giao thức cơ bản của web, xác định hành động của các máy chủ web và trình duyệt cần thực hiện để đáp ứng các lệnh nhất định.
Giao thức HTTP an toàn (HTTPS): Đây là một dạng HTTP hoạt động trên một lớp bảo mật, được mã hóa để truyền tải thông tin an toàn hơn.
Giao thức truyền tập tin (File Transfer Protocol - FTP): Giao thức này thường được sử dụng để truyền file qua Internet.
HTTP (Hypertext Transfer Protocol) và HTTPS (Hypertext Transfer ProtocolSecure) là các giao thức giao tiếp mạng giữa máy chủ web và trình duyệt web.Chúng truyền thông điệp, truy xuất thông tin thông qua hệ thống tên miền (DNS) và gửi lại cho trình duyệt.
Sự khác biệt giữa HTTP và HTTPS là HTTPS mã hóa quá trình truyền dữ liệu Giao thức bảo mật này bảo vệ trang web tốt hơn và là yếu tố cần thiết để cải thiện thứ hạng trên kết quả tìm kiếm Một điểm khác biệt nữa là HTTPS sử dụng cổng TCP/IP số 443 được mã hóa bởi Transport Layer Security (TLS) Trong khi đó, một URL với HTTP sử dụng cổng TCP/IP số 80.
Lưu ý quan trọng: Trình duyệt web cũng có thể xử lý các giao thức khác, bao gồm FTP và mailto FTP cho phép chia sẻ file giữa các máy chủ web khác nhau, cục bộ hoặc từ xa Sau đó hướng người dùng đến một địa chỉ email cụ thể.
Trong các trình duyệt hiện đại, về mặt kỹ thuật scheme không nhất thiết là một phần của URL Nếu bạn nhập trang web như www.quantrimang.com, trình duyệt sẽ tự động xác định giao thức phù hợp để sử dụng Tuy nhiên, một số ứng dụng khác (và giao thức) lại yêu cầu sử dụng scheme.
Phần authority của một URL (phần bắt đầu sau hai dấu gạch chéo) được chia thành các phần nhỏ Hãy bắt đầu với một URL đơn giản, thường là URL dẫn bạn đến trang chủ của một trang web.
Hình 1-2 Các thành phần cụ thể của URL
Một trang web thông thường thường có ít nhất 3 phần trong URL của nó như www.google.com, nhưng một số URL phức tạp cũng có thể có 8 đến 9 phần cụ thể như số cổng (port number), đường dẫn (path), chuỗi truy vấn (query parameter),… , như biểu diễn trên Hình 1-2.
Tên miền cấp cao nhất (top level domain-TLD): Trong ví dụ ở đây, "co.uk" là tên miền cấp cao nhất TLD cho biết loại tổ chức mà trang web được đăng kí Giống như com trong www.facecebook.com biểu thị đây là tổ chức thương mại Tương tự org biểu thị một tổ chức, org.uk biểu thị một tổ chức thương mại ở Anh Có ba tên miền cấp cao nhất phổ biến là com., net, gov Hầu hết các quốc gia đều có trên miền cấp cao nhất gồm hai chữ cái, bạn sẽ thấy tên miền như us (Mỹ), vn (Việt Nam), ca (Canada), v.v… Có một số tên miền cấp cao nhất bổ sung (như museum) được các tổ chức cá nhân tài trợ và quản lý Ngoài ra, cũng có một số tên miền cấp cao nhất dùng chung như.club, life và news.
Tên miền (domain name): Tên miền chỉ định tổ chức hoặc thực thể mà URL đó thuộc về Giống như trong www.facebook.com, tên miền 'facebook' cho biết tổ chức sở hữu trang web.
Khái quát về URL độc hại
1.2.1 URL độc hại là gì
URL độc hại được biết đến là các đường liên kết có ảnh hưởng xấu đến người dùng Các URL này sẽ chuyển hướng người dùng đến các tài nguyên hoặc các trang mà kẻ tấn công có thể thực hiện các đoạn mã trên máy tính người dùng, chuyển hướng người dùng đến các trang web không mong muốn, các trang web lừa đảo hoặc tải xuống phần mềm độc hại (malware).
URL độc hại có thể được ẩn trong các liên kết tải xuống được coi là an toàn và có thể lan truyền nhanh chóng qua thông qua việc chia sẻ các tệp tin,… Một số các kỹ thuật tấn công sử dụng URL độc hại bao gồm phishing, social engineering, spam,… Các URL độc hại có thể có thể được sử dụng để thực hiện các hành vi:
Giành quyền truy cập trái phép vào thông tin cá nhân người dùng nhằm thực hiện hành vi giả mạo hoặc các hình thưc gian lận khác.
Đánh cắp thông tin đăng nhập của người dùng để có quyền truy cập vào tài khoản cá nhân hoặc tổ chức của họ.
Lừa người dùng tải xuống các phần mềm độc hại mà kẻ tấn công có thể sử dụng để theo dõi, chiếm quyền điều khiển thiết bị của người dùng.
Truy cập trái phép vào máy tính để mã hóa các tệp của người dùng, yêu cầu người dùng đóng tiền chuộc.
Điều khiển máy tính nạn nhân từ xa và có thể là các máy tính trong cùng dải mạng của nạn nhân, từ đó tạo nên botnet mà chúng có thể kiểm soát.
1.2.2 Các dạng URL độc hại
URL độc hại có thể được chia thành 4 loại:
Phishing URL: các kẻ tấn công thường cố gắng tạo ra các URL giống với các URL hợp pháp, của các công ty, tổ chức nổi tiếng, uy tín ví dụ như ta0ba0.com, goog1e.com, y0utube.com, … Người dùng không chú ý sẽ dễ dàng truy cập nhầm vào các trang web này và thực hiện các hoạt động đăng nhập, giao dịch trên các trang web giả mạo đó Các trang web lừa đảo thường được sử dụng với mục đích đánh cắp thông tin cá nhân của người dùng chẳng hạn như thẻ tín dụng, tài khoản ngân hàng, số chứng minh nhân dân, mật khẩu các tài khoản mạng xã hội, …từ đó đạt được mục đích lừa đảo.
Spam URL: Những kẻ tấn công gửi thư rác với một lượng lớn mã độc hại kèm với nội dung mà nạn nhân thường quan tâm hoặc lo ngại, nhưng thực tế những thư rác đó lại chứa các URL hoặc tệp đính kèm độc hại có chứa Trojan hoặc vi rút Khi người dùng nhấp vào liên kết, nó sẽ chuyển đến trang web độc hại hoặc lay lan vi rút qua các tệp đính kèm.
Malware URL: Những kẻ tấn công thường phân phối virus/ malware trên những trang này Những phần mềm trình độc hại đó có thể thực hiện nhiều hành vi độc hại bao gồm: thu thập thông tin người dùng, đánh cắp hoặc xóa dữ liệu nhạy cảm, tống tiền như ransomware, theo dõi hay giám sát hoạt động máy tính của người dùng, tổ chức mà không được sự cho phép của họ v.v.
Botnet URL: Botnet sử dụng kênh điều khiển lệnh (C&C) dưới sự điều khiển của botmaster, botmaster chuyển lệnh đến các bot để thực hiện tấn công mạng Bằng cách sử dụng một hoặc nhiều phương tiện lây lan, một số lượng lớn máy bị nhiễm mã bot.
Từ đó hình thành một “mạng máy tính ma” hay botnet được kiểm soát bởi botmaster Nó có thể khiến các mạng thông tin cơ bản hoặc các hệ thống thông tin quan trọng bị tê liệt, dẫn đến một số lượng lớn rò rỉ bí mật hoặc quyền riêng tư cá nhân Nó cũng có thể được sử dụng cho các hoạt động tội phạm khác, chẳng hạn như gian lận trên Internet Việc sử dụng botnet để khởi động các cuộc tấn công DDoS là một trong những mối đe dọa quan trọng nhất, kẻ tấn công có thể gửi lệnh đến tất cả các bot, ra lệnh cho chúng bắt đầu truy cập liên tục các mục tiêu mạng cụ thể tại một thời điểm cụ thể, để đạt được mục đích của DDoS.
Trên cơ sở phân tích các kết quả nghiên cứu trước đó của các chuyên gia về lĩnh vực bảo mật và an toàn thông tin đồng thời thông qua nghiên cứu chuyên sâu về cấu trúc của URL, các phương pháp tấn công lỗ hổng bảo mật ứng dụng web cùng các hành vi tấn công mạng thông qua URL, những tính chất sau được lựa chọn là đặc trưng tiêu biểu để phân định URL độc hại và URL an toàn:
Domain blacklist: Kiểm tra domain name của URL có nằm trong danh sách đen các tên miền độc hại hay không Nếu domain nằm trong danh sách đen có thể xem là độc hại
Google safe browsing: Đây là một dịch vụ của Google cung cấp danh sách các trang web độc hại hoặc phishing đã được xác định Bằng cách sử dụng Google safe browsing API, bạn có thể kiểm tra tính an toàn của URL bằng cách truy vấn danh sách đen của Google để xác định xem URL có được coi là độc hại hay không.
Độ dài URL: Xem xét tổng số ký tự trong chuỗi ký tự của URL Thống kê cho thấy URL độc hại thường có chiều dài lớn hơn so với URL thông thường URL an toàn thường ngắn gọn, rõ ràng và có cấu trúc dễ hiểu Theo tiêu chuẩn SEO, URL đạt chuẩn cần phải ngắn gọn, rõ ràng, có cấu trúc dễ hiểu, dễ nhớ.
Túi từ (Bag of words): Mô hình bag-of-words là một phương pháp đơn giản để trích xuất đặc trưng từ văn bản cho các mô hình học máy Trong phương pháp này, một văn bản được biểu diễn dưới dạng tập hợp các từ của nó, bỏ qua cấu trúc ngữ pháp và thứ tự các từ những giữ lại số lần xuất hiện của chúng Áp dụng mô hình Bag of Words để phân tích và phân nhóm từ (ký tự) xuất hiện trong URL Mô hình này có thể giúp xác định ý định của người dùng và phát hiện URL độc hại.
Tần suất xuất hiện của ký tự số: Đếm số ký tự là chữ số xuất hiện trong chuỗi ký tự của URL URL độc hại thường có xu hướng chứa nhiều ký tự đặc biệt hơn so với URL an toàn Kết quả thống kê của các nghiên cứu đi trước cho thấy số lượng ký tự đặc biệt và ký tự số trong chuỗi ký tự của URL có sự chênh lệch khá lớn trong sự so sánh tương quan giữa các URL độc hại và các URL thông thường.
Sự xuất hiện của địa chỉ IP trong URL: Phát hiện sự xuất hiện của địa chỉ
IP trong URL URL độc hại có thể sử dụng địa chỉ IP để thực hiện các hành vi tấn công.
Các phương pháp phát hiện URL độc hại
1.3.1 Phát hiện dựa trên danh sách đen, chữ ký
Cách tiếp cận danh sách đen (blacklist) là một kỹ thuật phổ biến và cổ điển để phát hiện các URL độc hại, thường duy trì một danh sách các URL độc hại biết trước Mỗi khi có một URL mới được truy cập thì truy vấn cơ sở dữ liệu được thực hiện Nếu URL trong danh sách đen thì nó được coi là độc hại và sau đó cảnh báo được đưa ra, ngược lại URL đó là bình thường Danh sách đen bị thiếu khả năng duy trì danh sách đầy đủ tất cả các URL độc hại có thể, vì các URL mới có thể dễ dàng được tạo hàng ngày, do đó làm cho chúng không thể phát hiện các mối đe dọa mới Điều này đặc biệt nghiêm trọng khi kẻ tấn công tạo ra các URL mới theo thuật toán, và do đó có thể bỏ qua tất cả các danh sách đen Mặc dù có một số vấn đề phải đối mặt với danh sách đen, nhưng do tính đơn giản và hiệu quả của chúng, các danh sách đen tiếp tục là một trong những kỹ thuật được sử dụng phổ biến nhất bởi nhiều hệ thống chống mã độc hiện nay.
Hiện nay có nhiều trung tâm, tổ chức phát triển một số công cụ ngăn chặn các URL độc hại miễn phí tới người dùng sử dụng danh sách đen chứa các URL độc hại, lừa đảo được cập nhật hàng ngày dựa trên báo cáo của người dùng cũng như các công cụ rò quét tự động… Ưu điểm của phương pháp sử dụng danh sách đen: một trong những ưu điểm lớn nhất của phương pháp sử dụng danh sách đen là tính đơn giản của nó, tối ưu hoá quá trình truy vấn, xử lí, chỉ cần kiểm tra xem URL đang được truy cập có nằm trong danh sách đen hay không, nếu có thì từ chối truy cập các URL đó.
Nhược điểm của việc sử dụng danh sách đen để kiểm tra tính an toàn của một URL: danh sách đen là một danh sách không đầy đủ, mà nó cần được cập nhật liên tục vì các URL độc hại mới liên tục xuất hiện mỗi ngày Mặc dù việc theo kịp những mối đe dọa này là một thách thức, nhưng việc chia sẻ thông tin về các URL có thể giúp tạo danh sách đen hiệu quả hơn Tiện ích “Chống lừa đảo” 1 cung cấp tính năng báo cáo cho phép người dùng có thể tố cáo các URL mà họ cho là độc hại hoặc nghi ngờ có dấu hiệu lừa đảo, làm có việc duy trì, cập nhật danh sách và bảo vệ người dùng một cách dễ dàng hơn do có sự đóng góp từ cộng đồng lớn.
1.3.2 Phát hiện dựa trên phân tích nội dung trang web Đối với các phương pháp phân tích nội dung trang web thường mất rất nhiều nỗ lực tính toán mà chưa kể tải băng thông để lấy nội dung trước khi phân tích Một số hệ thống cũng đánh chặn và phân tích đầy đủ nội dung website trước khi nó được tải về. Ưu điểm của phương pháp phân tích nội dung là có thể phát hiện ra các trang web không muốn truy cập với độ chính xác cao.
Nhược điểm của phương pháp này là nó phải gánh chịu thời gian chạy cao hơn so với phương pháp danh sách đen, do phải tải nội dung về rồi phân tích, dẫn đến tốn nhiều thời gian và băng thông hơn phương pháp danh sách đen.
1 Tham khảo https://chongluadao.vn
1.3.3 Phát hiện dựa trên phân tích URL
Phương pháp phát hiện dựa trên phân tích URL đang ngày càng phát triển trong những năm trở lại đây Phương pháp này cho phép chỉ cần dựa trên các URL lành tính có thể phát hiện ra những URL độc hại Thông thường các URL được thiết kế bởi các nhà thiết kế trang web, mỗi nhà thiết kế trang web lại có sở thích, cách sử dụng của mình để chọn tên miền, rồi sau đó xây dựng các cấu trúc tập tin dưới tên miền URL của một số trang web được thiết kế theo cách đặc biệt, nhưng chưa hẳn đã là các Web độc hại Thường thì các trang web độc hại được tạo ra bởi các quy tắc và thủ tục được xác định trước Do vậy mà một lượng lớn các URL độc hại đã được tạo ra từ các luật đó trong thời gian ngắn Dựa vào thủ tục đặt tên khác nhau giữa các URL lành tính và các URL độc hại mà có thể tìm thấy sự khác nhau của 2 nhóm này.
Phương pháp này là một cách tiếp cận khác với những phương pháp đã từng tồn tại Theo đó, phương pháp này phân tích chuỗi ký tự trong URL để khẳng định URL có chứa nội dung độc hại hay không Đặc biệt, phương pháp này đưa ra dự đoán với URL chỉ dựa trên tính năng từ vựng và máy chủ của URL mà không cần kiểm tra nội dung thực tế của trang web Một hệ thống tốt có thể phân tích và phân loại được hàng triệu URL. Ưu điểm của phương pháp phát hiện web độc hại dựa trên phân tích URL là cải thiện hiệu suất của phương pháp danh sách đen, theo đó hệ thống tải nhẹ hơn, chi phí thấp hơn so với hệ thống tải của phương pháp phân tích nội dung Đồng thời, phương pháp này còn có một số ưu điểm khác:
Phương pháp này không cần có sự hiểu biết trước về cấu trúc các URL, chẳng hạn làm thế nào để phân tích URL dựa vào tên miền,…
Phương pháp này có thể làm việc và sử dụng một cách độc lập như một phép đo Mặt khác, nó cũng có thể kết hợp với các phương pháp, tính năng hữu ích để đạt được hiệu quả tốt hơn.
Phương pháp này tính toán rất hiệu quả, có thể phân loại một lượng lớn URL trong một khoảng thời gian ngắn.
Nhược điểm của phương pháp phát hiện web độc hại dựa trên phân tích URL:
Dễ bị lừa dối và che giấu địa chỉ URL : Kẻ tấn công có thể dễ dàng tạo ra các địa chỉ URL giả mạo, làm cho việc phân tích URL trở nên không đáng tin cậy Họ cũng có thể sử dụng các kỹ thuật che giấu để làm cho các đường dẫn độc mất đi tính nhận dạng.
Khả năng thay đổi nhanh chóng : Các kẻ tấn công có thể nhanh chóng thay đổi đường dẫn URL hoặc thậm chí sử dụng các dịch vụ viết lại URL để tránh bị phát hiện, làm cho việc theo dõi trở nên khó khăn.
Hạn chế trong việc phát hiện hành vi độc hại sau khi tải trang : Phân tích URL tập trung vào địa chỉ trang web và không thể phát hiện các hành vi độc hại được kích hoạt sau khi trang đã tải xong, chẳng hạn như JavaScript độc hại.
Nguy cơ phát hiện sai lầm và chặn các trang web hợp pháp : Có khả năng các địa chỉ URL hợp pháp bị sai lầm hiểu là độc hại, dẫn đến chặn trang web không đáng bị chặn.
Khả năng bỏ sót các hình thức tấn công phức tạp : Phân tích URL thường không đủ mạnh để phát hiện các hình thức tấn công phức tạp như SQL injection, XSS và CSRF.
Cần sử dụng kỹ thuật bổ sung để cải thiện độ chính xác: Để tăng cường khả năng phát hiện, phương pháp này thường cần được kết hợp với các phương pháp và công cụ bổ sung, làm tăng phức tạp và tốn thời gian của quá trình phân tích.
1.3.4 Phát hiện dựa trên thống kê, học máy, học sâu
Trong thời gian gần đây, một cách tiếp cận được sử dụng phổ biến là trích xuất các đặc trưng của URL, sau đó áp dụng các mô hình học máy Kỹ thuật thường được sử dụng để trích xuất các đặc trưng của URL là Bag-of-words (BoW) và một trong các mô hình học máy được sử dụng phổ biến nhất là máy vectơ hỗ trợ (SVM) Dù giải pháp dựa trên học máy có thể được sử dụng thay vì phương pháp lập danh sách đen, nó vẫn tồn tại nhiều vấn đề như dữ liệu thử nghiệm không có tính khái quát hoá cao Ngoài ra số lượng từ duy nhất trích xuất từ các URL là rất lớn dẫn đến mô hình học máy phải đối mặt với những hạn chế về bộ nhớ trong quá trình đào tạo. Để giảm thiểu các vấn đề còn tồn động ở trên, người ta chuyển sang sử dụng các kỹ thuật học máy hiện đại, thường được gọi là học sâu với việc nhúng các kí tự(character embedding) Học sâu sử dụng nhiều lớp ẩn trong đó mỗi lớp thực hiện phép chiếu phi tuyến tính để tìm hiểu các biểu diễn của nhiều mức độ trừu tượng và chúng được áp dụng cho nhiều ứng dụng an ninh mạng Với sự giúp đỡ của các mô hình học sâu, các hệ thống trí tuệ nhân tạo (AI) đã đạt được hiệu suất ở cấp độ con người trong một số lĩnh vực và thậm chí còn vượt trội so với con người trong một số ứng dụng thị giác máy tính Chúng có thể tự động trích xuất các đặc điểm từ các dữ liệu đầu vào thô Một số mô hình học sâu được sử dụng phổ biến để phát hiện cácURL độc hại như: Convolutional Neural Network (CNN), Long Short TermMemory (LSTM),…
Một số công cụ phát hiện URL độc hại
Google Safe Browsing : Google Safe Browsing là một dịch vụ của Google cung cấp thông tin về các URL độc hại và webistes bị nhiễm malware Nó có thể được tích hợp vào trình duyệt web hoặc các ứng dụng để cảnh báo người dùng khi truy cập vào các URL đáng ngờ.
VirusTotal: VirusTotal là một công cụ trực tuyến miễn phí cho phép bạn tải lên URL hoặc tập tin để kiểm tra xem chúng có chứa mã độc hay không Nó sử dụng nhiều công cụ phát hiện độc hại khác nhau để phân tích và cung cấp kết quả kiểm tra.
PhishTank: PhishTank là một dịch vụ cộng đồng để phát hiện và báo cáo các trang web lừa đảo (phishing) Người dùng có thể tải lên các URL mà họ nghi ngờ là lừa đảo và cũng có thể tìm kiếm trong cơ sở dữ liệu của PhishTank để kiểm tra tính độc hại của một URL cụ thể.
URLVoid: URLVoid là một công cụ trực tuyến cho phép bạn kiểm tra tính độc hại của một URL bằng cách sử dụng nhiều dịch vụ phát hiện độc hại khác nhau Nó cung cấp thông tin về các đánh giá và báo cáo từ các dịch vụ như Google Safe Browsing, PhishTank, MalwareDomainList và nhiều dịch vụ khác.
OpenPhish: OpenPhish là một dự án nguồn mở cung cấp danh sách các URL lừa đảo và phishing Bạn có thể sử dụng API hoặc tải xuống danh sách để kiểm tra các URL trong ứng dụng hoặc hệ thống của mình.
Phishing.AI: Phishing.AI là một công cụ phát hiện lừa đảo trực tuyến Nó sử dụng trí tuệ nhân tạo và học máy để phân tích các URL và phát hiện các trang web lừa đảo và phishing.
Kết chương
Như vậy, chương 1 đã trình bày một số khái niệm tổng quan về URL và URL độc hại Bên cạnh đó chương 1 cũng đã đề cập đến một số phương pháp pháp và công cụ phát hiện URL độc hại đã tồn tại Sự phát triển trong lĩnh vực này còn đang tiếp tục, với nhiều phương pháp mới và kỹ thuật tiên tiến để nâng cao khả năng phát hiện và bảo vệ chống lại các URL độc hại.
PHÁT HIỆN URL ĐỘC HẠI DỰA TRÊN HỌC SÂU
Khái quát về học máy và học sâu
2.1.1 Khái quát về học máy
2.1.1.1 Khái niệm học máy Định nghĩa về học máy: Arthur Samuel, một người Mỹ đi tiên phong trong lĩnh vực trò chơi máy tính và trí tuệ nhân tạo, đã đặt ra thuật ngữ “Machine Learning” vào năm 1959 khi còn ở IBM Ông định nghĩa học máy là “lĩnh vực nghiên cứu cung cấp cho máy tính khả năng học hỏi mà không cần lập trình rõ ràng” Tuy nhiên, trên thực tế không có định nghĩa được chấp nhận rộng rãi cho học máy Các tác giả khác nhau định nghĩa thuật ngữ khác nhau.
Học máy là lập trình máy tính để tối ưu hóa tiêu chí hiệu suất bằng cách sử dụng dữ liệu mẫu hoặc kinh nghiệm trong quá khứ Chúng ta có một mô hình được xác định tối đa một số tham số và việc học là thực thi chương trình máy tính để tối ưu hóa các tham số của mô hình bằng cách sử dụng dữ liệu đào tạo hoặc kinh nghiệm trong quá khứ Mô hình có thể đưa ra dự đoán trong tương lai hoặc mô tả để kiến thức thu thập được từ dữ liệu.
Lĩnh vực nghiên cứu được gọi là học máy liên quan đến câu hỏi làm thế nào để xây dựng các chương trình máy tính tự động cải thiện theo kinh nghiệm Học máy là một lĩnh vực con của trí tuệ nhân tạo (Artificial Intelligence - AI) Mục tiêu của học máy nói chung là hiểu cấu trúc của dữ liệu và điều chỉnh dữ liệu đó thành các mô hình mà con người có thể hiểu và sử dụng được.
Mặc dù học máy là một lĩnh vực trong khoa học máy tính, nhưng nó khác với các phương pháp tính toán truyền thống Trong tính toán truyền thống, thuật toán là tập hợp các hướng dẫn được lập trình rõ ràng được máy tính sử dụng để tính toán hoặc giải quyết vấn đề Thay vào đó, các thuật toán học máy cho phép máy tính đào tạo dữ liệu đầu vào và sử dụng phân tích thống kê để đưa ra các giá trị nằm trong một phạm vi cụ thể Do đó, học máy tạo điều kiện cho máy tính xây dựng mô hình từ dữ liệu mẫu để tự động hóa quy trình ra quyết định dựa trên dữ liệu đầu vào.
Việc triển khai học máy được phân thành bốn loại chính, tùy thuộc vào bản chất của “tín hiệu” học tập hoặc “phản hồi” có sẵn cho một hệ thống học tập như sau:
Học máy có giám sát (Supervised learning): Học có giám sát là nhiệm vụ học một chức năng ánh xạ đầu vào thành đầu ra dựa trên các cặp đầu vào-đầu ra mẫu.
Dữ liệu đã cho được dán nhãn Cả hai bài toán phân loại và hồi quy đều là bài toán học có giám sát.
Ví dụ: Hãy xem xét các dữ liệu sau đây liên quan đến bệnh nhân vào phòng khám Dữ liệu bao gồm giới tính và độ tuổi của bệnh nhân và mỗi bệnh nhân được dán nhãn là “khỏe mạnh” hoặc “ốm yếu”.
Bảng 2-1 Dữ liệu về bệnh nhân
Học không có giám sát (Unsupervised learning): Học không giám sát là một phương pháp học máy, nơi bạn chỉ có dữ liệu đầu vào (X) và không có giá trị đầu ra tương ứng Mục tiêu của việc học không giám sát là để mô hình hóa cấu trúc nền tảng hoặc sự phân bố trong dữ liệu để hiểu rõ hơn về nó Đây được gọi là học tập không giám sát vì không giống như việc học có giám sát ở trên, không có câu trả lời đúng và không có vị “giáo viên” nào cả Các thuật toán được tạo ra chỉ để khám phá và thể hiện các cấu trúc hữu ích bên trong dữ liệu.
Các vấn đề học tập không giám sát có thể được phân ra thành hai việc: chia nhóm và kết hợp như sau:
Chia nhóm: Vấn đề về chia nhóm là nơi bạn muốn khám phá các nhóm vốn có bên trong dữ liệu, chẳng hạn như chia tập khách hàng theo hành vi tiêu dùng.
Kết hợp: Vấn đề về học tập quy tắc kết hợp là nơi bạn muốn khám phá các quy tắc mô tả dữ liệu của bạn, chẳng hạn như những người mua A cũng có khuynh hướng mua B.
Ví dụ: Hãy xem xét dữ liệu sau đây liên quan đến bệnh nhân vào phòng khám.
Dữ liệu bao gồm giới tính và tuổi của bệnh nhân.
Bảng 2-2 Bảng dữ liệu về giới tính, tuổi của bệnh nhân
Học không có giám sát là một loại học tập giống như các phương pháp con người sử dụng để tìm ra rằng các đối tượng hoặc sự kiện nhất định thuộc cùng một lớp, chẳng hạn như bằng cách quan sát mức độ giống nhau giữa các đối tượng Một số hệ thống đề xuất mà bạn tìm thấy trên web dưới dạng tự động hóa tiếp thị dựa trên loại hình học tập này.
Học bán giám sát (Semi-Supervided Learning): Học bán giám sát là một cách tiếp cận học máy kết hợp dữ liệu nhỏ được gắn nhãn với một lượng lớn dữ liệu không được gắn nhãn trong quá trình đào tạo Học bán giám sát nằm giữa học không giám sát và học có giám sát .
Một ví dụ điển hình của nhóm này là chỉ có một phần ảnh hoặc văn bản được gán nhãn (ví dụ bức ảnh về người, động vật hoặc các văn bản khoa học, chính trị) và phần lớn các bức ảnh/văn bản khác chưa được gán nhãn được thu thập từ internet Thực tế cho thấy rất nhiều các bài toán Machine Learning thuộc vào nhóm này vì việc thu thập dữ liệu có nhãn tốn rất nhiều thời gian và có chi phí cao Rất nhiều loại dữ liệu thậm chí cần phải có chuyên gia mới gán nhãn được (ảnh y học chẳng hạn) Ngược lại, dữ liệu chưa có nhãn có thể được thu thập với chi phí thấp từ internet.
Học máy tăng cường (Reinforcement Learning): Reinforcement learning là hệ thống học tập tự động xác định hành vi dựa trên hoàn cảnh để tối đa hóa hiệu suất hoặc lợi ích cao nhất (maximizing the performance) Hiện tại, Reinforcement learning chủ yếu được áp dụng vào Lý Thuyết Trò Chơi (Game Theory), các thuật toán cần xác định nước đi tiếp theo để đạt được điểm số cao nhất hoặc lợi ích cao nhất Reinforcement Learning đã được áp dụng rộng rãi trong lý thuyết trò chơi, như trong các trò chơi máy tính như cờ vua, cờ caro, AlphaGo, và cả trò chơi video như Atari Trong các trường hợp này, hệ thống RL phải tìm ra nước đi tiếp theo để đạt được điểm số cao nhất hoặc đánh bại đối thủ
Ví dụ: Trong trò chơi Pong, mục tiêu của hệ thống RL là học cách điều khiển thanh di chuyển lên và xuống để đánh bóng và đạt được điểm số cao nhất Hệ thống RL sẽ nhận dữ liệu đầu vào từ màn hình trò chơi và thông tin về vị trí và tốc độ của thanh và quả bóng Hệ thống RL sẽ đưa ra quyết định về việc di chuyển thanh lên, xuống hoặc không di chuyển dựa trên trạng thái hiện tại của trò chơi Sau đó, hệ thống RL sẽ nhận phản hồi từ môi trường trò chơi về kết quả của hành động, ví dụ như số điểm đạt được hoặc việc mất điểm Quá trình huấn luyện RL trong trò chơi sẽ diễn ra qua nhiều vòng lặp Ban đầu, hệ thống RL sẽ thực hiện các hành động ngẫu nhiên Khi hành động dẫn đến kết quả tốt hơn, hệ thống sẽ cập nhật chiến lược của mình dựa trên phần thưởng (reward) nhận được Dần dần, hệ thống sẽ học cách tối ưu hóa chiến lược chơi và đạt được kết quả tốt hơn Quá trình huấn luyện RL trong trò chơi có thể sử dụng các thuật toán như Q-Learning hoặc Deep Q-Network (DQN) Các thuật toán này sẽ điều chỉnh giá trị Q (giá trị ước tính) của các cặp trạng thái-hành động trong quá trình học, để tìm ra chiến lược tối ưu.
2.1.2 Khái quát về học sâu
2.1.2.1 Khái niệm về học sâu
Mô hình phát hiện URL độc hại dựa trên học sâu
Mục tiêu của chúng ta là xác định xem từ các URL đã cho, URL nào là độc hại và không độc hại Cho một tập gồm t URL {(u 1 , y 1 ), (u 2 , y 2 ), (u 3 , y 3 ), …, (u t , y t )} trong đó u x với x = 1, ….,T biểu thị một URL và y x thuộc tập {0;1} biểu thị nhãn của
URL, với y = 1 thể hiện đây là một URL độc hại và y = 0 thể hiện đây là một URL an toàn.
Hình 2-5 Mô hình phát hiện URL độc hại dựa trên học sâu CNN
Mô hình phát hiện URL độc hại dựa trên học sâu CNN, như biểu diễn trên Hình 2-5 nhận bốn đầu vào Đầu vào đầu tiên đến từ URL đã được thực hiện tokenization và padding Các đầu vào còn lại là các subdomains, domains và suffix domains được encoded Đầu vào URL sẽ được đi qua lớp nhúng và lớp tích chập trong khi các đầu vào khác sẽ đi qua lớp nhúng Sau đó các kết quả từ mỗi đầu vào sẽ được kết hợp lại với nhau Lớp tích chập đầu tiên gồm 64 bộ lọc với kích thước kernel là 3 Lớp tích chập thứ hai có 64 bộ lọc với kích thước kernel của 5 ReLU kích hoạt theo sau là lớp concatenate Cuối cùng là lớp kết nối đầy đủ với một nơ ron.
2.2.2 Kiến trúc mô hình a Đầu vào:
Đầu vào đầu tiên là URL đã được tokenization và padding để có cùng độ dài Đây là một chuỗi các từ hoặc ký tự đại diện cho URL.
Các đầu vào tiếp theo là subdomains, domains và suffix domains, được biểu diễn dưới dạng các số nguyên (encoded) để mô hình có thể hiểu được. b Lớp nhúng (Embedding):
Đầu vào URL được đưa qua một lớp nhúng (Embedding layer) để biểu diễn các từ trong URL dưới dạng vectơ có chiều số cố định.
Các đầu vào subdomains, domains và suffix domains cũng được đi qua các lớp nhúng tương tự để biểu diễn các số nguyên tương ứng thành các vectơ. c Lớp tích chập (Convolutional layer):
Đầu vào URL được đưa qua một lớp tích chập (Conv1D) đầu tiên với 64 bộ lọc (filters) và kích thước kernel là 3.
Sau đó, kết quả của lớp tích chập đầu tiên được đưa qua một lớp tích chập thứ hai với 64 bộ lọc và kích thước kernel là 5.
Mục đích của các lớp tích chập là học các đặc trưng cục bộ trong URL. d Lớp Flatten:
Kết quả từ lớp tích chập cuối cùng và các lớp nhúng của subdomains, domains và suffix domains được làm phẳng thành các vectơ 1 chiều. e Kết hợp các đầu vào:
Kết quả từ lớp tích chập của URL và các lớp Flatten của subdomains, domains và suffix domains được kết hợp lại với nhau bằng lớp concatenate để tạo ra một vectơ đại diện cho toàn bộ URL. f Lớp kết nối đầy đủ (Fully Connected layer):
Kết quả từ quá trình kết hợp được đưa vào một lớp kết nối đầy đủ (Dense layer) với 64 nơ ron.
Hàm kích hoạt relu được sử dụng để tạo ra các giá trị không âm và đạt được sự phi tuyến tính trong mô hình. g Lớp đầu ra:
Kết quả từ lớp kết nối đầy đủ cuối cùng được đưa vào một lớp kết nối đầy đủ (Dense layer) với 1 nơ ron.
Hàm kích hoạt sigmoid được sử dụng để tính xác suất của đầu ra là độc hại hoặc không độc hại.
2.2.3 Tiêu chuẩn đánh giá mô hình
Hình 2-6 Confusion matrix của TN, FN, FP, và TP Để đánh giá hiệu suất của mô ta sử dụng các chỉ số sau:
True positive (TP): các URL độc hại mà được phân loại chính xác là các URL độc hại
True negative (TN): các URL an toàn mà được phân loại chính xác là các URL an toàn.
False positive (FP): các URL an toàn mà được phân loại không chính xác là các URL độc hại.
False negative (FN): các URL độc hại mà được phân loại không chính xác là các URL an toàn Các chỉ số trên được lấy từ một confusion matrix Confusion matrix (ma trận nhầm lẫn) hay còn được gọi là error matrix (ma trận lỗi) Confusion matrix là thuật ngữ quan trọng được dùng trong machine learning, tương đương với khái niệm contingency table hay cross-table bên thống kê Nó có bản chất là một bảng phân phối tần số 2 chiều (bảng chéo) cho phép trình bày tỉ lệ tương hợp và bất xứng giữa thực tế và kết quả phân loại của quy luật cần kiểm tra (mô hình) Nó là một công cụ hữu ích để đánh giá và cải thiện hiệu suất của mô hình phân loại trong machine learning Trong đề án này, chỉ xét trường hợp đơn giản nhất của confusion matrix áp dụng cho bài toán phân loại nhị phân (Binary classification).
Từ 4 giá trị TP, TN, FP, FN, tiêu chuẩn đánh giá mô hình được tính theo những công thức sau:
Recall được xác định bằng số URL đựơc phân loại chính xác là độc hại chia cho tổng của tổng của số URL đựơc phân loại chính xác là độc hại và số URL độc hại được phân loại là các URL an toàn và được tính theo công thức sau:
Precision được xác định bằng số URL độc hại đựơc phân loại chính xác là độc hại chia cho tổng của tổng của số URL đựơc phân loại chính xác là độc hại và số URL an toàn được phân loại là các URL độc hại và được tính theo công thức sau:
F1 cũng được sử dụng để tính toán độ chính xác của mô hình và được tính bằng công thức :
Hàm F1 thực chất là hàm F-score với F ò với ò =1 để đỏnh giỏ tổng thể hiệu suất của mô hình phân loại mà không thiên vị một yếu tố nào trong precision và recall.
Loss được tính toán bằng giá trị hàm BinaryCrossentropy() của tensorflow, sử dụng để tính tổn thất giữa các nhãn chính xác và các nhãn được dự đoán.
Các giá trị val recall, val loss, val precision, val f1 là các giá trị recall, loss,precision, f1 nhưng được thực hiện trên tập dữ liệu dùng để validation.
Kết chương
Chương này đã trình bày khái quát về học máy, học sâu và mô hình phát hiệnURL độc hại dựa trên học sâu Các khái niệm và quy trình được giới thiệu sẽ là nền tảng cho việc thực hiện và đánh giá mô hình phát hiện URL độc hại trong chương tiếp theo.
THỬ NGHIỆM VÀ ĐÁNH GIÁ
Tập dữ liệu thử nghiệm
Tập dữ liệu thử nghiệm bao gồm 651.191 URL được gán các nhãn trong đó 428.103 được gán nhãn “benign”, 96.457 được gãn nhãn “defacement” URLs, 94.111 “phishing” URLs và 32.520 được gán nhãn “malware” URLs Tiền xử lý dữ liệu gộp các nhãn “defacement”, “phishing” và “malware” thành nhãn “bad” và gán nhãn “good” cho các “bengin” URL Tập dữ liệu sau khi tiền xử lý sẽ được chia thành 2 tập con là tập Train và tập Validation, trong đó có 80% dữ liệu sử dụng cho tập Train và 20% dữ liệu được sử dụng cho tập Validation.
Hình 3-1 Một số mẫu URL gán nhãn “ bad”
Hình 3-2 Một số URL gán nhãn “good”
Hình 3-3 Tỉ lệ tập Train và Validation
Trong tổng số URL trong tập dữ liệu, có 34.3% số URL được gán nhãn
“bad” và 65.7% số URL được gán nhãn “good”.
Hình 3-4 Tỷ lệ số nhãn được gán
Tiền xử lý dữ liệu
Ta cần trích xuất các giá trị subdomain, domain và domain suffix để có thể thực hiện phân tích Số các domain, subdomain và domain suffix duy nhất đã được trích xuất:
Hình 3-5 Số các domain, sub domain, domain suffix
Hình 3-6 Đặc điểm các domain
Từ biểu đồ trên Hình 3-6, ta thấy có nhiều domain nổi tiếng cũng xuất hiện trong các URL được gắn nhãn “bad” như google, facebook… Điều này rất nguy hiểm cho người dùng.
Hình 3-7 Đặc điểm các subdomain
Hình 3-8 Đặc điểm các domain suffix
Tương tự, Hình 3-7 và 3-8 biểu diễn top các subdomain và domain suffix xuất hiện trong các URL được dán nhãn good và bad.
Tiếp theo ta cần thực hiện tokenization các URL để chúng có thể sử dụng làm đầu vào của mô hình học sâu CNN Mỗi URL có độ dài khác nhau, vì vậy việc padding là cần thiết để cân bằng độ dài của các URL Ta cũng cần encode giá trị subdomain, domain, domain suffix thành các biến số, ví dụ các nhãn bad sẽ trở thành 1 và các nhãn good sẽ trở thành 0.
Cuối cùng là bước tiến hành tạo mô hình và và huấn luyện dữ liệu.
Cài đặt, thử nghiệm và kết quả
Môi trường thử nghiệm được hiển thị trong bảng sau:
Bảng 3-1 Môi trường thử nghiệm
CPU AMD Ryzen 7 5700G with Radeon Graphics
3.3.2 Kết quả và nhận xét
Với dự định sử dụng 25 vòng lặp để training dữ liệu, tuy nhiên khi giá trị validation không có sự cải thiện, quá trình training model sẽ được dừng lại.
Hình 3-9 Quá trình training dữ liệu
Giá trị của các chỉ số: loss, val loss, precision, val precision khi thử nghiệm với mô hình CNN được thể hiện trong bảng 3-2.
Bảng 3-2 Kết quả thử nghiệm với CNN
Sau 13 vòng lặp training dữ liệu đầu vào, kết quả tốt nhất mô hình CNN đạt được độ đo F1 là 98.99%.
Kết quả thử nghiệm cho thấy, mô hình học sâu CNN đã được sử dụng để phát hiện các URL độc hại với độ chính xác cao Mô hình đã được huấn luyện trên tập dữ liệu gồm các URL được gắn nhãn là độc hại hoặc lành tính và đạt được độ đo F1 là 98,99% trên tập thử nghiệm Điều này chứng tỏ tính hiệu quả của việc sử dụng các kỹ thuật học sâu, đặc biệt là CNN, để xác định chính xác các URL độc hại.
Một trong những lợi thế chính của việc sử dụng mô hình CNN cho thử thách này là khả năng tự động trích xuất các tính năng có liên quan từ dữ liệu đầu vào.Trong trường hợp URL, điều này bao gồm trích xuất các tính năng như sự hiện diện của các từ khóa nhất định hoặc cấu trúc của chính URL đó Mô hình CNN có thể học các tính năng này thông qua quá trình đào tạo mà không cần kỹ thuật tính năng thủ công.
Cài đặt và thử nghiệm mô đun phát hiện URL độc hại
Việc phân loại URL được tiến hành bằng cách cài đặt một mô đun hai kịch bản: Kịch bản thứ nhất cho phép nhập và phân loại 1 URL, kịch bản còn lại cho phép chọn 1 file chứa các URL và phân loại chúng.
Nhập một URL và phân loại:
+ Đầu vào là 1 URL độc hại - cannabispicture.com/
+ Đầu ra trả về là Malicious url
Hình 3-11 Kết quả trả về Url độc hại
+ Đầu vào là 1 URL an toàn - https://chat.openai.com/
+ Đầu ra trả về là Safe URL
Hình 3-12 Kết quả trả về Url an toàn
Nhập một danh sách URL và phân loại: Đối với kịch bản này sẽ đọc 1 danh sách 20 Url và gán nhãn cho từng URL Sau khi thực hiện phân loại ta được kết quả như Bảng
Bảng 3-3 Kết quả phân loại 20 URL
STT URL Nhãn thực Nhãn phân loại
1 https://google.com Safe Safe
2 https://vnexpress.com.vn Safe Safe
3 http://www.xacnhanvay247.com Malicious Malicious
4 http://www.downloadappios.com Malicious Malicious
5 https://lolesports.com/ Safe Safe
6 http://giaoducthoidai.vn Safe Safe
7 https://stackjava.com/ Safe Safe
8 http://www.baohungyen.org.vn/, Safe Safe
9 http://www.my-acb-bank.com/ Malicious Malicious
10 http://phimvietnam610.ddns.net/ Malicious Malicious
11 http://www.viet69xlxx004.ga/ Malicious Malicious
12 http://www.dantri.com Safe Malicious
13 https://openai.com/blog/chatgpt, Safe Safe
14 http://www.vietinbank-ipay.com/ Safe Malicious
15 https://www.ff.sieuhack.work Malicious Malicious
16 https://www.khoataikhoanhack-garena.xyz/ Malicious Malicious
17 https://moneygram-ripple24-7.weebly.com Malicious Safe
18 http://www.thanhtra.gov.vn / Safe Safe
19 https://rikadv469.cpctvn.com Malicious Malicious
20 https://app.memrise.com/ Safe Safe
Nhận xét, đánh giá
Từ kết quả ở mục 3.4, phần lớn các URL cần phân loại đều được dự đoán đúng Tuy nhiên vẫn có một số URL được dự đoán sai Mô hình học sâu phân loại sai một số trường hợp, một phần do tập huấn luyện chưa đầy đủ, hoặc khi làm việc với các bộ dữ liệu không cân bằng hoặc khi ranh giới giữa các lớp không rõ ràng. Trong trường hợp phát hiện URL độc hại, có khả năng có các đặc điểm hoặc mẫu tinh vi trong các URL mà mô hình không thể nắm bắt được, dẫn đến phân loại sai.
Một cách để đánh giá hiệu suất của mô hình và xác định các nguồn lỗi là phân tích các URL bị phân loại sai và cố gắng hiểu lý do tại sao chúng bị phân loại sai Điều này có thể được thực hiện bằng cách kiểm tra thủ công các URL và tìm kiếm bất kỳ mẫu hoặc tính năng nào có thể ảnh hưởng đến quyết định của mô hình. Cũng có thể hữu ích khi so sánh các URL được phân loại sai với các URL được phân loại chính xác để xem liệu có bất kỳ sự khác biệt đáng chú ý nào không.
Một cách tiếp cận khác là sử dụng các kỹ thuật như xác thực chéo hoặc lấy mẫu phân tầng để đánh giá hiệu suất của mô hình và xác định bất kỳ sai lệch hoặc điểm yếu tiềm ẩn nào Điều này có thể giúp xác định các khu vực mà mô hình có thể cần được cải thiện hoặc nơi có thể cần thêm dữ liệu.
Nhìn chung, điều quan trọng là phải tiếp tục đánh giá hiệu suất của mô hình và tìm cách cải thiện độ chính xác của mô hình, vì điều này rất quan trọng để đảm bảo rằng mô hình có thể phát hiện hiệu quả các URL độc hại và bảo vệ người dùng khỏi tác hại tiềm ẩn.
Kết chương
Chương 3 tập trung vào việc thử nghiệm và đánh giá mô hình phát hiện URL độc hại dựa trên học sâu Kết quả thử nghiệm đã cũng cấp thông tin về khả năng phát hiện URL độc hại Trong chương này còn thực hiện cài đặt mô hình phân loại và thử nghiệm phân loại cho các URL mới