서지주요정보
Control flow vulnerability: Modeling, evaluation and low-cost hardware/software solutions. = 제어 흐름 취약성: 모델링, 평가, 그리고 저비용 하드웨어/소프트웨어 해법
서명 / 저자 Control flow vulnerability: Modeling, evaluation and low-cost hardware/software solutions. = 제어 흐름 취약성: 모델링, 평가, 그리고 저비용 하드웨어/소프트웨어 해법. / Rouf, Mohammad Abdur.
발행사항 [대전 : 한국과학기술원, 2014].
Online Access 원문보기 원문인쇄

소장정보

등록번호

8026976

소장위치/청구기호

학술문화관(문화관) 보존서고

DICE 14012

휴대폰 전송

도서상태

이용가능(대출불가)

사유안내

반납예정일

리뷰정보

초록정보

Embedded systems are becoming more susceptible to transient errors because of miniaturization of VLSI circuits and reduction of voltage levels. These errors affect the processor`s pipeline and hence its data and control flows. Data errors are two types: (i) computational errors due to incorrect results from functional units, and (ii) memory errors occur due to corruption of the stored data. However, errors in control flow can change the program`s execution sequence, which might be catastrophic for safety-critical applications. Vulnerabilities to transient errors in a microprocessor system were previously performed for instruction queues, execution units, register files, read/write buffers, instruction and data caches, and translation look aside buffers. However, control flow vulnerabilities have not been explored extensively. The author makes a model to evaluate the program`s Vulnerability Factor of Control Flow (VFCF) in a pipelined processor. VFCF is investigated for a program under different compiler optimization strategies. It is observed that different programs show various degrees of VFCF against compiler optimizations flags. To better evaluate the VFCF, author redevelops VFCF model referred to as CFV model which integrates normalized instructions, branches, taken branches and execution cycles. Conventional techniques are either software-based or hardware-based to overcome control flow vulnerabilities. Software-based techniques suffer from increased code-size overhead and have a negative impact on energy consumption and performance degradation. On the other hand, hardware-based schemes incur high hardware and area costs. Author proposes two low-cost control flow vulnerability reduction mechanisms: (i) hardware-based low-cost control flow error checking scheme and (ii) code transformation scheme. Low-cost Control Flow Error Checking (CFEC) scheme is a hardware-based technique that exploits available redundancies in the microprocessor`s pipeline. A branch target buffer (BTB) stores the target addresses of taken branches, a short backward branch (SBB) detector stores short backward branch targets and an arithmetic logic unit (ALU) generates branch target addresses using the low-order branch displacement bits of branch instructions. The proposed CFEC scheme utilizes these redundancies to detect and recover from control-flow errors in the pipeline with negligible energy overhead of 0.9% and performance overhead of 0.8%, while error coverage ranges from 86% to 99%. Secondly, the author applies code transformations such as code replication, condition merging, and selected combination of these transformations to application programs. The transformed code with the use of compiler optimization flags reduce CFV significantly. The effects of code transformations on CFV are verified for two embedded architectures: ARM and MIPS. The CFV is reduced by 18% to 98% and on the average by 62% for ARM programs. In the MIPS programs, CFV is reduced by 55% on the average. The combined reliability and performance metric CFVxCPI is also reduced by 63% for ARM and by 65% for MIPS.

