CHƯƠNG I TỔNG QUAN VỀ URL ĐỘC HẠI VÀ PHƯƠNG PHÁP PHÁT HIỆN URL ĐỘC HẠI 1.1 Khái quát về URL 1.1 Khái niệm 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.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.
4 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). Hình 1-1 Cấu trúc URL 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 Protocol Secure) 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. 5 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.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. Authority: 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 6 Một trang web thông thường thường có ít nhất 3 phần trong URL của nó như www.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í.com trong www.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, .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à. 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ư .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ư. 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.com, tên miền 'facebook' cho biết tổ chức sở hữu trang web. Tên miền phụ (Subdomain): Subdomain bao gồm bất kỳ từ hoặc cụm từ nào đứng trước dấu chấm đầu tiên của URL. Đề cập đến world wide web, www là loại phổ biến nhất. Tên miền phụ được sử dụng để phân tách các phần khác nhau của trang web vì nó chỉ định loại tài nguyên sẽ được phân phối cho người dùng.
Ở đây, tên miền phụ được sử dụng 'www' là ký hiệu chung cho bất kỳ tài nguyên nào trên web. Các tên miền phụ như 'blog' trực tiếp đến một trang blog, 'audio' cho biết loại tài nguyên là âm thanh. Số cổng (port number): Thiết bị mạng sử dụng địa chỉ IP để nhận thông tin đến máy tính phù hợp trên mạng. Khi lưu lượng truy cập đến, số cổng thông báo với máy tính biết ứng dụng mà lưu lượng truy cập đó đang nhắm đến.
Một số cổng mặc định bao gồm 80 cho HTTP và 443 cho máy chủ HTTPS. Bạn thường không thấy số cổng khi lướt web, nhưng có thể thấy nó trong các ứng dụng mạng như trò chơi yêu 7 cầu nhập URL. Nếu URL chứa số cổng, nó xuất hiện ở sau tên máy chủ và trước dấu hai chấm, chẳng hạn như trong URL: http://www.com:8080 Đường dẫn (path): Phần Authority của URL đưa trình duyệt (hoặc các ứng dụng khác) đến đúng máy chủ trên mạng. Đường dẫn (hoạt động như đường dẫn trong Windows, macOS hoặc Linux) đưa bạn đến đúng thư mục hoặc file trên máy chủ đó.
Đường dẫn được bắt đầu bằng dấu gạch chéo sau tên miền cấp cao nhất và có các dấu gạch chéo giữa các thư mục và thư mục con như sau: //www.com/folder/subfolder/filename.html Tham số (query string/parameter): Chuỗi truy vấn chỉ định các tham số của dữ liệu đang được truy vấn từ cơ sở dữ liệu của trang web. Mỗi chuỗi truy vấn được tạo thành từ một tham số và một giá trị được nối bằng dấu bằng (=). Trong trường hợp có nhiều tham số, chuỗi truy vấn được nối bằng dấu và (&). Tham số có thể là một số, chuỗi, giá trị được mã hóa hoặc bất kỳ dạng dữ liệu nào khác trên cơ sở dữ liệu.
Phân đoạn (Fragment): đây là phần tùy chọn của một URL, thường xuất hiện ở cuối và bắt đầu bằng ‘#’. Nó chỉ ra một vị trí cụ thể trong một trang, chẳng hạn như thuộc tính ‘id’ hoặc ‘name’ cho một phần tử HTML.3 Lịch sử phát triển Khái niệm “URL là gì” được định nghĩa trong RFC 1738 và được xác định cấu trúc vào năm 1994 bởi Tim Berners-Lee. Ông là nhà phát minh của World Wide Web và nhóm URL của Lực lượng đặc nhiệm kỹ thuật Internet (IETF). Định dạng URL có kết hợp hệ thống tên miền được tạo năm 1985 với cú pháp đường dẫn tệp.
Các dấu gạch chéo “//” trong đường dẫn được sử dụng để phân tách tên thư mục và tên tệp với nhau. Bản nháp URL đầu tiên được xây dựng vào năm 1993 và được đề cập đến như bộ định vị tài nguyên “phổ quát”. Tuy nhiên, bản này đã bị bác bỏ một thời gian vào giữa tháng 6 năm 1994 và tháng 10 năm 1994.2 Khái quát về URL độc hại 1.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.