Gửi lúc: 03/12/2018 15:45:12
Bookmark and Share

Đôi nét về mã độc phần cứng

Tổng quan về mã độc phần cứng

Mã độc phần cứng (Hardware Trojan - HT) là một khái niệm còn tương đối mới ở Việt Nam. HT được định nghĩa là một loại mã độc được nhúng vào các mạch tích hợp (còn gọi là Chíp điện tử - IC) bởi một số cổng (gates) logic và hoạt động khi có kích hoạt [1]. Ngoài ra, HT cũng có thể được cài đặt thông qua việc khai thác các lỗi bên trong phần cứng. Thực tế cho thấy, các quốc gia có bề dày kinh nghiệm về sản xuất IC là những môi trường thuận lợi để nghiên cứu, phát triển và khai thác HT. Hiện nay, tại Việt Nam các công nghệ chế tạo, sản xuất phần cứng chưa được phát triển mạnh. Vì vậy, việc nghiên cứu và phát triển HT còn gặp nhiều khó khăn. Tuy nhiên, chúng ta cần sớm nắm bắt công nghệ này để có thể phát hiện, phòng tránh kịp thời, tránh bị động, bất ngờ trước những nguy cơ mà HT gây ra. Bài báo này cung cấp cách nhìn khái quát, các mối nguy hiểm và các phương pháp phát hiện HT. 

Hình 1 mô tả các bước của quy trình thiết kế IC. Trong đó, khối màu vàng là các bước tiềm ẩn các lỗ hổng không an toàn. Ví dụ, trong quá trình thiết kế mạch sử dụng ngôn ngữ lập trình phần cứng phổ biến (như VHDL, Verilog…) các nhà thiết kế có thể chèn mã độc hại [2]. Trong đó, bản thân các công cụ thiết kế IC cũng là một môi trường thuận lợi để phát tán mã độc. Một giai đoạn khác có thể chèn mã độc phần cứng là quá trình sản xuất IC. Cũng giống như phần mềm gián điệp hay các loại mã độc khác, HT đánh cắp thông tin người dùng, làm giảm hiệu năng thiết bị, thay đổi chức năng và có thể gây ra các cuộc tấn công từ chối dịch vụ (DoS).


Hình 1. Mô tả các bước của quy trình thiết kế IC

Ghi chú:
IP - Intellectual Property: Mô đun thiết kế sẵn
Tools: Công cụ
Std. Cells: Các cell logic chuẩn
Models: Mô hình
Specifications: Chỉ tiêu kỹ thuật 
Design: Thiết kế
Fab Interface: Giao diện chế tạo
Mask: Mặt nạ
Fab: Chế tạo
Wafer Probe: Dò bề mặt;
Dice and Package: đặt chíp và đóng gói
Package Test: Kiểm tra đóng gói
Deploy and Monitor: Khai thác và giám sát

Cơ chế hoạt động của HT có điểm khác biệt so với Software Trojan (ST). HT hoạt động với 2 cơ chế luôn phụ thuộc vào nhau là Trigger và Payload [3]. Để kích hoạt, HT phải thoả mãn một số điều kiện cụ thể nào đó (như nhiệt độ của chíp vượt qua 55 độ C [2]) mà nhà thiết kế hay nhà sản xuất đưa ra. Đối với Trigger, cơ chế này luôn lắng nghe và chờ đợi sự kiện. Khi điều kiện được đáp ứng thì Trigger sẽ kích hoạt và thực hiện nhiệm vụ đánh thức Payload. Khi đó Payload hoạt động, đồng nghĩa với việc HT sẽ thực hiện đầy đủ các chức năng được thiết kế. Nếu ST có thể tiến hành gỡ bỏ, làm sạch khi bị phát hiện, thì HT chỉ có thể phá hủy các thiết bị khi bị lây nhiễm, bởi công nghệ xử lý, sửa chữa chíp bị lỗi hay bị cài đặt lại thiết bị là hết sức tốn kém.

Các phương pháp phát hiện mã độc phần cứng

Có 2 phương pháp phát hiện HT là phân rã (Destructive) và không phân rã (Non-destructive) [4].

