Professional Documents
Culture Documents
(종료PA) FUZZIT 1.0.2
(종료PA) FUZZIT 1.0.2
2
[종료 PA]
커넥티드자율주행시스템실
사이버보안기술팀
02. 수행 내용
03. 결론
Table of contents
01. 개요
• 자동차를 대상으로 안전성 및 보안성을 갖춘 제품을 생산하기 위해 개발, 생산, 생산 후 과정 전반에 걸쳐 조직이 적절한
목적
보안 조치를 취하도록 보장하기 위함
• 2020년 6월 채택
• 2022년 7월 신규 자동차 적용 (유럽)
적용 시점
• 2024년 7월 전체 자동차 적용 예정 (유럽)
※ 완성차 업체 정부기관으로부터 UNECE WP.29의 차량 형식 승인 필요
’22 7월 ’24 7월
’20 6월 채택
신규 자동차 적용 전체 자동차 적용
02. ISO 21434
• Part9 | 컨셉
- 항목 정의
컨셉 단계 - 사이버보안 목표
- 사이버보안 컨셉
• Part15 | 위협 분석 및 위험 평가
- 자산 식별
- 위협 시나리오 식별
위협 분석 및 - 영향 등급
위험 평가 (TARA) - 공격 경로 분석
- 공격 가능성 평가
- 위험 값 결정
- 위험 처리 결정
03. ISO 21434와 퍼징 검증
제품 개발 제품 검증
사이버보안
요구사항 하위 모듈 상위 모듈
사이버보안 사이버보안 사이버보안
시스템 시스템
목표 컨셉 확인
사이버보안 통합 및 확인 통합 및 확인
아키텍처 설계
퍼징 검증이란?
▪ 유효한 혹은 유효하지 않거나, 예기치 않은 값을 다수 입력하여 예상하지 못한 결함을 찾기 위한 검증
▪ 자동차 제어기 대상으로 수행 시 제어기의 리셋, 응답 없음, 비정상 동작 등의 결함 검출 가능
퍼징 검증 수행 프로세스
결과 분석 결과 확인 검증 수행
결과를 분석하여, 결함 발생 도출된 검증 결과 확인 퍼징 검증 수행
여부 확인
05. 퍼징 검증 자동화 솔루션
FUZZIT
▪ 자동차 제어기의 잠재적 보안 취약점 검출을 위한 퍼징 검증 자동화 도구
▪ 통신 인터페이스 사양 문서를 분석하여 생성한 테스트 케이스로 검증 수행 및 결함 검출
FUZZIT 도구 실행 화면
06. 수행 일정
1.0.2 버전 개발 수행 일정
2021년 2022년
분류 수행 내용
5월 6월 7월 8월 9월 10월 11월 12월 1월 2월 3월 4월 5월 6월 7월 8월 9월 10월
요구사항도출
설계
아키텍처 및 상세 설계
프로젝트 관리 기능 구현
테스트 수행 관련 기능 구현
데이터 생성 관련 기능 구현
결함 판단 기능 구현
구현
결함 재현 기능 구현
CAN 통신 인터페이스 통합 및 적용
GUI 개발
디자인 적용
코드 통합
통합 및
검증
COVER 기반 검증 수행
RT FUZZIT (v1.0.1) RT 대응
릴리즈(10/7)
02. 수행 내용
FUZZIT 통신 인터페이스 정보
(CAN DBC, EthCC 등)
제어기 출력 정보
CAN message
(fuzz Data)
Monitor ECU
CAN message
(제어기 출력)
02. 요구사항 도출
구분 요구사항 설명 도출 건수
프로젝트 및 데이터 관리 프로젝트 생성, 열기, 저장 및 테스트 데이터 열기 및 저장과 관련된 요구사항 21
총 개수 86 건
데이터 생성 테스트 수행
결함 판단 결함 재현
SW 아키텍처 설계
▪ GUI, Engine, Core로 구분하여 SW 아키텍처 설계
SW 아키텍처
04. 개발(1/4)
통신 인터페이스 사양 구조 분석
메시지 및 시그널 구조 분석
테스트 케이스 생성
Mutation
Bit flip
Arithmetic mutation
Block-based mutation
Dictionary-based mutation
04. 개발(2/4)
테스트 수행
▪ 테스트 상태는 시작, 일시정지, 중지, 재현으로 구분
▪ 각 테스트 상태에 따른 세부 동작을 정의하고 상태 다이어그램 작성 및 구현
1. 선택 재현 종료
2. 모니터/ECU 끊김
IDLE
선택 재현 수행
1. 테스트 완료
테스트 시작
2. 테스트 중지
Processing Reproduce
1. 테스트 일시정지
2. 모니터/ECU 끊김 1. 테스트 시작
3. 선택/자동 재현 수행 2. ECU 재연결
선택/자동 재현 수행
Pause
테스트 중지
1. 선택/자동 재현 종료
2. 모니터/ECU 끊김
상태 별 정의
설정한 결함 판단 기준에 따른 결함 판단
▪ 모니터로부터 받은 제어기 출력을 분석하여 결함 판단을 할 수 있도록 기능 구현
▪ 결함 발생 여부는 메시지의 지연 및 고장코드의 발생 여부로 확인
메시지 지연 고장코드 발생
설정 가능한
모니터링을 원하는 메시지 Id, 지연 기준 시간, 오차 범위 모니터링을 원하는 값 (고장 코드)
세부 사항
결함 판단 기준
입력 화면
04. 개발(4/4)
발생한 결함에 대한 재현
▪ 발생한 결함을 자동/선택 재현할 수 있는 기능으로 결함의 재현 여부에 따라 이상현상과 취약점으로 구분
▪ 재현은 이전 결함이 발생한 시점부터 현재 결함이 발생한 시점까지의 테스트 데이터를 재전송
검증수행 / 대기 재현 수행
N
재현 성공 ?
N
이상현상 등록 재현 결함 == 이상현상?
Y
Y
이전에 취약점 등록?
취약점 등록
결함 재현 프로세스 결함 재현 화면
05. 통합 및 검증
코드 통합 및 COVER 기반 검증
▪ 엔진 및 GUI 통합 후 COVER를 활용하여 요구사항 기반의 커버리지 측정 및 분석 진행
도출된 요구사항 대비 개발 현황
▪ 도출된 요구사항 86건 중 71건 개발 완료
▪ 미개발 요구사항의 경우 대부분 결과 보고서 및 테스트 데이터 관련 부분으로 일부는 다음 버전에서 지원 예정
구분 요구사항 설명 도출 건수 개발 현황
프로젝트 및 데이터 관리 프로젝트 생성, 열기, 저장 및 테스트 데이터 열기 및 저장과 관련된 요구사항 21 15
총 개수 86 71
도출된 요구사항 대비 개발 현황
01. 수행 결과(2/2)
종합 평가
▪ 초기 도출한 요구사항 대비 82.56% 개발 완료
▪ 미개발 항목의 경우 추가 검토 후 다음 버전에서 지원 예정
▪ 팀 내 개발 역량 확보
▪ 사내 타 개발팀과의 협업을 통한 팀 내 개발 역량 확보
▪ 개발 초기 인력 부족으로 인해 해외 외주 개발자와 협업을 진행하였으나, 팀 역량 확보를 통해 내재화 진행
▪ 이슈 대응 미흡으로 인한 RT 일정 지연 발생
▪ RT 초반, 경험 부족으로 인해 이슈 조치 기간이 증가하여 일정 지연 발생
▪ 5차 RT 이후 거의 지연 없이 진행 됨
02. 향후 계획