CHƯƠNG 1 GIỚI THIỆU 1.1 Cơ chế bảo mật TLS, X.509 PKI và HTTPS Cấu trúc hạ tầng mã khóa công khai X.509 [1] (sau được gọi là X.509 PKI) là một cấu trúc theo dạng hình cây từ trên xuống, trong đó ở cấp cao nhất là tổ chức phát hành chứng chỉ gốc (sau được gọi là CA) được cả máy khách và máy chủ tin cậy. Ở giữa là các CA trung gian và cuối cùng là các chứng chỉ xác thực danh tính của các trang web được cấp chứng chỉ. Dựa trên cấu trúc này, X.509 PKI là một cấu trúc hệ thống đảm bảo sự tin cậy trong việc xác định danh tính của các trang web và khóa công khai của chúng. TLS (Transport Layer Security) [2] là một giao thức bảo mật tiêu chuẩn được sử dụng để bảo vệ dữ liệu khi truyền tải qua mạng.
Nó chính là phiên bản nâng cấp và kế thừa của giao thức SSL (Secure Sockets Layer). TLS được sử dụng rộng rãi trong nhiều ứng dụng mạng, bao gồm truyền tải thông tin cá nhân qua trình duyệt web (HTTPS), truyền tải email bảo mật (SMTP/IMAP/POP3), và truyền tải dữ liệu qua các giao thức khác như FTP và SSH. Là một trong những giao thức bảo mật quan trọng được sử dụng để bảo vệ người dùng cuối của các dịch vụ trực tuyến, TLS dựa trên X.509 PKI để đảm bảo danh tính của máy chủ từ xa và tính xác thực của khóa công khai được liên kết với nó. HTTPS [3] là một trong những giao thức lớp được sử dụng để bảo vệ dữ liệu truyền tải giữa máy khách và máy chủ trên mạng bằng cách sử dụng kết hợp giữa giao thức HTTP và giao thức bảo mật TLS/SSL.
HTTPS dựa vào TLS để cung cấp kết nối HTTP được mã hóa giữa máy khách và máy chủ. Khi chúng ta truy cập một trang web thông qua HTTPS, dữ liệu giữa trình duyệt web và máy chủ web sẽ được mã hóa, đảm bảo tính toàn vẹn và bảo mật. Điều này giúp ngăn chặn kẻ tấn công khỏi hành vi nghe trộm, thay đổi hoặc đánh cắp thông tin nhạy cảm như tên người dùng, mật khẩu, thông tin tài khoản ngân hàng và thông tin cá nhân khác. 1 Khi máy khách kết nối với máy chủ thông qua HTTPS, quá trình bắt tay TLS (TLS handshake) sẽ diễn ra giữa hai bên để thiết lập kết nối bảo mật và xác thực.
Sau khi máy khách gửi thông điệp đến máy chủ, máy chủ sẽ phản hồi bằng cách gửi chứng chỉ X.509 được xác thực bởi một tổ chức CA. Sau đó, máy khách sẽ kiểm tra xem chứng chỉ nhận được có được phát hành từ một CA tin cậy hay không. Nó sẽ kiểm tra chuỗi chứng chỉ từ chứng chỉ đến CA gốc trong kho chứng chỉ gốc (Repository) trên máy tính hoặc trong danh sách tin cậy được trình duyệt hoặc ứng dụng khách cung cấp. Chứng chỉ thường bao gồm tổ chức phát hành (tổ chức ký chứng chỉ), chủ thể (được chứng chỉ này xác thực), khóa công khai tương ứng với chủ đề, chữ ký số do tổ chức phát hành cung cấp, thuật toán tạo chữ ký của chứng chỉ, thời gian hiệu lực của chứng chỉ, phiên bản của chứng chỉ, số seri và phần nội dung gia hạn.
Người dùng được yêu cầu xác minh chứng chỉ dựa trên các tiêu chí sau. Đầu tiên, chủ đề được hiển thị trong chứng chỉ phải phù hợp với trang web mà người dùng đang truy cập. Điều này đảm bảo rằng chứng chỉ được cấp cho trang web chính xác và đáng tin cậy. Thứ hai, chứng chỉ phải nằm trong khoảng thời gian hợp lệ được xác định bởi các trường "NotBefore" và "NotAfter".
Điều này đảm bảo rằng chứng chỉ đang trong thời gian hiệu lực và chưa hết hạn. Thứ ba, phải thiết lập một chuỗi tin cậy từ chứng chỉ đến một CA gốc đáng tin cậy. Điều này đảm bảo rằng chứng chỉ đã được phát hành và ký bởi một tổ chức có thẩm quyền và được tin cậy. Sau khi chứng chỉ được xác minh, khóa công khai liên kết trong chứng chỉ được sử dụng để tạo ra một thông tin xác thực tạm thời giữa người dùng và máy chủ.
Sau đó, thông tin xác thực này được sử dụng để thiết lập một kênh liên lạc mã hoá đầu cuối để đảm bảo tính bảo mật trong quá trình giao tiếp giữa người dùng và máy chủ.2 Khái niệm Phishing Lừa đảo (Phishing) là một hình thức tấn công trực tuyến nhằm mục đích cố gắng dụ dỗ người dùng mạng tiết lộ các thông tin nhạy cảm và có giá trị như thông tin đăng nhập, mật khẩu, thông tin tài khoản ngân hàng,v. cho những kẻ tấn công để chúng sử dụng cho các mục đích xấu, gây ra nhiều thiệt hại cho các nạn nhân. Kẻ 2 xấu thường thực hiện phishing bằng cách giả mạo thành một thực thể đáng tin cậy trong môi trường mạng, kết hợp các hình thức tấn công phi kỹ thuật (social engineering) và các chiêu trò kỹ thuật (technical tricks). Các kiểu tấn công thường gặp có thể kể đến như gửi email giả mạo, tạo ra các trang web giả có hình thức giống với các trang web chính thống để đánh lừa người dùng cung cấp thông tin nhạy cảm.3 Tình hình Phishing hiện nay Internet ngày nay tiềm ẩn nhiều rủi ro và trở thành nơi ngày càng nhiều kẻ xấu khai thác.
Ở thời điểm chúng tôi thực hiện luận văn này, theo báo cáo mới nhất về xu hướng hoạt động Phishing của APWG [4] thì đã có 1.037 cuộc tấn công phishing được ghi nhận trong quý 4 năm 2022. Và theo quan sát trong 4 năm gần nhất, thì các cuộc tấn công đã tăng 150% mỗi năm, gây thiệt hại lên đến hàng triệu đô la. Hơn nữa, theo báo cáo của PhishLabs, trong năm 2022, 66% các trang web lừa đảo được xây dựng dựa trên các tên miền có trả phí và các tên miền bị xâm phạm nhưng không bị phát hiện. Điều này chứng tỏ các tin tặc đã có sự đầu tư cũng như cải tiến các hình thức tấn công ngày càng tinh vi và khó nhận ra hơn, khiến cho các trang web giả mạo ngày càng có nhiều đặc điểm giống với các trang web chính thống.
Hình 1 trình bày xu hướng tấn công phishing trong 4 năm qua theo báo cáo của APWG. Xu hướng tấn công phishing trong 4 năm gần nhất theo báo cáo của APWG 3 1.4 Đóng góp của luận văn Hiện tại, đã có nhiều công cụ phát hiện lừa đảo được phát triển, tích hợp trong trình duyệt, công cụ tìm kiếm hoặc ứng dụng, có thể kể đến như SafeBrowsing của Google [5] và SmartScreen [6] của Microsoft. Các công cụ này có nhiệm vụ thông báo cho người dùng biết liên kết URL mà họ truy cập có an toàn hay không. Quá trình này được thực hiện bằng cách đối chiếu URL được truy cập với danh sách đen (blacklist) được cộng đồng các nhà bảo mật xây dựng.
Các danh sách đen này được cập nhật, bổ sung bằng nhiều kỹ thuật khác nhau, từ báo cáo người dùng, các công cụ thu thập dữ liệu web dựa trên phân tích nội dung trang web cho đến các bộ phân loại tự động dựa trên phỏng đoán (heuristic) hoặc các bộ phân loại dựa trên học máy. Tuy nhiên, trên thực tế, nhiều trang web giả mạo vẫn có thể vượt qua được các hệ thống bảo vệ này vì những lý do sau: - Trang web vừa mới xuất hiện, do đó chưa được quét hoặc phân tích bởi bất kỳ cơ chế hay kỹ thuật nào. - Trang web đã được phân tích không chính xác, do tồn tại một điểm yếu nào đó trong cơ chế hoặc biện pháp đối phó và đã bị những kẻ tấn công khai thác, ví dụ: kỹ thuật “ẩn giấu” (cloaking) [7] hoặc lạm dụng các dịch vụ rút gọn URL hợp pháp [8]. Vẫn có một số hệ thống xử lý được các vấn đề liên quan danh sách đen không được cập nhật đầy đủ bằng cách sử dụng phương pháp đánh giá phía máy khách theo thời gian thực đối với nội dung hoặc hoạt động của trang web khi người dùng cuối truy cập trang web.
Tuy nhiên, những hệ thống như vậy gặp vấn đề với thời gian phản hồi và gây khó chịu cho người dùng cuối. Ngoài ra, tùy thuộc vào bản chất của cuộc tấn công mà người dùng có thể đã bị ảnh hưởng từ nguy cơ trên các trang web giả mạo do nội dung trang web đã được tải xuống trước khi quá trình phân tích bắt đầu. Cảnh báo website lừa đảo của trình duyệt Chrome Vai trò quan trọng của việc phòng chống lừa đảo là phát hiện chính xác các trang web lừa đảo một cách nhanh chóng. Việc nhận dạng thành công các URL lừa lảo và đưa chúng vào danh sách đen sẽ giúp người dùng cuối nhận được cảnh báo khi bị lừa truy cập vào trang web lừa đảo.
Như Hình 2, nếu hiển thị một màn hình cảnh báo đỏ như vậy thì khả năng cao là người dùng sẽ từ chối các yêu cầu đăng nhập/nhập thông tin hoặc ngăn chặn các cửa bộ bật lên (popups) tải xuống mã độc có trong các trang web lừa đảo. Do đó, trong luận văn này, chúng tôi đề xuất một mô hình phát hiện hiệu quả, thu thập dữ liệu các trang web và tự động phát hiện các trang web độc hại. Chúng tôi dự định mô hình của chúng tôi sẽ được các nhà cung cấp danh sách đen sử dụng, tự động cập nhật và bổ sung vào danh sách hiện có. Mô hình mà chúng tôi đề xuất sử dụng một bộ đặc trưng phong phú, có sự kết hợp giữa các đặc trưng động và đặc trưng tĩnh, từ đó phản ánh nhiều đặc điểm trọng yếu liên quan đến nội dung hoặc hành vi của trang web mà những kẻ tấn công không thể hoặc rất khó ngụy trang.
Mô hình này có thể chủ động thu thập dữ liệu và đánh giá một URL nhất định, gắn nhãn URL đó là lừa đảo hoặc hợp pháp, dựa trên một trình phân loại sử dụng phương pháp học máy. Hơn nữa, việc thu thập thông tin được thực hiện dựa trên nhiều nguồn khác nhau, giúp mô hình thu thập các đặc trưng mới và đạt được độ chính xác cao hơn cũng như tốc độ nhận dạng nhanh hơn. Do không 5 phải phân tích thủ công nên danh sách đen có thể được cập nhật chính xác và kịp thời hơn. Đồng thời cũng hạn chế quá trình phân tích phía máy khách, từ đó giúp giảm thời gian xử lý cũng như tránh nguy cơ tải các nội dung độc hại xuống thiết bị cá nhân.
Cụ thể, trong luận văn này, chúng tôi đề xuất một mô hình phát hiện lừa đảo mới, coi nhiệm vụ phát hiện lừa đảo là một bài toán phân loại nhị phân trong đó lớp tích cực (positive class) là hợp pháp và lớp tiêu cực (negative class) là lừa đảo.