Top

실습으로 배우는 하드웨어 보안 [하드웨어 관점에서의 사이버 보안]

  • 원서명Hardware Security: A Hands-on Learning Approach (ISNB 9780128124772)
  • 지은이스와럽 부니와(Swarup Bhunia), 마크 테라니푸어(Mark Tehranipoor)
  • 옮긴이송지연, 김병극, 나가진
  • 감수자김기주
  • ISBN : 9791161754703
  • 50,000원
  • 2020년 11월 25일 펴냄
  • 페이퍼백 | 812쪽 | 188*235mm
  • 시리즈 : 해킹과 보안

책 소개

2021년 세종도서 학술부문 선정도서
요약

최근 들어 대두되기 시작한 하드웨어 보안에 대한 포괄적인 개념과 대책을 실습을 통해 배울 수 있다. 하드웨어 보안의 이론, 사례 연구와 각 대책을 소개하며, 이를 하드웨어 해킹용 연습 보드에서 실습할 수 있도록 돕는다. 하드웨어 보안 분야에 종사하는 실무자뿐만 아니라 이를 공부하는 학생들에게도 많은 도움이 될 것이다.

이 책에서 다루는 내용

■ 컴퓨터 시스템의 기본 사항과 VLSI 설계를 비롯한 컴퓨터 보안의 개괄적인 정보와 보안 위험
■ 공격 방법론과 사례 연구
■ 주요 보안 문제 식별 및 각 하드웨어 추상화 계층에서의 효과적인 대책 개발 방법
■ 보안 취약점, 공격, 적절한 보호 메커니즘을 실질적으로 다룰 수 있는 실습 목록 제공
■ 실습을 위해 개발된 전자 하드웨어 플랫폼의 회로도, 레이아웃, 설계
■ 전체 시스템 보안에서의 하드웨어/소프트웨어 상호작용

이 책의 대상 독자

고급 학부 엔지니어링 학생에게 전체 하드웨어의 보안 실습과 지식을 제공하는 것을 목표로 한다. 주로 학부생을 대상으로 썼지만 대학원생, 보안 연구원, 실무자, 설계 엔지니어, 보안 엔지니어, 시스템 설계자, 최고 보안 책임자 등의 산업 전문가에게도 유용한 참고 자료가 될 수 있다. 이 책에서는 최신 컴퓨팅 시스템의 배경에 관한 자료와 보안 문제, 보호 메커니즘을 설명한다. 또한 보안 취약성, 공격, 보호 메커니즘을 포괄하는 하드웨어 보안의 다양한 측면을 알려주고자 적절한 장비를 갖춘 회로 실험실이라면 어디에서나 사용할 수 있도록 잘 설계된 실험 세트도 포함한다. 보안에서의 특정 주제를 자세히 알아보기 전에 현대 시스템의 컴포넌트를 이해하도록 컴퓨팅 하드웨어, 회로 이론, 능동, 수동 전자 구성 요소, 칩/PCB 설계, 테스트 플로의 기본 사항을 다루는 장도 포함했다.
이 책에는 하드웨어-소프트웨어 시스템을 모델링하기 쉽고 다양한 하드웨어 보안 문제와 대책을 배울 때 윤리적으로 ‘해킹’할 수 있는 하드웨어 해킹(HaHa, Hardware Hacking) 플랫폼이라고 하는 특별한 하드웨어 플랫폼에 관해 설명한다. FPGA(Field Programmable Gate Array) 개발 보드와 같은 대체 하드웨어 모듈을 사용해 책 내의 일부 실험을 수행할 수 있지만, 책에 제시된 모든 실습 실험은 이 플랫폼 하나로 모두 구현할 수 있다. 관련 배경 자료를 기반으로 하드웨어 보안 개념을 전반적으로 다루는 포괄적인 적용 범위와 실제 실습을 통해 배우는 방식은 이 교재의 주요 특징으로, 오늘날의 어려운 하드웨어 보안 문제에 대비해 학생들을 준비시키는 데 필수적이다.

이 책의 구성

저자는 하드웨어 보안 교육 분야에서 10년의 경험을 바탕으로 관련 개념을 효과적으로 전달하고자 각각의 주제를 구성했다. 1장에서는 하드웨어 보안 주제를 소개한다. 하드웨어 공격 벡터, 공격 표면 적대적 모델, 하드웨어 공격의 원인, 비즈니스/경제 모델, 하드웨어 공급망, 보안과 신뢰의 관계에 미치는 영향과 같은 주요 주제에 대한 기본 개념을 제공한다. 또한 1장에서는 하드웨어 보안에 대한 간략한 역사와 책에서 전반적으로 다룰 범위와 랩 기반의 접근 방식 정보도 제공한다.
1장 이후는 다음과 같이 네 부로 구성돼 있다.
1부: 전자 하드웨어의 배경
2부: 하드웨어 공격: 분석, 예제, 위협 모델
3부: 하드웨어 공격에 따른 대응 조치
4부: 하드웨어 공격과 보안 동향

1부. ‘전자 하드웨어의 배경’에는 3개의 장이 포함돼 있다. 2장에서는 디지털 로직, 회로 이론, 임베디드 시스템, IC, ASIC(Application Specific Integrated Circuit), FPGA, PCB, 펌웨어, 하드웨어-펌웨어-소프트웨어 상호작용과 시스템 보안에서 하드웨어의 역할에 대한 배경 지식을 제공한다.
3장에서는 SoC 설계와 테스트에 대한 전반적인 개요를 제공한다. IP(Intellectual Property) 기반 SoC 라이프 사이클, SoC 설계 프로세스, 검증/테스트 단계, 테스트용 설계와 디버그용 설계 인프라를 설명한다.
1부의 마지막 장인 4장에서는 PCB 설계와 테스트를 소개한다. 특히 4장에서는 PCB 라이프 사이클, PCB 설계 프로세스, PCB 테스트 방법을 설명한다.

