Những điều cần biết về an toàn phần cứng (phần 2)

15:07 | 22/07/2021

Liệu việc an toàn phần cứng có giống với tin cậy phần cứng hay không? Những biện pháp nào để phòng chống tấn phần cứng?

Phân biệt an toàn và tin cậy phần cứng

An toàn phần cứng liên quan đến mức độ kháng được của phần cứng trước các tấn công, cũng như khả năng hỗ trợ của phần cứng cho an toàn phần mềm và an toàn cả hệ thống.

Còn tin cậy phần cứng lại liên quan đến các thực thể không tin cậy trong suốt vòng đời của phần cứng. Phần cứng kém tin cậy dẫn đến sai lệch chức năng, giảm hiệu năng và độ ổn định và như thế ảnh hưởng đến an toàn phần cứng.

Ví dụ, một nhà máy được thuê gia công vi mạch hay mạch in PCB có thể bí mật cấy thêm Trojan vào thiết kế ban đầu, dẫn đến rò rỉ thông tin khi thiết bị làm việc thực tế và tạo điều kiện thuận lợi cho kẻ địch tấn công kênh kề.

Những thực thể trong vòng đời IC có liên quan đến sự tin cậy

Hình 5. Các giai đoạn thiết kế phần cứng và sự không tin cậy ở mỗi giai đoạn

Hình 5 mô tả sơ lược các giai đoạn chính trong vòng đời của IC. Ở đây lấy vi mạch làm ví dụ, vòng đời PCB và phần cứng điện tử khác cũng tương tự. Đầu tiên, xác định các yêu cầu chức năng của vi mạch và xác định các tham số cần có. Tiếp đến là giai đoạn thiết kế, ở đó các mô tả chức năng được chuyển thành các cổng logic rồi thành mức transistor, sau đó rồi chuyển thành bố trí vật lý layout. Trong cả quá trình này, thiết kế đó sẽ được đánh giá xem có đúng theo các tham số đã định không.

Giai đoạn tiếp, layout được chuyển đến bộ phận sản xuất. Tại đây, nhiều quá trình công nghệ như che mặt nạ, quang khắc, ăn mòn được áp dụng để biến layout thành thực thể vật lý, gọi là die. Trên một tấm silicon gọi là wafer có nhiều die. Các die được kiểm thử trước khi được cắt ra thành các mảnh riêng rẽ rồi chuyển qua bộ phận lắp vào vỏ, tạo thành vi mạch. Các vi mạch lại được kiểm thử xem có đúng về chức năng và tham số đã định không. Với những vi mạch phức tạp, cần phải tích hợp vào chúng các cấu trúc chuyên dụng cho kiểm thử và gỡ lỗi, gọi là các cấu trúc DFT và DFD. Các cấu trúc này rất hữu ích, cho phép người kiểm thử quan sát và điều khiển nhiều node trong vi mạch, phục vụ nhiệm vụ kiểm thử và gỡ lỗi của họ.

Tuy nhiên, đây cũng là điểm kém an toàn vì thông qua cửa ngõ này, kẻ tấn công có thể xâm nhập được vào trong vi mạch. Những vi mạch nào đã vượt qua các bài kiểm tra chất lượng sẽ được đưa vào chuỗi cung ứng để phân phối đến người dùng. Người dùng có thể là các nhà máy sản xuất thiết bị gốc OEM, họ mua chip rồi tích hợp vào bảng mạch của họ, nạp firmware (trong trường hợp chip là vi xử lý/vi điều khiển) hay bitstream (trong trường hợp FPGA) rồi lắp ráp thành hệ thống hoàn chỉnh trước khi bán cho khách hàng là người dùng cuối.

Trên Hình 5, giai đoạn nào có kèm hình ảnh hai hacker thì đó là giai đoạn không tin cậy, kèm theo sự mất an toàn cho phần cứng, những giai đoạn nào kèm một hình hacker thì có thể không tin cậy. Vậy các giai đoạn không tin cậy gây ra vấn đề gì cho an toàn phần cứng? Đã không tin cậy thì phải giả thiết là có vấn đề ở đó, hacker có thể nắm được thiết kế và phát động các tấn công lên thiết kế đó.

Hình 6 mô tả các giai đoạn không tin cậy gây ra sự mất an toàn phần cứng và các hướng tấn công chính có thể xảy ra trong từng giai đoạn.

Những khả năng bị tổn thương của phần cứng và đối phó tấn công

Khả năng bị tổn thương phần cứng xuất phát từ các điểm yếu của hệ thống. Điểm yếu có thể nằm trong cấu trúc, trong hạ tầng kiểm thử/gỡ lỗi của phần cứng, các vấn đề kênh kề trong hoạt động hay các vấn đề điều khiển truy cập và điều khiển luồng thông tin.

Hình 6. Các giai đoạn không tin cậy gây ra sự mất an toàn phần cứng

Người tấn công sẽ phải nhận biết những điểm yếu để khai thác chúng. Người thiết kế cũng phải hình dung ra các hướng tấn công để thiết kế các giải pháp đối phó tương ứng. Các giải pháp này cần được (1) hợp nhất ngay ở giai đoạn thiết kế và kiểm thử, gọi là Thiết kế an toàn và (2) phải được đánh giá khả năng kháng lại được các tấn công đã biết, gọi là Phê duyệt an toàn.

Hình 7 mô tả các giai đoạn thiết kế an toàn và phê duyệt an toàn trước khi đưa sản phẩm vào sản xuất.

Hình 7. Hoạt động Thiết kế an toàn và Phê duyệt an toàn

Kết luận

Phần cứng là gốc của mọi vấn đề, là nền tảng cho mọi hoạt động xử lý thông tin. Bởi vậy an toàn phần cứng sẽ ảnh hưởng đến an toàn cả hệ thống. Thêm nữa, ở những thiết bị và hệ thống càng phức tạp, càng thông minh thì phần cứng và phần mềm lại phải càng hợp nhất chặt chẽ và ở một mức độ nào đó, hacker có thể tấn công phần cứng thông qua phần mềm, điều này làm vấn đề an toàn phần cứng vốn đã phức tạp lại càng phức tạp hơn.

Như một triết lý phổ biến, muốn giải quyết triệt để vấn đề thì phải làm từ gốc. Muốn an toàn tổng thể thì phần cứng phải là mỏ neo an toàn cho mọi thứ. Tuy nhiên, an toàn phần cứng lại liên quan đến những khả năng bị tổn thương của thiết kế và độ tin cậy của rất nhiều thành phần liên quan.

TÀI LIỆU THAM KHẢO

1. Swarup Bhunia, Mark Tehranipoor., Hardware Security. A Hands-on Learning Approach., Morgan Kaufmann publishers., 2019.

2. Một số nguồn từ internet.