"Hiện nay, các vi mạch FPGA có thể được tìm thấy trong nhiều ứng dụng quan trọng về bảo mật, từ các trung tâm dữ liệu đám mây và trạm gốc điện thoại di động, đến các USB được mã hóa và hệ thống điều khiển công nghiệp", các nhà nghiên cứu từ Viện Bảo mật công nghệ thông tin Horst Goertz tại trường đại học Ruhr University Bochum (Đức) và Viện Bảo mật và quyền riêng tư Max Planck (Đức) đã tiết lộ trong một thông cáo báo chí.
Theo đó, lợi thế quyết định của FPGA nằm ở khả năng tái lập trình khi so sánh với các vi mạch phần cứng thông thường có các chức năng cố định. Khả năng tái lập trình này đề cập đến việc người sử dụng có thể tải các cấu hình của riêng họ mà FPGA sẽ thực hiện. Cấu hình này được gọi là "bitstream", thường được lưu trữ và tải theo kiểu được mã hóa từ một phương tiện bên ngoài - chẳng hạn như bộ nhớ truy cập ngẫu nhiên tĩnh (Static random-access memory - SRAM) hoặc từ firmware của vi điều khiển bên ngoài.
Lỗ hổng Starbleed
Trong một bài báo nghiên cứu được công bố mới đây, các học giả cho biết, họ đã tìm thấy một lỗ hổng bảo mật trong bộ vi mạch xử lý FPGA của công ty Xilinx (Hoa Kỳ), công ty dẫn đầu thị trường FPGA hiện nay. Các FPGA Xilinx như dòng 7 (dòng Spartan, Artix, Kintex và Virtex) và dòng 6 (Virtex) được nhận thấy là dễ bị ảnh hưởng bởi lỗ hổng này.
Các nhà nghiên cứu cho biết, lỗ hổng Starbleed cho phép kẻ tấn công phá mã hóa bitstream và giả mạo các hoạt động được lưu trữ bên trong bitstream, sau đó tải mã độc hại lên các thiết bị không được bảo vệ.
"Trên các thiết bị này, mã hóa bitstream cung cấp tính xác thực bằng cách sử dụng HMAC dựa trên SHA-256 và cung cấp tính bí mật bằng cách sử dụng CBC-AES-256 để mã hóa. Bằng cách tấn công này, chúng tôi có thể phá vỡ mã hóa bitstream và giải mã bitstream được cho là an toàn trên tất cả các thiết bị Xilinx dòng 7 và một số các thiết bị Virtex dòng 6", các nhà nghiên cứu cho biết.
Theo nhà nghiên cứu, các cuộc tấn công lợi dụng Starbleed yêu cầu truy cập vật lý vào cổng JTAG của FPGA. Tuy nhiên, nếu bitstream của FPGA được tải từ vi điều khiển hoặc nguồn mạng khác, thì các cuộc tấn công có thể được thực hiện từ xa bằng cách nhắm mục tiêu vào vị trí bitstream được tải, trong nhiều trường hợp có thể có sẵn qua Internet.
Không yêu cầu thiết bị đắt tiền
Các nhà nghiên cứu cho rằng, tấn công lợi dụng Starbleed mà họ đề cập khác với các cách khai thác trước đó. Các cuộc tấn công nhắm vào mã hóa bitstream Xilinx trên các thiết bị dòng 7 được biết trước đó đều có bản chất vật lý (phân tích kênh kề, đầu dò quang học không tiếp xúc) và chủ yếu yêu cầu về thiết bị, thời gian và chuyên môn kỹ thuật. Ngoài ra, các tấn công này cần truy cập vật lý vào FPGA. Ngược lại, tấn công Starbleed mới chỉ yêu cầu quyền truy cập vào giao diện JTAG hoặc SelectMAP, thường có sẵn thông qua tính năng gỡ lỗi của giao diện JTAG hoặc thậm chí có thể có sẵn thông qua một kênh từ xa.
Mặc dù, việc đánh cắp hoặc giả mạo bitstream của FPGA có vẻ quá mức cần thiết hoặc lãng phí thời gian, thì các nhà nghiên cứu cho rằng tính bảo mật của các thiết bị này là tối quan trọng.
Christof Paar, giáo sư tại Viện Bảo mật và quyền riêng tư Max Planck cho biết: "Các thuộc tính trí tuệ có trong bitstream có thể bị đánh cắp. Cũng có thể chèn các Trojan phần cứng vào FPGA bằng cách thao túng bitstream. Mặc dù yêu cầu những kiến thức chi tiết, nhưng cuộc tấn công vẫn có thể được thực hiện từ xa, thậm chí kẻ tấn công không cần có quyền truy cập vật lý vào FPGA".
Thay thế vi mạch có thể cần thiết trong một số trường hợp
Parr và các đồng nghiệp cho rằng không có cách nào để khắc phục lỗ hổng này, ngoại trừ việc thay thế hoàn toàn FPGA, vì cơ chế mã hóa và bitstream được thiết kế để hoạt động ở cấp độ phần cứng và sẽ yêu cầu thiết kế lại vi mạch silicon.
Nhóm nghiên cứu cho biết, họ đã thông báo cho Xilinx về lỗ hổng Starbleed vào tháng 9/2019 và công ty đã phản hồi tích cực trong quá trình báo cáo, đồng ý thông báo cho khách hàng về mối đe dọa này.
Trong một tuyên bố được cung cấp qua email vào tháng 4/2020, Xilinx thừa nhận rằng tấn công lợi dụng lỗ hổng Startbleed là khả thi, nhưng lại giảm bớt sự nguy hiểm. Thay vào đó, công ty thông báo với khách hàng thực hiện các biện pháp để đảm bảo các tác nhân đe dọa không có quyền truy cập vật lý vào các thành phần FPGA và các cổng gỡ lỗi/cấu hình của chúng.
"Chúng tôi đã đọc bài nghiên cứu và đã đưa ra lời khuyên bảo mật cho khách hàng để giải quyết lỗ hổng này. Cách thức được chứng minh duy nhất để thực hiện cuộc tấn công lợi dụng lỗ hổng được gọi là Starbleed là có quyền truy cập vật lý gần đối với hệ thống. Chúng tôi khuyến cáo tất cả các khách hàng của mình rằng họ nên thiết kế hệ thống của mình với các biện pháp chống lại giả mạo", đại diện Xilinx cho biết.
Trong khi một số vi mạch FPGA Xilinx có thể được bảo mật chống lại truy cập vật lý hoặc các tình huống mà bitstream có thể truy cập từ xa, thì không phải tất cả các thiết bị đều có thể được bảo vệ. Đối với các thiết bị này, nếu chúng thực thi cho các hệ thống quan trọng, thì cần thay thế bộ vi mạch xử lý bằng một thiết bị sử dụng sơ đồ mã hóa tiên tiến hơn cho cấu hình bitstream.
Thế hệ bảng mạch mới UltraScale Xilinx lại không bị ảnh hưởng bởi lỗ hổng này, nên người sở hữu thiết bị bảng mạch mới này không cần thực hiện các bước trên. Các chi tiết khác có trong bài báo nghiên cứu đã được xuất bản có tiêu đề "The Unpatchable Silicon: A Full Break of the Bitstream Encryption of Xilinx 7-Series FPGAs."