QUIC (Quick UDP Internet Connections) được 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 , gây ra nhiều vấn đề về bảo mật và . 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
10:00 | 16/08/2024
Trong những năm gần đây, công nghệ Deepfake đã trở nên ngày càng phổ biến hơn, cho phép tạo ra các video thực đến mức chúng ta khó có thể phân biệt với các video quay thực tế. Tuy nhiên, công nghệ này đã bị các tác nhân đe dọa lợi dụng để tạo ra những nội dung giả mạo, hoán đổi khuôn mặt nhằm mục đích lừa đảo, gây ảnh hưởng tiêu cực đến xã hội. Do đó, việc phát triển các công cụ phát hiện Deepfake mang tính cấp bách hơn bao giờ hết. Bài viết này sẽ giới thiệu tổng quan về một số kỹ thuật và công cụ phát hiện Deepfake hiệu quả.
16:00 | 04/08/2024
Với sự phát triển mạnh mẽ của công nghệ số, số lượng các phần mềm chương trình được công bố ngày càng lớn. Song hành với đó là việc tin tặc luôn tìm cách phân tích, dịch ngược các chương trình nhằm lấy cắp ý tưởng, bẻ khóa phần mềm thương mại gây tổn hại tới các tổ chức, cá nhân phát triển phần mềm. Đặc biệt, trong ngành Cơ yếu có những chương trình có tích hợp các thuật toán mật mã ở mức mật và tối mật thì việc chống phân tích, dịch ngược có vai trò hết sức quan trọng. Do đó, việc phát triển một giải pháp bảo vệ các chương trình phần mềm chống lại nguy cơ phân tích, dịch ngược là rất cấp thiết.
10:00 | 28/03/2024
Google Drive là một trong những nền tảng lưu trữ đám mây được sử dụng nhiều nhất hiện nay, cùng với một số dịch vụ khác như Microsoft OneDrive và Dropbox. Tuy nhiên, chính sự phổ biến này là mục tiêu để những kẻ tấn công tìm cách khai thác bởi mục tiêu ảnh hưởng lớn đến nhiều đối tượng. Bài báo này sẽ cung cấp những giải pháp cần thiết nhằm tăng cường bảo mật khi lưu trữ tệp trên Google Drive để bảo vệ an toàn dữ liệu của người dùng trước các mối đe dọa truy cập trái phép và những rủi ro tiềm ẩn khác.
09:00 | 17/11/2023
Theo Cục An toàn thông tin (Bộ TT&TT), hiện nay có 24 hình thức lừa đảo qua mạng phổ biến mà các đối tượng lừa đảo nhắm vào người dân. Để tránh trở thành nạn nhân, người dân cần nắm bắt, tuyên truyền cho người thân, bạn bè, đồng nghiệp của mình.
Trong thời đại ngày nay, cùng với sự phát triển của khoa học kỹ thuật có ngày càng nhiều những cuộc tấn công vào phần cứng và gây ra nhiều hậu quả nghiêm trọng. So với các loại tấn công khác, tấn công qua kênh kề đang được nghiên cứu do khả năng khôi phục lại khóa bí mật trong khi hệ thống vẫn hoạt động bình thường mà không hề làm thay đổi phần cứng. Bài báo này sẽ trình bày một cách sơ lược về những kết quả cuộc tấn công kênh kề lên mã hóa RSA cài đặt trên điện thoại thông minh sử dụng hệ điều hành Android tại Viện Khoa học - Công nghệ mật mã. Nhóm tác giả đã tấn công khôi phục được một phần khóa bí mật của mã hóa RSA cài đặt trên điện thoại thông minh và chứng minh khả năng rò rỉ thông tin qua kênh kề.
14:00 | 11/09/2024
Nhằm trang bị cho người dân “vũ khí” chống lừa đảo trên không gian mạng, Cục An toàn thông tin (Bộ TT&TT) triển khai chiến dịch quốc gia với 5 nhóm kỹ năng thiết yếu, từ nhận biết dấu hiệu lừa đảo đến xử lý tình huống khi bị tấn công.
10:00 | 18/10/2024