Các nhà nghiên cứu an ninh mạng vừa phát hiện ra một kỹ thuật tấn công mới, khai thác các điểm yếu trong công nghệ eSIM được sử dụng trong điện thoại thông minh hiện đại, đẩy người dùng vào những rủi ro nghiêm trọng.
Các vấn đề ảnh hưởng đến thẻ Kigen eUICC. Theo trang web của công ty Ireland, hơn hai tỷ SIM trong các thiết bị IoT đã được kích hoạt kể từ tháng 12 năm 2020.
Những phát hiện này đến từ Security Explorations, một phòng thí nghiệm nghiên cứu của công ty AG Security Research. Kigen đã trao cho công ty khoản tiền thưởng 30.000 đô la cho báo cáo của họ.
eSIM, hay SIM nhúng, là một thẻ SIM kỹ thuật số được nhúng trực tiếp vào thiết bị dưới dạng phần mềm được cài đặt trên chip Embedded Universal Integrated Circuit Card (eUICC).
eSIM cho phép người dùng kích hoạt gói cước di động từ nhà mạng mà không cần thẻ SIM vật lý. Phần mềm eUICC cung cấp khả năng thay đổi cấu hình nhà mạng, cung cấp từ xa và quản lý cấu hình SIM.
Security Explorations cho biết: “Thẻ eUICC giúp có thể cài đặt cái gọi là cấu hình eSIM vào chip mục tiêu. Cấu hình eSIM là biểu diễn phần mềm của đăng ký di động”.
Theo một khuyến cáo do Kigen phát hành, lỗ hổng này bắt nguồn từ GSMA TS.48 Generic Test Profile, phiên bản 6.0 trở về trước, được cho là được sử dụng trong các sản phẩm eSIM để kiểm tra tuân thủ sóng vô tuyến.
Cụ thể, thiếu sót này cho phép cài đặt các applet chưa được xác minh và có khả năng độc hại. GSMA TS.48 v7.0, được phát hành vào tháng trước, giảm thiểu vấn đề bằng cách hạn chế sử dụng cấu hình thử nghiệm. Tất cả các phiên bản khác của đặc tả TS.48 đã không còn được dùng nữa.
Kigen cho biết: “Khai thác thành công đòi hỏi sự kết hợp của các điều kiện cụ thể. Kẻ tấn công trước tiên phải có được quyền truy cập vật lý vào eUICC mục tiêu và sử dụng các khóa đã biết công khai. Điều này cho phép kẻ tấn công cài đặt một JavaCard applet độc hại”.
Hơn nữa, lỗ hổng này có thể tạo điều kiện thuận lợi cho việc trích xuất chứng chỉ nhận dạng Kigen eUICC, do đó có thể tải xuống các cấu hình tùy ý từ các nhà khai thác mạng di động (MNO) ở dạng văn bản rõ ràng, truy cập bí mật MNO và giả mạo các cấu hình và đưa chúng vào một eUICC tùy ý mà không bị MNO gắn cờ.
Security Explorations cho biết những phát hiện này dựa trên nghiên cứu trước đó của chính họ từ năm 2019, trong đó tìm thấy nhiều lỗ hổng bảo mật trong Oracle Java Card có thể mở đường cho việc triển khai một cửa hậu liên tục trong thẻ. Một trong những lỗ hổng cũng ảnh hưởng đến Gemalto SIM, vốn dựa trên công nghệ Java Card.
Các khiếm khuyết bảo mật này có thể bị khai thác để “phá vỡ tính an toàn của bộ nhớ của Java Card VM bên dưới” và giành quyền truy cập đầy đủ vào bộ nhớ của thẻ, phá vỡ tường lửa applet và thậm chí có khả năng đạt được khả năng thực thi mã gốc.
Tuy nhiên, Oracle đã hạ thấp tác động tiềm tàng và chỉ ra rằng “các lo ngại về bảo mật” không ảnh hưởng đến việc sản xuất Java Card VM của họ. Security Explorations cho biết những “lo ngại” này hiện đã được chứng minh là “lỗi thực sự”.
Các cuộc tấn công có vẻ khó thực hiện, nhưng ngược lại, chúng nằm trong tầm tay của các nhóm quốc gia có năng lực. Chúng có thể cho phép những kẻ tấn công xâm nhập thẻ eSIM và triển khai một cửa hậu bí mật, chặn tất cả các liên lạc một cách hiệu quả.
Công ty nói thêm: “Cấu hình đã tải xuống có khả năng được sửa đổi theo cách mà nhà điều hành mất quyền kiểm soát cấu hình (không có khả năng điều khiển từ xa / không có khả năng tắt / vô hiệu hóa, v.v.), nhà điều hành có thể được cung cấp một cái nhìn hoàn toàn sai lệch về trạng thái cấu hình hoặc tất cả hoạt động của nó có thể bị giám sát”.
“Theo ý kiến của chúng tôi, khả năng một eUICC bị hỏng / một chứng chỉ GSMA eUICC bị đánh cắp để xem (tải xuống ở dạng văn bản thuần túy) eSIM của MNO tùy ý cấu thành một điểm yếu kiến trúc eSIM đáng kể.”
Giải thích thuật ngữ:
- eSIM (SIM nhúng): Một loại SIM kỹ thuật số được tích hợp trực tiếp vào thiết bị, không cần thẻ vật lý.
- eUICC (Embedded Universal Integrated Circuit Card): Một chip bảo mật chứa phần mềm cho phép quản lý và chuyển đổi giữa các nhà mạng di động khác nhau trên eSIM.
- Applet: Một ứng dụng nhỏ được thiết kế để chạy trong một môi trường khác, thường là trong một trình duyệt web hoặc trên một thiết bị di động.
- MNO (Mobile Network Operator): Nhà khai thác mạng di động, cung cấp dịch vụ di động cho người dùng.
- Java Card VM (Java Card Virtual Machine): Máy ảo Java Card, một nền tảng cho phép chạy các ứng dụng Java trên thẻ thông minh và các thiết bị nhúng có tài nguyên hạn chế.