FPGA는 초기 제작 후 다시 설계 할 수 있는 반도체로 신호 처리, 자동차 산업, 국방 및 군사 시스템 등과 같은 다양한 임베디드 시스템 분야에서 사용된다. 하지만 하드웨어 설계의 복잡성이 증가하고 설계 및 제조 과정이 세계화됨에 따라 하드웨어에 삽입되는 하드웨어 악성기능에 대한 우려가 커져가고 있다. 이러한 위협에 대응하기 위해 많은 탐지 방법들이 제시되었지만, 기존 방법 대부분은 IC칩을 대상으로 하고 있어 IC칩과 구성요소가 다른 FPGA에 적용하기 어렵다. 또한 FPGA 칩을 대상으로 하는 하드웨어 악성기능탐지 연구는 거의 이루어지지 않고 있다. 본 논문에서는 이러한 문제점을 해결하기 위해 FPGA의 LUT-level netlist에서 나타나는 하드웨어 악성기능의 정적인 특징을 기계학습을 통해 학습하여 하드웨어 악성기능을 탐지하는 방법을 제시한다.
FPGA는 초기 제작 후 다시 설계 할 수 있는 반도체로 신호 처리, 자동차 산업, 국방 및 군사 시스템 등과 같은 다양한 임베디드 시스템 분야에서 사용된다. 하지만 하드웨어 설계의 복잡성이 증가하고 설계 및 제조 과정이 세계화됨에 따라 하드웨어에 삽입되는 하드웨어 악성기능에 대한 우려가 커져가고 있다. 이러한 위협에 대응하기 위해 많은 탐지 방법들이 제시되었지만, 기존 방법 대부분은 IC칩을 대상으로 하고 있어 IC칩과 구성요소가 다른 FPGA에 적용하기 어렵다. 또한 FPGA 칩을 대상으로 하는 하드웨어 악성기능탐지 연구는 거의 이루어지지 않고 있다. 본 논문에서는 이러한 문제점을 해결하기 위해 FPGA의 LUT-level netlist에서 나타나는 하드웨어 악성기능의 정적인 특징을 기계학습을 통해 학습하여 하드웨어 악성기능을 탐지하는 방법을 제시한다.
The FPGAs are semiconductors that can be redesigned after initial fabrication. It is used in various embedded systems such as signal processing, automotive industry, defense and military systems. However, as the complexity of hardware design increases and the design and manufacturing process globali...
The FPGAs are semiconductors that can be redesigned after initial fabrication. It is used in various embedded systems such as signal processing, automotive industry, defense and military systems. However, as the complexity of hardware design increases and the design and manufacturing process globalizes, there is a growing concern about hardware trojan inserted into hardware. Many detection methods have been proposed to mitigate this threat. However, existing methods are mostly targeted at IC chips, therefore it is difficult to apply to FPGAs that have different components from IC chips, and there are few detection studies targeting FPGA chips. In this paper, we propose a method to detect hardware trojan by learning the static features of hardware trojan in LUT-level netlist of FPGA using machine learning.
The FPGAs are semiconductors that can be redesigned after initial fabrication. It is used in various embedded systems such as signal processing, automotive industry, defense and military systems. However, as the complexity of hardware design increases and the design and manufacturing process globalizes, there is a growing concern about hardware trojan inserted into hardware. Many detection methods have been proposed to mitigate this threat. However, existing methods are mostly targeted at IC chips, therefore it is difficult to apply to FPGAs that have different components from IC chips, and there are few detection studies targeting FPGA chips. In this paper, we propose a method to detect hardware trojan by learning the static features of hardware trojan in LUT-level netlist of FPGA using machine learning.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
LUT의 출력은 LUT와 직접 연결된 출력 핀을 통하여 다른 자원으로 전달이 되거나, FF, MUX를 거쳐 다른 자원과 연결될 수 있다. 따라서 이러한 출력이 어떤 자원과 연결되어 있는지를 특징으로 추출하였다. 앞서 확인한 HT LUT 물리적 특성과 같이 HT LUT의 출력은 다음 HT LUT로 연결이 되어 있다.
따라서 기존 연구의 한계점을 해결하면서 FPGA에 삽입되는 HT에 대응 가능한 탐지 방법이 필요하다. 본 논문에서는 이러한 문제를 해결하기 위해 FPGA 아키텍처에 삽입될 수 있는 HT를 탐지하는 방법을 제안한다.
본 논문의 목표는 netlist, HDL로 제공되는 FPGA 설계에서의 HT 삽입 여부를 알아내는 것이다. 이를 위해 FPGA의 HT에서 나타나는 특징을 기계학습 모델에 학습한 후, 학습된 모델을 사용하여 HT를 탐지한다.
HT 탐지를 위하여 많은 노력이 이루어지고 있으나 FPGA에 유입 가능한 HT의 위협을 해결하기 위한 방안은 근본적으로 아직 부족하다고 할 수 있다. 본 연구에서는 이러한 문제를 해결하기 위하여 FPGA의 회로 설계 과정에서 삽입 가능한 HT를 탐지하는 방법을 제시하였다. 이를 위하여 HT가 FPGA의 구성 요소에서 나타나는 특징을 분석한 후 기계학습을 통해 그 특징을 학습하여 HT를 탐지하였다.
본 장에서는 HT 탐지 시스템이 HT를 탐지하는데 얼마나 효과적인지 평가한다. Table 2는 각 모델 별 실험 성능을 보여준다.
본 장에서는, HT가 FPGA의 LUT-level에서 나타내는 특징을 분석한 후 위협 모델에서 언급한 HT의 위협에 대응 가능한 시스템을 설계하는 방법에 대해 서술한다.
가설 설정
이 문제를 해결하기 위하여 HT Discrimination 과정에서는 HT LUT의 집약적인 특징을 이용하여 false positive error의 발생을 최소화시킨다. 본 연구에서 관찰한 HT LUT의 분포에서 1개의 HT 회로는 둘 이상의 HT LUT를 가지며, 해당 LUT는 FPGA 상에서 물리적으로 일정한 거리 이내에서 구현되어 있다는 가정을 도출하였다. 이 가정을 기반으로 하여 학습된 Classifier의 입력으로 주어진 LUT가 HT Candidate로 분류되었을 때, 이 LUT P와의 거리 D(P, Q)가 임계치 T 이내인 LUT Q가 하나 이상 존재하는지를 검사한다.
본 연구에서 관찰한 HT LUT의 분포에서 1개의 HT 회로는 둘 이상의 HT LUT를 가지며, 해당 LUT는 FPGA 상에서 물리적으로 일정한 거리 이내에서 구현되어 있다는 가정을 도출하였다. 이 가정을 기반으로 하여 학습된 Classifier의 입력으로 주어진 LUT가 HT Candidate로 분류되었을 때, 이 LUT P와의 거리 D(P, Q)가 임계치 T 이내인 LUT Q가 하나 이상 존재하는지를 검사한다. 만약 하나 이상의 LUT Q가 존재할 경우, LUT P를 HT LUT로 판단한다.
제안 방법
HT가 삽입되지 않은 실험 2는 TrustHub에서 수집한 벤치마크 샘플을 학습하여 모델을 생성한 후, 생성된 모델을 HT가 삽입되지 않은 샘플 48개에 대해 테스트하여 성능을 평가하였다.
HT를 탐지하는데 효과적인 학습 모델을 선택하기 위해 Random forest, Extra Trees, SVM (Support Vector Machine) 알고리즘을 사용하여 비교하는 실험을 진행하였다. 앞서 설명한 것과 같이 각 모델의 학습 시 HT 클래스와 Non HT 클래스를 balanced 옵션으로 가중치를 주어 학습하였다.
먼저 모든 샘플에서 특징 정보를 추출하였다. TrustHub 벤치마크 샘플로부터 107,356개, HT 가 삽입되지 않은 샘플로 LUT 57,146개를 추출하였고, 각 LUT에 대하여 17개의 특징을 추출하였다. 추출한 특징 정보로부터 HT의 특징을 기계학습 모델에 학습시키기 위해 학습 데이터 셋으로 사용된 TrustHub 벤치마크 샘플에서 HT LUT 604개와 Non HT LUT 106,752개로 분류하였다.
이와 같은 트리거의 종류 및 페이로드의 특성에 따라서 HT를 분류하는 많은 연구가 진행되었다 [11][12][13][14]. TrustHub는 HT 탐지 위한 벤치마크 샘플을 제공하고 있으며, 본 논문에서는 해당 샘플을 사용하여 FPGA에 나타나는 트리거의 특징을 분석하였다.
따라서 입력과 연결되는 자원을 RC LUT, Non-RC LUT, FF, IOB, 기타 자원으로 구분하여 각각의 입력 핀이 어떤 자원과 연결되어 있는 지를 특징으로 사용하였다. 결과적으로 LUT에 사용된 inpin의 개수 (C.1)와, 각각의 inpin에 연결된 자원 종류 (C.2), 연결된 자원 개수 (C.3), RC LUT, IOB와 연결된 pin 비율 (C.4)을 특징으로 사용하였다.
따라서 outpin이 영향을 미치는 자원을 IOB, single LUT, Non-single LUT 등으로 구분하여 출력이 어떤 자원과 연결되어 있는지를 특징으로 사용하였다. 결과적으로 outpin이 영향을 미치는 자원 종류 (D.1)와 outpin이 영향을 미치는 자원 개수 (D.2), 출력과 연결된 RC LUT 개수 (D.3)를 특징으로 사용하였다.
FPGA 개발자는 먼저 RTL (RegisterTransfer Level)을 이용하여 회로를 설계한다. 그 후 FPGA 설계 프로그램 (Xilinx Vivado 또는 Intel Quartus 등)을 이용하여 최종적으로 구성 정보를 저장하고 있는 비트스트림 (bitstream) 파일을 생성한다.
앞서 확인한 HT LUT 물리적 특성과 같이 HT LUT의 출력은 다음 HT LUT로 연결이 되어 있다. 따라서 outpin이 영향을 미치는 자원을 IOB, single LUT, Non-single LUT 등으로 구분하여 출력이 어떤 자원과 연결되어 있는지를 특징으로 사용하였다. 결과적으로 outpin이 영향을 미치는 자원 종류 (D.
앞서 확인한 바와 같이 활성화를 위하여 외부로부터 입력을 받거나, 다른 HT LUT와 연결되어 있다. 따라서 입력과 연결되는 자원을 RC LUT, Non-RC LUT, FF, IOB, 기타 자원으로 구분하여 각각의 입력 핀이 어떤 자원과 연결되어 있는 지를 특징으로 사용하였다. 결과적으로 LUT에 사용된 inpin의 개수 (C.
1)을 특징으로 사용하였다. 또한 논리식의 문자열 길이 (A.2), 연산자의 개수 (A.3), 피연산자의 개수 (A.4)를 특징 정보로 사용하였다.
특징 정보 추출. 먼저 모든 샘플에서 특징 정보를 추출하였다. TrustHub 벤치마크 샘플로부터 107,356개, HT 가 삽입되지 않은 샘플로 LUT 57,146개를 추출하였고, 각 LUT에 대하여 17개의 특징을 추출하였다.
또한 앙상블 기법을 사용한 Random forest 모델보다 무작위성을 증가시킨 모델로 Random forest에 비해 더 넓은 시각으로 특징 정보를 평가할 수 있다. 모델 학습 시 HT 특징 정보와 Non HT 클래스를 balanced weight 옵션을 주어 학습을 진행하였다. 그 이유는 전체 LUT 중에서 HT LUT의 비율이 매우 낮아서 만약 이대로 모델을 학습한다면, HT LUT 식별보다는 Non-HT LUT 식별에 특화된 모델이 생성되기 때문이다.
특징 정보 추출 단계에서는 netlist, HDL 파일이 입력되어 XDL 파일로 변환되며, 변환된 XDL 파일에서 기계 학습을 위한 특징 정보를 추출한다. 앞서 강조한 것과 같이 설계되어진 회로의 로직은 LUT-level로 구현이 되기 때문에, 특징 정보를 LUT 단위로 추출하였다.
HT를 탐지하는데 효과적인 학습 모델을 선택하기 위해 Random forest, Extra Trees, SVM (Support Vector Machine) 알고리즘을 사용하여 비교하는 실험을 진행하였다. 앞서 설명한 것과 같이 각 모델의 학습 시 HT 클래스와 Non HT 클래스를 balanced 옵션으로 가중치를 주어 학습하였다.
99959의 AUC 로 다른 모델에 비해 높은 AUC를 나타내는 것을 확인할 수 있다. 우리는 각 데이터 셋에서 나타나는 모델의 성능과 가중치를 적용한 실험 결과를 토대로 하여 가중치를 준 Extra Trees를 HT 탐지를 위해 적합한 모델로 선택하였다.
본 연구에서는 이러한 문제를 해결하기 위하여 FPGA의 회로 설계 과정에서 삽입 가능한 HT를 탐지하는 방법을 제시하였다. 이를 위하여 HT가 FPGA의 구성 요소에서 나타나는 특징을 분석한 후 기계학습을 통해 그 특징을 학습하여 HT를 탐지하였다.
학습 단계에서는 주어진 LUT가 HT LUT인지 아닌지를 분류하기 위하여 Classifier를 생성하는 단계이다. 이를 위하여 학습 데이터 셋을 HT 또는 Non-HT로 구분한 뒤에 나눠진 특징을 모델에 학습하여 Classifier를 생성한다.
본 논문의 목표는 netlist, HDL로 제공되는 FPGA 설계에서의 HT 삽입 여부를 알아내는 것이다. 이를 위해 FPGA의 HT에서 나타나는 특징을 기계학습 모델에 학습한 후, 학습된 모델을 사용하여 HT를 탐지한다.
탐지 단계에서는 생성된 HT LUT Classifier를 사용해 주어진 평가 데이터 셋의 모든 LUT에서 HT Candidate를 분류하게 된다. 이후 탐지된 HT Candidate를 거리 기반으로 검사하는 HT discrimination 과정을 통해 HT LUT를 최종적으로 탐지하게 된다.
입력과 마찬가지로 트리거 LUT가 서로 연결되어 있다는 관찰에 기반으로 하여, LUT의 출력과 관련된 3가지 특징을 선정하였다. LUT의 출력은 LUT와 직접 연결된 출력 핀을 통하여 다른 자원으로 전달이 되거나, FF, MUX를 거쳐 다른 자원과 연결될 수 있다.
TrustHub 벤치마크 샘플로부터 107,356개, HT 가 삽입되지 않은 샘플로 LUT 57,146개를 추출하였고, 각 LUT에 대하여 17개의 특징을 추출하였다. 추출한 특징 정보로부터 HT의 특징을 기계학습 모델에 학습시키기 위해 학습 데이터 셋으로 사용된 TrustHub 벤치마크 샘플에서 HT LUT 604개와 Non HT LUT 106,752개로 분류하였다.
트리거 LUT는 서로 연결이 되어 있다는 관찰을 기반으로 하여 LUT의 입력과 관련된 4가지 특징을 선정하였다. LUT는 최대 6개 입력 핀을 사용하여 6비트의 입력을 받을 수 있다.
본 연구는 Xilinx 사의 Artix-7 XC7A200T FFG1156 기기를 대상으로 하였으며, Xilinx 사의 ISE 툴을 사용해 각 샘플을 구현하여 XDL netlist를 생성하였다. 특징 추출 방식은 XDL을 파싱해 추출하는 방법으로 python을 이용해 구현하였다. 기계학습을 이용한 탐지 부분은 python의 scikit-learn을 사용하여 모델을 학습하였고, 이후 탐지 단계 또한 python을 이용하여 구현하였다.
대상 데이터
논리식 (Boolean equation). HT LUT의 논리적 특징과 관련해 LUT의 논리식과 관련된 4개의 특징을 선정하였다. LUT의 논리식은 해당 LUT가 수행하게 되는 로직을 식으로 나타낸 것으로써 수행하는 로직에 따라서 다양한 식을 나타낸다.
HT LUT의 논리적 특징과 관련해 LUT의 진리표와 관련된 4가지의 특징을 선정하였다. LUT의 진리표는 모든 입력에 대한 출력을 나타내는 것으로써 논리식의 변환을 통해 생성 가능하며, 사용된 개수 (n)에 따라 2n개의 output 크기를 갖는 진리표가 생성된다.
수집된 HT-Free 샘플은 통신 컨트롤러, SoC (System on chip), 프로세서, 산술 연산 코어 등 다양한 기능을 하는 오픈소스들로 구성된다. HT-Free 샘플 48개는 본 연구의 탐지 기법이 HT가 삽입되지 않은 샘플에서도 낮은 오탐율을 갖는지 확인하기 위하여 실험에 사용한다.
하지만 낮은 TPR 결과가 나타났기 때문에 HT LUT 탐지가 목적인 본 시스템에서는 적합하지 않다. 따라서 HT 탐지에 있어서 가장 좋은 성능을 가진 Extra Trees를 실험에 사용하였다.
본 연구는 FPGA의 Artix 7세대를 대상으로 실험을 진행하였다. FPGA는 개발이 완료된 이후에도 재 프로그래밍 기능을 사용하여 HT가 유입될 가능성이 존재한다.
실험 환경. 본 연구는 Xilinx 사의 Artix-7 XC7A200T FFG1156 기기를 대상으로 하였으며, Xilinx 사의 ISE 툴을 사용해 각 샘플을 구현하여 XDL netlist를 생성하였다. 특징 추출 방식은 XDL을 파싱해 추출하는 방법으로 python을 이용해 구현하였다.
실험에서 사용한 HT가 삽입되지 않은 샘플 (HT-Free)은 OpenCores에서 정상적인 샘플 48개를 다운로드하였다. 수집된 HT-Free 샘플은 통신 컨트롤러, SoC (System on chip), 프로세서, 산술 연산 코어 등 다양한 기능을 하는 오픈소스들로 구성된다. HT-Free 샘플 48개는 본 연구의 탐지 기법이 HT가 삽입되지 않은 샘플에서도 낮은 오탐율을 갖는지 확인하기 위하여 실험에 사용한다.
실험에서 약 90%로 가장 많은 LUT를 사용한 B19 벤치마크 샘플은 인텔 (Intel) 80386 프로세서에 들어가는 VHDL 소스코드로 프로세서의 주소 버스 (Address bus)나 데이터 버스 (Data bus) 등을 조작하는 3가지의 서로 다른 HT 샘플이 포함된다. 실험 샘플 중 3%로 가장 적은 LUT를 사용한 Basicrsa 벤치마크 샘플은 RSA 암호화 알고리즘을 수행하는 VHDL 샘플로 암호화 기능을 방해하는 3개의 서로 다른 HT 샘플이 포함된다.
HT-Free Samples. 실험에서 사용한 HT가 삽입되지 않은 샘플 (HT-Free)은 OpenCores에서 정상적인 샘플 48개를 다운로드하였다. 수집된 HT-Free 샘플은 통신 컨트롤러, SoC (System on chip), 프로세서, 산술 연산 코어 등 다양한 기능을 하는 오픈소스들로 구성된다.
Table 2는 각 모델 별 실험 성능을 보여준다. 실험에서 사용한 데이터는 TrustHub에서 수집한 벤치마크 샘플에 대한 실험 1, 그리고 HT가 삽입 되지 않은 샘플에 대한 실험 2이다. 실험 1은 Leave-One-Out 방식의 교차검증을 통해 실험 결과를 도출하였다.
기기에서 가용 가능한 LUT 자원의 50%를 사용한 AES 벤치마크 샘플은 AES 암호화 알고리즘의 기능을 하는 Verilog 소스코드로, 암호화 기능을 방해하는 서로 다른 9개의 HT 샘플이 포함된다. 실험에서 약 90%로 가장 많은 LUT를 사용한 B19 벤치마크 샘플은 인텔 (Intel) 80386 프로세서에 들어가는 VHDL 소스코드로 프로세서의 주소 버스 (Address bus)나 데이터 버스 (Data bus) 등을 조작하는 3가지의 서로 다른 HT 샘플이 포함된다. 실험 샘플 중 3%로 가장 적은 LUT를 사용한 Basicrsa 벤치마크 샘플은 RSA 암호화 알고리즘을 수행하는 VHDL 샘플로 암호화 기능을 방해하는 3개의 서로 다른 HT 샘플이 포함된다.
Benchmark. 탐지 실험에 사용된 벤치마크 샘플은 TrustHub에서 15개의 샘플을 다운로드하여 사용하였다. 해당 샘플들은 3개의 서로 다른 그룹으로 구성되며, 원본 소스코드에 다양한 트리거 구조와 페이로드가 삽입되었다.
데이터처리
실험에서 사용한 데이터는 TrustHub에서 수집한 벤치마크 샘플에 대한 실험 1, 그리고 HT가 삽입 되지 않은 샘플에 대한 실험 2이다. 실험 1은 Leave-One-Out 방식의 교차검증을 통해 실험 결과를 도출하였다. 이때 HT LUT로 탐지한 개수를 true, 그렇지 않은 것을 false로 하여 측정하였다.
이론/모형
특징 추출 방식은 XDL을 파싱해 추출하는 방법으로 python을 이용해 구현하였다. 기계학습을 이용한 탐지 부분은 python의 scikit-learn을 사용하여 모델을 학습하였고, 이후 탐지 단계 또한 python을 이용하여 구현하였다.
분류 과정을 통해 나눠진 특징 정보를 머신러닝 학습 모델 중 Extra Trees 모델을 사용하여 학습한다. 앙상블 기법을 적용한 Extra Trees 모델은 단일 트리 모델에 비하여 훈련 데이터에 대한 과대 적합을 막아주고, 일반화 성능이 높다는 장점이 존재한다.
성능/효과
Extra Trees 모델은 Decision Tree 모델에 비하여 전체 데이터 셋에서 모든 HT LUT를 탐지하며 HT 탐지 시스템에 가장 이상적인 결과를 나타내었다.
38%에 불과했다. HT-free 샘플에 대한 실험 2에서는 Extra Trees, Random forest에서 각각 0.52%와 0.40%의 FPR을 나타내었고, SVM은 0.09%로 다른 모델에 비하여 좀 더 좋은 성능을 보였다.
SVM 모델의 경우, 다른 모델에 비하여 FPR 성능은 좋았으나, HT LUT를 탐지하는 것보다는 Non-HT LUT를 탐지하는데 특화된 성능을 보였다. 하지만 낮은 TPR 결과가 나타났기 때문에 HT LUT 탐지가 목적인 본 시스템에서는 적합하지 않다.
앙상블 기법을 적용한 Extra Trees 모델은 단일 트리 모델에 비하여 훈련 데이터에 대한 과대 적합을 막아주고, 일반화 성능이 높다는 장점이 존재한다. 또한 앙상블 기법을 사용한 Random forest 모델보다 무작위성을 증가시킨 모델로 Random forest에 비해 더 넓은 시각으로 특징 정보를 평가할 수 있다. 모델 학습 시 HT 특징 정보와 Non HT 클래스를 balanced weight 옵션을 주어 학습을 진행하였다.
실험 1의 결과 Extra Trees와 Random forest는 각각 93.67%와 93.34%의 TPR로 HT LUT를 탐지하였고, 약 0.19%와 0.12%의 낮은 FPR을 보여주었다. SVM의 경우, FPR이 0.
Table 3은 각 데이터 셋에 대한 실험 결과를 나타낸 표이다. 실험 결과에서 볼 수 있듯이 본 탐지 시스템을 통해 모든 벤치마크 샘플에서 적어도 2개 이상의 HT LUT를 탐지하여 HT 샘플 15개를 모두 HT 샘플로 분류해내었고, 약 0.35%의 낮은 FPR로 유의미한 결과를 확인 할 수 있다.
후속연구
FPGA는 개발이 완료된 이후에도 재 프로그래밍 기능을 사용하여 HT가 유입될 가능성이 존재한다. 따라서 개발이 완료된 이후에도 FPGA 칩의 내부 로직을 역공학하여 HT를 탐지하는 방법에 대한 연구가 향후 이루어져야 할 것이다.
질의응답
핵심어
질문
논문에서 추출한 답변
기존의 HT를 탐지하는 방법은 어떤 한계가 있는가?
하지만 기존의 탐지 방법들은 대부분 대상이 IC칩으로 한정되어있기 때문에 내부 구성요소가 다른 FPGA에는 기존의 방법을 적용하기가 어렵다. 따라서 기존 연구의 한계점을 해결하면서 FPGA에 삽입되는 HT에 대응 가능한 탐지 방법이 필요하다.
FPGA란 무엇인가?
FPGA는 초기 제작 후 다시 설계 할 수 있는 반도체로 신호 처리, 자동차 산업, 국방 및 군사 시스템 등과 같은 다양한 임베디드 시스템 분야에서 사용된다. 하지만 하드웨어 설계의 복잡성이 증가하고 설계 및 제조 과정이 세계화됨에 따라 하드웨어에 삽입되는 하드웨어 악성기능에 대한 우려가 커져가고 있다.
HT는 무엇으로 구성되는가?
일반적으로 HT는 트리거와 페이로드로 구성된다 [10]. 트리거는 특정 조건이 만족되었을 경우 페이로드를 활성화시키며, 페이로드는 공격자가 의도한 악의적인 동작으로 회로에 삽입되어 서비스 거부, 기능 변경, 기능 저하, 민감 정보 유출 등의 악성 기능을 수행한다.
참고문헌 (16)
Kuon, Ian, Russell Tessier, and Jonathan Rose, "FPGA Architecture: Survey and Challenges," Foundations and Trends in Electronic Design Automation, vol. 2, no. 2, pp. 135-253, 2008. http://dx.doi.org/10.1561/1000000005
Sass, Ronald, and Andrew G. Schmidt, "Embedded Systems Design with Platform FPGAs," Principles and Practices, 2010. https://dl.acm.org/doi/pdf/10.5555/1895071
Rostami, Masoud, Farinaz Koushanfar, and Ramesh Karri, "A primer on Hardware Security: Models, Methods, and Metrics," Proceedings of the IEEE, vol. 102, iss. 8, pp. 1283-1295, 2014. http://dx.doi.org/10.1109/JPROC.2014.2335155
Alkabani, Yousra, and Farinaz Koushanfar, "Designer's Hardware Trojan Horse," In IEEE International Workshop on Hardware-Oriented Security and Trust (HOST), pp. 82-83, 2008. http://dx.doi.org/10.1109/HST.2008.4559059
Hicks, Matthew, Murph Finnicum, Samuel T. King, Milo MK Martin, and Jonathan M. Smith, "Overcoming an Untrusted Computing Base: Detecting and Removing Malicious Hardware Automatically," IEEE Symposium on Security and Privacy (S&P), pp. 159-172, 2010. http://dx.doi.org/10.1109/SP.2010.18
Zhang, Jie, Feng Yuan, Linxiao Wei, Yannan Liu, and Qiang Xu, "VeriTrust: Verification for hardware trust," Design Automation Conference (DAC), pp. 1-8, 2013. http://dx.doi.org/10.1109/TCAD.2015.2422836
Waksman, Adam, Matthew Suozzo, and Simha Sethumadhavan, "FANCI: Identification of Stealthy Malicious Logic using Boolean Functional Analysis," In Proc. the Conference on Computer and Communications Security (CCS), pp. 697-708, 2013. http://dx.doi.org/10.1145/2508859.2516654
Fyrbiak, Marc, Sebastian Wallat, Pawel Swierczynski, Max Hoffmann, Sebastian Hoppach, Matthias Wilhelm, Tobias Weidlich, Russell Tessier, and Christof Paar, "HAL-The missing piece of the puzzle for hardware reverse engineering, Trojan detection and insertion," IEEE Transactions on Dependable and Secure Computing, vol. 16, iss. 3, pp. 498-510, 2018. http://dx.doi.org/10.1109/TDSC.2018.2812183
Xilinx, https://xilinx.com/
Alkabani, Yousra, and Farinaz Koushanfar, "Designer's Hardware Trojan Horse," In IEEE International Workshop on Hardware-Oriented Security and Trust (HOST), pp. 82-83, 2008. http://dx.doi.org/10.1109/HST.2008.4559059
Wang, Xiaoxiao, Mohammad Tehranipoor, and Jim Plusquellic, "Detecting Malicious Inclusions in Secure Hardware: Challenges and Solutions," In IEEE International Workshop on Hardware-Oriented Security and Trust (HOST), pp. 15-19, 2008. http://dx.doi.org/10.1109/HST.2008.4559039
Karri, Ramesh, Jeyavijayan Rajendran, Kurt Rosenfeld, and Mohammad Tehranipoor, "Trustworthy Hardware: Identifying and Classifying Hardware Trojans," Computer, vol. 43, no. 10, pp. 39-46, 2010. http://dx.doi.org/10.1109/MC.2010.299
Tehranipoor, Mohammad, and Farinaz Koushanfar, "A Survey of Hardware Trojan Taxonomy and Detection," IEEE Design & Test of Computers, vol. 27, no. 1, pp 10-25, 2010. http://dx.doi.org/10.1109/MDT.2010.7
Shakya, Bicky, Tony He, Hassan Salmani, Domenic Forte, Swarup Bhunia, and Mark Tehranipoor, "Benchmarking of hardware Trojans and maliciously affected circuits," Journal of Hardware and Systems Security, vol. 1, no. 1, pp. 85-12, 2017. http://dx.doi.org/10.1007/s41635-017-0001-6
Sturton, Cynthia, Matthew Hicks, David Wagner, and Samuel T. King, "Defeating UCI: Building Stealthy and Malicious Hardware," IEEE Symposium on Security and Privacy (S&P), pp. 64-77. 2011. http://dx.doi.org/10.1109/SP.2011.32
Zhang, Jie, Feng Yuan, and Qiang Xu. "Detrust: Defeating hardware trust verification with stealthy implicitly-triggered hardware trojans," In Proc. the Conference on Computer and Communications Security (CCS), pp. 153-166. 2014. http://dx.doi.org/10.1145/2660267.2660289
※ AI-Helper는 부적절한 답변을 할 수 있습니다.