C-12 제어시스템 운영정보, 제어명령 등 중요정보에 대한 위변조 및 Replay 공격 방지대책 적용
가이드라인 원문
| 항목 | 내용 |
|---|---|
| 항목코드 | C-12 |
| 점검내용 | HMI, PLC 등을 통해 제어설비에 전송되는 제어 명령이 스니핑(임의 지정) 등의 패킷 감청 등으로 중간에해당패킷을가로채위변조할수없도록하고,해당패킷재사용을통한제어설비전송,조작여부 점검 |
| 점검대상 | 점검대상및판단기준 |
| 판단기준 | 양호: 제어 명령을 암호화 전송하거나 송수신 정보의 무결성을 확인(위·변조 여부 확인)하고, 재사용 방지(인증,시간확인,세션확인등)과정을거치도록하는경우 |
| 판단기준 | 취약: 제어명령이암호화되지않고평문전송되거나,송수신정보의무결성을확인하지않거나,재사용 방지(인증,시간확인,세션확인등)과정을거치지않는경우 |
| 조치방법 | 전송되는 정보를 암호화하거나 무결성을 점검할 수 있도록 하고 재사용을 방지할 수 있도록 설정 변경하거나불가능할경우,제조사와협의하여보완대책마련 |
상세 설명
1. 항목 개요
제어시스템의 HMI, PLC 등을 통해 전송되는 제어 명령이 스니핑, 패킷 감청 등으로 중간에 가로채어 위변조되거나 재사용되는 것을 방지하는 것은 제어시스템의 안정적인 운영을 위한 필수적인 보안 조치입니다.
Replay 공격(재생 공격)은 네트워크상의 정보 프레임을 수집한 뒤 해당 메시지를 재전송함으로써 공격자가 정당한 정보 전송으로 인식시켜 오류를 유도하는 공격 기법입니다.
2. 왜 이 항목이 필요한가요?
이 항목은 제어명령이 비인가자에게 노출되거나 중간에서 가로채질 못하도록 하고, 이를 재사용할 수 없도록 하여 안정적인 제어시스템을 운영하기 위함입니다.
보안 위협 시나리오:
제어 명령 가로채기
- HMI, PLC 등의 제어 H/W, 제어 S/W에서 보안이 고려되지 않은 프로토콜 사용
- 제어 명령을 가로채어 제어설비의 운영권한 획득
패킷 위변조 공격
- 중간에서 패킷을 가로채어 위변조
- 조작된 패킷 전송으로 제어설비 오작동 유발
Replay 공격
- 네트워크상의 정보 프레임 수집 후 재전송
- HMI 서버와 RTU 사이 통신선로에 해킹 기기 접속
- 정당한 정보 전송으로 인식시켜 오류 유도
취약점 사례
- GE사 PACSystems RX3i 제품군 취약점(ICSA-20-014-01, CVE-2019-13524)
- 조작된 패킷이 전달되면 모듈 상태가 중지 모드로 변경되어 서비스거부 발생
3. 점검 대상
- 운영정보 등 중요정보를 다루는 제어시스템 구성요소
- HMI, PLC, RTU 등 제어설비
- 제어 명령을 송수신하는 서버 및 PC
4. 판단 기준
- 양호: 제어 명령을 암호화 전송하거나 송수신 정보의 무결성을 확인(위·변조 여부 확인)하고, 재사용 방지(인증, 시간확인, 세션확인 등) 과정을 거치도록 하는 경우
- 취약: 제어 명령이 암호화되지 않고 평문 전송되거나, 송수신 정보의 무결성을 확인하지 않거나, 재사용 방지(인증, 시간확인, 세션확인 등) 과정을 거치지 않는 경우
5. 점검 방법
공통 점검 절차
Step 1) 암호화 전송 여부 확인
전송되는 제어 명령을 스니핑(Sniffing) 하여 암호화 송수신이 이루어지는지 확인합니다. 암호화가 필요함에도 평문 전송이 이루어지고 있다면 암호화 전송되도록 송수신 장비의 설정을 변경합니다.
Step 2) 암호화 여부 점검
제어 명령을 수신 및 송신하는 경로의 네트워크 장비에 트래픽 수집 도구 또는 제어 명령을 수신하는 서버나 PC에서 스니핑 도구를 설치, 이용하여 전송되는 데이터가 암호화되는지 점검합니다.
- 스니핑 도구가 설치된 시스템의 LAN 카드를 지정하면 해당 LAN 카드를 통해 송수신되는 데이터 패킷을 캡쳐하여 문자열이 평문인지 또는 암호화된 것인지 확인할 수 있음
Step 3) 무결성 체크 여부 확인
제어 명령을 송수신하는 서버 및 PC 등이 전송된 데이터가 원본과 일치하는지를 확인하는 무결성 체크 과정을 거치는지 점검합니다. 무결성 체크 없이 송수신된다면 (별도 전송 장비를 사용하는 경우) 송수신 장비의 설정을 변경하거나 이에 대한 자체적인 보완대책을 수립합니다.
Step 4) Replay 공격 방지 여부 확인
해당 항목 점검방법은 송수신되는 데이터를 조작하여 발송한 뒤 무결성 점검 없이 정상 수신되는지를 확인하는 방식으로 이루어져야 하나, 점검 환경의 제약이 따르는 경우는 대상 제어시스템의 개발, 운용 확인을 수행합니다.
6. 조치 방법
암호화 적용
암호화 프로토콜 사용
- 전송되는 정보 암호화
- SSL/TLS 등 보안 프로토콜 적용
송수신 장비 설정 변경
- 암호화 전송되도록 설정
- 별도 전송 장비 사용 시 암호화 기능 추가
무결성 체크 적용
해시 함수 사용
- SHA-256 등의 해시 함수를 이용한 무결성 확인
- 데이터가 최초 원본 상태와 다른 변형된 것인지 확인
무결성 체크 프로세스 구축
- 전송 데이터 무결성 검증
- 위·변조 여부 확인
Replay 공격 방지
인증 메커니즘 적용
- 패킷 인증 절차 도입
시간확인 적용
- 타임스탬프를 통한 재사용 방지
세션 확인 적용
- 세션 기반 재사용 방지
일회용 패킷 사용
- 패킷 재사용 방지를 위한 일회성 토큰 활용
7. 조치 시 주의사항
- 일반적인 경우 영향 없음
- 점검 환경의 제약이 따르는 경우 대상 제어시스템의 개발, 운용 확인
- 설정 변경 불가능한 경우 제조사와 협의하여 보완대책 마련
- 암호화 적용 시 제어시스템 성능 영향도 검토 필요
8. 참고 자료
- NIST SP 800-82: Guide to Industrial Control Systems Security
- IEC 62443: Industrial Communication Networks - Network and System Security
- CVE-2019-13524: GE PACSystems RX3i Vulnerability
요약
제어시스템의 운영정보, 제어명령 등 중요정보에 대해 암호화 전송, 무결성 체크, Replay 공격 방지대책을 적용하여 제어시스템의 안정적인 운영을 보장해야 합니다.