2부. ‘하드웨어 공격: 분석, 예제, 위협 모델’에서는 라이프 사이클 전체와 최근 공급망에서 발생하는 하드웨어 공격과 취약성을 다룬다. 5장에서는 IC와 하드웨어 IP의 하드웨어 트로이목마 공격에 중점을 두고 설명한다. 여기에는 다양한 유형의 트로이목마(트리거와 페이로드)와 설계, 제작 프로세스에서의 서로 다른 위협 벡터를 알아본다.
6장에서는 오늘날의 전자 공급망 보안과 무결성 문제의 자세한 정보를 제공한다.
7장에서는 하드웨어 IP 불법 복제, IP 리버스 엔지니어링과 관련된 문제에 중점을 두고 하드웨어 IP 라이프 사이클 내의 보안 문제를 설명한다. 또한 FPGA 시장과 IP 공급망이 지속적으로 성장함에 따라 나타나는 FPGA IP 보안과 관련된 문제도 설명한다.
8장에서는 사이드 채널 공격(SCA)을 설명한다. 여기에는 모든 유형의 사이드 채널 공격, 즉 전력 사이드 채널 공격, 타이밍 공격, 전자기(EM) 사이드 채널 공격, 결함 주입 공격이 포함된다.
9장에서는 스캔과 JTAG에 중점을 둔 테스트 인프라 기반의 공격을 소개하며, 온칩 테스트/디버그 인프라를 사용하는 다양한 형태의 정보 유출 공격을 설명한다.
10장에서는 물리적 공격과 마이크로프로빙에 중점을 둔다. 10장에서는 정보 유출을 목적으로 한 칩 레벨의 마이크로프로빙 공격과 리버스 엔지니어링, 변조를 자세히 설명한다.
마지막으로 11장에서는 PCB의 물리적 공격에 중점을 둔 다양한 공격을 설명한다. 물리적 공격에는 정보 유출을 위한 PCB 트레이스 스누핑, PCB 리버스 엔지니어링, 복제, 악의적인 필드 수정, 모드칩(Modchip) 유형의 공격이 포함된다.

3부. ‘하드웨어 공격에 따른 대응 조치’에서는 하드웨어 공격에 대한 대응 조치에 중점을 둔다. 특히 하드웨어 보안 보증, 하드웨어 신뢰 기반 구축의 기본적인 대책을 제시한다. 12장에서는 하드웨어 보안 기본 사항의 설계, 평가, 기능적 보안, 공급망 문제 보안을 위한 역할에 중점을 두고 설명한다. 여기서는 PUF(Physical Unclonable Function), TRNG(True Random Number Generators)와 같은 공통 기본 요소를 다룬다.
13장에서는 집적 회로의 보안 설계(DFS), 보안/신뢰 검증과 서로 다른 레벨의 설계를 위한 보안, 다양한 하드웨어 공격을 방지하기 위한 방법을 설명한다.
14장에서는 하드웨어 난독화를 설명한다. 상태 공간 난독화, 논리 잠금, 위장 등의 다양한 난독화 기술을 제공하고 IP 불법 복제, 리버스 엔지니어링, 악의적인 수정을 방지하는 역할을 설명한다.
15장에서는 PCB 무결성 검증과 인증을 설명한다. 여기서는 PCB의 고유 서명을 사용해 현장 공격에서 PCB를 보호하는 PCB 수준 인증 솔루션을 제시한다.

4부. ‘하드웨어 공격과 보안 동향’에서는 마지막 16장에서 시스템 수준의 공격과 대책, 시스템/애플리케이션 소프트웨어를 이용해 하드웨어 보안 취약점을 악용할 수 있는 가능성과 보안 시스템을 위한 SoC 보안 아키텍처를 설명한다. SoC의 자산은 소프트웨어 공격의 주요 타깃이므로 이러한 자산을 보호하고자 안전한 SoC 아키텍처를 개발하는 것이 필요하다. 액세스 제어나 정보 플로우 공격 또는 기타 취약점을 이용한 다양한 공격에서 칩의 자산을 보호하기 위한 아키텍처 수준의 솔루션을 설명한다.
위와 같은 책의 내용을 즐기고 이를 통해 많은 혜택을 누리기를 바란다. 사이버 보안 분야의 범위가 지속적으로 증가하고 하드웨어 보안과의 관련성도 증가함에 따라 이 책의 내용이 수년 동안 유용하게 쓰일 것이라고 확신한다.

상세 이미지

저자/역자 소개

지은이의 말

