Mô tả giải pháp tấn công kênh bên (Side-Channel Analysis) và Tiêm lỗi (Fault Injection) cho các thiết bị lưu trữ bảo vệ (USB bảo mật)
Thiết lập phần cứng Tấn công Kênh bên (SCA)
Mục tiêu của phương pháp này là lấy được khóa mã hóa và khóa xác minh. USB bảo mật được hoạt động dựa trên thuật toán bảo mật AES và trong trường hợp được xem như là một black box, Người dùng không biết và không thể kiểm tra chi tiết cách dữ liệu được mã hóa, xử lý, hoặc lưu trữ. Toàn bộ quy trình được “đóng kín” bên trong thiết bị. Rất khó để có thể sử dụng kỹ thuật tấn công qua kênh công suất thông thường như CPA và SPA.
Với hệ thống kiểm tra của Keysight, Giải pháp đưa ra là thu lại các luồng tín hiệu eMMC , một bộ giả lập eMMC emulator được thiết kế để cắm USB bảo mật, khi đó, trình giả lập sẽ boot USB lên liên tục để khởi động firmware, bàn lấy mẫu XYZ sẽ tìm vị trí tốt nhất để thu được tín hiệu EM sau đó đưa ra các đồ thị tín hiệu.
Các bước thực hiện:
Đồ thị đầu tiên thu được khi thu tín hiệu EM của USB bảo mật khi được boot lên ở trạng thái bình thường, 2 xung boot liên tiếp được test để đảm bảo dự đoán quá trình chính xác. Đồ thị thứ hai thu được sau khi bộ giả lập eMMC can thiệp thay đổi firmware. Có thể thấy ở đồ thị đầu, sau 23ms, tín hiệu tiếp tục duy trì chứng tỏ thiết bị hoạt động đúng như thiết kế. Ở đồ thị thứ 2, sau 23ms, tín hiệu biến mất do không hoạt động vì lỗi firmware bị can thiệp, Từ các thông tin trên, Có thể khẳng định cả quá trình mã hóa và xác minh sẽ xảy ra trước 23ms. Khi đó chúng ra tập trung phân tích tín hiệu ở khoảng thời gian này. Sau bước này, ta nắm được dạng của xung EM và thời gian giải mã.
Tiếp theo ta tập trung vào phần tín hiệu trong thời gian giải mã. Phán đoán dựa vào dạng xung EM thời gian giải mã. Bằng kinh nghiệm chuyên môn có thể phán đoán rằng chế độ giải mã là CBC mode, vì thời gian xác minh lâu nên có thể phán đoán rằng USB sử dụng thuật toán AES. Như vậy sau bước này ta có thể đoán được rằng chế độ này giải mã ở chế độ CBC với thuật toán AES.
Sau đó phóng tín to hiệu giải mã với độ phân giải cao, bằng các kiến thức về xung, lặp lại các bước để thu về 118000 xung EMC ( 16 giờ ). Mỗi xung chứa 32 hoạt động giải mã. Do ta đã biết được mã hóa sử dụng thuật toán AES nên có thể giả định về khóa mã hóa và tính toán các giá trị trung gian trong thuật toán AES từ các dữ liệu đầu vào, nhắm vào từng byte riêng lẻ trong khóa, ta sẽ tính toán mối tương quan giữa các giá trị trung gian thuật toán AES với đồ thị EM. Khi một giả định key đúng, ta có thể thấy mối tương quan giữa giá trị tính toán và tín hiệu xung EM sẽ cao hơn rõ rệt tại các thời điểm cụ thể. Thực hiện tấn công này hai lần ở vòng 1 và 2 của phần mềm sẽ cho ra một khóa AES 256-bit. Như vậy ta đã thu được khóa giải mã firmware.
Tiêm lỗi (Fault Injection)
Tiếp theo chúng ta cần tìm ra khóa giải mã bằng phương pháp tiêm lỗi Đầu tiên là tiêm lỗi để bỏ qua khóa xác minh. Kết quả:
Để tìm được khóa giải mã, Sử dụng side channel với chương trinh sau. Sau khi vượt qua được bước xác thực firmware bằng kỹ thuật fault injection, nhóm nghiên cứu đã triển khai một chương trình để lấy khóa ký số thông qua kênh biên (side-channel). Chương trình này truy xuất từng bit của khóa và thực hiện các thao tác tiêu thụ năng lượng khác nhau tùy vào giá trị của bit (NOP cho bit 1, phép nhân cho bit 0). Sự khác biệt về tiêu thụ năng lượng tạo ra tín hiệu điện từ đặc trưng, và phân tích EM trace để khôi phục lại khóa.
Kết luận về việc Phân tích tấn công kênh bên và tiêm lỗi trên USB bảo mật
Mặc dù con chip đã sử dụng các thuật toán tiên tiến để bảo vệ tính bảo mật và xác thực của firmware, các kỹ thuật tấn công kênh kề (SCA – Side Channel Attack) và lỗi (FI – Fault Injection) vẫn có thể là những phương pháp rất mạnh để xâm nhập và phá vỡ thiết bị. Điều này cho thấy rằng biện pháp bảo mật phần mềm/hệ thống là chưa đủ nếu bỏ qua các rủi ro đến từ tầng vật lý.
Tóm lại: Bảo mật phần cứng không thể chỉ dựa vào thuật toán, mà phải tính đến các kênh tấn công vật lý như SCA và FI.
Là đơn vị tiên phong đưa công nghệ kiểm thử SCA & FI từ Keysight Riscure về Việt Nam, Công ty Công nghệ MITAS cung cấp:
- Các thiết bị kiểm thử phần cứng chuyên dụng
- Máy hiện sóng và Bộ tạo xung, tạo nhiễu, đầu dò từ trường, tín hiệu quang
- Phần mềm thu thập phân tích các vết tín hiệu Keysight Inspector tích hợp công nghệ AI
- Tư vấn thiết kế phòng lab kiểm thử đạt chuẩn EMVCo, FIPS, Common Criteria
- Đào tạo chuyên sâu cho đội ngũ kỹ thuật
Chúng tôi cùng với Keysight, cam kết mang lại bộ thiết bị, giải pháp kiểm thử phần cứng chuyên nghiệp, hiệu quả trong nhiều lĩnh vực khác nhau, như:
- Sản phẩm thiết bị điện tử: IoT, thiết bị nhúng, mạch tích hợp
- Module bảo mật sử dụng PQC
- Các loại chip bán dẫn, chip nhớ, chip trong các loại thẻ, căn cước công dân, smart card
- Các Phần mềm kiểm tra an toàn trong giai đoạn tiền thiết kế bán dẫn (pre-sillicon)