Tìm hiểu kỹ thuật đo trễ tín hiệu phát hiện mã độc phần cứng trong vi mạch

Tìm hiểu kỹ thuật đo trễ tín hiệu, phương pháp hiệu quả để phát hiện mã độc phần cứng ẩn sâu trong vi mạch. Bảo vệ hệ thống khỏi tấn công phần cứng.

Trường đại học

Đại Học Bách Khoa Hà Nội

Tác giả

Nguyen Thanh Long

Người đăng

Ẩn danh

Thể loại

Luận Văn Thạc Sĩ

2023

66
1
0

Phí lưu trữ

30 Point

Mục lục chi tiết

LỜI CẢM ƠN

LỜI CAM ĐOAN

DANH MỤC CÁC HÌNH VẼ

DANH MỤC BẢNG BIỂU

DANH MỤC KÝ HIỆU CHỮ VIẾT TẮT

LỜI NÓI ĐẦU

1. CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC PHẦN CỨNG

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

1.2. Khái niệm về mã độc phần cứng

1.3. Cấu tạo của mã độc phần cứng

1.4. Phân loại mã độc phần cứng

1.5. Tổng quan về lý thuyết đồ hình

1.6. Nguy cơ của HT trong mạch thiết kế mật mã

2. CHƯƠNG 2: PHƯƠNG PHÁP PHÁT HIỆN ĐỘ TRỄ TÍN HIỆU ĐƯỜNG DẪN

2.1. Một số phương pháp phát hiện HT

2.2. Phương pháp xác định độ trễ các đường dẫn tín hiệu

3. CHƯƠNG 3: THỰC THI PHÁT HIỆN MÃ ĐỘC PHẦN CỨNG TRONG MẠCH THIẾT KẾ FPGA BẰNG PHƯƠNG PHÁP ĐO ĐỘ TRỄ ĐƯỜNG DẪN

3.1. Thiết kế chèn HT vào mạch FPGA

3.2. Phân tích và thống kê các kết quả

3.3. Kiến nghị và đề xuất

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Tổng Quan Mã Độc Phần Cứng Khái Niệm Cấu Trúc Phân Loại

Mã độc phần cứng (Hardware Trojan – HT) là một mối đe dọa ngày càng gia tăng đối với an ninh hệ thống. HT được nhúng vào các mạch tích hợp (IC) nhằm thay đổi chức năng, gây lỗi thiết bị, từ chối dịch vụ (DoS), hoặc rò rỉ thông tin bí mật. Hầu hết các IC hiện đại được cung cấp theo chuỗi cung ứng phức tạp từ nhiều nguồn khác nhau, tạo điều kiện cho việc chèn HT. Điều này đặc biệt nguy hiểm trong các thiết kế mật mã, nơi HT có thể xâm phạm các khóa bí mật và các tham số quan trọng khác. Việc phát hiện HT vẫn còn nhiều thách thức, đòi hỏi các phương pháp tiếp cận toàn diện từ giai đoạn thiết kế đến sản xuất. Mã độc phần cứng có thể được chèn vào bởi một số cổng logic và hoạt động khi có kích hoạt, hoặc thông qua việc khai thác các lỗi bên trong phần cứng. Để hiểu rõ hơn về HT, cần đi sâu vào cấu trúc và cách phân loại chúng. Hardware Trojan có thể có nhiều dạng thức khác nhau, từ đơn giản đến phức tạp, và có thể được kích hoạt bằng nhiều cách khác nhau, tùy thuộc vào mục đích của kẻ tấn công. Phân loại HT giúp đánh giá rủi ro và phát triển các biện pháp đối phó hiệu quả hơn. Trong bối cảnh toàn cầu hóa ngành công nghiệp vi mạch, việc đảm bảo an toàn thiết kế trở nên vô cùng quan trọng, nhằm giảm độ trễ và giảm tuổi thọ của FPGA. Các chuyên gia phần lớn mới tập trung vào an toàn phần mềm hoặc an toàn thông tin trong quá trình xử lý, còn phần cứng thì mặc định được coi là tin cậy. Song những năm gần đây, các vấn đề liên quan đến an toàn phần cứng để đảm bảo hoạt động tin cậy trong các mạch tích hợp (chíp điện tử) đã thu hút được sự quan tâm lớn trên thế giới cũng như Việt Nam.

1.1. Cấu trúc Mã Độc Phần Cứng Trigger và Payload