Phương pháp phân rã: sử dụng các IC mẫu được sản xuất để thực hiện khử kim loại bằng phương pháp đánh bóng cơ - hóa học (Chemical Mechanical Polishing - CMP), sau đó tiến hành tái xây dựng và phân tích hình ảnh quét của kính hiển vi điện tử (Scanning Electron Microscope - SEM). Tuy nhiên, cách tiếp cận này rất tốn kém về chi phí và thời gian thực hiện (thời gian để phân tích theo phương pháp phân rã của một IC có thể lên tới vài tháng). Đáng lưu ý, với số lượng transistor lớn, phương pháp này không khả thi. Hơn nữa, kết quả phân tích mẫu không thể ngoại suy cho toàn bộ IC trong lô sản xuất [3]. 

Phương pháp không phân rã: được đề xuất phân thành 2 kỹ thuật: xâm lấn (invastive) và không xâm lấn (non-invastive). Kỹ thuật không xâm lấn không thay thế thiết kế ban đầu của IC. Trong khi, kỹ thuật xâm lấn thay đổi thiết kế để nhúng các tính năng, nhằm mục đích phát hiện Trojan.

Kỹ thuật xâm lấn được phân làm 2 dạng: Dạng thứ nhất là ngăn chặn việc chèn HT trong quá trình thiết kế và sản xuất IC thông qua bước kiểm tra thiết kế trước khi đưa vào sản xuất (preventive). Trong [5] chỉ ra rằng, việc chèn HT phụ thuộc vào không gian trống trong bố cục IC. Trong [6], một kỹ thuật thiết kế và luồng tự động thiết kế được đề xuất để ngăn chặn việc chèn mã độc. Phương pháp này có khả năng phát hiện HT đạt 24% với diện tích thiết kế trống là 10%. Dạng thứ hai là hỗ trợ việc phát hiện Trojan (assistive) thông qua kiểm tra các cổng logic, hoặc các phép đo các tham số kênh phụ.   
  
Kỹ thuật không xâm lấn: HT được phát hiện bằng cách so sánh hành vi của IC cần kiểm tra với mẫu IC hoặc mô hình chức năng chuẩn. Kỹ thuật này được phân làm hai loại là run-time và test-time. 

Kỹ thuật run-time sử dụng hệ thống giám sát trực tiếp để phát hiện ra các hành vi nghi ngờ trong quá trình hoạt động của IC.

Kỹ thuật test-time sử dụng để phát hiện ra các IC bị lây nhiễm, trước khi khai thác sử dụng, bằng cách dựa trên việc đo các tham số kênh phụ như nguồn, độ trễ…. 

Hình 2. Các phương pháp phát hiện Hardware Trojan

Ưu điểm chính của các kỹ thuật này là không mất chi phí phần cứng. Tuy nhiên, nhược điểm chính là cần xác định được IC mẫu chuẩn hoặc mô hình chức năng không nhiễm HT (hay còn gọi là IC hoặc mô hình chuẩn vàng - “golden”).Kỹ thuật test-time dựa trên phân tích kênh phụ và quan sát tác động của Trojan được chèn vào đối với các tham số vật lý như dòng điện, điện năng tiêu thụ hoặc độ trễ của đường truyền tín hiệu. Ưu điểm của các phương pháp này dựa vào thực tế là ngay cả khi mạch HT không tạo ra các sự cố có thể quan sát được trong khi kiểm tra, thì sự xuất hiện của các mạch HT được thêm vào có thể được phản ánh thông qua một số thông số kênh phụ. HT kích thước càng lớn thì phương pháp này càng hiệu quả và đơn giản hóa quá trình kiểm tra. Tuy nhiên, những thách thức chính liên quan đến phân tích kênh phụ là quá trình biến đổi lớn trong các công nghệ nano hiện đại và phép đo nhiễu có thể che đi tác động của mạch Trojan, đặc biệt là đối với các HT kích thước nhỏ. Hơn nữa, các tạp âm nhiễu trong quá trình đo có khả năng gây sai số. 

