Theo đó, lỗ hổng bảo mật (CVE-2021-3011) cho phép tin tặc trích xuất khóa mã hóa hoặc khóa cá nhân ECDSA được liên kết với tài khoản của nạn nhân từ thiết bị FIDO Universal 2nd Factor (U2F) như Google Titan Key hoặc YubiKey, phá hoại hoàn toàn các biện pháp bảo vệ 2FA.
Các nhà nghiên cứu của NinjaLab, Victor Lomne và Thomas Roche cho biết: “Các hacker mũ đen có thể đăng nhập vào tài khoản ứng dụng của mục tiêu mà không cần thiết bị U2F khiến nạn nhân không thể nhận ra. Để làm được việc này, hacker phải tạo bản sao của thiết bị U2F cho tài khoản ứng dụng của nạn nhân. Bản sao này sẽ cấp quyền truy cập vào tài khoản ứng dụng miễn là người dùng hợp pháp không thu hồi thông tin xác thực yếu tố thứ hai của nó".
Toàn bộ danh sách các sản phẩm bị ảnh hưởng bởi lỗ hổng bao gồm tất cả các phiên bản của Google Titan Security Key, Yubico Yubikey Neo, Feitian FIDO NFC USB-A/ K9, Feitian MultiPass FIDO/ K13, Feitian ePass FIDO USB-C/ K21, và Feitian FIDO NFC USB-C/ K40.
Bên cạnh các khóa bảo mật, cuộc tấn công cũng có thể được thực hiện trên các chip NXP JavaCard, bao gồm NXP J3D081_M59_DF, NXP J3A081, NXP J2E081_M64, NXP J3D145_M59, NXP J3D081_M59, NXP J3E145_M64 và NXP J3E081_M64_DF và các biến thể tương ứng của chúng.
Thiết bị hỗ trợ sao chép khóa
Tấn công khôi phục khóa mặc dù nghiêm trọng nhưng lại cần đáp ứng một số điều kiện tiên quyết để thành công. Trước tiên, tin tặc sẽ phải đánh cắp thông tin đăng nhập và mật khẩu của tài khoản được bảo mật bằng khóa vật lý. Sau đó truy cập vào Khóa bảo mật Google Titan được đề cập, đồng thời tin tặc phải sở hữu thiết bị đắt tiền có giá 12.000 đô la Mỹ và có đủ chuyên môn để xây dựng tùy chỉnh phần mềm trích xuất khóa liên kết với tài khoản.
Các nhà nghiên cứu cho biết: "Vẫn an toàn hơn khi sử dụng Khóa bảo mật Google Titan hoặc các sản phẩm bị ảnh hưởng khác dưới dạng mã thông báo xác thực hai yếu tố FIDO U2F để đăng nhập vào các ứng dụng hơn là không sử dụng".
Để sao chép khóa U2F, các nhà nghiên cứu đã phải thực hiện tách đôi thiết bị bằng cách sử dụng súng hơi nóng để loại bỏ vỏ nhựa và để lộ hai bộ vi điều khiển được hàn trong thiết bị. Một vỏ bọc an toàn (chip NXP A700X) được sử dụng để thực hiện mật mã hoạt động và một chip đa năng hoạt động như một bộ định tuyến giữa giao diện USB/NFC và vi điều khiển xác thực.
Sau khi đạt được điều này, các nhà nghiên cứu cho biết có thể thu thập khóa mã hóa ECDSA thông qua một cuộc tấn công kênh kề bằng cách quan sát các bức xạ điện từ phát ra từ chip NXP trong quá trình ký ECDSA, hoạt động mật mã cốt lõi của giao thức FIDO U2F được thực hiện khi U2F khóa được đăng ký lần đầu tiên để hoạt động với tài khoản mới.
Một cuộc tấn công kênh phụ thường hoạt động dựa trên thông tin thu được từ việc triển khai hệ thống máy tính, thay vì khai thác điểm yếu trong phần mềm. Thông thường, các cuộc tấn công như vậy sử dụng thông tin thời gian, tiêu thụ điện năng, rò rỉ điện từ và tín hiệu âm thanh như một nguồn rò rỉ dữ liệu.
Bằng cách thu thập 6.000 tín hiệu kênh kề như vậy của các lệnh yêu cầu xác thực U2F trong khoảng thời gian 6 giờ, các nhà nghiên cứu cho biết họ có thể khôi phục khóa cá nhân ECDSA được liên kết với tài khoản FIDO U2F được thử nghiệm bằng cách sử dụng học máy.
Mặc dù tính bảo mật của khóa bảo mật phần cứng không bị suy giảm bởi cuộc tấn công trên do những hạn chế liên quan, nhưng việc nó được sử dụng trong thực tế không phải là điều không thể như chúng ta đã lầm tưởng từ trước.
Nghiên cứu này cho thấy rằng Khóa bảo mật Google Titan (hoặc các sản phẩm bị ảnh hưởng khác) sẽ không tránh được những tấn công phá vỡ chúng bởi những kẻ tấn công. Người dùng có lẽ nên suy nghĩ thêm về một biện pháp bảo mật chưa tồn tại lỗ hổng bảo mật nào trong tương lai.