사이버 보안은 디지털 시대의 어두운 면으로 점차 떠오르고 있으며, 세계 사이버 보안 문제의 규모는 점점 증가해 매일같이 뉴스가 되고 있다. 컴퓨터와 일반 의사소통이 점차 하나로 합쳐지고, 인터넷의 데이터양이 기하급수적으로 증가함에 따라 이러한 보안 문제는 점점 더 중요해지고 있다. 하드웨어는 사이버 보안에서 점점 더 중요하고 필수적인 역할을 하고 있다. 하지만 다양한 마이크로프로세서에서 최근에 발견된 멜트다운(Meltdown)과 스펙터(Specter) 취약점을 비롯해 하드웨어에 뿌리를 둔 많은 시스템과 애플리케이션에는 보안 취약점이 여전히 존재한다. 또한 사물인터넷(IoT) 체제에서 새로운 애플리케이션 공간이 등장하면서 새로운 공격 요인이 나타나고, 이러한 상황에서 안전하고 신뢰할 수 있는 시스템을 위한 새로운 요구 사항도 등장하고 있다. 더불어 집적 회로(IC), 인쇄 회로 기판(PCB), 기타 전자 하드웨어 컴포넌트(수동 또는 능동)의 설계, 제조, 배포가 점점 더 정교해지고, 프로세스가 전 세계적으로 분산돼 있기 때문에 신뢰할 수 없는 엔티티가 점점 더 많아지고 있다. 이처럼 수평적이지만 매우 복잡한 공급망은 하드웨어의 악의적인 변경, 정보 유출, 사이드 채널 공격, 위조, 리버스 엔지니어링, 불법 복제 활동 등의 무수한 보안 문제를 야기한다. 많은 최신 컴퓨팅 시스템의 백본 역할을 하는 SoC(System on Chip)의 시장 출시 기간은 점차 줄어들고 있으며, 이는 칩이 실제 필드에 적용됐을 때 공격자가 악용할 수 있는 의도치 않은 취약점을 설계에 남겨 둘 수 있어 문제를 더욱 악화시키고 있다. 이 책에서 설명하고자 하는 하드웨어 보안이라는 주제는 전자 하드웨어의 전체 라이프 사이클, 모든 추상화 레벨(칩, PCB, 시스템, 시스템의 시스템)에 걸친 광범위한 보안과 신뢰 문제를 포함하고 있다. 실제로 보안 취약점과 신뢰 문제가 증가함에 따라 컴퓨팅 시스템의 트러스트 앵커(trust anchor) 역할을 해야 하는 하드웨어의 역할은 점점 더 어려워지고 있다. 따라서 다양한 하드웨어 보안/신뢰 문제에서 이러한 시스템을 보호하려면 학부, 대학원생, 컴퓨팅 시스템 설계, 배포에 관련된 전문가 등의 모든 레벨에서 효과적이고 포괄적인 하드웨어 보안 교육이 중요하다. 업계에서 능숙한 하드웨어 보안 전문가의 수요가 증가하고 있음을 보면 더욱더 그 필요성을 느끼고 있다. 우리가 아는 한 대학교의 기존 커리큘럼은 전체 하드웨어 위협, 보호 방법에 관해 적절한 통찰력을 제공하지 않는다. 기존 커리큘럼에서는 (a) 모든 추상화 계층의 보안을 다루는 전체 하드웨어 보안 교육, (b) 복잡한 시스템의 보안 취약점과 해당 방어 메커니즘을 이해하는 데 중요하다고 생각하는 실습 교육을 제공하는 데 실패해 왔다. 이처럼 중요한 요구 사항이 늘어나고 있기 때문에 하드웨어 보안과 신뢰에 관한 최초의 교과서를 만드는 프로젝트를 시작했다.

지은이 소개

스와럽 부니와(Swarup Bhunia)

플로리다 대학교의 전기전자 컴퓨터 공학과 교수며, 이전에는 케이스 웨스턴 리저브 대학교의 전기 공학 및 컴퓨터 과학 T. 와 A. 슈레더(Schroeder) 부교수였다. 동료 평가(peer-reviewed) 학술 저널과 프리미어 콘퍼런스에서 200개가 넘는 출판물을 출간했으며, 10년 이상의 연구 개발 경험이 있다. 관심 연구 분야는 하드웨어 보안과 신뢰, 적응형 나노 컴퓨팅과 새로운 테스트 방법 등이다.
IBM 교수상(2013), 국립 과학재단 경력 개발상(2011), 반도체 리서치 코퍼레이션 발명가상(2009), SRC 기술 우수상(2005)을 받았고 여러 우수 논문상을 수상하거나 지명을 받았다. IEEE Transactions on CAD, IEEE Transactions on Multi-Scale Computing Systems, ACM Journal of Emerging Technologies, Journal of Low Power Electronics의 부편집장으로 활동하고 있다. IEEE Design & Test of Computers(2010, 2013), IEEE Journal on Emerging and Selected Topics in Circuits and Systems(2014)의 객원 편집자를 역임했다. IEEE IMS3TW 2011, IEEE NANOARCH 2013, IEEE VDAT 2014, IEEE HOST 2015의 공동 프로그램 위원장을 역임했으며, 많은 IEEE/ACM 콘퍼런스의 프로그램 위원회에서 활동하고 있다. IEEE의 선임 회원이다.

마크 테라니푸어(Mark Tehranipoor)

