Xây dựng ứng dụng nhắn tin an toàn rất khó: Một góc nhìn sâu sắc về cuộc tranh luận bảo mật Bitchat

Xây dựng ứng dụng nhắn tin an toàn rất khó: Một góc nhìn sâu sắc về cuộc tranh luận bảo mật Bitchat

Cuối tuần vừa rồi, khi Jack Dorsey ra mắt Bitchat, một ứng dụng nhắn tin được mã hóa đầu cuối dựa trên Bluetooth, nó đã ngay lập tức gây ra cuộc tranh luận trong cộng đồng bảo mật và công nghệ. Phản ứng rất phân cực: được giới truyền thông công nghệ chính thống ca ngợi vì các tính năng “bảo mật nâng cao” và bị các nhà nghiên cứu bảo mậtphóng viên công nghệ chỉ trích gay gắt vì những lỗ hổng nghiêm trọng. Cả hai thái cực đều có một phần sự thật, nhưng chúng cũng bỏ lỡ điểm quan trọng và bộc lộ những lỗ hổng trong cách chúng ta thảo luận về bảo mật trong các sản phẩm mới nổi.

Các vấn đề bảo mật là có thật và nghiêm trọng

Các lỗ hổng bảo mật được nhà nghiên cứu Alex Radocea và những người khác xác định là hợp lệ và đáng lo ngại. Radocea đã chứng minh một cuộc tấn công xen giữa (MitM) khai thác hệ thống xác thực danh tính bị hỏng của Bitchat, cho phép kẻ tấn công mạo danh các liên hệ đáng tin cậy. Ứng dụng này hiện cũng không đạt đến mức tiêu chuẩn công nghiệp về bảo mật chuyển tiếp; ứng dụng có bảo mật chuyển tiếp ở cấp độ “phiên”, nhưng các khóa mã hóa là tĩnh cho mỗi “phiên”. Phương pháp tiêu chuẩn là sử dụng các kỹ thuật như Double Ratchet, đạt được bảo mật chuyển tiếp ở cấp độ mỗi tin nhắn, nhưng đây chỉ là mối quan tâm đối với các mô hình đe dọa thích hợp yêu cầu bảo mật chuyển tiếp trên mỗi tin nhắn.

Đây không phải là những lỗi triển khai nhỏ; chúng là những thiếu sót thiết kế cơ bản làm tổn hại đến các cam kết bảo mật cốt lõi của một ứng dụng nhắn tin được mã hóa. Phân tích kỹ thuật của Alex là hợp lý và cuộc tấn công proof-of-concept của anh ấy đã chứng minh hiệu quả các rủi ro. Người dùng tuyệt đối không nên dựa vào Bitchat cho các liên lạc nhạy cảm ở trạng thái hiện tại.

Nhưng tường thuật rộng hơn xứng đáng được xem xét kỹ lưỡng

Tuy nhiên, cả những lời chỉ trích gay gắt và những lời khen ngợi thiếu căn cứ đều bộc lộ những cách tiếp cận có vấn đề để đánh giá bảo mật trong các sản phẩm mới nổi.

Về phía chỉ trích, trong khi Alex Radocea và nhà báo Lorenzo Franceschi-Bicchierai đã xác định chính xác những thiếu sót nghiêm trọng, cả hai bài đăng đều ngụ ý rằng những lỗ hổng này cho thấy sự thiếu nghiêm túc cơ bản về bảo mật. Nhưng điều này bỏ qua một số tín hiệu tích cực từ Dorsey:

  • Ông đã mở mã nguồn toàn bộ mã cơ sở và tài liệu giao thức, giúp có thể xem xét bảo mật.
  • Ông đã đưa ra những cảnh báo nổi bật rằng phần mềm chưa được đánh giá bảo mật.
  • Ông đã phản hồi các lỗ hổng được báo cáo trong vòng vài giờ, vá một vấn đề tràn bộ đệm trong vòng chưa đầy bốn giờ.
  • Trong một bài đăng vào ngày 15 tháng 7, ông đã thông báo rằng ông đã cập nhật dự án để sử dụng khung giao thức Noise đã được thiết lập tốt, trực tiếp giải quyết các lo ngại về xác thực.

Dorsey đã giải thích trong một thông báo tiếp theo rằng Bitchat bắt đầu như một dự án cuối tuần để khám phá mạng lưới Bluetooth và các mô hình mã hóa, thừa nhận rằng trong khi chức năng cơ bản “hoạt động trong một ngày”, thì việc triển khai bảo mật “không hề mạnh mẽ hoặc đủ chu đáo”.

