QUIC (Quick UDP Internet Connections) được Google phát triển vào năm 2012, là giao thức lớp vận chuyển dựa trên phiên bản ghép kênh (multiplex) của các kết nối UDP. Không giống như TCP, UDP không tuân theo bắt tay ba bước mà sử dụng một roundtrip UDP duy nhất. Ngoài ra, QUIC dựa vào ghép kênh để quản lý liền mạch nhiều tương tác giữa người dùng và máy chủ thông qua một kết nối duy nhất mà không có bất kỳ kết nối chặn nào khác, vì các gói tin bị thất lạc chỉ ảnh hưởng đến luồng dữ liệu trực tiếp chứa gói tin đó, những luồng khác vẫn hoạt động bình thường từ đó giúp cải thiện hiệu suất so với những phiên bản trước đó.
Giao thức TCP được thiết kế để đảm bảo dữ liệu được mã hóa trong quá trình truyền, nhưng thông tin cụ thể về đường truyền chưa được mã hóa, gây ra nhiều vấn đề về bảo mật và quyền riêng tư. Trong giao thức QUIC, ngoại trừ các trường bắt buộc trong phân đoạn mạng, các phần còn lại của thông tin đều được mã hóa theo mặc định, ví dụ như các trường Packet NR, ACK NR, Window. Mã hóa được đề xuất trong QUIC giúp ngăn chặn các tấn công giám sát phổ biến trong các phiên bản trước của HTTP/3, cũng như thu thập thông tin các thành phần giao thức, metadata hay dữ liệu ứng dụng. Hình 1 minh họa kết quả phân tích gói tin QUIC bởi công cụ phân tích mạng Wireshark.
Để hỗ trợ mã hóa đầu cuối trong quá trình kết nối, QUIC chủ yếu dựa vào sự bắt tay của lớp vận chuyển và mật mã. Vì QUIC tương tác trực tiếp với TLS 1.3, nó thực thi mã hóa cho tất cả các kết nối ban đầu và không có tùy chọn để tắt TLS. QUIC cũng chịu trách nhiệm đảm bảo rằng các kết nối an toàn được thiết lập, đồng thời cân nhắc các biện pháp bảo vệ tính bảo mật và tính toàn vẹn của tất cả các kết nối ban đầu. Không giống như triển khai HTTP/2 với TLS, QUIC xử lý cơ chế bắt tay và cảnh báo TLS trong lớp truyền tải, giúp thiết lập các biện pháp bảo vệ mật mã bằng cách sử dụng các khóa được trao đổi từ quá trình bắt tay.
Hình 1. Đoạn mã Wireshark hiển thị các phân đoạn mạng của giao thức QUIC
Không giống như HTTP/2, sử dụng các bản ghi “application_data” của TLS, QUIC sử dụng khung STREAM ở dạng gói QUIC. Bắt tay TLS xảy ra ở dạng khung CRYPTO, chủ yếu bao gồm dữ liệu bắt tay trong một luồng liên tục. QUIC được thiết kế để gửi các gói tin song song, đôi khi là đóng gói các thông báo khác nhau thành một và mã hóa chúng với điều kiện các thông báo có cùng mức độ mã hóa. Tính năng này mang lại lợi ích to lớn cho hiệu suất mạng trong khi vẫn đảm bảo chế độ mã hóa chính xác được áp dụng trong quá trình truyền.
Bảo mật phía trước đầy đủ
Bảo mật phía trước đầy đủ (PFS) trong một giao thức khi các khóa riêng tạm thời được trao đổi giữa người dùng và máy chủ. Mỗi phiên do người dùng bắt đầu sử dụng một khóa phiên mới duy nhất và không liên quan đến khóa phiên trước đó. Bằng cách sử dụng khóa phiên riêng biệt cho mỗi trao đổi, khi có khóa phiên bất kỳ bị xâm phạm, không có thông tin nào từ các phiên trước đó hoặc trong tương lai bị xâm phạm. Từ góc độ mật mã, không có trao đổi khóa nào có thể cung cấp PFS.
QUIC sử dụng TLS 1.3, hỗ trợ trao đổi khóa Diffie-Hellman (DH) và Khóa chia sẻ trước (PSK) trên các đường cong Elliptic hoặc trên các trường hữu hạn. Trao đổi khóa 0-RTT cung cấp bảo mật phía trước đầy đủ, vì mã hóa chỉ chấp nhận các kết nối chuyển tiếp an toàn thông qua bắt tay 0-RTT. Giao thức cũng cung cấp bảo mật phía trước đầy đủ cho các thông báo ban đầu giữa người dùng và máy chủ. Ngoài ra, vì không hỗ trợ khóa bí mật dài hạn, với sự trợ giúp của TLS 1.3, QUIC cung cấp khả năng bảo mật phía trước đầy đủ cho các ứng dụng sử dụng lớp giao thức.
Việc triển khai QUIC được thiết kế để lưu trữ các giá trị máy khách của dẫn xuất khóa, ngoài các giá trị nonce. Bất kỳ yêu cầu trùng lặp có cùng giá trị dẫn xuất khóa và các giá trị nonce đều được máy chủ phát hiện và loại bỏ. Thiết kế này giúp ngăn bất kỳ máy chủ nào chấp nhận cùng một khóa nhiều lần từ cấp giao thức. Vì các thành phần web có thể sử dụng khóa dẫn xuất từ khóa phiên, các cuộc tấn công phát lại có thể xảy ra ở giai đoạn này; tuy vậy, các biện pháp phòng ngừa có thể được sử dụng ở cấp ứng dụng để giảm thiểu điều đó.
Bảo vệ chống giả mạo IP
Để loại bỏ mọi tấn công giả mạo IP, QUIC hỗ trợ xác minh địa chỉ trong quá trình bắt tay và yêu cầu bằng chứng địa chỉ đã ký thông qua việc sử dụng “mã thông báo địa chỉ nguồn”. Đó là các khối được xác thực, mã hóa của máy chủ, chứa địa chỉ IP của người dùng và dấu thời gian của máy chủ. Vì máy chủ chỉ phản hồi địa chỉ IP trong mã thông báo, ngay cả một cookie hoặc mã thông báo bị đánh cắp cũng có thể không giúp việc giả mạo IP thành công. Hơn nữa, do QUIC thiết lập mã thông báo địa chỉ nguồn tồn tại trong thời gian ngắn, khoảng thời gian cho một tấn công giả mạo IP thành công trong thực tế là gần như không thể.
Theo thiết kế, TLS 1.3 có khả năng bảo vệ chống lại các tấn công hạ cấp TLS vì giao thức yêu cầu mã băm khóa cho tất cả các giao tiếp bắt tay và yêu cầu bên nhận bắt tay xác minh các mã băm khóa đã gửi. Ngoài ra, các thông báo CertificateVerify giữa người dùng và máy chủ bao gồm chữ ký băm PKCS RSA của tất cả các thông báo trước đó về kết nối cụ thể. Việc triển khai các kiểm tra này trong QUIC sẽ ngăn chặn các tấn công hạ cấp TLS.
Một trong những tính năng nổi bật nhất của HTTP/3 là nối lại phiên 0-RTT, giúp cải thiện tốc độ kết nối và giảm độ trễ. Tuy nhiên, quá trình này chỉ hoạt động nếu kết nối đã được thiết lập thành công trước đó và trao đổi hiện tại sử dụng khóa chia sẻ trước được thiết lập trong lần kết nối cuối cùng. Một trong những vectơ tấn công phổ biến nhất là tấn công phát lại có thể diễn ra khi tin tặc gửi lại gói tin ban đầu; trong những trường hợp cụ thể, điều này khiến máy chủ tin rằng yêu cầu đến từ một máy khách đã biết trước đó. Một nhược điểm bảo mật khác của nối lại phiên 0-RTT là phần thiếu sót của Bảo mật phía trước đầy đủ. Tin tặc có thể giải mã thông tin liên lạc 0-RTT do người dùng gửi khi xâm phạm mã thông báo.
Khi ở giữa người dùng với máy chủ, tin tặc có thể thao tác với Connection ID trong quá trình bắt tay ban đầu. Quá trình bắt tay diễn ra bình thường, máy chủ sẽ cho rằng kết nối đã được thiết lập, nhưng người dùng sẽ không thể giải mã được vì Connection ID là đầu vào cho quá trình dẫn xuất khóa mã hóa, do đó người dùng và máy chủ sẽ tính toán khóa mã hóa khác nhau. Người dùng cuối cùng hết thời gian chờ và gửi thông báo lỗi tới máy chủ cho biết kết nối đã bị ngắt. Vì máy khách mã hóa thông báo lỗi đến máy chủ bằng khóa mã hóa ban đầu, máy chủ sẽ không thể giải mã và duy trì trạng thái kết nối cho đến khi hết thời gian chờ (thường là 10 phút). Điều này khi được thực hiện ở quy mô lớn hơn có thể gây ra một cuộc tấn công DDoS trên một máy chủ giữ nhiều kết nối cho đến khi trạng thái kết nối hết hạn. Một phương pháp tấn công khác để giữ kết nối tồn tại là thay đổi các tham số, chẳng hạn như mã thông báo địa chỉ nguồn, từ đó ngăn không cho máy khách thiết lập bất kỳ kết nối nào.
Trong QUIC, tấn công khuếch đại UDP xảy ra khi tin tặc nhận mã thông báo xác minh địa chỉ từ mục tiêu và giải phóng địa chỉ IP ban đầu sử dụng để tạo mã thông báo, sau đó, gửi kết nối 0-RTT trở lại máy chủ có cùng địa chỉ IP, địa chỉ này có thể được thay đổi để trỏ đến một điểm cuối khác. Sau khi thực hiện thành công thiết lập này, tin tặc có thể điều hướng máy chủ gửi một lượng lớn lưu lượng truy cập đến máy nạn nhân. Để ngăn chặn tấn công này, HTTP/3 có các khả năng giới hạn tốc độ và thời gian tồn tại của mã thông báo xác minh như các biện pháp kiểm soát bổ sung cho các tấn công DDOS, đồng thời giảm thiểu một phần các kịch bản tấn công.
Tấn công cạn kiệt luồng xảy ra khi tin tặc khởi tạo nhiều luồng kết nối, có thể dẫn đến cạn kiệt điểm cuối. Tin tặc có thể liên tục làm tràn ngập các yêu cầu, trong khi các tham số truyền tải cụ thể có thể giới hạn số lượng luồng hoạt động đồng thời, trong một số trường hợp, cấu hình máy chủ có thể được cố ý đặt thành số lượng cao hơn. Máy chủ nạn nhân có thể là mục tiêu của một tấn công như vậy do cấu hình giao thức của máy chủ để tăng hiệu suất giao thức.
Tấn công thiết lập lại kết nối gửi các thiết lập lại không trạng thái cho nạn nhân, tạo ra khả năng xảy ra tấn công DDoS tương tự như tấn công TCP Reset Injection. Vectơ tấn công tiềm ẩn có thể xảy ra nếu tin tặc lấy mã thông báo thiết lập lại được tạo cho kết nối với Connection ID cụ thể, tin tặc có thể sử dụng mã thông báo đã tạo để thiết lập lại kết nối đang hoạt động với cùng một Connection ID, khiến máy chủ phải đợi kết nối cho đến khi hết thời gian chờ. Khi thực hiện tấn công này trên quy mô lớn, máy chủ sẽ phải tiêu tốn rất nhiều tài nguyên chỉ để chờ các kết nối hoàn tất.
Cơ chế bảo vệ gói QUIC cung cấp xác thực và mã hóa cho tất cả các gói trong giao tiếp, ngoại trừ các gói thỏa thuận phiên bản. Tính năng này có thể cho phép tin tặc hạ cấp xuống các phiên bản QUIC không an toàn. Tuy hiện nay chỉ có một phiên bản QUIC, nhưng là điều cần lưu ý trong tương lai.
Mặc dù một số người dùng, máy chủ và trang web uy tín hỗ trợ HTTP3/QUIC, vẫn còn nhiều thiết bị mạng như proxy ngược/chuyển tiếp, bộ cân bằng tải, tường lửa ứng dụng web và các công cụ giám sát sự kiện bảo mật không hỗ trợ đầy đủ HTTP/3. Không giống như TCP, các socket không bắt buộc trong kết nối QUIC khiến việc phát hiện máy chủ và các kết nối độc hại khó hơn. Tin tặc có thể chuyển tiếp các nội dung độc hại và thực hiện các tấn công xâm nhập dữ liệu qua QUIC một cách lén lút mà không bị hầu hết các công cụ giám sát phát hiện.
QUIC và HTTP/3 được thiết kế để đáp ứng các mục tiêu ngày nay về hiệu suất, độ tin cậy và bảo mật của mạng Internet. Việc sử dụng mã hóa đầu cuối trong quá trình chuyển tiếp trong HTTP/3 giúp bảo vệ chống lại một số vấn đề về quyền riêng tư. Mặc dù còn một số điểm yếu, tuy nhiên HTTP/3 vẫn sẽ tiếp tục phát triển và là một cải tiến đáng kể so với HTTP/2 và các phiên bản trước của HTTP, cả về hiệu suất và yếu tố bảo mật.
Lê Tiến Thành
08:00 | 03/01/2023
09:00 | 08/11/2022
13:00 | 22/09/2022
09:00 | 06/12/2023
Các cuộc chiến tranh giành lãnh địa trên không gian mạng trong tương lai sẽ xuất hiện và gia tăng giữa các nhóm tội phạm mạng khi nhiều đối thủ tập trung vào cùng một mục tiêu. Vừa qua Fortinet đã công bố Báo cáo Dự báo về các mối đe dọa an ninh mạng năm 2024 từ đội ngũ nghiên cứu FortiGuard Labs đưa ra những tác động của AI tới mô hình chiến tranh mạng, đồng thời nhấn mạnh xu hướng các mối đe dọa mới nổi có thể định hình bối cảnh chuyển đổi số trong năm tới và những năm sau.
10:00 | 10/11/2023
Google đã thực hiện một bước quan trọng nhằm tăng cường bảo mật Internet của Chrome bằng cách tự động nâng cấp các yêu cầu HTTP không an toàn lên các kết nối HTTPS cho toàn bộ người dùng.
14:00 | 14/09/2023
NFT (Non-fungible token) là một sản phẩm của thời đại công nghệ mới và đang phát triển như vũ bão, ảnh hưởng sâu rộng đến nhiều lĩnh vực. Thị trường NFT bùng nổ mạnh mẽ vào năm 2021, tăng lên khoảng 22 tỷ USD và thu hút ước tính khoảng 280 nghìn người tham gia. Nhưng khi thị trường này phát triển, phạm vi hoạt động của tin tặc cũng tăng theo, đã ngày càng xuất hiện nhiều hơn các báo cáo về những vụ việc lừa đảo, giả mạo, gian lận và rửa tiền trong NFT. Bài báo sau sẽ giới thiệu đến độc giả tổng quan về NFT, các hành vi lừa đảo NFT và cách thức phòng tránh mối đe dọa này.
10:00 | 28/08/2023
Trước đây đã có những quan điểm cho rằng MacBook rất khó bị tấn công và các tin tặc thường không chú trọng nhắm mục tiêu đến các dòng máy tính chạy hệ điều hành macOS. Một trong những nguyên do chính xuất phát từ các sản phẩm của Apple luôn được đánh giá cao về chất lượng lẫn kiểu dáng thiết kế, đặc biệt là khả năng bảo mật, nhưng trên thực tế MacBook vẫn có thể trở thành mục tiêu khai thác của các tin tặc. Mặc dù không bị xâm phạm thường xuyên như máy tính Windows, tuy nhiên đã xuất hiện nhiều trường hợp tin tặc tấn công thành công vào MacBook, từ các chương trình giả mạo đến khai thác lỗ hổng bảo mật. Chính vì vậy, việc trang bị những kỹ năng an toàn cần thiết sẽ giúp người dùng chủ động nhận biết sớm các dấu hiệu khi Macbook bị tấn công, đồng thời có những phương án bảo vệ hiệu quả trước các mối đe dọa tiềm tàng có thể xảy ra.
Lược đồ chữ ký số dựa trên hàm băm là một trong những lược đồ chữ ký số kháng lượng tử đã được Viện Tiêu chuẩn và Công nghệ Quốc gia Mỹ (NIST) chuẩn hóa trong tiêu chuẩn đề cử FIPS 205 (Stateless Hash Based Digital Signature Standard) vào tháng 8/2023. Bài báo này sẽ trình bày tổng quan về sự phát triển của của lược đồ chữ ký số dựa trên hàm băm thông qua việc phân tích đặc trưng của các phiên bản điển hình của dòng lược đồ chữ ký số này.
09:00 | 01/04/2024
Mới đây, Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA) đã phát hành phiên bản mới của hệ thống Malware Next-Gen có khả năng tự động phân tích các tệp độc hại tiềm ẩn, địa chỉ URL đáng ngờ và truy tìm mối đe dọa an ninh mạng. Phiên bản mới này cho phép người dùng gửi các mẫu phần mềm độc hại để CISA phân tích.
13:00 | 17/04/2024