Mỗi Trojan cứng bao gồm hai thành phần chính: Trigger (khối kích hoạt) và Payload (khối tải tin). Khối kích hoạt thường là một mạch điện tử số tuần tự hoặc một mạch kết hợp, kiểm soát hoạt động của tải tin và duy trì "ẩn" các tác động của HT cho đến khi điều kiện kích hoạt xảy ra. Tải tin có thể ở dạng số hoặc tương tự, được "cấy" vào IC để gửi các tín hiệu gây hại theo điều kiện kích thích. Khối kích hoạt thường nằm trong "điều kiện hiếm" (rare condition), đảm bảo rằng đầu ra của khối tải tin hầu như luôn có cùng giá trị với tín hiệu gốc Neti tại hầu hết các thời điểm. Tuy nhiên, khi khối Trigger bị kích hoạt, ví dụ TriggerEnable là "0", thì đầu ra khối Payload sẽ khác biệt so với Neti, dẫn đến xung đột giữa các khối trong mạch tổng hợp và gây ra lỗi ở đầu ra. Cơ chế này cho phép HT hoạt động một cách bí mật cho đến thời điểm tấn công được kích hoạt. Cấu trúc này đảm bảo rằng các Trojan cứng kèm theo các bộ kích thích số (Digital) hoặc kích thích tương tự (Analog) sẽ đều đưa ra tải tin ở dạng số. Và các tải tin số được thiết kế để tác động vào các giá trị logic số tại những nút chỉ định bên trong mạch.

1.2. Phân Loại Mã Độc Phần Cứng Đặc Điểm Cơ Chế Kích Hoạt

HT có thể được phân loại theo nhiều tiêu chí khác nhau, bao gồm đặc điểm vật lý, cơ chế kích hoạt và cách thức hoạt động. Dựa trên đặc điểm vật lý, HT có thể được phân loại theo dạng (chức năng hoặc tham số), kích thước, phân bố (kín hoặc rời rạc), và cấu trúc. Dựa trên cơ chế kích hoạt, HT có thể là digital (kết hợp hoặc tuần tự) hoặc analog (sử dụng cảm biến trên chip). Dựa trên cách thức hoạt động, HT có thể thay đổi chức năng, thay đổi đặc tả kỹ thuật, hoặc truyền thông tin. Mỗi loại HT có những đặc điểm riêng và đòi hỏi các phương pháp phát hiện khác nhau.Ví dụ, Trojan kết hợp trong đó khi điều kiện chỉ định: A = 0 và B = 0 xảy ra tại các nút kích thích ở cổng NOR, dẫn đến tải tin sẽ gửi ra tín hiệu đảo C modified. Mã thám có thể chọn một điều kiện kích hoạt cực hiếm vì vậy rất khó có khả năng Trojan được kích hoạt trong suốt quá trình kiểm tra thông thường. Trojan tuần tự đơn giản nhất là các trojan dùng một bộ đếm đơn để kích hoạt. Trojan có thể có trong module mật mã nhằm phá vỡ các cơ chế bảo mật. Payload có thể giới hạn từ một công cụ biểu diễn khóa giả, được xác định trước bởi kẻ tấn công, thay vì khóa mật mã thực tế được sử dụng cho các hoạt động xác minh chữ ký hoặc mã hóa nhạy cảm.

1.3. Nguy cơ của HT trong Mạch Thiết Kế Mật Mã

Nguy cơ mã độc phần cứng tiềm ẩn trong thiết kế FPGA dựa trên kỹ thuật đo trễ các tín hiệu đường dẫn là rất lớn. Các hệ thống trên chip (SoC) và mạng trên chip (NoC) đều có thể bị tấn công. Trojan phần cứng trong các FPGA có thể có các đặc điểm hoạt động tương tự như các đặc điểm của Trojan được mô tả trong chương 1, tuy nhiên, một đặc điểm độc đáo của Trojan phần cứng dựa trên FPGA là chúng có thể phụ thuộc vào IP hoặc không phụ thuộc vào IP. Các dạng tấn công vào SoC có thể được chia thành ba giai đoạn: giai đoạn phát triển lõi IP, giai đoạn phát triển SoC và giai đoạn chế tạo. Ba giai đoạn này dẫn đến ba nhóm thực thể có khả năng tấn công lên thiết kế phần cứng, đó có thể là nhà cung cấp 3PIP, nhà phát triển SoC và từ xưởng đúc chế tạo. Trojan có thể có trong module mật mã nhằm phá vỡ các cơ chế bảo mật. Payload có thể giới hạn từ một công cụ biểu diễn khóa giả, được xác định trước bởi kẻ tấn công, thay vì khóa mật mã thực tế được sử dụng cho các hoạt động xác minh chữ ký hoặc mã hóa nhạy cảm.

II. Đo Trễ Tín Hiệu Phương Pháp Phát Hiện Mã Độc Phần Cứng

