Cách học máy (machine learning) phát hiện các cuộc tấn công lừa đảo

Học máy có những ứng dụng đặc biệt trong việc phát hiện lừa đảo. Qua đó có thể bảo vệ người dùng Internet khỏi bị tấn công hoặc mất mát thông tin quan trọng.

Kể từ sau đại dịch COVID-19, chúng ta đã dựa vào Internet cho rất nhiều dịch vụ hàng ngày như giáo dục, ngân hàng, giải trí và mạng xã hội.

Đáng buồn thay, những kẻ tấn công mạng lợi dụng điều này bằng cách thử nhiều cuộc tấn công lừa đảo hơn nhằm vào những người dùng không chú trọng đến vấn đề an toàn an ninh thông tin.

Lừa đảo trên mạng là gì?

Lừa đảo là khi kẻ tấn công mạng cố gắng lấy thông tin cá nhân – như số thẻ tín dụng và mật khẩu – từ người dùng bằng cách khiến họ nhấp vào liên kết lừa đảo. Trong hầu hết các trường hợp, kẻ tấn công gửi cho người dùng liên kết này qua email hoặc qua nền tảng nhắn tin tương tự. Thông thường, liên kết độc hại này có thể được xây dựng giống với một trang web hợp pháp để lừa người dùng nhấp vào nó. Vì vậy, người dùng có thể rất khó phân biệt được sự khác biệt giữa trang web an toàn và trang web giả mạo.

Sau khi thu được thông tin cá nhân như vậy, kẻ tấn công sẽ dễ dàng phát tán phần mềm độc hại – phần mềm có hại – chẳng hạn như phần mềm tống tiền khóa thiết bị hoặc tệp của người dùng cho đến khi họ thanh toán cho kẻ tấn công. Vậy làm thế nào để chúng ta chống lại điều này?

Đưa những nghi ngờ vào danh sách đen (black list)

Cách phòng vệ tự động phổ biến nhất trước hành vi lừa đảo là danh sách đen các URL đáng ngờ. Ví dụ: các công cụ tìm kiếm như Bing và Google có thể có danh sách đen chứa các URL lừa đảo có hại để bảo vệ người dùng Internet của họ nhấp vào các liên kết này. Danh sách đen có xu hướng được cập nhật thường xuyên bởi các chuyên gia an ninh mạng hoặc bởi người dùng gặp phải các cuộc tấn công.

Chỉ cần làm rõ, một trang web sẽ bị đưa vào danh sách đen khi chắc chắn có một số loại phần mềm độc hại. Khi một URL được xác định chắc chắn là có hại, cơ quan chức năng của công cụ tìm kiếm sẽ xóa nó.

Nhưng có một vấn đề với điều này: danh sách đen có thể không xác định được các trang web lừa đảo mới được phát triển. Trên thực tế, gần 1,5 triệu trang web lừa đảo mới được tạo ra mỗi tháng! Điều chúng tôi cần là một cách mới để xác định các URL lừa đảo chưa được tiết lộ.

Ảnh của Adi Goldstein trên Bapt

Trong một nghiên cứu, các tác giả tạo ra một phương pháp học máy để giải quyết vấn đề này bằng cách trích xuất các tính năng (đặc điểm) của các trang web đáng ngờ để phát hiện các hành vi lừa đảo mới. Họ đề xuất tám tính năng khác nhau liên quan đến mối quan hệ giữa URL của trang web và nội dung của nó.

Mô hình học máy phát hiện lừa đảo như thế nào?

Các tác giả chia mô hình học máy của họ thành ba bước:

  • Trích xuất các tính năng và tải xuống nội dung trang web.
  • Áp dụng vector hóa tính năng (đừng lo lắng, chúng ta sẽ làm được điều đó).
  • Xác định xem trang web có phải là trang lừa đảo hay không.

Chúng ta hãy đi qua từng giai đoạn này kỹ hơn một chút.

Tạo tính năng

