Phần mềm của Sennheiser có lỗ hổng liên quan đến chứng thực HTTPS

14:20 | 14/12/2018

Hãng sản xuất tai nghe Sennheiser (Đức) đang gặp sự cố với việc sản phẩm của họ làm mất an toàn thông tin khách hàng. Người dùng có thể bị theo dõi và giải mã lưu lượng truy cập web khi sử dụng phần mềm Headsetup và Headsetup Pro cho tai nghe Sennheiser trên máy tính.

Lỗ hổng mật mã trong phần mềm Headsetup của Sennheiser

Sennheiser cung cấp phần mềm điều khiển tai nghe Headsetup và Headsetup Pro cho máy tính. Với những phần mềm này, Sennheiser đã cài đặt chứng thực gốc (root certificate) và khóa bí mật trên Windows và Mac. Những thuộc tính này có thể bị kẻ xấu chặn bắt để giải mã lưu lượng trên các trình duyệt web được mã hóa bởi HTTPS. Do đó, cài đặt phần mềm Headsetup sẽ khiến người dùng dễ dàng bị theo dõi, can thiệp vào kết nối web và đánh cắp các thông tin nhạy cảm như mật khẩu.

Headsetup là một công cụ kết nối trang web gọi điện thoại trực tuyến với các dòng tai nghe cao cấp của Sennheiser. Phần mềm này cài đặt chứng thực bảo mật tin cậy gốc và sử dụng nó để mở websocket an toàn cục bộ, thông qua đó, trang web trong trình duyệt có thể truy cập vào tai nghe sử dụng HTTPS. Liên kết an toàn này sử dụng chứng thực TLS được kết nối với chứng thực gốc đã cài đặt.

Để làm được việc này, cần tránh thực hiện chồng chéo các quy định của tiêu chuẩn truy cập tài nguyên web trên các miền khác nhau (cross-origin resource sharing) được đưa ra bởi các trình duyệt web hiện đại. Websocket yêu cầu chứng thực tùy chỉnh vì phải được gán cho địa chỉ IP đặt trước (reserved IP address) là 127.0.0.1 (địa chỉ localhost). Như vậy, phần mềm Headsetup mở websocket và trình chứng thực HTTPS liên kết với chứng thực bảo mật tin cậy gốc. Trình duyệt sử dụng chứng thực gốc đã cài đặt để kiểm tra chứng thực của socket đó là hợp pháp hay không.

Do có cả chứng thực và khóa trên thiết bị, kẻ tấn công có thể tái sử dụng khóa (khóa chung cho tất cả các cài đặt) để tạo ra các chứng thực HTTPS tùy ý cho các trang web khác và được tin tưởng bởi người dùng phần mềm Headsetup, vì chứng thực HTTPS giả được kết nối với chứng thực bảo mật tin cậy gốc đã cài đặt. Điều này cũng có nghĩa rằng, các kết nối SSL/TSL sau khi chặn bắt cũng có thể bị giải mã và mã độc có thể được ký số và tin tưởng là phần mềm hợp pháp.

Tấn công qua lỗ hổng mật mã liên quan đến chứng thực HTTPS

Theo báo cáo của công ty tư vấn an toàn mạng Secorvo (Đức), hãng đã tìm thấy lỗi nghiêm trọng trong quá trình thực thi, khiến khóa ký số bí mật của một trong các chứng thực gốc đã cài đặt có thể dễ dàng bị đánh cắp, cho phép kẻ tấn công ký số và cấp chứng thực tin cậy. Người dùng bị ảnh hưởng bởi lỗi này có thể trở thành nạn nhân của chứng thực giả mạo, cho phép kẻ tấn công gửi phần mềm đã được xác nhận là tin cậy hoặc hoạt động như đã có thẩm quyền bởi Sennheiser.

Ví dụ, kẻ tấn công có thể tạo ra một trang web độc hại để đánh cắp mật khẩu như trang web ngân hàng hay mua sắm trực tuyến giả mạo, sau đó đưa liên kết tới trang web giả mạo này lên trang diễn đàn hỗ trợ người dùng tai nghe Sennheiser. Khi người dùng phần mềm Headsetup ghé thăm trang web giả mạo đó, trang này sẽ có chứng thực HTTPS liên kết với chứng thực gốc của Headsetup nên được coi là trang web an toàn hợp pháp. Trang web giả mạo sẽ hỏi người dùng tên đăng nhập và mặt khẩu, rồi đánh cắp thông tin đó trước khi chuyển hướng đến trang web thực. Điều này đòi hỏi trang web giả mạo phải có một tên miền tự tạo dễ “bẫy” người dùng như store.amazom.com.

Tuy nhiên, nếu kẻ tấn công có thể kiểm soát được tra cứu DNS của nạn nhân, trang web giả mạo còn có thể dễ đánh lừa hơn bằng cách sử dụng tên miền giống với tên miền thật và có khóa xanh trên thanh bar của trình duyệt, để hiển thị rằng trang web này là an toàn. Tấn công người đứng giữa (man-in-the-middle) cũng có thể sử dụng chứng thực gốc và chìa khóa để chặn bắt và giải mã kết nối HTTPS đến trang web hợp pháp một cách nhanh chóng.

Sennheiser đã phát hành một bản cập nhật để khắc phục vấn đề bằng cách xóa các chứng thực và khóa. Hiện tại, phần mềm dựa vào khóa  mà chỉ Sennheiser biết. Đối với người dùng sử dụng hệ điều hành Windows, bản cập nhật của Headsetup là 8.1.6114. Phần mềm trên hệ điều hành Mac có phiên bản cập nhật là 5.3.7011. Những người không thể cài đặt bản cập nhật sẽ được cung cấp tập lệnh để xóa và khắc phục lỗ hổng mật mã này.