C-12: 제어시스템 운영 정보, 제어 명령 등 중요 정보에 대한 위변조 및 replay 공격 방지 대책 적용
분류: Control System
중요도: 중
개요
점검 내용
HMI, PLC 등을 통해 제어설비에 전송되는 제어 명령이 스니핑(임의 지정) 등의 패킷 감청 등으로 중간에 해당 패킷을 가로채 위변조할 수 없도록 하고, 해당 패킷 재사용을 통한 제어설비 전송, 조작 여부 점검
점검 목적
제어 명령이 비인가자에게 노출되거나 중간에서 가로챌 수 없도록 하고, 이를 재사용할 수 없도록 하여 안정적인 제어시스템을 운영하기 위함
보안 위협
- 제어시스템을 구성하는 HMI, PLC 등의 제어 H/W, 제어 S/W에서 보안이 고려되지 않은 프로토콜을 이용하는 시스템에 따라서는 제어 명령을 가로챌 수 있는 취약점이 공개되어 있어 해당 취약점으로 인한 공격이 성공하는 경우 비인가자가 제어설비의 운영 권한을 획득할 위험이 존재함
- 취약점 예시: ‘20. 1. 14. 공개된 취약점으로 GE사의 PACSystems RX3i 제품군에서 조작된 패킷이 전달되면 모듈 상태가 중지 모드로 변경되어 서비스거부가 발생하는 취약점이 발견됨 (ICSA-20-014-01)(CVE-2019-13524)
참고
무결성 체크
데이터의 무결성을 확인하기 위해 SHA-256 등의 해시 함수를 이용하여 데이터가 최초 원본 상태와 다른 변형된 것이지 확인
Replay 공격
네트워크상의 정보 프레임을 수집한 뒤 해당 메시지를 재전송함으로써 갱신되지 않은 정보의 전달이나, 대상 장비에게 정당한 정보 전송으로 인식시켜 오류를 유도하는 공격 기법으로, HMI 서버와 RTU 사이의 통신선로에 인가되지 않은 해킹 기기를 접속시켜 각각 HMI 서버와 RTU에 해당 공격을 수행 가능
점검 대상 및 판단 기준
대상
운영 정보 등 중요 정보를 다루는 제어시스템 구성요소
판단 기준
✅ 양호: 제어 명령을 암호화 전송하거나 송수신 정보의 무결성을 확인(위·변조 여부 확인)하고, 재사용 방지(인증, 시간 확인, 세션 확인 등) 과정을 거치도록 하는 경우
❌ 취약: 제어 명령이 암호화되지 않고 평문 전송되거나, 송수신 정보의 무결성을 확인하지 않거나, 재사용 방지(인증, 시간 확인, 세션 확인 등) 과정을 거치지 않는 경우
조치 방법
전송되는 정보를 암호화하거나 무결성을 점검할 수 있도록 하고 재사용을 방지할 수 있도록 설정 변경하거나 불가능할 경우, 제조사와 협의하여 보완대책 마련
조치 시 영향
일반적인 경우 영향 없음
점검 및 조치 사례
공통
- 전송되는 제어 명령을 스니핑(Sniffing)하여 암호화 송수신이 이루어지는지 확인하고 암호화가 필요함에도 평문 전송이 이루어지고 있다면 암호화 전송되도록 송수신 장비의 설정 변경
-
제어 명령을 수신 및 송신하는 경로의 네트워크 장비에 트래픽 수집 도구 또는 제어 명령을 수신하는 서버나 PC에서 스니핑 도구를 설치, 이용하여 전송되는 데이터가 암호화되는지 점검
- 스니핑 도구가 설치된 시스템의 LAN 카드를 지정하면 해당 LAN 카드를 통해 송수신되는 데이터 패킷을 캡쳐하여 문자열이 평문인지 또는 암호화된 것인지 확인할 수 있음 [ WirkShark을 설치, 실행한 화면 ]
-
제어 명령을 송수신하는 서버 및 PC 등이 전송된 데이터가 원본과 일치하는지를 확인하는 무결성 체크 과정을 거치는지 점검하고 무결성 체크 없이 송수신된다면(별도 전송 장비를 사용하는 경우) 송수신 장비의 설정을 변경하거나 이에 대한 자체적인 보완대책 수립
- 해당 항목 점검방법은 송수신되는 데이터를 조작하여 발송한 뒤 무결성 점검 없이 정상 수신되는지를 확인하는 방식으로 이루어져야 하나, 점검 환경의 제약이 따르는 경우는 대상 제어시스템의 개발, 운용 확인