Sử dụng ‘Signal’ cho các cuộc trò chuyện được mã hóa? Bạn không nên bỏ qua bản cập nhật tiếp theo của nó

tín-hiệu-tin-sứ giả

Hai nhà nghiên cứu đã phát hiện ra một vài lỗ hổng trong Tín hiệuứng dụng nhắn tin được mã hóa đầu cuối phổ biến được đề xuất bởi người tố cáo Edward Snowden.

Một trong những lỗ hổng đó có thể cho phép kẻ tấn công tiềm năng thêm dữ liệu ngẫu nhiên vào tệp đính kèm của tin nhắn được mã hóa do người dùng Android gửi, trong khi một lỗi khác có thể cho phép tin tặc tấn công từ xa các thiết bị dễ bị tấn công.

Các lỗ hổng vừa được vá nhưng phiên bản cập nhật của Signal vẫn chưa có trên kho lưu trữ mã nguồn mở Github chứ không phải trên Cửa hàng Play chính thức của Google dành cho các ứng dụng Android, khiến hàng triệu người có ý thức về quyền riêng tư dễ bị tấn công.

Điều đó có nghĩa là, nếu bạn đã cài đặt ứng dụng nhắn tin Signal qua Cửa hàng Google Play, giống như hàng triệu người dùng Android khác, bạn vẫn dễ bị tin tặc tấn công.

Được phát triển bởi nhóm phần mềm mã nguồn mở Open Whisper System, Signal là một ứng dụng nhắn tin mã nguồn mở và miễn phí được thiết kế riêng cho người dùng Android và iOS để thực hiện các tin nhắn và cuộc gọi thoại được mã hóa và bảo mật.

Các lỗ hổng trong phiên bản Android của Signal bao gồm:

  • Lỗ hổng bỏ qua xác thực tin nhắn
  • Lỗi sự cố từ xa

Lỗ hổng bỏ qua xác thực tin nhắn trong Signal

Các nhà nghiên cứu Jean-Philippe Aumasson và Markus Vervier đã phát hiện ra lỗ hổng bỏ qua xác thực tin nhắn trong khi xem xét mã Java được sử dụng bởi Signal cho Android.

Lỗ hổng không dễ khai thác. Chỉ những kẻ tấn công có khả năng xâm phạm máy chủ Signal hoặc theo dõi dữ liệu truyền giữa những người dùng Signal (tấn công Man-in-the-Middle) mới có thể thêm dữ liệu giả ngẫu nhiên vào tệp đính kèm hợp pháp.

HỘI THẢO TRỰC TUYẾN SẮP TỚI

Học cách bảo vệ phạm vi nhận dạng – Các chiến lược đã được chứng minh

Cải thiện bảo mật doanh nghiệp của bạn với hội thảo trực tuyến về an ninh mạng do chuyên gia hướng dẫn sắp tới của chúng tôi: Khám phá các chiến lược Vành đai nhận dạng!

Đừng bỏ lỡ – Tiết kiệm chỗ ngồi của bạn!

Lỗ hổng này là do lỗi tràn số nguyên, lỗi này chỉ được kích hoạt nếu một tệp cực lớn, có kích thước tối thiểu 4 gigabyte, được đính kèm với một thông báo Signal. Nhưng nó có nghĩa gì?

Trên thực tế, như một phần của sơ đồ mã hóa tiêu chuẩn, các dịch vụ nhắn tin được mã hóa sử dụng Mã xác thực tin nhắn (MAC) để xác thực một tin nhắn — nói cách khác, để xác nhận rằng tin nhắn đến từ người gửi không bị thay đổi trong quá trình truyền.

Tuy nhiên, trong trường hợp tệp đính kèm, Signal không xác minh tính xác thực của toàn bộ tệp; thay vào đó, nó chỉ kiểm tra một phần nhỏ của nó, giúp tin tặc có thể đính kèm dữ liệu giả ngẫu nhiên vào tệp đính kèm hợp pháp mà MAC sẽ không phát hiện được.

Để tấn công thành công, kẻ tấn công có thể sử dụng tính năng nén tệp của Signal để giảm kích thước tệp đính kèm độc hại của mình xuống còn 4 megabyte có thể quản lý được.

Khi nói chuyện với Ars Technica, Aumasson cho biết anh đã tìm thấy lỗi tràn số nguyên trong dòng mã sau:

int còn lạiData = (int) file.length() – mac.getMacLength();

  • Giá trị ‘file.length()’ là một số được mã hóa trên 64 bit (thuộc loại ‘dài’).
  • Biến nhận ‘remainingData’ là một số được mã hóa trên 32 bit (thuộc loại ‘int’).

“Do đó, khi ‘file.length()’ dài hơn giá trị phù hợp với số 32 bit, giá trị của ‘remainingData’ (số byte còn lại để xử lý) sẽ không chính xác, vì nó sẽ nhỏ hơn nhiều so với kích thước thực của tệp,” Aumasson giải thích. “Do đó, một phần lớn của tệp sẽ bị bỏ qua khi Signal xác minh tính xác thực của mật mã. Signal sẽ chỉ kiểm tra phần đầu (nhỏ) của tệp, trong khi người dùng thực sự sẽ nhận được tệp lớn hơn nhiều.”

Mặc dù Signal sử dụng mã hóa đầu cuối để mã hóa tin nhắn trên thiết bị của người gửi và chỉ giải mã nó ở đầu người nhận, nhưng tin nhắn được mã hóa vẫn đi qua máy chủ, cho phép kẻ tấn công thực hiện cuộc tấn công bỏ qua xác thực tin nhắn bằng cách hack hoặc mạo danh là một máy chủ và sau đó giả mạo các tệp đính kèm thư hợp pháp.

Mặc dù cuộc tấn công dễ thực hiện, nhưng không quá khó để những kẻ tấn công được nhà nước tài trợ mạo danh là cơ quan cấp chứng chỉ đáng tin cậy (CA) hoặc lừa nạn nhân cài đặt chứng chỉ giả mạo trên thiết bị của họ và do đó, phá vỡ thành công bảo mật tầng vận chuyển (TLS) bảo vệ.

Hơn nữa, vì Signal đã được sử dụng bởi một số lượng lớn các chuyên gia bảo mật và những người ủng hộ quyền riêng tư nên ứng dụng này luôn nằm trong danh sách ưu tiên của các chủ thể quốc gia. Mặc dù, có vẻ như họ không có khả năng khai thác loại lỗ hổng này.

“Đây là một báo cáo lỗi thực sự tuyệt vời, nhưng chúng tôi cho rằng tác động của nó ở mức độ nghiêm trọng thấp vào thời điểm này. Nó không cho phép kẻ tấn công đã xâm phạm máy chủ đọc hoặc sửa đổi tệp đính kèm, chỉ để nối thêm *tối thiểu* 4GB tệp không thể đoán trước dữ liệu ngẫu nhiên đến phần cuối của tệp đính kèm khi truyền,” Moxie Marlinspike, Người sáng lập Hệ thống Open Whisper cho biết.

“Mặc dù điều đó gây ra sự từ chối dịch vụ, làm hỏng tệp một cách hiệu quả theo cách không thể đoán trước và khiến tệp quá lớn để mở trên bất kỳ thiết bị Android nào, nhưng kẻ tấn công đã xâm phạm máy chủ có thể dễ dàng từ chối dịch vụ hơn chỉ bằng cách chặn yêu cầu tệp đính kèm của bạn. “

Lỗ hổng thứ hai được các nhà nghiên cứu phát hiện có thể cho phép kẻ tấn công thực thi mã độc từ xa trên thiết bị của nạn nhân, trong khi lỗ hổng thứ ba khiến kẻ tấn công có thể thực hiện một sự cố từ xa đơn giản.

Để biết thêm chi tiết về các lỗ hổng, bạn có thể xem bài đăng trên blog do các nhà nghiên cứu xuất bản.

Các nhà nghiên cứu đã tiết lộ riêng tất cả các lỗ hổng của Open Whisper System vào ngày 13 tháng 9 và công ty đã phát hành bản cập nhật trên Github, mặc dù nó vẫn phải xuất hiện trên Play Store.

Aumasson nói: “Kết quả không phải là thảm họa, nhưng cho thấy rằng, giống như bất kỳ phần mềm nào, Signal không hoàn hảo. “Signal đã thu hút sự chú ý của nhiều nhà nghiên cứu bảo mật và thật ấn tượng là không có lỗ hổng nào được công bố cho đến tận ngày nay. Điều này ủng hộ Signal và chúng tôi sẽ tiếp tục tin tưởng nó.”

Aumasson và Vervier hiện đang thử nghiệm các lỗi tương tự trong WhatsApp và Facebook Messenger cũng dựa trên mã Signal.

Leave a Reply