Về phía thiếu căn cứ, việc đưa tin trên các phương tiện truyền thông công nghệ chính thống là ngây thơ một cách đáng xấu hổ. J.R. Johnivan của TechRepublic đã viết rằng “sự kết hợp giữa chức năng chung, các tính năng bảo mật và kiểm soát quyền riêng tư của Bitchat đã khiến Bitchat khác biệt so với các ứng dụng nhắn tin như Facebook Messenger, WhatsApp, Snapchat, Telegram.” So sánh này là vô lý. Các sản phẩm như WhatsApp đã dành nhiều năm để phát triển và hoàn thiện bảo mật và quyền riêng tư của họ, trải qua các cuộc kiểm toán sâu rộng và thử nghiệm trong thế giới thực. Tuyên bố rằng một ứng dụng mới một tuần tuổi với các lỗ hổng đã biết vượt trội hơn các triển khai đã được kiểm nghiệm trong thực tế cho thấy sự hiểu biết cơ bản về mức độ trưởng thành của bảo mật.

Việc đưa tin như vậy cho thấy sự bất lực mãn tính của giới truyền thông công nghệ trong việc đánh giá một cách ý nghĩa các tuyên bố về bảo mật, thay vào đó mặc định sử dụng ngôn ngữ tiếp thị và danh sách kiểm tra tính năng.

Những thách thức lớn hơn của nhắn tin an toàn

Diễn ngôn này cũng làm nổi bật việc xây dựng các hệ thống mã hóa đầu cuối an toàn thực sự khó khăn như thế nào. Các vấn đề mà Bitchat phải đối mặt không phải là duy nhất hoặc dễ giải quyết:

Xác thực và xác minh khóa vẫn chưa được giải quyết ở quy mô lớn. Alex lưu ý một cách chính xác rằng mã QR và xác minh vân tay có thể giải quyết các cuộc tấn công MitM, nhưng như nghiên cứu cho thấy, những giải pháp này có những hạn chế lớn về khả năng sử dụng. Hầu hết người dùng Signal hiếm khi xác minh số an toàn, có khả năng cho phép một cuộc tấn công MitM tương tự như những gì Bitchat hiện có (mặc dù, đáng chú ý, MitM đó sẽ khó khăn hơn nhiều so với cuộc tấn công MitM hiện tại chống lại Bitchat, vốn khá dễ thực hiện). Giải pháp mạnh mẽ hơn là các hệ thống minh bạch khóa, nhưng chúng đòi hỏi cơ sở hạ tầng khổng lồ và một cộng đồng kiểm toán tích cực, đó là lý do tại sao chỉ các tổ chức trưởng thành và có nguồn lực như Google, Signal và Meta mới triển khai thành công chúng. Hơn nữa, các hệ thống minh bạch này phù hợp tự nhiên với các hệ thống tập trung như Signal. Mặt khác, Bitchat là một thiết kế không máy chủ, không có một thực thể tập trung nào có khả năng vận hành nhật ký minh bạch. Có thể hình dung, một biến thể phi tập trung của các hệ thống minh bạch này có thể được thiết kế, nhưng điều này có thể phức tạp hơn đáng kể và chưa được bất kỳ hệ thống nào triển khai ở quy mô lớn.

Các phần mở rộng giao thức tạo ra các bề mặt tấn công mới. Mặc dù chúng tôi ủng hộ việc sử dụng các giao thức đã được chứng minh như Signal hoặc Noise, nhưng các ứng dụng nhắn tin trong thế giới thực cần các tính năng vượt xa trao đổi tin nhắn cơ bản. Bản thân Signal đã phải đối mặt với những thách thức về bảo mật khi triển khai các tính năng mới như khám phá liên hệ, với các nhà nghiên cứu chứng minh các cuộc tấn công có thể liệt kê tất cả các số điện thoại ở Hoa Kỳ đã đăng ký với dịch vụ. Mỗi tính năng bổ sung tạo ra những cân nhắc bảo mật mới.

Một con đường hiệu quả hơn phía trước

Phản ứng dữ dội đối với Bitchat minh họa cả các tiêu chuẩn cao thích hợp của cộng đồng bảo mật và một số khuynh hướng có vấn đề trong cách chúng ta đánh giá các dự án mới.

Dorsey đáng bị chỉ trích vì cách anh ta trình bày bản phát hành. Mặc dù đã bao gồm các cảnh báo bảo mật trong README, nhưng anh ta ngay lập tức thảo luận về việc sử dụng Bitchat trong các tình huống rủi ro cao như các cuộc biểu tình ở Kenya, đây chính xác là những trường hợp sử dụng nhạy cảm mà các cảnh báo của chính anh ta đã khuyến cáo không nên. Khi bạn là Jack Dorsey và biết rằng giới truyền thông công nghệ sẽ khuếch đại bất cứ điều gì bạn phát hành, bạn có trách nhiệm cẩn thận hơn về thông điệp và kỳ vọng.