현재 플로리다 대학교 전기 및 컴퓨터 공학(ECE)의 사이버 보안 분야 Intel Charles E. Young 교수다. 300개가 넘는 저널의 기사와 콘퍼런스 논문을 발표했으며, 2006년부터 150개 이상의 초청 강연과 기조연설을 해왔다. 또한 6권의 책을 출간하고 출간된 10권의 책 중 일부 챕터를 작성했다.
그의 프로젝트는 업계(SRC, Texas Instruments, Freescale, Comcast, Honeywell, LSI, Mentor Graphics, Juniper, R3Logic, Cisco, Qualcomm, MediaTeck 등)와 미국 정부(NSF, ARO, MDA, DOD, AFOSR, DOE 등)가 후원하고 있다.
여러 최우수 논문상, 2009 NSF CAREER상, 2014 MURI상, 2008 IEEE Computer Society 공로상, 2012 IEEE CS 우수 공헌, 2010 IEEE CS 가장 성공적인 기술 행사를 수상했다. HOST 심포지엄, 2009년과 2014년 UConn ECE 연구 우수상, 2012년 UConn SOE 우수 교수진 고문상을 공동 창립하고 주재했다.
하드웨어 지향 보안과 신뢰에 관한 IEEE 국제 심포지엄(HOST, www.hostsymposium. org)이라는 새로운 심포지엄을 공동 창립했으며, HOST-2008과 HOST-2009 총의장을 역임했고 계속해서 HOST 운영위원회 의장으로 활동 중이다. 또한 트러스트 허브(Trust-Hub, http://www.trust-hub.org)의 공동 창립자다. 플로리다 대학교에 합류하기 전에 하드웨어 보증, 보안, 엔지니어링 센터(CHASE)와 코네티컷 대학교의 Comcast 보안 혁신 우수 센터(CSI)의 창립 이사를 역임했다. IEEE의 선임 회원, IEEE Computer Society의 Golden Core 회원, ACM과 ACM SIGDA의 회원, Connecticut Academy of Science and Engineering(CASE)의 회원이기도 하다.

옮긴이의 말

IT가 빠른 속도로 발전해오면서 해킹 위협이 대두되고 보안이 중요해지기 시작했다. 하지만 소프트웨어 보안에 비해 하드웨어 보안의 위험성과 영향에 대해서는 구체적으로 다룬 책이 많지 않다. 최근 사물인터넷(IoT)이 일상화되면서 새로운 애플리케이션과 하드웨어 보안의 중요성이 큰 화두가 되고 있으며, 최근에 발견된 멜트다운(Meltdown)과 스펙터(Specter) 취약점은 전 세계에 하드웨어 보안이 얼마나 큰 영향을 미칠 수 있는지 많은 사람이 깨달을 수 있는 계기가 되기도 했다.
이 책은 『Hardware Security: A hands-on Learning Approach』를 번역한 책으로 하드웨어 보안을 단계별로, 개념별로 공격 방식과 대책을 자세히 설명한다. 먼저 하드웨어가 탄생한 배경에서부터 하드웨어를 공격하는 모델의 분석, 대책을 설명하며 현재의 동향도 설명한다. 이 책에서 설명하고자 하는 하드웨어 보안이라는 주제는 하드웨어의 라이프 사이클 전체를 통틀어 광범위하게 보안 취약점과 신뢰성의 문제점을 알려준다. 또한 이러한 시스템을 보호하려면 모든 레벨에서의 교육이 중요하다고 판단해 실습으로 학습할 수 있는 자료를 만들었다. 이 책에는 다양한 하드웨어 보안 문제와 대책을 배우는 데 실험적인 해킹이 가능한 HaHa(Hardware Hacking) 플랫폼의 설명이 포함돼 있다. 모든 실습 실험은 이 플랫폼 하나로 모두 구현할 수 있다. 즉, 이론적으로 설명한 보안 위협과 해킹, 대책 등을 실제로 실습해 적용해 볼 수 있는 좋은 기회가 될 것이다.

옮긴이 소개

송지연

지엔텔, 노키아 지멘스 네트웍스에서 근무한 경험이 있는 WCDMA, LTE 분야의 통신 기술 엔지니어 출신으로, 취미로 팀을 만들어 개발에 한동안 푹 빠져 있기도 했다. 현재는 주전공인 소프트웨어 개발 분야로 돌아와 오라클 자바 개발 팀, 그레이스노트를 거쳐 닐슨에서 근무 중이며, 옮긴 책으로는 『스프링 프레임워크 핵심 노트』(3종)(한빛미디어, 2013)와 『(개정3판) 리눅스 실전 가이드』(에이콘, 2014), 『한눈에 빠져드는 셸 스크립트 2/e』(에이콘, 2018), 『임베디드 리눅스 프로그래밍 완전 정복 2/e』(에이콘, 2019) 등이 있다.

김병극

IMF 시절 웹 프로그래밍을 시작으로 소프트웨어 개발 일을 시작했으며, 그 뒤 피처폰의 데이터 서비스와 애플리케이션 관련 업무 진행 중 자바 가상머신(VM)을 포팅하는 일이 인연이 되어 썬마이크로시스템과 오라클에서 자바 가성머신 관련 개발 업무를 했다. 현재는 시놉시스(Synopsys)의 오픈소스 검증 제품의 기술 지원 업무를 맡고 있으면서 관련된 오픈소스 컴플라이언스 컨설팅 업무를 하고 있다. 옮긴 책으로는 『한눈에 빠져드는 셸 스크립트 2/e』(에이콘, 2018), 『임베디드 리눅스 프로그래밍 완전정복 2/e』(에이콘, 2019)이 있다.

나가진

삼성전자에서 심비안 스마트폰을 시작으로 임베디드 소프트웨어 개발에 뛰어들어 GM 텔레매틱스, 자바 VM 기반의 여러 임베디드 시스템 대상으로 연구개발 업무를 담당했다. 이후 보안으로 관심 분야를 확장해 주요 기업에 소프트웨어 개발과 관련된 보안 컨설팅을 제공했고, 현재 IoT, 제어 시스템 대상 국내외 보안 표준과 인증에 관한 컨설팅 업무를 수행 중이다.

감수자 소개

김기주

포스텍 컴퓨터공학과와 동대학원을 졸업한 후 LG전자와 썬 마이크로시스템즈를 거쳐 지금은 엘라스틱에서 엘라스틱서치 사용자들을 돕고 있다. https://www.elastic.co/kr/blog에 다수의 블로그 글을 게재했으며, 요즘은 집에서 근무하는 틈틈이 아이들 온라인 수업을 도와주느라 정신이 없다. 공저로 『Security PLUS for UNIX』(영진닷컴, 2000), 역서로 『리눅스 API의 모든 것』(에이콘, 2012), 『(개정3판) 리눅스 실전 가이드』(에이콘, 2014), 『한눈에 빠져드는 셸 스크립트 2/e』(에이콘, 2018), 『임베디드 리눅스 프로그래밍 완전정복 2/e』(에이콘, 2019) 등이 있다.

목차

목차
  • 1장. 하드웨어 보안 소개
  • 1.1 컴퓨팅 시스템 개요
  • 1.2 컴퓨팅 시스템 계층
  • 1.2.1 전자 하드웨어
  • 1.2.2 전자 하드웨어의 유형
  • 1.3 하드웨어 보안이란?
  • 1.4 하드웨어 보안과 하드웨어 신뢰
  • 1.4.1 하드웨어 신뢰성 문제의 원인
  • 1.4.2 신뢰할 수 없는 요소에서 발생하는 보안 문제
  • 1.5 공격, 취약점, 대응책
  • 1.5.1 공격 벡터
  • 1.5.2 공격 요인
  • 1.5.3 보안 모델
  • 1.5.4 취약점
  • 1.5.5 대응책
  • 1.6 보안과 테스트/디버깅 간의 충돌
  • 1.7 하드웨어 보안의 진화: 역사적 관점
  • 1.8 조감도
  • 1.9 실무적 접근
  • 1.1 연습문제
  • 1.10.1 True/False 문제
  • 1.10.2 단답형 문제
  • 1.10.3 서술형 문제
  • 참고 문헌

  • 1부. 전자 하드웨어의 배경
  • 2장. 전자 하드웨어 개요
  • 2.1 소개
  • 2.2 나노 기술
  • 2.2.1 실리콘 온 인슐레이터
  • 2.2.2 FinFET 기술
  • 2.2.3 3D 집적 회로
  • 2.2.4 벌크 실리콘 기술
  • 2.3 디지털 논리
  • 2.3.1 2진 논리
  • 2.3.2 디지털 논리 게이트
  • 2.3.3 불대수
  • 2.3.4 순차 회로
  • 2.4 회로 이론
  • 2.4.1 레지스터와 저항
  • 2.4.2 커패시터와 커패시턴스
  • 2.4.3 인덕터와 인덕턴스
  • 2.4.4 키르히호프의 전기 회로 법칙
  • 2.5 ASIC와 FPGA
  • 2.5.1 ASIC
  • 2.5.2 FPGA
  • 2.5.3 ASIC과 FPGA의 차이
  • 2.6 인쇄 회로 기판
  • 2.6.1 PCB의 종류
  • 2.6.2 PCB 설계 흐름
  • 2.6.3 PCB 설계 생성
  • 2.7 임베디드 시스템
  • 2.7.1 임베디드 시스템 하드웨어
  • 2.7.2 임베디드 시스템 소프트웨어
  • 2.7.3 임베디드 시스템의 특성
  • 2.8 하드웨어-펌웨어-소프트웨어 간 상호작용
  • 2.9 연습문제
  • 2.9.1 True/False 문제
  • 2.9.2 단답형 문제
  • 2.9.3 서술형 문제
  • 참고 문헌

  • 3장. 시스템온칩(SoC) 설계와 테스트
  • 3.1 소개
  • 3.1.1 테스트 비용과 제품의 품질
  • 3.1.2 테스트 생성
  • 3.2 IP 기반 SoC 라이프 사이클
  • 3.3 SoC 설계 흐름
  • 3.4 SoC 검증 흐름
  • 3.5 SoC 테스트 흐름
  • 3.6 디버깅을 고려한 설계
  • 3.6.1 디버그 요구 사항
  • 3.6.2 온칩 디버그 아키텍처
  • 3.6.3 온칩 디버그 아키텍처의 예
  • 3.7 규격화된 DFT 기술 소개
  • 3.7.1 테스트를 고려한 설계
  • 3.7.2 스캔 설계: 스캔 플립플롭, 스캔 체인과 스캔 테스트 압축
  • 3.7.3 부분 스캔 설계
  • 3.7.4 바운더리 스캔
  • 3.7.5 BIST 방식
  • 3.8 At-Speed 지연 테스트
  • 3.8.1 At-Speed 지연 테스트를 해야 하는 이유
  • 3.8.2 At-Speed 테스트의 기초: LOC와 LOS
  • 3.8.3 At-Speed 지연 테스트의 과제
  • 3.9 연습문제
  • 3.9.1 True/False 문제
  • 3.9.2 단답형 문제
  • 3.9.3 서술형 문제
  • 참고 문헌

  • 4장. 인쇄 회로 기판(PCB) 설계와 테스트
  • 4.1 소개
  • 4.2 PCB와 컴포넌트의 진화
  • 4.2.1 PCB 연대표
  • 4.2.2 현대 PCB 컴포넌트
  • 4.3 PCB 라이프 사이클
  • 4.3.1 PCB 설계자
  • 4.3.2 디자인 하우스
  • 4.3.3 제조 하우스
  • 4.3.4 현재 비즈니스 모델
  • 4.3.5 컴포넌트 리서치 및 선택
  • 4.3.6 회로도 캡처
  • 4.3.7 시뮬레이션
  • 4.3.8 보드 레이아웃
  • 4.3.9 프로토타입 테스트
  • 4.3.10 전체 설계 흐름의 모범 사례
  • 4.4 PCB 조립 프로세스
  • 4.4.1 스루홀 기술
  • 4.4.2 표면 실장 기술
  • 4.4.3 PCB 복잡성 동향과 보안 영향
  • 4.5 PCB 설계 검증
  • 4.5.1 PCB 검사와 테스트 개요
  • 4.5.2 PCB 결함
  • 4.5.3 PCB 검사
  • 4.5.4 PCB 테스트
  • 4.6 실험: 리버스 엔지니어링 공격
  • 4.6.1 목적
  • 4.6.2 방법
  • 4.6.3 학습 결과
  • 4.6.4 추가 옵션
  • 4.7 연습문제
  • 4.7.1 True/False 문제
  • 4.7.2 단답형 문제
  • 4.7.3 서술형 문제
  • 참고 문헌

  • 2부. 하드웨어 공격: 분석, 예제, 위협 모델
  • 5장. 하드웨어 트로이목마
  • 5.1 소개
  • 5.2 SoC 설계 흐름
  • 5.2.1 하드웨어 트로이목마 삽입: 잠재적 공격자
  • 5.3 하드웨어 트로이목마
  • 5.3.1 하드웨어 트로이목마 구조
  • 5.3.2 트로이목마 모델링
  • 5.3.3 하드웨어 트로이목마 예제
  • 5.4 FPGA 설계의 하드웨어 트로이목마
  • 5.4.1 활성화 특징
  • 5.4.2 페이로드 특성
  • 5.5 하드웨어 트로이목마 분류 체계
  • 5.5.1 삽입 단계
  • 5.5.2 추상 레벨
  • 5.5.3 활성화 메커니즘
  • 5.5.4 페이로드
  • 5.5.5 위치
  • 5.6 트러스트 벤치마크
  • 5.6.1 벤치마크 명명 규칙
  • 5.6.2 트러스트 벤치마크 예제
  • 5.7 하드웨어 트로이목마에 대한 대책
  • 5.7.1 트로이목마 탐지
  • 5.7.2 신뢰할 수 있는 설계
  • 5.8 실험: 하드웨어 트로이목마 공격
  • 5.8.1 목적
  • 5.8.2 방법
  • 5.8.3 학습 결과
  • 5.8.4 추가 옵션
  • 5.9 연습문제
  • 5.9.1 True/False 문제
  • 5.9.2 서술형 문제
  • 5.9.3 수학 문제
  • 참고 문헌

  • 6장. 전자 공급망
  • 6.1 소개
  • 6.2 최신 전자 공급망
  • 6.2.1 설계
  • 6.2.2 제조
  • 6.2.3 조립
  • 6.2.4 유통
  • 6.2.5 라이프타임
  • 6.2.6 단종
  • 6.3 전자 부품 공급망 문제
  • 6.4 보안 문제
  • 6.4.1 하드웨어 트로이목마
  • 6.4.2 CAD 도구
  • 6.4.3 설계상의 실수
  • 6.4.4 테스트/디버그 구조
  • 6.5 신뢰 문제
  • 6.5.1 IP 남용
  • 6.5.2 IP 불법 복제
  • 6.5.3 집적 회로의 과잉 생산
  • 6.5.4 사양 외/결함 부품 배송
  • 6.5.5 집적 회로의 리버스 엔지니어링
  • 6.5.6 위조된 문서
  • 6.5.7 집적 회로 리마킹
  • 6.5.8 집적 회로의 재활용
  • 6.6 잠재적 대응책
  • 6.6.1 하드웨어 트로이목마 탐지와 방지
  • 6.6.2 보안 규칙 점검
  • 6.6.3 IP 암호화
  • 6.6.4 논리 난독화
  • 6.6.5 하드웨어 워터마킹
  • 6.6.6 IC 계측
  • 6.6.7 ECID와 PUF 기반 인증
  • 6.6.8 경로 지연 핑거프린팅
  • 6.6.9 클럭 스위핑
  • 6.6.10 다이(DIE)와 IC-Recycling(CDIR) 구조 결합
  • 6.6.11 전기 테스트
  • 6.6.12 물리적 검사
  • 6.7 연습문제
  • 6.7.1 True/False 문제
  • 6.7.2 서술형 문제
  • 6.7.3 수학 문제
  • 참고 문헌

  • 7장. 하드웨어 IP 불법 복제와 리버스 엔지니어링
  • 7.1 소개
  • 7.2 하드웨어 IP
  • 7.3 IP 기반 SoC 설계의 보안 문제
  • 7.3.1 하드웨어 트로이목마 공격
  • 7.3.2 IP 불법 복제와 과잉 생산
  • 7.3.3 리버스 엔지니어링
  • 7.4 FPGA의 보안 문제
  • 7.4.1 FPGA 기본 설정
  • 7.4.2 FPGA 기반 시스템의 라이프 사이클
  • 7.5 실험: 리버스 엔지니어링과 탬퍼링
  • 7.5.1 목적
  • 7.5.2 방법
  • 7.5.3 학습 결과
  • 7.5.4 추가 옵션
  • 7.6 연습문제
  • 7.6.1 True/False 문제
  • 7.6.2 단답형 문제
  • 7.6.3 서술형 문제
  • 참고 문헌

  • 8장. 사이드 채널 공격
  • 8.1 소개
  • 8.2 사이드 채널 공격의 배경
  • 8.2.1 사이드 채널 공격의 분류법
  • 8.2.2 흔하지 않은 사이드 채널 공격
  • 8.3 전력 분석 공격
  • 8.3.1 전력 소비에서 사이드 채널 유출의 근원
  • 8.3.2 전력 신호 획득
  • 8.3.3 전력 분석의 유형
  • 8.3.4 전력 사이드 채널 공격 대책
  • 8.3.5 고차 사이드 채널 공격
  • 8.3.6 전력 SCA에 대한 보안 측정법
  • 8.4 전자파(EM) 사이드 채널 공격
  • 8.4.1 전자파 신호의 근원
  • 8.4.2 전자파 방출
  • 8.4.3 전자파 신호의 식별
  • 8.4.4 전자파 분석 유형
  • 8.4.5 전자파 SCA 대책
  • 8.5 결함 주입 공격
  • 8.5.1 결함 주입 기술
  • 8.5.2 결함 주입 공격 대처 방안
  • 8.6 타이밍 공격
  • 8.6.1 암호 하드웨어에 대한 타이밍 공격
  • 8.6.2 프로세서의 캐시 타이밍 공격
  • 8.6.3 타이밍 공격 대책
  • 8.6.4 타이밍 누출 측정법
  • 8.7 비밀 채널
  • 8.8 실험: 사이드 채널 공격
  • 8.8.1 목표
  • 8.8.2 방법
  • 8.8.3 학습 결과
  • 8.8.4 추가 옵션
  • 8.9 연습문제
  • 8.9.1 True/False 문제
  • 8.9.2 단답형 문제
  • 8.9.3 서술형 문제
  • 참고 문헌

  • 9장. 테스트 지향 공격
  • 9.1 소개
  • 9.2 스캔 기반 공격
  • 9.2.1 스캔 기반 공격 분류
  • 9.2.2 위협 모델
  • 9.2.3 다양한 공급망 단계에 적용 가능한 테스트 지향적 위협 모델
  • 9.2.4 동적 난독화 스캔(DOS)
  • 9.2.5 저비용 보안 검사(LCSS)
  • 9.2.6 Lock & Key
  • 9.2.7 스캔 인터페이스 암호화
  • 9.2.8 난독화 스캔
  • 9.2.9 스캔 체인 순서변경
  • 9.3 JTAG 기반 공격
  • 9.3.1 JTAG 해킹
  • 9.3.2 JTAG 방어
  • 9.4 실험: JTAG 공격
  • 9.4.1 목적
  • 9.4.2 방법
  • 9.4.3 학습 결과
  • 9.4.4 추가 옵션
  • 9.5 연습문제
  • 9.5.1 True/False 문제
  • 9.5.2 단답형 문제
  • 9.5.3 서술형 문제
  • 참고 문헌

  • 10장. 물리적 공격과 대응책
  • 10.1 소개
  • 10.2 리버스 엔지니어링
  • 10.2.1 장비
  • 10.2.2 칩 레벨 RE
  • 10.2.3 칩 레벨 안티RE
  • 10.2.4 보드 레벨 RE
  • 10.2.5 보드 레벨 안티RE
  • 10.2.6 시스템 레벨 RE
  • 10.2.7 시스템 레벨 안티RE
  • 10.3 프로빙 공격
  • 10.3.1 프로빙 공격 기초
  • 10.3.2 기존 대응책과 제한 사항
  • 10.4 침투적 결함 주입 공격
  • 10.5 연습문제
  • 10.5.1 True/False 문제
  • 10.5.2 단답형 문제
  • 10.5.3 수학 문제
  • 참고 문헌

  • 11장. PCB에 대한 공격: 보안상의 문제점과 취약점
  • 11.1 소개
  • 11.2 PCB 보안 문제: PCB에 대한 공격
  • 11.2.1 PCB의 하드웨어 트로이목마
  • 11.2.2 현장에서 변경
  • 11.2.3 불법 복제와 위조
  • 11.3 공격 모델
  • 11.3.1 공격 사례
  • 11.3.2 현장에서 변경
  • 11.4 실험: 버스 스누핑 공격
  • 11.4.1 목표
  • 11.4.2 방법
  • 11.4.3 학습 결과
  • 11.4.4 추가 옵션
  • 11.5 연습문제
  • 11.5.1 True/False 문제
  • 11.5.2 단답형 문제
  • 11.5.3 서술형 문제
  • 참고 문헌

  • 3부. 하드웨어 공격에 따른 대응 조치
  • 12장. 하드웨어 보안 기초
  • 12.1 소개
  • 12.2 서론
  • 12.2.1 공통 하드웨어 보안 기본 사항
  • 12.2.2 CMOS 장치의 성능
  • 12.3 물리적 복제 방지 기능
  • 12.3.1 PUF 개요
  • 12.3.2 PUF 분류
  • 12.3.3 PUF 품질 특성
  • 12.3.4 일반적인 PUF 아키텍처
  • 12.3.5 PUF 애플리케이션
  • 12.4 순수 난수 생성기
  • 12.4.1 순수 난수 생성기 사전 요구 사항
  • 12.4.2 TRNG 품질 특성
  • 12.4.3 일반적인 TRNG 구조
  • 12.4.4 TRNG 애플리케이션
  • 12.5 위조 방지 설계
  • 12.5.1 DfAC 기본 사항
  • 12.5.2 DfAC 설계
  • 12.6 기존 문제점과 공격 유형
  • 12.6.1 PUF
  • 12.6.2 TRNG
  • 12.7 새로운 나노 장치를 사용한 주요 설계
  • 12.7.1 PCM 기반 PUF의 구성
  • 12.7.2 멤리스터와 RRAM 기반 PUF의 조합(합성)
  • 12.7.3 MRAM과 STTRAM 기반 PUF의 조합
  • 12.7.4 새로운 애플리케이션을 위한 PUF 조합
  • 12.8 실험: 하드웨어 보안 기본 사항(PUF와 TRNG)
  • 12.8.1 목표
  • 12.8.2 방법
  • 12.8.3 학습 결과
  • 12.8.4 고급 옵션
  • 12.9 연습문제
  • 12.9.1 True/False 문제
  • 12.9.2 서술형 문제
  • 참고 문헌

  • 13장. 보안, 신뢰성 평가, 보안 설계
  • 13.1 소개
  • 13.2 보안 자산과 공격 모델
  • 13.2.1 자산
  • 13.2.2 자산에 대한 잠재적 접근
  • 13.2.3 잠재적인 적
  • 13.3 SoC의 프리실리콘 보안과 신뢰성 검증
  • 13.3.1 DSeRC: 설계 보안 규칙 점검
  • 13.3.2 DSeRC 프레임워크 워크플로
  • 13.4 IC에 대한 포스트실리콘 보안과 신뢰성 평가
  • 13.4.1 퍼징
  • 13.4.2 네거티브 테스트
  • 13.4.3 해커톤
  • 13.4.4 침투 테스트
  • 13.4.5 보안과 밀접한 설계 기능의 기능 검증
  • 13.4.6 결정적 보안 요구 사항 평가
  • 13.5 보안 설계
  • 13.5.1 보안 아키텍처
  • 13.5.2 보안 정책 집행자
  • 13.5.3 사이드 채널 내구성 설계
  • 13.5.4 트리오 목마 삽입 방지
  • 13.6 연습문제
  • 13.6.1 True/False 문제
  • 13.6.2 서술형 문제
  • 참고 문헌

  • 14장. 하드웨어 난독화
  • 14.1 소개
  • 14.1.1 사전 준비
  • 14.1.2 하드웨어 IP를 암호화하지 않는 이유
  • 14.2 난독화 기법 개요
  • 14.2.1 RTL 난독화
  • 14.2.2 게이트 레벨 난독화
  • 14.2.3 레이아웃 레벨 난독화
  • 14.2.4 명령 세트 난독화
  • 14.2.5 PCB 난독화
  • 14.3 하드웨어 난독화 방법
  • 14.3.1 논리 잠금
  • 14.3.2 게이트 위장 기반 난독화
  • 14.3.3 유한 상태 기계(FSM) 기반 하드웨어 난독화
  • 14.4 새로운 난독화 접근 방법
  • 14.4.1 FPGA 비트스트림 난독화
  • 14.5 트로이목마 공격에 대한 난독화 사용
  • 14.6 실험: 하드웨어 IP 난독화
  • 14.6.1 목표
  • 14.6.2 방법
  • 14.6.3 학습 결과
  • 14.6.4 고급 옵션
  • 14.7 연습문제
  • 14.7.1 True/False 문제
  • 14.7.2 단답형 문제
  • 14.7.3 서술형 문제
  • 참고 문헌

  • 15장. PCB 인증과 무결성 검증
  • 15.1 PCB 인증
  • 15.2 PCB 서명 소스
  • 15.2.1 미량 임피던스 변형
  • 15.2.2 지연 변형
  • 15.2.3 커패시터로 인한 변형
  • 15.2.4 표면 패턴 변형
  • 15.3 서명 처리와 인증 방법
  • 15.3.1 PCB 임피던스 변형 활용
  • 15.3.2 지연 변형을 사용한 인증
  • 15.3.3 커패시터로 인한 변형 활용
  • 15.3.4 PCB의 표면 패턴 변형 사용
  • 15.4 서명 평가 기준
  • 15.5 새로운 해결책
  • 15.5.1 시스템 레벨 상호 인증
  • 15.5.2 공명 주파수를 이용한 인증
  • 15.6 PCB 무결성 검증
  • 15.6.1 추적 임피던스 기반 검증
  • 15.6.2 JTAG 기반 무결성 검증
  • 15.7 실험: PCB 변조 공격(Modchip)
  • 15.7.1 목표
  • 15.7.2 방법
  • 15.7.3 학습 결과
  • 15.7.4 고급 옵션
  • 15.8 연습문제
  • 15.8.1 True/False 문제
  • 15.8.2 단답형 문제
  • 15.8.3 서술형 문제
  • 참고 문헌

  • 4부. 하드웨어 공격과 보안 동향
  • 16장. 시스템 레벨 공격과 대응 방안
  • 16.1 소개
  • 16.2 SoC 설계의 배경
  • 16.3 SoC 보안 요구 사항
  • 16.3.1 SoC에서의 자산
  • 16.3.2 공격자 모델
  • 16.3.3 SoC에서의 디버그 설계
  • 16.3.4 SoC 보안 정책 개요
  • 16.4 보안 정책 실행
  • 16.4.1 중앙 집중식 정책 정의 아키텍처
  • 16.5 안전한 SoC 설계 프로세스
  • 16.5.1 초기 보안 검증
  • 16.5.2 프리실리콘 보안 검증
  • 16.5.3 포스트실리콘 보안 검증
  • 16.5.4 케이스 시나리오: 보안 정보 흐름 확인
  • 16.6 위협 모델링
  • 16.6.1 하드웨어 오류를 포함하는 소프트웨어
  • 16.6.2 소프트웨어로 인한 하드웨어 트로이목마 공격
  • 16.6.3 소프트웨어에 의한 사이드 채널 공격
  • 16.7 실험: SoC 보안 정책
  • 16.7.1 목적
  • 16.7.2 방법
  • 16.7.3 기대 효과
  • 16.7.4 고급 옵션
  • 16.8 연습문제
  • 16.8.1 True/False 문제
  • 16.8.2 단답형 문제
  • 16.8.3 서술형 문제
  • 참고 문헌

  • 부록A. 직접 사용해보는 하드웨어 해킹(HaHa) 플랫폼
  • A.1 HaHa 보드
  • A.1.1 레이아웃과 컴포넌트
  • A.1.2 HaHa 보드 블록 다이어그램
  • A.1.3 HaHa의 컴포넌트
  • A.2 동작 지침
  • A.2.1 HaHa 전원 구동
  • A.2.2 컴퓨터에 소프트웨어 모듈 설치
  • A.2.3 알테라 MAX 10 FPGA 구성
  • A.2.4 USB 포트를 이용해 마이크로컨트롤러 구성
  • A.2.5 전압 소스 구성
  • A.2.6 칩 인터커넥트
  • A.2.7 스위치와 LED 사용
  • A.2.8 7 세그먼트 디스플레이 사용
  • A.2.9 확장 헤더 사용
  • A.2.10 클럭 회로
  • A.2.11 SPI 장치 사용
  • A.2.12 사이드 채널 측정
  • A.3 FPGA와 마이크로컨트롤러 프로그래밍용 예제
  • A.3.1 FPGA 프로그래밍
  • A.3.2 마이크로컨트롤러 프로그래밍
  • A.4 설계 사양

도서 오류 신고

도서 오류 신고

에이콘출판사에 관심을 가져 주셔서 고맙습니다. 도서의 오탈자 정보를 알려주시면 다음 개정판 인쇄 시 반영하겠습니다.

오탈자 정보는 다음과 같이 입력해 주시면 됩니다.

(예시) p.100 아래에서 3행 : '몇일'동안 -> 며칠동안