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
22:00 | 25/01/2025
Một trong những rủi ro an toàn thông tin (ATTT) nghiêm trọng trong quá trình chuyển đổi số đó là lộ, lọt bí mật trong nội bộ tổ chức, đơn vị thông qua hạ tầng chuyển đổi số. Việc rò rỉ dữ liệu có thể xảy ra ở nhiều mức độ khác nhau như từ hệ thống mạng, thiết bị đầu cuối, in ấn đến lưu trữ tập trung… Mỗi một mức độ đều có những rủi ro riêng cần được quản lý và phòng ngừa chặt chẽ. Đã có nhiều nghiên cứu, sản phẩm quan tâm tới vấn đề phòng chống rò rỉ dữ liệu nhạy cảm nhưng mới tập trung ở một vài mức độ. Trong bài viết này, nhóm tác giả đề xuất một giải pháp mã nguồn mở phòng chống rò rỉ dữ liệu nhạy cảm ở nhiều mức độ khác nhau nhằm bảo vệ hiệu quả ATTT mạng nội bộ tổ chức, đơn vị triển khai chuyển đổi số.
10:00 | 04/11/2024
Deepfake là một công nghệ mới nổi trong lĩnh vực xử lý hình ảnh và video. Bằng cách sử dụng các kỹ thuật học máy và trí tuệ nhân tạo, Deepfake có thể biến đổi hình ảnh và video, tạo ra những nội dung giả mạo với độ chân thực cao, khó phân biệt được thật và giả. Mặc dù công nghệ này mang lại nhiều ứng dụng trong giải trí và sáng tạo, nhưng nó cũng ẩn chứa những mối nguy tiềm tàng gây mất an toàn, an ninh thông tin.
13:00 | 30/07/2024
Trong thế giới số hiện nay, việc nhận thức về cách các công ty thu thập và sử dụng dữ liệu của người dùng trở nên quan trọng hơn bao giờ hết. Nếu dữ liệu cá nhân rơi vào tay kẻ xấu, người dùng có thể trở thành nạn nhân của việc gian lận và bị đánh cắp danh tính. Dưới đây là năm lời khuyên để bảo vệ quyền riêng tư dữ liệu cho người dùng.
09:00 | 25/07/2024
Thế vận hội Olympics – một sự kiện thể thao lớn nhất trong năm 2024 sẽ được bắt đầu vào ngày 27/7 tại Paris, Pháp. Đây sẽ là thời điểm tội phạm mạng tìm kiếm cơ hội tấn công nhắm vào các tổ chức, cá nhân với động cơ trực tiếp là tài chính thông qua các hình thức như lừa đảo, gian lận kỹ thuật số hoặc thu thập dữ liệu có giá trị từ người tham dự, người xem và nhà tài trợ.
Trong bối cảnh chuyển đổi số và ứng dụng rộng rãi của công nghệ thông tin (CNTT) thì xu hướng kết nối liên mạng để chia sẻ cơ sở dữ liệu (CSDL) trở nên tất yếu. Các hệ thống công nghệ vận hành (Operational Technology - OT) cũng không nằm ngoài xu hướng này, quá trình đó được gọi là Hội tụ IT/OT. Do vậy, nhu cầu truyền dữ liệu một chiều giữa các mạng độc lập ngày càng tăng để phục vụ cho mục đích khai thác dữ liệu. Bài viết này giới thiệu một giải pháp mới dựa trên công nghệ vi mạch tích hợp khả trình (Field-Programmable Gate Array - FPGA), sử dụng cơ chế xử lý đa luồng tốc độ cao, giúp duy trì băng thông hệ thống mà không gây ra tình trạng treo hoặc nghẽn mạng, cho phép các kết nối yêu cầu thời gian thực. Đồng thời, bài viết cũng sẽ trình bày giải pháp giả lập giao thức TCP/IP hỗ trợ cho các giao thức truyền thông trong các hệ thống mạng điều khiển IT/OT.
09:00 | 06/01/2025
Trong kỷ nguyên số hóa, việc ứng dụng các công nghệ hiện đại đóng vai trò rất quan trọng trong bảo vệ dữ liệu, hệ thống máy tính, ngăn chặn chúng khỏi sự tấn công hoặc truy cập trái phép. Blockchain và trí tuệ nhân tạo (AI) là hai trong số những công nghệ mạnh mẽ đã được ứng dụng và phát huy hiệu quả trong nhiều lĩnh vực của đời sống. Với những ưu thế vượt trội của từng công nghệ, việc kết hợp AI và Blockchain có thể đem lại nhiều giải pháp hiệu quả nhằm đảm bảo an ninh mạng (ANM), an toàn thông tin (ATTT). Bài viết sẽ giới thiệu về ứng dụng của công nghệ AI và Blockchain trong bảo đảm ANM, ATTT cũng như phân tích khả năng tích hợp hai công nghệ này trong phát hiện, ngăn chặn các mối đe dọa hiện nay.
10:00 | 06/02/2025