Phương pháp đo trễ tín hiệu là một kỹ thuật hiệu quả để phát hiện mã độc phần cứng trong vi mạch. HT thường gây ra sự thay đổi về độ trễ tín hiệu do các mạch bổ sung hoặc sửa đổi trong thiết kế. Bằng cách đo và phân tích độ trễ của các đường dẫn tín hiệu khác nhau trong mạch, có thể phát hiện ra các bất thường chỉ ra sự hiện diện của HT. Phương pháp này đòi hỏi độ chính xác cao và khả năng phân tích thống kê để phân biệt giữa các thay đổi độ trễ do quá trình sản xuất và những thay đổi do HT gây ra. Việc phát hiện HT bằng phương pháp độ trễ đường dẫn được thiết kế để xác định xem liệu đối thủ có thêm fanout vào các đầu vào và đầu ra cổng logic hay không, tức là, các dây được thêm vào giám sát trạng thái của IC (trigger) hoặc chèn các cổng nối tiếp với thiết kế ban đầu như một phương tiện thay đổi chức năng của nó (payload). Cả hai trường hợp này cũng làm cho độ trễ của đường dẫn tăng lên. Mục tiêu của kiểm tra lỗi và kiểm tra HT bằng cách sử dụng kiểm tra độ trễ đường dẫn là rất giống nhau.

2.1. Nguyên Tắc Cơ Bản của Phát Hiện HT Dựa Trên Độ Trễ

Phát hiện HT dựa trên độ trễ đường dẫn bao gồm ba thành phần chính: chiến lược tạo vectơ thử nghiệm, kỹ thuật đo độ trễ đường dẫn và phương pháp phát hiện thống kê. Chiến lược tạo vectơ thử nghiệm phải được thiết kế để kích hoạt HT tiềm ẩn và tạo ra sự thay đổi đáng kể về độ trễ. Kỹ thuật đo độ trễ đường dẫn phải có độ chính xác cao để phát hiện các thay đổi nhỏ do HT gây ra. Phương pháp phát hiện thống kê phải có khả năng phân biệt giữa các thay đổi độ trễ do quá trình sản xuất và những thay đổi do HT gây ra. Cơ chế kiểm tra độ trễ đường dẫn trong kỷ nguyên “submicron- siêu hiển vi” khiến các nhà nghiên cứu, thiết kế luôn quan tâm đến các phương pháp tiếp cận mô hình thống kê để phát triển và thử nghiệm vi mạch, mà hiện nay 1 trong các mối quan tâm đó là các mô hình lỗi trễ (mô hình lỗi chuyển tiếp, lỗi trễ cổng và lỗi trễ đường dẫn).Mặc dù rõ ràng là quá trình kiểm tra lỗi trễ để giữ mức độ lỗi thấp, nhưng các giải pháp thay thế đã được phát triển để cho phép áp dụng chuỗi hai vectơ xác định để kiểm tra lỗi trễ. Các giải pháp thay thế được gọi là LOS (launch on shift) và LOC (launch on capture), LOS và LOC cho phép kiểm tra độ trễ 2 vecto.

2.2. Kỹ Thuật Đo Độ Trễ Đường Dẫn Tín Hiệu

Có nhiều kỹ thuật đo độ trễ đường dẫn khác nhau, bao gồm các phương pháp dựa trên thời gian (time-based) và các phương pháp dựa trên tần số (frequency-based). Các phương pháp dựa trên thời gian đo trực tiếp thời gian trễ của tín hiệu. Các phương pháp dựa trên tần số đo sự thay đổi tần số của tín hiệu do độ trễ gây ra. Một kỹ thuật phổ biến là sử dụng Bộ chuyển đổi thời gian sang kỹ thuật số (TDC) để đo độ trễ với độ phân giải cao. (tức là khoảng thời gian giữa lần áp dụng V2 tại t1 và sự kiện bắt tại t2) thành bất kỳ giá trị tùy ý nào. Bộ thử nghiệm bên ngoài (ATE) điều khiển chân clock trên chip thì bị giới hạn theo cách các cạnh liên tiếp gần nhau của Clk có thể được đặt. Hơn nữa, hầu hết các ứng dụng kiểm tra độ trễ cho các lỗi sản xuất chỉ cần xác định xem liệu chip đó có chạy hoạt động ở tần số xung nhịp hay không. Do đó, LCI thường được cố định cho tất cả các kiểm tra và chỉ có thể đạt được giới hạn trên về độ trễ của các đường dẫn trong chip. Do đó, các phương pháp phát hiện HT yêu cầu độ chính xác pico giây cho các độ trễ đường dẫn riêng lẻ sẽ yêu cầu sự lựa chọn chiến lược clock hoặc các thành phần DFT bổ sung được tích hợp trên IC.

2.3. So Sánh Kiểm Tra Độ Trễ với Lỗi Sản Xuất và Mã Độc Phần Cứng

