인터넷에 연결된 다양한 IoT 장치는 일상에 편리함을 더해 주지만, 그 편리함 뒤에 숨겨진 부작용으로 다양한 위협이 존재한다. IoT 장치를 해킹하는 데 필요한 도구와 접근 방식을 상세히 설명하며, 실제 IoT 장치에서 위협을 발견하는 해킹 과정을 다양한 계층의 관점에서 다루고 있다. IoT 해킹을 처음 접하는 초보 해커부터 보안 전문가까지 누구나 쉽게 이해할 수 있도록 상세하고 유연한 내용으로 구성돼 있다. 더욱 안전한 IoT 인프라를 설계하는 데 도움이 될 것이다.
Contents
1부. IoT 위협 환경
1장. IoT 보안 세계
__IoT 보안의 중요성
__IoT 보안과 기존 IT 보안의 다른 점
____IoT 해킹의 특별한 점
____프레임워크, 표준, 가이드
__사례 연구: IoT 보안 문제 발견, 보고, 공개
__전문가 관점: IoT 환경 탐색
____IoT 해킹 관련 법률
____IoT 보안에서 정부의 역할
____환자 관점에서 의료 장치 보안
__결론
2장. 위협 모델링
__IoT 위협 모델링
__위협 모델링을 위한 프레임워크 준수
____시스템 구조 식별
____시스템 구조를 구성 요소로 분해
____위협 식별
____공격 트리를 사용한 위협 식별
__DREAD 분류 기법에 따른 위협 평가
__기타 유형의 위협 모델링과 프레임워크 및 도구
__일반적인 IoT 위협
____신호 교란 공격
____재전송 공격
____설정 변조 공격
____하드웨어 무결성 공격
____노드 복제
____보안 및 프라이버시 침해
____사용자 보안 인식
__결론
3장. 보안 평가 방법론
__수동적 정찰
__물리 또는 하드웨어 계층
____주변 인터페이스
____부팅 환경
____잠금장치
____변조 방지 및 탐지
____펌웨어
____디버그 인터페이스
____물리적 견고성
__네트워크 계층
____정찰
____네트워크 프로토콜과 서비스 공격
____무선 프로토콜 테스트
__웹 애플리케이션 평가
____애플리케이션 매핑
____클라이언트 측 제어
____인증
____세션 관리
____접근 제어와 인증
____입력 검증
____논리 결함
____애플리케이션 서버
__호스트 구성 검토
____사용자 계정
____비밀번호 강도
____계정 권한
____패치 수준
____원격 유지 보수
____파일 시스템 접근 제어
____데이터 암호화
____서버 구성 오류
__모바일 애플리케이션과 클라우드 테스팅
__결론
2부. 네트워크 해킹
4장. 네트워크 평가
__IoT 네트워크로 뛰어들기
____VLAN과 네트워크 스위치
____스위치 스푸핑
____이중 태그
____VoIP 장치 모방
___네트워크상의 IoT 기기 식별
____핑거프린팅 서비스를 통한 비밀번호 찾기
____새로운 Nmap 서비스 프로브 작성
__MQTT 공격
____테스트 환경설정
____Ncrack에서 MQTT 인증 크래킹 모듈 작성
____MQTT에 대한 Ncrack 모듈 테스트
__결론
5장. 네트워크 프로토콜 분석
__네트워크 프로토콜 검사
____정보 수집
____분석
____프로토타이핑과 도구 개발
____보안 평가 수행
__DICOM 프로토콜 분석용 루아 기반 와이어샤크 분석기 개발
____루아로 작업
____DICOM 프로토콜 이해
____DICOM 트래픽 생성
____와이어샤크에서 루아 활성화
____분석기 정의
____메인 프로토콜 분석기 기능 정의
____분석기 완성
__C-ECHO 요청 분석기 만들기
____AET의 문자열 값 추출
____분석기 함수 채우기
____가변 길이 필드 구문 분석
____분석기 테스트
__Nmap 스크립팅 엔진용 DICOM 서비스 스캐너 작성
____DICOM용 Nmap 스크립팅 엔진 라이브러리 작성
____DICOM 코드와 상수
____소켓 생성 및 소멸 함수 작성
____DICOM 패킷 송수신 기능 정의
____DICOM 패킷 헤더 생성
____A-ASSOCIATE 요청 메시지 콘텍스트 작성
____Nmap 스크립팅 엔진에서 스크립트 인수 읽기
____A-ASSOCIATE 요청 구조 정의
____A-ASSOCIATE 응답 구문 분석
____최종 스크립트 작성
__결론
6장. 무설정 네트워킹 익스플로잇
__UPnP 익스플로잇
____UPnP 스택
____알려진 UPnP 취약점
____방화벽에 홀 펀칭
____WAN 인터페이스를 통한 UPnP 악용
____기타 UPnP 공격
__mDNS와 DNS-SD 익스플로잇
____mDNS 작동 방식
____DNS-SD 작동 방식
____mDNS 및 DNS-SD로 정찰
____mDNS 프로빙 단계 악용
____mDNS와 DNS-SD 중간자 공격
__WS-Discovery 활용
____WS-Discovery 작동 방식
____네트워크에서 카메라 위조
____WS-Discovery 공격 제작
__결론
3부. 하드웨어 해킹
7장. UART, JTAG, SWD 익스플로잇
__UART
____UART와 통신하기 위한 하드웨어 도구
____UART 포트 식별
____UART 전송 속도 식별
__JTAG와 SWD
____JTAG
____SWD 작동 방식
____JTAG 및 SWD와 통신하기 위한 하드웨어 도구
____JTAG 핀 식별
__UART 및 SWD를 통한 장치 해킹
____STM32F103C8T6(블랙필) 대상 장치
____디버깅 환경설정
____아두이노에서 타깃 프로그램 코딩
____아두이노 프로그램 플래싱과 실행
____대상 디버깅
__결론
8장. SPI와 I2C
__SPI 및 I2C 통신을 위한 하드웨어
__SPI
____SPI 작동 방식
____SPI를 사용한 EEPROM 플래시 메모리칩 덤핑
__I2C
____I2C 작동 방식
____컨트롤러 주변 장치 I2C 버스 아키텍처 설정
____버스 파이러트로 I2C 공격
__결론
9장. 펌웨어 해킹
__펌웨어와 운영체제
__펌웨어 확보
__무선 공유기 해킹
____파일 시스템 추출
____파일 시스템 콘텐츠 정적 분석
____펌웨어 에뮬레이션
____동적 분석
__펌웨어에 백도어 심기
__펌웨어 업데이트 메커니즘 공략
____컴파일 및 설정
____클라이언트 코드
____업데이트 서비스 실행
____펌웨어 업데이트 서비스의 취약점
__결론
4부. 무선 해킹
10장. 단거리 무선 통신: RFID 남용
__RFID 작동 원리
____무선 주파수 대역
____수동형 및 능동형 RFID 기술
____RFID 태그의 구조
____저주파 RFID 태그
____고주파 RFID 태그
__Proxmark3로 RFID 시스템 공격
____Proxmark3 설정
____Proxmark3 업데이트
____저주파 및 고주파 카드 식별
____저주파 태그 복제
____고주파 태그 복제
____RFID 태그 시뮬레이션
____RFID 태그 변경
____안드로이드 앱으로 MIFARE 공격
____비브랜드 또는 비상업적 RFID 태그에 대한 RAW 명령
____태그-리더기 통신 도청
____캡처된 트래픽에서 섹터 키 추출
____합법적인 RFID 리더기 공격
____Proxmark3 스크립팅 엔진을 사용해 RFID 공격 자동화
____사용자 지정 스크립팅을 사용한 RFID 퍼징
__결론
11장. 저전력 블루투스(BLE)
__BLE 동작 방식
____일반 액세스 프로필과 일반 속성 프로필
__BLE로 작업
____BLE 하드웨어
____BlueZ
____BLE 인터페이스 구성
__장치 검색과 특성 나열
____GATTTool
____Bettercap
____특성, 서비스 및 설명자 나열
____읽기와 쓰기 특성
__BLE 해킹
____BLE CTF Infinity 설정
____시작하기
____플래그 1: 특성 및 설명자 살펴보기
____플래그 2: 인증
____플래그 3: MAC 주소 스푸핑
__결론
12장. 중거리 무선: 와이파이 해킹
__와이파이 작동 방식
__와이파이 보안 평가를 위한 하드웨어
__무선 클라이언트 대상 와이파이 공격
____인증 해제 및 서비스 거부 공격
____와이파이 연결 공격
____와이파이 다이렉트
__액세스 포인트 대상 와이파이 공격
____WPA/WPA2 크랙
____WPA/WPA2 엔터프라이즈 크랙으로 자격증명 획득
__테스트 방법론
__결론
13장. 장거리 무선: LPWAN
__LPWAN, LoRa, LoRaWAN
__LoRa 트래픽 캡처
____헬텍 LoRa 32 개발 보드 설정
____LoStik 설정
____CatWAN USB 스틱을 LoRa 스니퍼로 전환
__LoRaWAN 프로토콜 디코딩
____LoRaWAN 패킷 형식
____LoRaWAN 네트워크에 참여
__LoRaWAN 공격
____비트 플립핑 공격
____키 생성 및 관리
____리플레이 공격
____도청
____ACK 스푸핑
____애플리케이션별 공격
__결론
5부. IoT 생태계 공략
14장. 모바일 애플리케이션 공격
__IoT 모바일 앱의 위협 요소
____아키텍처를 구성 요소로 세분화
____위협 식별
__안드로이드 및 iOS 보안 제어
____데이터 보호 및 암호화된 파일 시스템
____애플리케이션 샌드박스, 보안 IPC 및 서비스
____애플리케이션 서명
____사용자 인증
____격리된 하드웨어 구성 요소 및 키 관리
____검증 및 보안 부팅
__iOS 애플리케이션 분석
____테스트 환경 준비
____IPA 추출 및 재서명
____속성 목록 파일에서 민감한 데이터 검사
____동적 분석
____인젝션 공격
____키체인 저장소
____바이너리 리버싱
____네트워크 트래픽 가로채기 및 검사
____동적 패치를 사용해 탈옥 탐지 피하기
____정적 패치를 사용해 탈옥 탐지 피하기
__안드로이드 애플리케이션 분석
____테스트 환경 준비
____APK 추출
____정적 분석
____바이너리 리버싱
____동적 분석
____네트워크 트래픽 가로채기 및 검사
____부채널 유출
__정적 패치를 이용한 루팅 탐지 피하기
____동적 패치를 사용해 루팅 탐지 피하기
__결론
15장. 스마트 홈 해킹
__건물에 물리적으로 침입
____도어록 시스템의 RFID 태그 복제
____무선 경보 재밍
__IP 카메라 스트림 재생
____스트리밍 프로토콜의 이해
____IP 카메라 네트워크 트래픽 분석
____비디오 스트림 추출
__스마트 러닝머신 공격
____스마트 러닝머신과 안드로이드 운영체제
____안드로이드 기반 스마트 러닝머신 제어
__결론
Author
포티오스 찬치스,요안니스 스타이스,폴리노 칼데론,에반겔로스 데이르멘조글루,보 우즈,장민창
OpenAI에서 안전하고 보안이 강화된 인공지능(AGI, Artificial General Intelligence)을 위한 기반을 마련하고 있다. 메이요 클리닉(Mayo Clinic)에서 주요 정보 보안 엔지니어로 근무하며 의료 기기, 임상 지원 시스템, 중요한 헬스케어 인프라의 기술 보안 평가를 관리하고 수행했다. 2009년부터 Nmap 개발 팀의 핵심 멤버로 활동해 왔으며, 같은 해에 구글 썸머 오브 코드(Google Summer of Code) 기간 동안 Nmap의 원작자인 고든 ‘표도르’ 라이온(Gordon ‘Fyodor’ Lyon)의 멘토십 아래 Ncrack을 개발했다. 이후 2016년과 2017년 구글 썸머 오브 코드 기간 동안 Nmap 프로젝트의 멘토로 활동했으며, Nmap에 관한 비디오 강좌도 만들었다. 네트워크 보안 연구에는 TCP 지속 타이머(TCP Persist Timer)를 악용하는 방법(관련 논문은 Phrack #66에 게재됨)과 XMPP를 이용한 은밀한 포트 스캔 공격 발명이 포함돼 있다. 데프콘(DEF CON)을 비롯한 유명 보안 콘퍼런스에서 발표한 경험이 있다. 주요 연구는 https://sock-raw.org/에서 확인할 수 있다.
OpenAI에서 안전하고 보안이 강화된 인공지능(AGI, Artificial General Intelligence)을 위한 기반을 마련하고 있다. 메이요 클리닉(Mayo Clinic)에서 주요 정보 보안 엔지니어로 근무하며 의료 기기, 임상 지원 시스템, 중요한 헬스케어 인프라의 기술 보안 평가를 관리하고 수행했다. 2009년부터 Nmap 개발 팀의 핵심 멤버로 활동해 왔으며, 같은 해에 구글 썸머 오브 코드(Google Summer of Code) 기간 동안 Nmap의 원작자인 고든 ‘표도르’ 라이온(Gordon ‘Fyodor’ Lyon)의 멘토십 아래 Ncrack을 개발했다. 이후 2016년과 2017년 구글 썸머 오브 코드 기간 동안 Nmap 프로젝트의 멘토로 활동했으며, Nmap에 관한 비디오 강좌도 만들었다. 네트워크 보안 연구에는 TCP 지속 타이머(TCP Persist Timer)를 악용하는 방법(관련 논문은 Phrack #66에 게재됨)과 XMPP를 이용한 은밀한 포트 스캔 공격 발명이 포함돼 있다. 데프콘(DEF CON)을 비롯한 유명 보안 콘퍼런스에서 발표한 경험이 있다. 주요 연구는 https://sock-raw.org/에서 확인할 수 있다.