본문으로 바로가기

CIA 보안 3원칙 (출처: https://www.wallarm.com/what/cia-triad-definition)

기밀성 (Confidentiality)

기밀성은 정보가 승인된 사용자만 접근할 수 있도록 보장하는 것

예를 들어, 한 회사가 재무 데이터베이스를 관리하고 있다면, 승인된 사용자 A와 B만 이 데이터를 접근할 수 있어야 함

만약 승인되지 않은 사용자가 민감한 정보(예: 직원 개인정보)에 접근 시도한다면?

이를 보호하기 위해 암호화 키를 승인된 사용자에게만 제공하여 데이터에 대한 접근 권한을 관리

 

예시 : 차량 개인정보

- 현대 차량에는 인포테인먼트 시스템, 개인 설정, 운전자 프로필, 위치 기록 등 민감한 정보가 저장

- 이러한 정보는 차량의 사용자나 소유자만 접근할 수 있어야 함

 

관련 기술 : 암호화, 접근 제어, 데이터 마스킹 등


무결성 (Integrity)

 

무결성은 정보가 정확하며, 승인되지 않은 사람에 의해 변경되지 않았음을 보장하는 것을 의미

데이터의 일관성, 정확성, 신뢰성을 유지하는 데 중점

 

예시: CAN 버스 메시지

차량 내 CAN 버스에는 차량 제어 및 브레이크와 관련된 메시지가 포함됨

만약 승인되지 않은 사용자가 CAN 버스에 접근하여 차량 속도를 0으로 보내는 데이터를 주입한다면, 차량이 잘못된 속도 데이터를 기준으로 브레이크를 작동시킬 수 있음

예를 들어, 시속 70km로 달리는 중에 이런 일이 발생하면 큰 사고로 이어질 수 있으므로 위험

 

관련 기술 : 해싱, 디지털 서명, 지속적 모니터링 등


가용성 (Availability)

정보와 시스템이 필요할 때 승인된 사용자에게 항상 접근 가능하도록 보장하는 것

 

예시: OTP

온라인 결제 시 OTP를 제때 받을 수 있어야 결제를 완료할 수 있음

만약 OTP가 늦게 도착하거나 도착하지 않는다면, 사용자는 결제를 진행할 수 없음

 

예시 : 차량 스마트키

차량의 원격 키를 사용해 잠금/해제를 해야 하지만, 공격(예: 신호 방해, 중간자 공격)으로 인해 이를 수행할 없을 수 있음 (이 경우 가용성이 손실된 것)

 

관련 기술 :
이중화(Redundancy) : 동일한 시스템을 여러 개 두어 장애 발생 시 대체 (예: RAID, 이중 전원, 네트워크 이중화)
로드 밸런싱(Load Balancing) : 여러 서버에 트래픽을 분산하여 특정 서버 과부하 방지 (예: Nginx, HAProxy)
Failover : 장애 발생 시 자동으로 대체 시스템으로 전환 (예: Active-Standby 서버 구성)

 


위협 모델링 : STRIDE

 

위협을 식별하는 데 사용하는 Microsoft가 발명한 위협 모델링(Threat Modeling) 방법론인 STRIDE 모델

STRIDE 방법론을 적용하면 사이버 보안과 관련된 모든 위협 벡터를 효과적으로 식별할 수 있으며, 개발 단계에서 사이버 보안 위험을 사전에 식별하고 대응할 수 있도록 도움

 

STRIDE threat modeling (출처 : https://insights.sei.cmu.edu/blog/threat-modeling-12-available-methods/)

 

 

S: Spoofing (스푸핑) - 자신이 아닌 다른 사람이나 무언가로 가장하는 행위

T: Tampering (변조) - 데이터나 코드 등을 조작하는 행위

R: Repudiation (부인) - 특정 행동이나 거래를 부인하는 행위

I: Information Disclosure (정보 공개) - 정보를 비인가된 개인에게 노출하는 행위

D: Denial of Service (서비스 거부) - 시스템의 정상적인 작동을 방해하는 행위

E: Elevation of Privilege (권한 상승) - 비인가된 사용자가 더 높은 수준의 접근 권한을 얻는 행위

 

S: 스푸핑 (Spoofing)

스푸핑은 공격자가 합법적인 사용자로 위장하여 계정에 접근

공격 시나리오:
OBD-II 스캐너를 통해 차량과 통신하며 ECU 데이터를 추출하거나 변조하여 차량 결함을 위장하거나 원격 조작

 

T: 변조 (Tampering)

변조는 데이터를 수정하거나 코드를 조작

공격 시나리오:
OTA 도중 악성 코드를 삽입해 차량의 ADAS 기능을 비활성화

 

R: 부인 (Repudiation)

부인은 특정 행동이나 거래를 부인하는 행위

공격 시나리오:

차량 내 블랙박스 또는 차량 데이터 로거가 사고 기록을 저장하지만, 해커가 이를 조작하여 사고 기록을 삭제 또는 변조할 수 있음

 

I: 정보 공개 (Information Disclosure)

비인가된 개인에게 민감한 정보를 노출하는 행위

공격 시나리오:
차량 내부의 Wi-Fi/Bluetooth 모듈을 해킹하여 차량 소유자의 개인정보를 유출

 

D: 서비스 거부 (Denial of Service)

시스템의 정상적인 작동을 방해하여 사용자에게 서비스가 제공되지 않도록 하는 행위

공격 시나리오:
차량의 OTA 업데이트 서버를 DDoS 공격하여 차량의 주요 보안 업데이트 방해
CAN Bus 에 과부하 패킷을 전송하여 ECU의 응답을 지연시키거나 시스템이 멈추도록 유도
전기차 충전소의 공용 네트워크를 공격하여 충전 시스템을 마비시켜 전기차 운전자가 차량을 충전할 수 없도록 함

 

E: 권한 상승 (Elevation of Privilege)

비인가된 사용자가 시스템에서 더 높은 권한을 얻는 행위

공격 시나리오:
차량의 내부 네트워크(CAN Bus) 취약점을 이용하여 주행 중 브레이크를 비활성화하거나 조향 장치를 해킹하여 차량이 의도치 않은 방향으로 움직이도록 조작
스마트키 시스템을 해킹하여 관리자 권한을 획득한 뒤, 차량의 도어를 원격으로 열고 시동을 걸어 도난
전기차 충전 시스템의 소프트웨어를 해킹하여 충전소 운영자 계정을 탈취, 특정 차량의 충전 비용을 부과하지 않거나 공격자의 차량만 무료 충전이 가능하게 설정

 

스마트키 관련해서는 재밍 공격이나 신호 가로채기 (릴레이 공격) 이 일어날 수 있는데, 사실 이는 LF 신호를 기반으로 한 구형 스마트키에 해당되는 것이고 최근에는 이미 NFC, BLE 로 전환이 된 것으로 알고 있다.

 

https://www.kipost.net/news/articleView.html?idxno=201174&utm_source=chatgpt.com

 

통신 규격 바뀌는 車 스마트키… 규격별 차이는? - KIPOST(키포스트)

자동차 스마트키의 통신 규격이 바뀌고 있다.현재 대부분의 스마트키에서 쓰는 저주파(LF)가 주파수 신호를 가로채는 ‘릴레이 공격(Relay attack)’ 등 보안에 취약하고, 차량의 위치 파악도 어렵

www.kipost.net

 


해싱 (Hashing)

주어진 데이터나 코드 조각을 읽을 수 없는 형식으로 변환하는 과정

해시함수는 단방향 함수에 해당하고, 데이터를 고정된 크기의 문자열(주로 해시 코드)로 변환하는 데 사용

-> 데이터의 무결성(integrity)을 확인

 

Hashing (출처 : https://cyberhoot.com/cybrary/hashing/)

 

해싱을 통한 무결성 검증 사례

1) Sender가 소프트웨어 코드(XYZ) 를 송신

2) 여기서 해시 함수(예: SHA)를 사용하여 소프트웨어 코드를 해시로 변환 (변환된 값은 읽을 수 없는 형식)

3) Receiver 측에서는 소프트웨어 코드와 함께 해시도 전달받음

4) Receiver 가 동일한 해시 함수를 사용하여 소프트웨어 코드를 해시로 변환한 후, 두 해시 값이 일치하면 데이터가 수정되지 않았음을 확인할 수 있음 -> 이를 통해 소프트웨어의 무결성이 검증됨


암호화와 복호화 (Encryption and Decryption)

암호화는 평문을 암호문으로 변환하는 과정으로, 암호화 알고리즘과 키가 사용됨

복호화는 암호문을 다시 평문으로 변환하는 과정

-> 데이터의 기밀성(confidentiality)을 보호하여 허가된 사용자만 데이터를 읽을 수 있도록 하는 것

 

Encryption and Decryption (출처 :https://www.simplilearn.com.cach3.com/data-encryption-methods-article.html)

 

암호화 및 복호화를 통한 기밀성 유지 사례

1) Sender가 소프트웨어 코드(XYZ) 를 송신

2) 송신 시 공개 키(public key)를 사용하여 데이터를 암호화하고 암호문만 송신

3) 받는 사람은 개인 키(private key)를 사용하여 암호문을 복호화하여 원래 데이터 복원

-> 데이터가 가로채지더라도 기밀성이 유지됨 (공격자는 암호문 해독 불가)

반응형