Không giống như quá trình kiểm tra dựa trên logic, các mục tiêu của kiểm tra lỗi và kiểm tra HT bằng cách sử dụng kiểm tra độ trễ đường dẫn là rất giống nhau. Kiểm tra độ trễ đường dẫn đối với các lỗi được thiết kế để xác định xem liệu một lỗi được đưa vào trong quá trình chế tạo có gây ra tín hiệu lan truyền dọc theo đường dẫn thì sẽ xuất hiện muộn hơn so với thiết kế hay không. Tương tự, kiểm tra độ trễ đường dẫn cho HT được thiết kế để xác định xem liệu đối thủ có thêm fanout vào các đầu vào và đầu ra cổng logic hay không, tức là, các dây được thêm vào giám sát trạng thái của IC (trigger) hoặc chèn các cổng nối tiếp với thiết kế ban đầu như một phương tiện thay đổi chức năng của nó (payload). Cả hai trường hợp này cũng làm cho độ trễ của đường dẫn tăng lên. Đặc điểm phân biệt chính giữa các lỗi và HT liên quan đến false positives (khẳng định không đúng) . False positives là các tình huống trong đó việc kiểm tra HT chỉ ra nó có mặt trong khi thực tế thì không. Vấn đề này ít liên quan đến các lỗi và có thể được giảm thiểu bằng cách sử dụng các công cụ ATPG hiện đại. Các kết quả false positives có thể xảy ra đối với HT khi phương pháp phát hiện không phù hợp đối với những thay đổi độ trễ thông thường do các những thay đổi của quy trình.

III. Phát Hiện Mã Độc Phần Cứng Phương Pháp Phát Hiện Sản Xuất

Phát hiện HT trong giai đoạn sản xuất bao gồm các kỹ thuật được áp dụng sau khi vi mạch đã được chế tạo. Có hai phương pháp chính: phương pháp phân rã (destructive) và phương pháp không phân rã (non-destructive). Phương pháp phân rã liên quan đến việc đảo ngược thiết kế và phân tích vật lý chip, trong khi phương pháp không phân rã sử dụng các kỹ thuật đo lường và phân tích để phát hiện HT mà không làm hỏng chip. Kiểm tra chức năng: Kỹ thuật này cố gắng kích hoạt Trojan bằng cách áp dụng các vectơ kiểm tra và so sánh các phản hồi với kết quả đúng. Để hiệu quả, các kỹ thuật như vậy đòi hỏi phải có sẵn “IC vàng”. Tuy nhiên, những ảnh hưởng của Trojan lại từ chính các đầu ra. Nhưng do có nhiều trạng thái logic trong một mạch, sẽ là không thực tế để liệt kê tất cả các trạng thái của một thiết kế thực sự. Ngoài ra, thay vì thay đổi chức năng của mạch ban đầu, một Trojan có thể truyền thông tin qua các phương tiện không chức năng khác như thông qua ăng-ten hoặc bằng cách thay đổi đặc điểm kỹ thuật, dẫn đến lỗi kiểm tra chức năng vì thế mà không phát hiện được các Trojans này.

3.1. Phương Pháp Phân Rã Đảo Ngược Thiết Kế