Trong nghiên cứu này, các tác giả tạo ra các tính năng dựa trên URL của trang web cũng như mã nguồn HTML của nó. Mã nguồn giống như một tập hợp các hướng dẫn được viết bởi các lập trình viên máy tính về chương trình của trang web. Văn bản này dành cho hầu hết mọi người để đọc.

Cây mô hình đối tượng tài liệu

Cây DOM được các tác giả sử dụng để họ có thể truy cập tất cả các khía cạnh HTML của trang web, bao gồm cả nội dung và siêu liên kết của nó.

Vector hóa

Trước khi chuyển sang bước thứ hai, hãy định nghĩa vectơ hóa trong bối cảnh học máy. Ví dụ, trong nghiên cứu này, các tác giả huấn luyện mô hình của họ bằng dữ liệu văn bản từ các trang web. Và mặc dù con người như chúng ta có thể hiểu được các từ hoặc hình ảnh trên trang web, nhưng máy tính chỉ có thể hoạt động với dữ liệu này khi nó ở dạng số.

Đây là lý do tại sao trong học máy, chúng tôi sử dụng vector hóa như một cách để chuyển đổi dữ liệu đầu vào từ định dạng tự nhiên thành dữ liệu số để máy tính làm việc. Vì vậy, hãy chia nhỏ một số tính năng này…

Tính năng tổng số siêu liên kết

Nhìn chung, các trang web lừa đảo chứa rất ít trang so với những trang web thật. Trên thực tế, đôi khi những kẻ lừa đảo chỉ tạo một trang đăng nhập mà không có siêu liên kết nào cả. Vì vậy các tác giả đã kết hợp tính năng này với số lượng siêu liên kết có trên một trang web, thông tin được lấy từ mã nguồn HTML.

Lỗi trong siêu liên kết

Đôi khi, những kẻ lừa đảo thêm các liên kết bị hỏng hoặc chết vào các trang web giả mạo không thực sự hoạt động. Sử dụng tính năng này, các tác giả xác minh rằng siêu liên kết trên trang web thực sự hợp lệ.

Tính năng của mẫu đăng nhập

Trên cả trang web chính hãng và lừa đảo, trang đăng nhập cực kỳ phổ biến. Nhưng tất nhiên, trên các trang web lừa đảo, trang này thường chỉ nhằm mục đích lấy cắp thông tin cá nhân của người dùng. Tuy nhiên, trên trang đăng nhập của trang web thực, có xu hướng có một siêu liên kết với tên miền cơ sở tương tự như tên miền của thanh địa chỉ trình duyệt. Nhưng trong các trang web lừa đảo, URL trang đăng nhập có thể có miền cơ sở khác là liên kết trống hoặc không hợp lệ. Để xác định các trang web lừa đảo bằng các tính năng này, các tác giả tìm tỷ lệ các biểu mẫu đáng ngờ của một trang web trên tổng số các biểu mẫu của nó.

Phân loại

Cuối cùng, các tác giả thử nhiều bộ phân loại học máy để huấn luyện mô hình của họ, nhưng họ nhận ra rằng eXtreme gradient Boosting (XGBoost) vượt trội hơn tất cả các đối thủ cạnh tranh. Nhưng tại sao?

XGBoost

Lựa chọn này là một loại phân loại tổng hợp, có nghĩa là nó có thể lấy dự đoán từ nhiều phân loại khác nhau và kết hợp chúng để phân loại trang web với độ chính xác cao hơn. Một lợi ích khác của XGBoost là nó có thể xử lý các tập dữ liệu cực lớn không vừa với bộ nhớ. Cuối cùng, bộ phân loại này có thể sử dụng nhiều lõi khác nhau trên CPU của máy tính để xử lý nhiều tác vụ cùng một lúc; điều này làm cho việc tính toán tổng thể nhanh hơn rất nhiều.

Đáng buồn thay, sự thật là các trang web lừa đảo mới có thể được tạo ra với tốc độ ngày càng tăng. Nhưng với sức mạnh của máy học, không gì có thể ngăn cản người dùng giữ thông tin riêng tư của họ, cả ở chế độ riêng tư.