Nhưng phản ứng cũng cho thấy những mô hình đáng lo ngại trong diễn ngôn bảo mật. Giả định ngay lập tức rằng các lỗ hổng cho thấy sự thiếu nghiêm túc về bảo mật tạo ra các ưu đãi lệch lạc, vì nó làm xấu hổ và ngăn cản các bản phát hành mã nguồn mở và các cuộc thảo luận bảo mật minh bạch.

Cộng đồng bảo mật nên duy trì các tiêu chuẩn cao đồng thời nhận ra rằng bảo mật là một quá trình, không phải là một trạng thái nhị phân. Các lỗ hổng hiện tại của Bitchat là nghiêm trọng, nhưng phản ứng của Dorsey là mở mã nguồn, hoan nghênh nghiên cứu bảo mật, nhanh chóng vá các vấn đề và cam kết sử dụng các giao thức đã được chứng minh là những thông lệ bảo mật tốt.

Như Dorsey đã lưu ý ngày hôm nay, anh ấy “đã đánh trúng một dây thần kinh” với bản phát hành này. Đó thực sự là một điều tuyệt vời để thấy. Khi các sản phẩm tuyên bố “mã hóa đầu cuối”, cộng đồng bảo mật có quyền giữ chúng ở các tiêu chuẩn cao do Signal và các công cụ tương tự đặt ra. Sự giám sát này bảo vệ người dùng và duy trì ý nghĩa của các tuyên bố bảo mật.

Nhưng chúng ta có thể duy trì các tiêu chuẩn này đồng thời khuyến khích loại phát triển bảo mật lặp đi lặp lại, cởi mở mà cuối cùng làm cho tất cả chúng ta an toàn hơn. Mục tiêu phải là giúp các dự án như Bitchat trưởng thành một cách an toàn, không phải loại bỏ chúng hoàn toàn khi có dấu hiệu lỗ hổng đầu tiên.

Bài kiểm tra thực sự cho Bitchat không phải là liệu nó có ra mắt với bảo mật hoàn hảo hay không. Thay vào đó, đó là liệu Dorsey có thực hiện các cam kết của mình để giải quyết các vấn đề đã xác định và áp dụng các thông lệ mật mã đã được chứng minh hay không. Những dấu hiệu ban đầu là đầy hứa hẹn, vì Dorsey đã cam kết triển khai giao thức Noise và nhấn mạnh: “PR và kiểm toán nghiêm túc luôn được đánh giá cao.” Tuy nhiên, cuối cùng, hành động sẽ quan trọng hơn lời hứa.

Giải thích thuật ngữ:

  • Mã hóa đầu cuối (End-to-end encryption): Một phương pháp bảo mật dữ liệu, đảm bảo chỉ người gửi và người nhận mới có thể đọc được nội dung tin nhắn.
  • Tấn công xen giữa (Man-in-the-middle – MitM): Một loại tấn công mạng, trong đó kẻ tấn công bí mật can thiệp vào giao tiếp giữa hai bên, có thể nghe lén hoặc thay đổi nội dung.
  • Bảo mật chuyển tiếp (Forward secrecy): Tính năng bảo mật đảm bảo rằng ngay cả khi khóa mã hóa hiện tại bị xâm phạm, các tin nhắn đã gửi trong quá khứ vẫn an toàn.
  • Double Ratchet: Một giao thức mã hóa được sử dụng để cung cấp bảo mật đầu cuối và bảo mật chuyển tiếp mạnh mẽ cho các ứng dụng nhắn tin.
  • Giao thức Noise: Một framework để xây dựng các giao thức mã hóa, cung cấp một cách tiêu chuẩn và an toàn để thiết lập các kết nối được mã hóa.
  • PR (Pull Request): Một yêu cầu hợp nhất mã nguồn từ một nhánh (branch) vào nhánh chính (main branch) trong một dự án phát triển phần mềm.

Chia sẻ với

Share on facebook
Share on twitter
Share on linkedin
Share on pinterest

Bài viết liên quan

Điều gì sẽ xảy ra nếu ứng dụng AI của bạn làm rò rỉ dữ liệu nhạy cảm, tạo ra …

Sức hút của MCP đối với các nhà phát triển GenAI là hoàn toàn xứng đáng. Giao thức Ngữ cảnh …

Nhóm tin tặc Ukraine, với sự hợp tác của Black Owl, đã tấn công nhà sản xuất máy bay không …

Hầu hết các đội ngũ an ninh mạng hiện nay đều phải đối mặt với một thực tế đáng lo …