임베디드 시스템은 VLSI 회로의 소형화와 인가 전압의 감소로 인해, 트랜전트 에러에 더욱 영향을 받기 쉬워지고 있다. 이러한 에러는 프로세서의 파이프라인에 영향을 미쳐, 데이터와 제어 흐름에 영향을 준다. 데이터 에러는 다음과 같이 두 가지로 나눌 수 있다: (i) 실행장치(functional unit)의 부적절한 결과로 인한 계산적 에러, 그리고 (ii) 저장된 데이터의 이상으로 인한 메모리 에러. 하지만, 제어 흐름에서 에러는 프로그램의 실행 순서를 바꿀 수 있으며, 안전이 중요한 프로그램에 재앙을 가져올 수 있다. 이전 연구에서는 마이크로프로세서 시스템에서 트렌전트 에러에 대한 취약성을 명령어 큐, 실행장치, 레지스터 파일, 읽기/쓰기 버퍼, 명령어 및 데이터 캐시, 그리고 TLB에 대해 주로 수행되었다. 그러나, 제어 흐름 취약성에 대해서는 대대적으로 다루어지지 않았다. 본 논문에서는 파이프라인 된 프로세서에서 프로그램의 Vulnerability Factor of Control Flow (VFCF)를 평가하기 위한 모델을 제안한다. 이를 위해, 컴파일러 최적화 옵션 (optimization flags)을 달리 적용하며 프로그램의 VFCF를 조사하고, 이를 통해 컴파일러 최적화 옵션에 따라 프로그램들이 다양한 VFCF 수준을 보여주는 것을 관찰 수 있다. VFCF를 제대로 평가하기 위해 CFV 모델을 참고하여 정규화된 명령어 (normalized instructions), 가지 (branches), 분기된 가지 (taken branches)와 실행 (execution cycle) 사이클을 통합한 VFCF 모델을 재개발 한다. 전통적인 기법들은 제어 흐름의 취약성을 극복하기 위한 소프트웨어나 하드웨어 기법에 기반을 두고 있다. 소프트웨어 기반 기술은 코드 양 증가에 대한 오버헤드나 에너지 소비가 증가하는 단점을 갖고 있다. 반면에, 하드웨어 기반 기술은 높은 하드웨어 비용 및 면적을 요구한다. 따라서, 본 논문에서는 두 가지 저비용 제어 흐름 취약성 감소 기법을 제안한다: (i) 하드웨어 기반 기법과 (ii) 코드 변환 기법. 저비용 Control Flow Error Checking (CFEC) 기법은 프로세서의 파이프라인에서 사용 가능한 중복을 이용한다. Branch target buffer (BTB)는 분기할 주소를, Short backward branch (SBB) 검출기는 뒤로 분기할 짧은 주소를 저장하며, 산술연산기 (Arithmetic Logic Unit, ALU)는 분기 명령어의 하위 위치 이동 비트들을 이용하여 분기 대상 주소를 생성한다. 제안하는 CFEC 기법은 파이프라인에서 제어 흐름 에러를 찾고 고치기 위해 이러한 중복을 활용하며, 무시할 수 있을 정도인 0.9% 의 에너지 오버헤드와 0.8% 의 성능 오버헤드를 보이지만, 최소 86% 에서 최대 99% 에러를 해결할 수 있다. 두번째 기법은 응용 프로그램의 코드 복제 (code replication), 조건 결합과 (condition merging) 이러한 변환들의 선택적 결합과(selected combination) 같은 코드 변환을 적용하였다. 컴파일러 최적화 옵션을 사용하여 변환한 코드는 매우 의미 있는 CFV 감소 수준을 보여준다. CFV에 대한 코드 변환의 효과는 두 가지 임베디드 아키텍처에 대해서 검증 하였다. CFV는 ARM 명령어 집합에서 최소 18%에서 최대 98%, 평균 62% 감소하였으며 MIPS 프로그램에서는 평균 55% 감소하였다. 신뢰성 및 성능 지수를 결합한 CFVxCPI는 ARM에서 63% MIPS에서는 65% 감소하였다.

서지기타정보

서지기타정보
청구기호 {DICE 14012
형태사항 xi, 111p. : 삽화 ; 30 cm
언어 영어
일반주기 저자명의 한글표기 : 루프 모하매드 압도
지도교수의 영문표기 : Soon-Tae Kim
지도교수의 한글표기 : 김순태
수록잡지명 : "Low-Cost Control Flow Protection via Available Redundancies in the Microprocessor Pipeline". IEEE Transactions ON VERY LARGE SCALE INTEGRATION (VLSI) SYSTEMS (TVLSI), (2014)
학위논문 학위논문(박사) - 한국과학기술원 : 정보통신공학과,
서지주기 References : p. 101-107
QR CODE

책소개

전체보기

목차

전체보기

이 주제의 인기대출도서