Phương pháp phân rã sử dụng kỹ thuật đảo ngược thiết kế để mở một IC và có được hình ảnh của từng lớp. Kỹ thuật này mang lại sự đảm bảo rất lớn rằng bất kỳ thay đổi độc hại nào trong IC đều có thể được phát hiện. Tuy nhiên, phương pháp này rất tốn kém về chi phí và thời gian thực hiện, và không thể mở rộng cho số lượng IC lớn. 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. Phương pháp này thực hiện trên các IC mẫu được sản xuất nhằm khử kim loại bằng phương pháp đánh bóng cơ – hóa học (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ử (SEM).

3.2. Phương Pháp Không Phân Rã Kiểm Tra Chức Năng và Kênh Kề

Phương pháp không phân rã bao gồm kiểm tra chức năng và phân tích tín hiệu kênh kề. Kiểm tra chức năng cố gắng kích hoạt HT bằng cách áp dụng các vectơ kiểm tra và so sánh phản hồi với kết quả đúng. Phân tích tín hiệu kênh kề đo các thông số của mạch, như độ trễ đường dẫn, điện năng tiêu thụ, nhiệt độ và bức xạ điện, để phát hiện các bất thường. Tuy nhiên, các phương pháp này thường yêu cầu một "IC vàng" để so sánh, và dễ bị ảnh hưởng bởi nhiễu. Ví dụ, Agrawal et al. lần đầu tiên chứng minh việc sử dụng kênh kề như điện năng tiêu thụ và điện, từ trường để phát hiện mạch có Trojan. Các tác giả lần đầu tiên tạo ra vết điện năng của một số lượng nhỏ IC được chọn ngẫu nhiên từ một lô sản xuất IC. Các IC này đóng vai trò là IC vàng (IC không có Trojan). Các IC này sẽ trải qua giai đoạn kiểm tra nghiêm ngặt trong kỹ thuật đảo ngược, trong đó chúng được so sánh từng phần với thiết kế ban đầu.

IV. Phát Hiện Mã Độc Phần Cứng Phương Pháp Phát Hiện Thiết Kế

Phát hiện HT trong giai đoạn thiết kế được sử dụng để xác thực IP của bên thứ ba (3PIP) và thiết kế cuối cùng. Các kỹ thuật bao gồm xác minh hình thức, phân tích cấu trúc, kiểm tra logic, phạm vi mã và phân tích chức năng. Mỗi kỹ thuật có những ưu điểm và nhược điểm riêng, và việc sử dụng kết hợp các kỹ thuật có thể mang lại hiệu quả tốt nhất. Những kỹ thuật này được sử dụng để giúp các nhà phát triển và kỹ sư thiết kế SoC xác thực IP của bên thứ ba (3PIP) và thiết kế cuối cùng của họ. Các kỹ thuật phát hiện HT trong giai đoạn thiết kế có thể được phân loại thành xác minh theo thủ tục, phân tích cấu trúc, kiểm tra logic, phạm vi mã và phân tích chức năng.

4.1. Phân Tích Cấu Trúc Đánh Giá Xác Suất Kích Hoạt

Phân tích cấu trúc sử dụng các số liệu định lượng để đánh dấu các tín hiệu hoặc các cổng với xác suất kích hoạt thấp vì đáng ngờ. Kẻ tấn công sẽ nhắm tới netlist mức cổng khó phát hiện để chèn HT. Các net khó phát hiện là các net có xác suất chuyển tiếp thấp và không thể kiểm tra được thông qua các kỹ thuật kiểm tra lỗi như stuck-at, trễ đường dẫn và lỗi cầu nối. Chèn một HT vào các khu vực khó phát hiện đó sẽ làm giảm xác suất kích hoạt HT và do đó, làm giảm xác suất bị phát hiện trong quá trình xác minh và kiểm tra.

4.2. Kiểm Tra Logic Mô Phỏng Phát Hiện Trojan

Ý tưởng chính của logic test giống như phương pháp kiểm tra chức năng được mô tả trong phần phát hiện Trojan sau khi chế tạo. Tuy nhiên, logic test được tiến hành cùng với việc mô phỏng, trong khi kiểm tra chức năng phải được thực hiện trên một bộ kiểm tra để áp dụng các mẫu đầu vào và thu thập phản hồi đầu ra. Do đó, các kỹ thuật hiện có cho kiểm tra chức năng cũng có thể áp dụng cho logic test. Để phát hiện sự tồn tại của Trojan bằng cách sử dụng logic test, điều quan trọng không chỉ là kích hoạt một sự kiện hiếm gặp tại một tập các node bên trong mà còn lan truyền tác động của một sự kiện như vậy tại payload đến node đầu ra và quan sát nó.

V. Ứng Dụng Thực Tiễn Phát Hiện Mã Độc Phần Cứng Trong FPGA

Các mảng cổng khả trình (FPGA) và các hệ thống trên chip (SoC) cũng rất dễ bị tổn thương trước các tấn công của Trojan cứng. Công bố [16] minh họa lược đồ phân tích tự động mức an toàn nhằm phát hiện ra các khai phá của Trojan trong SoC. Còn công bố [17] cũng đã trình bày cơ sở dữ liệu các tấn công Trojan có thể được dùng để chèn Trojan vào trong FPGA và SoC để nghiên cứu các kỹ thuật bảo vệ tin cậy và an toàn. Hiện nay, theo khải sát [1-8] các phương pháp phát hiện HT vẫn còn nhiều thách thức, khó khăn với xu thế toàn cầu hóa trong ngành công nghiệp thiết kế vi mạch hướng tới làm giảm độ phức tạp thiết kế và chi phí chế tạo, nhưng đồng thời cũng nảy sinh các vấn đề về bảo đảm an toàn thiết kế, làm tăng độ trễ và giảm tuổi thọ của FPGA.Chính vì vậy, chúng em đã chọn đề tài “Nghiên cứu kỹ thuật đo trễ tín hiệu để phát hiện mã độc phần cứng trong vi mạch” nhằm hiểu rõ về mã độc phần cứng tiềm ẩn trong thiết kế FPGA dựa trên kỹ thuật đo trễ các tín hiệu đường dẫn.

5.1. Phát Hiện Trojan Dựa Trên Thay Đổi Độ Trễ

Một trong những kỹ thuật hiệu quả để phát hiện Trojan trong FPGA là dựa trên sự thay đổi về độ trễ đường dẫn. Trojan có thể làm tăng độ trễ của các đường dẫn tín hiệu trong FPGA, do đó làm thay đổi hiệu suất và hoạt động của nó. Bằng cách đo và so sánh độ trễ của các đường dẫn khác nhau, có thể phát hiện ra các Trojan tiềm ẩn.

5.2. Sử Dụng Dao Động Vòng RO Để Phát Hiện Trojan

Dao động vòng (RO) có thể được sử dụng để phát hiện Trojan trong FPGA. Trojan có thể làm thay đổi tần số dao động của RO, do đó cho thấy sự hiện diện của nó. Bằng cách đo và so sánh tần số của các RO khác nhau, có thể phát hiện ra các Trojan tiềm ẩn.

5.3. Phát Hiện Trojan Dựa Trên Điện Áp

Các Trojan có thể làm tăng hoặc giảm tần số của xung thiết kế. Chính sự sụt áp do hoạt động chuyển mạch của Trojan đã ảnh hưởng đến tần số RO. Trojan gây ra dao động điện áp (a) CLB không có Trojan (b) CLB có một Trojan. Cần đánh giá biến động điện áp để phát hiện.

VI. Kết Luận và Tương Lai Phát Triển Kỹ Thuật Phát Hiện Mã Độc

Phát hiện mã độc phần cứng là một lĩnh vực nghiên cứu quan trọng và đang phát triển nhanh chóng. Các phương pháp phát hiện hiện tại có những hạn chế, và cần có các kỹ thuật mới và hiệu quả hơn để đối phó với sự phức tạp ngày càng tăng của các cuộc tấn công HT. Các hướng nghiên cứu trong tương lai bao gồm phát triển các phương pháp phát hiện dựa trên học máy, kết hợp nhiều kỹ thuật phát hiện, và phát triển các công cụ tự động hóa để phát hiện HT. Dựa trên những nguy cơ đó, đồ án sẽ đưa ra một số phương pháp phát hiện HT trong chương sau.

6.1. Tự Động Hóa Quy Trình Phát Hiện Mã Độc

Tự động hóa quy trình phát hiện mã độc là một hướng đi quan trọng để giảm chi phí và tăng hiệu quả của việc phát hiện HT. Các công cụ tự động hóa có thể được sử dụng để tạo vectơ thử nghiệm, đo độ trễ đường dẫn, phân tích dữ liệu và đưa ra cảnh báo về các HT tiềm ẩn.

6.2. Phát Triển Phương Pháp Phát Hiện Dựa Trên Học Máy

Học máy có thể được sử dụng để phát hiện các HT phức tạp và khó phát hiện bằng các phương pháp truyền thống. Các thuật toán học máy có thể được đào tạo để nhận ra các mẫu và đặc điểm của các HT khác nhau, và có thể được sử dụng để phát hiện các HT mới và chưa biết đến.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

22/09/2025
Tìm hiểu kỹ thuật đo trễ tín hiệu để phát hiện mã độc phần cứng trong vi mạch

Trích đoạn nội dung tài liệu

CHƯƠNG 1: TỔNG QUAN VỀ MÃ ĐỘC PHẦN CỨNG 1.1 Tổng quan về mã độc phần cứng 1.1 Khái niệm 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 (chíp điện tử - IC) bởi một số cổng logic và hoạt động khi có kích hoạt, hoặc 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.2 Cấu tạo của mã độc phần cứng Các Trojan đều được kích hoạt theo một lược đồ xác định (gọi là khối kích hoạt) để được thực hiện chức năng chỉ định (gọi là tải tin). Trojan cứng cũng gồm hai khối: Trigger (khối kích hoạt) và Payload (khối tải tin). Cấu tạo của Trojan cứng Khối kích hoạt thường là một mạch điện tử số tuần tự hoặc một mạch kết hợp để kiểm soát hoạt động tải tin và duy trì “ẩn” các tác động của HT đến khi xảy ra điều kiện kích hoạt nó.

Tải tin có thể ở dạng số hoặc tương tự được “cấy” cố ý vào IC để gửi ra các tín hiệu gây hại theo điều kiện kích thích. Hình dưới đây thể hiện cơ chế hoạt động của Trojan cứng ở mức cổng: các đầu vào (T1, T2, …Tk) cấp cho khối kích hoạt lấy từ các đường dẫn (các net) khác nhau trong mạch. Còn khối tải tin nhận tín hiệu Neti (của mạch không có Trojan) và tín hiệu “Trigger Enable” (đầu ra của khối kích hoạt). Do đó, khối kích hoạt sẽ nằm trong “điều kiện hiếm” (rare condition), đầu ra của khối tải tin hầu như luôn có cùng giá trị với Neti tại hầu hết các thời điểm.

Tuy nhiên, khi khối Trigger bị kích hoạt, ví dụ TriggerEnable là “0”, thì đầu ra khối Payload sẽ khác biệt so với Neti; điều này dẫn tới xung đột giữa các khối (tạo giá trị lỗi) trong mạch tổng hợp và gây ra lỗi ở đầu ra. Cơ chế hoạt động của Trojan cứng 1.3 Phân loại mã độc phần cứng Có nhiều cách phân loại HT nhằm mục đích dễ dàng đánh giá các rủi ro do HT gây ra. Một trong các cách phân loại đơn giản được đề xuất trong đó là Trojan gồm 2 loại là kết hợp (combinational – cơ chế kích hoạt phụ thuộc vào sự xuất hiện của một điều kiện cụ thể tại các node bên trong mạch) và tuần tự (sequential – cơ chế kích hoạt phụ thuộc vào sự xuất hiện của một chuỗi các giá trị “rare logic” tại các node bên trong). Tuy nhiên, trong, Swarup Bhunia Mark Tehranipoor phân loại Trojans lại dựa trên ba thuộc tính: đặc điểm vật lý, kích hoạt và hoạt động.

Một số phân loại khác như Wang, X., và Plusquellic lại dựa vào các cơ chế kích hoạt (đề cập như Trojan trigger) và một phần của mạch hoặc chức năng bị ảnh hưởng bởi hoạt động của Trojan (được đề cập như Trojan payload). Như vậy, dù theo tiêu chí nào thì HT cơ bản gồm một số đặc điểm về vật lý, cơ chế kích hoạt và vào cách thức hoạt động. 2 Phân loại Trojan Đặc điểm vật lý Cơ chế kích hoạt Cách thức hoạt động Kích Dạng Phân bố Cấu trúc thước Hình 1. Phân loại Trojan 1.1 Phân loại dựa vào đặc điểm vật lý Các đặc điểm vật lý của HT bao gồm: Dạng; kích thước; phân bố và cấu trúc.

Đặc điểm vật lý Dạng Kích thước Phân bố Cấu trúc Chức Transistor Cổng lớn/ Thay đổi Không Tham số Kín Rời rạc năng nhỏ/ Dây Marco thiết kế thay đổi Hình 1. Đặc điểm vật lý của Trojan - Dạng (type): Dạng lại được chia thành các nhóm chức năng và tham số. Nhóm chức năng bao gồm các Trojan mà đặc tính vật lý được nhận diện thông qua việc thêm hoặc bớt các transistor hoặc các cổng, trong khi nhóm tham số đề cập đến các Trojan được thực hiện thông qua những thay đổi các dây và trạng thái logic hiện có như việc dây dẫn bị làm mỏng, giảm hiệu suất của transistor hoặc bất kỳ 3 những sửa đổi nào của dạng vật lý được thiết kế để làm mất đi độ tin cậy hoặc tăng khả năng gây lỗi chức năng hoặc làm giảm hiệu suất hoạt động. - Kích thước: Kích thước thể hiện số lượng các thành phần trong chip mà đã được thêm vào, xóa đi hoặc bị thỏa hiệp.

Kích thước của một Trojan có thể là một yếu tố quan trọng trong quá trình kích hoạt. Một Trojan có số lượng đầu vào ít hơn sẽ có xác suất kích hoạt cao hơn so với một Trojan có số lượng đầu vào lớn hơn. - Phân bố: Nhóm phân bố mô tả vị trí của Trojan trong thiết kế vật lý của chip. Ví dụ, một phân bố kín mô tả một Trojan mà các thành phần của nó đóng kín về mặt cấu trúc thiết kế trong khi phân bố rời rạc mô tả các Trojan được phân tán dọc trên bố cục của chip.

Dạng: Chức năng Kích thước: Lớn Phân bố: Kín Dạng: Tham số Kích thước: Bé Phân bố: Rời rạc Hình 1. Các đặc điểm vật lý của Trojan Lưu ý rằng việc phân bố các Trojan phụ thuộc vào sự sẵn có của khoảng trống có hại (không gian chết) trên thiết kế. Nếu không gian chết có sẵn rất nhỏ trên thiết kế, thì thám mã có thể buộc phải đặt và định tuyến các phần nhỏ hơn của Trojan trong các không gian chết khác nhau (giả thiết rằng đối thủ không thể thay đổi kích thước vật lý của thiết kế). 4 - Cấu trúc: Nếu thám mã buộc phải tạo lại bố cục để có thể chèn Trojan, thì kích thước của chip thay đổi.

Thay đổi này có thể dẫn đến vị trí khác nhau cho một số hoặc tất cả các thành phần thiết kế. Bất kỳ những thay đổi nào trong cách bố trí vật lý đều có thể thay đổi độ trễ và đặc điểm điện năng của chip, điều này sẽ dễ dàng hơn trong việc phát hiện Trojan. Để giảm thiểu xác suất bị phát hiện, thám mã sẽ áp dụng một chiến lược, đó là làm cho “vết” vật lý của Trojan là nhỏ nhất. Đối với các Trojan tham số nhỏ, được liên kết kín (chặt chẽ), mục tiêu có thể dễ dàng đạt được vì các thông số của Trojan có thể được biết đến bằng cách thay đổi hình dạng của một dây hoặc transistor.

Đối với các Trojan chức năng, kích thước và phân bố lại có ảnh hưởng đáng kể đến “vết” vật lý của Trojan. Đối với Trojan có kích thước lớn hơn, quá trình phân bố Trojan dọc trên thiết kế có thể cải thiện các “vết” vật lý bởi vì quá trình phát hiện Trojan dựa trên những bất thường trong điện năng cục bộ. Tuy nhiên, quá trình phân bố Trojan trên thiết kế cũng có thể làm lộ “vết” vật lý của nó ở các khía cạnh khác. Ví dụ, độ dài của các dây kết nối với Trojan tăng đáng kể, điều này làm thay đổi phân bố điện dung của chip không có Trojan và làm tăng khả năng Trojan sẽ thay đổi các đặc tính độ trễ của chip.

Vì lý do này, các Trojan được thiết kế để liên kết chặt chẽ (kín) với nhau, đặc biệt là sử dụng các kỹ thuật che dấu điện năng để giảm “vết” của nó như đo năng lượng qua các ngăn bán dẫn.2 Phân loại dựa vào cơ chế kích hoạt Như đã đề cập phía trên, phân loại HT dựa vào các cơ chế kích hoạt (đề cập như Trojan trigger) và một phần của mạch hoặc chức năng bị ảnh hưởng bởi hoạt động của Trojan (được đề cập như Trojan payload).Theo đó, các cơ chế kích hoạt có thể chia làm 2 loại là Digital và Analog. Các Trojan được kích hoạt Digital lại được chia thành các dạng kết hợp và tuần tự như hình sau: 5 Trojan Trigger Payload Digital Analog Digital Analog Other On chip Circult Bridging Information Combinational Sequential sensors Nodes Leakage Delay Denial of Activity Memory Service Rare value Synchronous Content Activity Asynchronous Hybrid Rare Sequences Hình 1. Phân loại Trojan dựa trên cơ chế kích hoạt 1. Các trojan được kích hoạt Digital a.

Trojan kết hợp: Trojan kết hợp trong đó khi điều kiện chỉ định: A = 0 và B = 0 xảy ra tại các nút kích thích ở cổng NOR, dẫn đến tải tin sẽ gửi ra tín hiệu đảo C mod ified. Mã thám có thể chọn một điều kiện kích hoạt cực hiếm vì vậy rất khó có khả năng Trojan được kích hoạt trong suốt quá trình kiểm tra thông thường. Mạch Trojan kết hợp b. Trojan tuần tự: Trojan đồng bộ tuần tự (còn gọi là “bom hẹn giờ”) được kích hoạt khi có sự xuất hiện của một dãy số hoặc một chu trình hoạt động liên tiếp.

Trojan tuần tự đơn giản nhất là các trojan dùng một bộ đếm đơn để kích hoạt. Mạch Trojan tuần tự Bộ kích hoạt chứa một bộ đếm k − bit và cổng AND, còn tải tin chứa một cổng XOR. Trojan này được kích hoạt sau khi xác lập 2 k − 1 nhịp đếm, để tạo ra một tín hiệu đảo ER*. Trojan không đồng bộ (phiên bản dị bộ) của Trojan này được thành lập bằng cách thay thế tín hiệu xung nhịp (CLK) bởi khối logic khác (tại đầu ra của cổng AND với các đầu vào p và q).

Trojan dị bộ c. Trojan lai ghép Trojan lai ghép, mạch này gồm cả bộ đếm đồng bộ (k1 − bit ) và bộ đếm dị bộ (k 2 − bit ). Cả hai bộ đếm này cùng đạt các giá trị xác lập trước thì Trojan này mới kích hoạt để tạo ra tín hiệu đảo ER* của ER. Mạch Trojan lai ghép 1.

Trojan được kích hoạt Analog Cơ chế kích hoạt trigger có thể cũng là analog trong đó các bộ cảm biến trên chip được sử dụng để kích hoạt gây lỗi hoặc hỏng hóc. Hình dưới đây là 7 một mạch Trojan tương tự, trong đó có một tụ điện nạp điện tích theo định kỳ khi đầu ra cổng AND (được điều khiển bởi q1 và q2 ) thiết lập ở mức 1, và tạo ra tín hiệu đảo ER*. Nếu đầu ra cổng AND không được thiết lập ở mức logic cao trong đúng khoảng thời gian định kỳ, thì tụ điện sẽ phóng điện tích xuống đất và Trojan sẽ không kích hoạt. Mạch Trojan tương tự Từ các thực tế trên cho thấy rằng các Trojan cứng kèm theo các bộ kích thích số (Digital) hoặc kích thích tương tự (Analog) sẽ đều đưa ra tải tin ở dạng số.

Và các tải tin số được thiết kế để tác động vào các giá trị logic số tại những nút chỉ định bên trong mạch. Trojan cũng có thể được phân loại dựa trên những kích thích payload của chúng, và được chia thành hai lớp chính là digital và analog.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