Ví dụ: trong [7], các tác giả đã giới thiệu khái niệm về IC fingerprinting. Một IC mẫu liên kết với dấu hiệu “fingerprint” để đo các tham số kênh phụ. Từ phân tích công suất tiêu thụ, phương pháp này có khả năng phát hiện HT với kích thước tương đương 0,01% kích thước của mạch và sự xuất hiện của biến đổi tham số ngẫu nhiên là 7,5%. Trong [8] trình bày một phương pháp đo tín hiệu nguồn điện cấp được thực hiện. Kỹ thuật này có khả năng phát hiện HT khi hoạt động là 50% và khi không hoạt động là 30%. Trong [9], độ trễ đường truyền tín hiệu của các cổng đầu ra được sử dụng để phát hiện HT. Kỹ thuật này có thể phát hiện được Trojan với diện tích chiếm 0,13% tổng diện tích của mạch, với 7,5% sự thay đổi tham số. Còn HT với diện tích chiếm 0,36% tổng diện tích của mạch thì tỉ lệ phát hiện Trojan là 36%.

Vấn đề nghiên cứu mã độc phần cứng trong tương lai

Hiện nay, phần lớn các trang thiết bị sử dụng tại nước ta được nhập khẩu từ nước ngoài, nên rất khó kiểm soát được về mặt công nghệ. Các phương pháp phát hiện HT tới nay vẫn còn nhiều thách thức với các cơ quan, tổ chức, mặc dù có những ưu điểm, nhưng cũng tồn tại nhiều nhược điểm khác nhau. Do đó, việc nghiên cứu và xây dựng các giải pháp phát hiện HT và lựa chọn phương pháp phù hợp với tình hình thực tế là vấn đề cần thiết trong giai đoạn hiện nay. 

Đặt trong khuôn khổ một phép so sánh thì HT có nhiều điểm giống với ST. Hiện nay, nhiều quốc gia trên thế giới phát triển HT như một loại vũ khí sử dụng trong phòng thủ, tấn công mạng. Tuy nhiên, đối với các quốc gia chưa có nhiều kinh nghiệm trong việc sản xuất IC thì khả năng sử dụng HT tạo ra vũ khí mạng với mục đích tấn công sẽ gặp nhiều khó khăn. 

Trước những mối nguy hiểm tiềm ẩn mà HT có thể gây ra, cần tiến hành sớm nghiên cứu chuyên sâu và đưa ra những giải pháp để phát hiện loại mã độc này. Nghiên cứu và xây dựng các quy trình, công cụ phục vụ việc kiểm tra, đảm bảo an toàn thông tin cho phần cứng. Khi phát hiện ra HT thì cần phải thu thập mẫu làm cơ sở dữ liệu phục vụ cho việc phân tích, điều tra. Từ đó, mới có thể phát triển các loại vũ khí mạng phục vụ tấn công, nắm thế chủ động là hướng lâu dài trong việc nghiên cứu.

 Tài liệu tham khảo:

[1]. Wei Hu, Baolei Mao, Jason Oberg and Ryan Kastner, “Detecting Hardware Trojans with Gate-Level Information - Flow Tracking”, 2016.
[2]. Ramesh Karri and Jeyavijayan Rajendran, Polytechnic Institute of New York University; Kurt Rosenfeld, Google; Mohammad Tehranipoor, University of Connecticut, “Trustworthy hardware: identifying and classifying hardware trojans”, 2010. 
[3]. Shivam BHASIN, Jean-Luc DANGER, Sylvain GUILLEY, Xuan Thuy NGO and Laurent SAUVAGE , “Hardware Trojan Horses in Cryptographic IP Cores”, 2014.
[4]. Rajat Subhra Chakraborty, Seetharam Narasimhan and Swarup Bhunia, “Hardware Trojan: Threats and Emergin Solutions”, IEEE conference, 2009.
[5]. X. Wang, M. Tehranipoor and J. Plusquellic, “Detecting Malicious Inclusions in Secure Hardware: Challenges and Solutions”, HOST, 2008.
[6]. R.S. Chakraborty and S.Bhunia, “Security against Hardware Trojan through a Novel Application of Design Obfuscation”, ICCAD, 2009.
[7]. D. Agrawal et al, “Trojan detection using IC fingerprinting”, IEEE Symp. On Security and Privacy, 2007.
[8]. R.M. Rad, J. Plusquellic and M. Tehranipoor, “Sensitivity Analysis to Hardware Trojans using Power Supply Transient Signals”, HOST, 2008.
[9]. Y. Jin and Y. Makris, “Hardware Trojan Detection Using Path Delay Fingerprint”, HOST, 2008.

Chu Xuân Hẹ, Trần Đức Trung, Phạm Thị Huyền, Vũ Duy Thăng, Nguyễn Trọng Hải