10
Automotive CyberSecurity Training Course Security Product Development

Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity

Training Course

Security Product Development

Page 2: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 2

Table of Contents

1 Security Product Development .......................................................................................................................3

Overview ........................................................................................................................................................................ 3

Training goals ........................................................................................................................................................ 3

Contents ......................................................................................................................................................................... 4

Introduction ........................................................................................................................................................... 4

Security Basics ....................................................................................................................................................... 5

Secure Software Development Lifecycle ....................................................................................................... 6

Cryptographic Algorithms & Protocols ......................................................................................................... 7

Authentication & Authorization ....................................................................................................................... 8

Security Principles ................................................................................................................................................ 9

Secure Coding..................................................................................................................................................... 10

Page 3: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 3

1 Security Product Development

Overview

사이버보안의 중요성이 대두됨에 따라 세계 각 기관에서는 사이버보안 가이드라인과 법규

그리고 원칙들을 배포하고 있습니다. 뿐만 아니라 자동차 사이버보안을 위한 ISO 표준화도

진행 중입니다. 이러한 사이버보안 문서에 대한 올바른 이해를 통해 가이드라인을 준수하고

안전한 보안 제품을 개발하기 위해서는 보안 용어/원칙/기술에 대한 이론적 배경이

필요합니다. 또한 개발 라이프 사이클 전 영역에 걸쳐서 필요한 보안 활동을 식별해야 하고,

위협에 대응할 수 있는 보안 대책을 도출할 수 있는 능력이 요구됩니다.

이 교육에서는 사이버보안에서 일반적으로 사용되는 용어, 알고리즘, 프로토콜에 대한 동작

방식과 제약 사항, 보안 원칙 그리고 접근 제어에 대한 기반 지식을 배울 수 있습니다. 이러한

기반 지식은 보안 가이드라인, 표준 및 보안 요구사항을 올바르게 분석할 수 있도록 하고,

나아가서는 더욱 안전한 제품 개발에 도움을 줍니다.

Training goals

사이버보안 용어에 대한 이해

개발 라이프 사이클 전 영역에 걸친 보안 활동 식별

안전한 암호 알고리즘/운영모드/키 길이에 대한 이해

공개키/대칭키 암호화 방식에 대한 특징 및 차이점의 이해

접근제어의 동작 흐름과 인증/인가에 대한 이해

접근제어 모델(MAC/DAC/RBAC)의 특징 및 차이점의 이해

보안 원칙과 컨셉에 대한 이해

보안 취약점을 줄이기 위한 시큐어 코딩 방법의 이해

Page 4: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 4

Contents

Day Contents

Day 1

Introduction

Security Basics

Secure Software Development Lifecycle

Cryptographic Algorithms & Protocols

Day 2

Authentication & Authorization

Security Principles

Secure Coding

Introduction

이 모듈에서는 사고 사례 및 취약점 통계를 통해 보안의 필요성과 제품에 보안을 적용하는데

발생하는 다양한 어려움에 대해서 설명합니다. 또한 교육 참가자 스스로 자신의 보안

배경지식을 평가하는 시간을 가집니다.

Training setup & structure

Motivation Part I - Awareness Stories

o Why is secure product design important?

Motivation Part II - Different Aspects of Security

o Why is secure product design difficult?

Training Agenda

Self-Assessment

Page 5: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 5

Security Basics

사이버보안 용어는 보안 문서나 이해 당사자 간 대화 시 일반적으로 사용되므로 용어에 대한

올바른 이해는 보안 업무를 수행하는데 필수적입니다. 이 모듈에서는 두 가지 측면을 기준으로

사이버보안 용어의 의미와 연관관계를 그림을 통해 체계적으로 설명합니다. 또한 이 용어들은

"Security Risk Analysis“를 수행하기 위한 기반지식이 됩니다.

Basic terminology – Part 1

o Offensive view: Security Assets, Vulnerability, Threat Agent, Threat Action, Security Risk

Basic terminology – Part 2

o Defensive view: Security Objective, Security Requirement, Security Measure

