https://grayhash.com/html/Training.html
1일차 - 기초 펌웨어 개발
• 실습 장비 Grayhash DanbiBoard-BASIC 소개 및 Spec 설명
• Firmware, Bootloader, OS, Filesystem의 이해
• CPU 관점에서 본 부팅 과정의 이해
• 실습 : 펌웨어 개발 환경 구축
• 펌웨어 코드 작성 이론 설명
• 실습 : 기본 펌웨어 개발 및 퓨징
• 펌웨어 코드 분석 및 GPIO의 이해
• UART를 이용한 DEBUG 메시지 출력
• 해커의 관점에서 본 UART 프로토콜
• 실습 : LED 등 주변장치 제어
• 하드웨어 통신 프로토콜 I2C의 이해
• 마무리 실습 : Character LCD 제어
2일차 - 리눅스 시스템 개발
• 실습 장비 Grayhash DanbiBoard-EDU 소개 및 Spec 설명
• 부트로더(Bootloader)의 이해
• 메모리, 메모리 컨트롤러 및 메모리 맵의 이해
• 해커의 관점에서 본 메모리 맵
• DDR2 RAM 초기화 방법에 대한 이해
• 실습 : RAM 초기화 및 RAM 테스트
• U-BOOT의 구조 및 커널 로딩 과정의 이해
• 실습 : U-BOOT 포팅 및 퓨징
• 부트로더를 이용한 펌웨어 업그레이드
• 해커의 관점에서 본 부트로더 (부트로더 보안체계 우회 사례들)
• 실습 : Linux Kernel 컴파일 및 퓨징
• Root File System의 이해
• 실습 : Root File System 빌드 및 퓨징
• 해커의 관점에서 본 Root File System
• 리눅스 부팅 과정 및 파티션 구조의 이해
• 마무리 실습 : 리눅스 시스템 부팅
3일차 - 개발보드의 활용
• 실습 장비 Grayhash DanbiBoard-PRO 소개 및 Spec 설명
• 디바이스 드라이버의 이해
• 실습 : 디바이스 드라이버를 통한 주변장치 제어
• 하드웨어 통신 프로토콜 SPI의 이해
• 해커의 관점에서 본 SPI 프로토콜
• TFT-LCD 디스플레이 연결
• Frame Buffer의 이해
• 실습 : Frame Buffer 장치를 이용한 TFT-LCD 제어
• 실습 : mp3 음원 및 동영상 재생
• USB 시스템 작동 구조의 이해
• 실습 : USB 키보드 및 랜카드 연결
• Ethernet 시스템 작동 구조의 이해
• 실습 : 네트워크 연결
• 마무리 실습 : 게임 에뮬레이터 실행하기
------------------------------------------------------------
1일차 - AVR Programming
[AVR 프로그래밍]
• MCU(Micro Controller Unit)의 이해
• Atmega128A MCU 소개
• 개발 도구(Atmel studio 6.2) 설치
• ISP(In-System Programming)의 이해
• 범용/특수 입출력 포트의 이해
• LED, 모터, 스피커 제어 실습
• 7-Segment 및 Dot Matrix 제어 실습
• 온도 센서 제어를 통한 ADC의 이해
• 디지털 온도계 제작 실습
• UART 통신 실습
• 트랜지스터를 이용한 증폭 작용 실습
• 스위치를 이용한 입력 핀 사용 실습
• 인터럽트와 타이머의 이해
• PWM(Pulse Width Modulation)의 이해
• IrDA(적외선)을 이용한 무선 통신 실습
• AVR Firmware 추출하기
• AVR과 Arduino의 관계 이해
• Arduino 프로그래밍 실습
2일차 - UART&JTAG Hacking
[UART Hacking]
• 하드웨어 레벨 프로토콜의 이해 : UART, I2C(2-wire, TWI), SPI
• UART Programming의 이해
• Logic Analyzer를 이용한 UART 프로토콜 분석 실습
• UART Pin 찾기 실습
• 유무선 공유기 UART 연결 실습
• Baudrate 분석 실습
• 스마트폰(갤럭시S) UART 연결 실습
• UART 쉘을 이용한 바이너리 추출 실습
• 각종 기기들에 대한 UART 연결 시연 (스마트 TV, 홈 네트워크 시스템, CCTV, NAS 장비)
• UART 해킹 case by case
[JTAG Hacking]
• JTAG의 개념 및 작동 원리 이해하기 (TDI, TDO, TCK, TMS, TRST)
• TAPC(Test Access Port Controller) 상태도 이해하기
• JTAG 실전 활용 예제
• 상용 JTAG 툴 소개 : Riffbox Jtag, H-JTAG, AD-JTAG
• JTAG Pin Scanning : Jtagulator, JTAGenum
• JTAG을 이용한 펌웨어 획득 실습
• JTAG을 이용한 동적 디버깅 실습
3일차 - Flash Memory 덤프 실습
• Flash Memory 기초
• Winbond W25Q16BV Flash Memory의 이해
• 마이크로 프로세서 GPIO Handling 실습
• SPI 프로토콜의 이해
• Flash Memory Dumper 개발 실습
• Desoldering 실습
• Winbond W25Q16BV Serial Flash Memory Dump 실습
• 8-pin Test-clip 활용 실습
• Dump된 Firmware Image 분석 및 바이너리 파일 추출 실습
[Hardware]
• AVR 개발 키트(jmod-128-1)
• UART, JTAG 장비
• 점퍼 케이블, 빵판 및 각종 센서들
------------------------------------------------------------
1일차 - CANbus Hacking
• CAN(Controller Area Network) 통신의 이해
• ECU(Electronic control unit)의 이해
• CANbus lines 연결하기 실습
• CANbus Hacking Tool 개발 실습
• CAN Message Sniffing 실습
• CAN Message 송신(Injection) 실습
• CAN Message 포맷의 구조 이해
• CANbus Controller와 Transceiver의 이해
• Car Network 종류들의 이해
• 차량진단 표준의 이해와 해킹 관점에서의 활용
• 실제 차량의 OBD-II 포트와 연결하기 실습
• 주요 자동차 해킹 사례 및 취약점 발생 원리 분석
• 2010 - Experimental Security Analysis of a Modern Automobile
• 2011 - Comprehensive Experimental Analyses of Automotive Attack Surfaces
• 2013 - Adventures in Automotive Networks and Control Units
• 2014 - A Survey of Remote Automotive Attack Surfaces
• 2015 - Remote Exploitation of an Unaltered Passenger Vehicle
• 2015 - How to Hack a Tesla Model S
• 2015 - Broadcasting Your Attack: Security Testing DAB Radio In Cars
• 2015 - Drive it like you Hacked it: New Attacks and Tools to Wireles
• 2016 - Advanced CAN injection technique for vehicle networks
• 2016 - Car Hacking Research: Remote Attack Tesla Motors
• 2017 - The CIA may be hacking cars
• 자동차 Attack Vector의 이해
• Hardware Vulnerabilities Analysis (UART/JTAG/OBD-II)
• Audio/Video/Navigation Device Vulnerabilities Analysis
• Smart Device Vulnerabilities Analysis
• Telematics Device Vulnerabilities Analysis
• ETC : Web Browser, Smartphone APP, Radio Data System, Cloud Server
2일차 - Infotainment System Hacking
• Bluetooth based Car Hacking
• Bluetooth 기초 (master/slave, piconet, bluetooth stack)
• Bluetooth module 사용 실습
• Bluetooth Packet 송수신 실습
• Bluetooth Packet sniffing 실습
• Bluetooth Profile의 이해
• Bluetooth Profile Scanning 실습
• 차량용 디바이스의 주요 Profiles
• 차량의 주요 Bluetooth 관련 기능들
• 차량의 Bluetooth Packet Sniffing 및 분석
• 차량 Bluetooth의 주요 Attack Vectors
• Bluetooth Packet 변조 실습
• USB based Car Hacking
• 차량 USB의 주요 Attack Vectors
• USB(Universal Serial Bus) 기초
• Beagle USB 480을 이용한 USB Packet Sniffing
• 주요 USB Packets 분석(Device, Configuration, Interface, Endpoint, String Descriptor)
• USB Packet Fuzzing 환경 구축
• OrangePi를 이용한 USB fuzzer 개발
• Linux USB Gadget의 이해
• USB Stack Fuzzing
• USB based OS File system Fuzzing
• USB based Multi-media file Fuzzing
3일차 - Telematics System Hacking
• TCU(Telematics Control Unit)의 이해
• SMS PDU 포맷의 이해
• PDU 포맷 분석 실습
• PDU 데이터를 이용한 SMS 전송 실습
• Modem device를 이용한 SMS 전송 실습
• 보내는 SMS와 받은 SMS의 PDU 필드 값 비교
• MMS(Multimedia Messaging Service) 전송하기
• PDU-Header 및 TP-UDHI 필드의 이해
• IEI(Identity Element Identifie)와 Application Port의 이해
• SMS Hacking 사례 분석
• SMS Fuzzing 환경 구축
• Android telephony stack의 이해
• SMS 수신 시의 데이터 흐름 경로 분석 및 Fuzzing 지점 선정
• SMS Fuzzer 개발 방법의 이해
• Fake BTS를 이용한 SMS attack (USRP + OpenBTS)
'경로 및 정보' 카테고리의 다른 글
notepad 문자열 앞뒤 추가 (0) | 2022.12.09 |
---|---|
notepad++ 빈줄제거 및 공백조절 (0) | 2022.12.09 |
brocade_switch (0) | 2022.10.28 |
CAN 통신 강의 (0) | 2022.10.28 |
[Windows - Tip] 무료 대용량 텍스트 파일 읽기 프로그램 (0) | 2022.10.27 |