Security quality considerations

Page 6: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 6

Secure Software Development Lifecycle

이 모듈에서는 보안 소프트웨어 개발 라이프 사이클(SSDL)의 중요성과 라이프 사이클 단계

별 보안 활동에 대해서 설명합니다. 또한 STRIDE 위협 모델링 방법론을 통해 어떻게 위협을

식별하고, 완화하는지 설명합니다. 애자일 개발 방법론에 대해서 소개하고, 교육 참가자들의

업무 환경과 경험을 비교하며 토의를 진행합니다.

Introduction & Motivation

Security activities for a classical SW product development process

Threat modelling (STRIDE)

Secure agile SW development

Page 7: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 7

Cryptographic Algorithms & Protocols

이 모듈은 Cryptographic primitives 및 프로토콜의 이점과 한계를 이해하는데 도움을 줍니다.

교육 참가자들은 보안에 기본이 되는 주요 원칙과 난수발생기(RNG), 해시함수(Hash) 그리고

대칭/비대칭 키 알고리즘에 대해 학습합니다.

Motivation & Introduction

o Basic terminology, benefits & limitations of cryptography

Fundamental crypto principles

o Kerkhoffs‘s principle, key length vs. security

Symmetric vs. asymmetric cryptography & cryptographic protocols

o Technical survey and comparison

Symmetric cryptography

Asymmetric cryptography

Public-key certificates & public-key infrastructure

Cryptographic protocols

Applications & practical advice

o Application tutorial, cryptographic libraries

Page 8: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 8

Authentication & Authorization

인증과 인가는 접근제어의 중요한 개념입니다. 이 모듈에서는 접근제어의 기본용어와

동작흐름에 대한 설명을 시작으로 인증과 인가의 차이점에 대해서 설명하고 응용 시나리오에

적용된 사례를 통해 인증과 인가에 대한 올바른 이해를 돕습니다. 또한 대표적인 접근제어

모델인 MAC/DAC/RBAC 에 대한 동작 방식과 차이점을 설명합니다. 마지막으로 세션관리에서

발생 할 수 있는 문제점과 해결방법에 대해서 설명합니다.

Introduction & access control basics

Terminology, access control process flow & techniques

Authentication techniques

Focus: secure password-based authentication

Authorization techniques

Focus: Role-based access control

Secure session management basics

Outlook: Advanced topics

Page 9: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 9

Security Principles

안전한 제품을 설계하기 위해서는 보안 원칙이 바탕이 되어야 합니다. 보안 원칙은 추상적인

디자인 아이디어이며, 설계 및 구현, 유지 보수하는 방법에 대한 일반적인 가이드라인의

근간이 됩니다. 이 모듈에서는 보안 원칙 대해서 설명하고 상반되는 성격의 원칙에 대해서도

알아봅니다. 이를 통해 적절한 보안 원칙에 기반한 가이드라인과 나아가서는 안전한 제품을

설계하고 개발할 수 있도록 돕습니다.

Defense-in-Depth

Trust Boundaries

Keep it simple

Least privilege

Separation of Duties

Error & Exception Handling

Page 10: Automotive CyberSecurity Training Course - ESCRYPT · 2019-05-23 · Automotive CyberSecurity Training Course | 3 1 Security Product Development Overview 사이버보안의 중요성이

Automotive CyberSecurity Training Course | 10

Secure Coding

구현 단계의 보안은 두 가지에 초점을 맞춰야 합니다. 하나는 시스템에 이미 알려진 취약점이

존재하지 않도록 하는 것이고, 또 다른 하나는 소프트웨어 구현 간 취약점을 만들어 내지 않는

것 입니다.

이 모듈에서는 C.V.E 를 통해 알려진 취약점을 어떻게 참조할 수 있는 지와 소프트웨어 구현

간 발생 할 수 있는 취약점을 줄이기 위해서 고려해야 할 코딩 규칙에 대해서 설명합니다.

Secure Software Development

Weakness, Vulnerability & Attack References

Defensive Copying

Input Validation