An Approach to Generate Attack Graphs with a Case Study on Siemens PCS7 Blueprint for Water Treatment Plants
이 논문은 네트워크 토폴로지와 취약점 데이터를 통합하여 산업 제어 시스템 (ICS) 의 다단계 공격 시나리오를 시각화하고 분석하는 반자동 공격 그래프 생성 기법을 제안하며, 수처리 플랜트의 지멘스 PCS7 보안 청사진에 대한 사례 연구를 통해 해당 프레임워크의 유효성과 위험 완화 통찰력을 입증합니다.
원저자:Lucas Miranda, Carlos Banjar, Daniel Menasche, Anton Kocheturov, Gaurav Srivastava, Tobias Limmer
수처리 공장이나 발전소 같은 산업 시설은 과거에는 외부와 완전히 차단된 '성'처럼 운영되었습니다. 하지만 지금은 인터넷과 연결되면서 성의 문이 열리게 되었습니다. 문제는 이 성이 너무 복잡하고 커서, **해커가 성 안으로 들어갈 수 있는 모든 숨겨진 통로 **(공격 경로)를 찾기 어렵다는 것입니다.
기존에는 보안 전문가들이 손으로 하나하나 통로를 찾아보느라 시간이 너무 오래 걸리고, 실수할 수도 있었습니다.
🛠️ 2. 해결책: "공격 지도"를 자동으로 그리는 로봇
이 논문은 **"공격 그래프 **(Attack Graph)라는 것을 자동으로 만들어주는 새로운 방법을 제안합니다. 이를 쉽게 비유하자면 다음과 같습니다.
**성도 **(Blueprint) = 공장 네트워크의 설계도 (어떤 기기가 어디에 있는지).
**약점 목록 **(CVE) = 성벽에 있는 금이 가거나 문이 잠기지 않은 곳 목록.
**로봇 **(이 논문) = 설계도와 약점 목록을 보고, **"도둑이 A 지점부터 시작해서 B, C, D 를 거쳐 왕좌 **(핵심 장비)를 자동으로 그려주는 로봇입니다.
이 로봇은 두 가지 일을 합니다:
지도 그리기: 네트워크 구조를 분석합니다.
시뮬레이션: "만약 도둑이 이 문 (취약점) 을 열면, 다음 방으로 넘어갈 수 있을까?"를 계속 추적하며 모든 가능한 공격 경로를 찾아냅니다.
💧 3. 실제 사례: 시멘스 수처리 공장 모델
연구진은 **시멘스 **(Siemens)라는 수처리 공장 설계 모델을 가지고 이 로봇을 테스트했습니다. 결과는 매우 놀라웠습니다.
한 번의 실수가 전체를 무너뜨리다: 성의 가장 바깥쪽 문 (방화벽) 이 튼튼해도, 안쪽의 작은 문 (라우터 설정 오류) 이 잠겨 있지 않으면 도둑은 그 틈을 타고 성 안쪽의 **핵심 제어실 **(수처리 장비)까지 침입할 수 있었습니다. 마치 성벽은 튼튼한데, 창문 하나를 열어두어 도둑이 들어온 것과 같습니다.
약한 고리 하나만 고치면 안전해지다: 반대로, 성의 가장 바깥쪽 문 (Front Firewall) 에 있는 약점 하나만 고치면, 도둑이 성 안으로 들어올 수 있는 모든 경로가 차단되었습니다. 이는 "가장 중요한 문 하나만 잘 지키면, 성 전체가 안전하다"는 것을 보여줍니다.
📊 4. 확률 계산: "도둑이 올 가능성은 얼마나 될까?"
단순히 "통로가 있다"는 것을 아는 것뿐만 아니라, **"도둑이 실제로 그 통로를 이용할 확률은 얼마나 높은가?"**를 계산하는 방법도 소개했습니다.
비유: 도둑이 성에 들어오려면 1 단계, 2 단계, 3 단계의 문을 모두 열어야 한다면, 그 확률은 각 단계의 확률을 곱한 값이 됩니다.
결과: 연구진은 특정 장비 (예: SCALANCE 스위치) 들이 해커에게 매우 쉽게 털릴 확률이 99.9% 에 달한다는 것을 발견했습니다. 반면, 다른 장비들은 해커가 도달하기 너무 어렵거나 경로가 없어서 확률이 거의 0% 였습니다.
의미: 이 데이터를 통해 보안 담당자는 "어디에 보안 예산을 써야 가장 효과적인지"를 숫자로 알 수 있게 됩니다.
🎯 5. 결론: 무엇을 배웠을까?
이 연구는 다음과 같은 중요한 교훈을 줍니다.
자동화가 필수다: 복잡한 공장 시스템을 수동으로 분석하는 건 불가능에 가깝습니다. 자동화된 도구가 필요합니다.
**방어선 **(방화벽) 외부의 공격을 막는 첫 번째 문이 가장 중요합니다. 그 문만 튼튼하면 안쪽의 작은 실수들도 큰 피해를 주지 못합니다.
데이터 기반 의사결정: "어디가 위험할까?"라는 추측이 아니라, "어디가 99% 확률로 위험할까?"라는 정확한 숫자를 바탕으로 보안 투자를 해야 합니다.
한 줄 요약:
이 논문은 복잡한 산업 시설을 해커가 어떻게 침입할지 자동으로 시뮬레이션하는 지도를 그려주어, 가장 중요한 문 하나만 잘 지키면 성 전체를 안전하게 지킬 수 있다는 것을 증명했습니다.
논문 요약: 산업 제어 시스템 (ICS) 을 위한 공격 그래프 생성 접근법 및 시멘스 PCS7 사례 연구
1. 문제 정의 (Problem)
배경: 산업 제어 시스템 (ICS) 은 상수 처리 시설, 전력망 등 핵심 인프라의 핵심을 이루며, IT 네트워크와의 연결성 증가로 사이버 위협에 노출되고 있습니다.
도전 과제: ICS 환경은 복잡하고 규모가 방대하여 잠재적인 공격 경로 (Attack Paths) 를 식별하고 우선순위를 정하는 것이 매우 어렵습니다. 수동 분석은 시간이 많이 소요되고 오류가 발생하기 쉽습니다.
필요성: 다단계 공격 시나리오를 시각화하고 분석하여 보안 태세를 평가할 수 있는 자동화된 도구의 필요성이 대두되었습니다.
2. 방법론 (Methodology)
이 논문은 네트워크 토폴로지 정보와 취약점 데이터를 통합하여 공격 그래프를 생성하는 반자동 (Semi-automated) 3 단계 프레임워크를 제안합니다.
입력 데이터:
blueprint.json: 네트워크 토폴로지 (방화벽, 스위치, PLC, 서버 등).
ssa.json: CVE 데이터베이스 (벤더 보안 권고사항).
component_aliases.json: 장치 이름 매핑 (별칭).
3 단계 프로세스:
토폴로지 파서 (Topology Parser): 구조화된 JSON 파일을 파싱하여 네트워크 구성 요소와 연결 관계를 방향성 있는 그래프로 변환합니다.
취약점 관리자 (Vulnerability Manager):
장치와 알려진 CVE 를 매핑합니다.
NVD 의 CVSS 벡터 문자열 및 CVE 설명 키워드를 분석하여 각 취약점을 **전제 조건 (Preconditions)**과 **결과 (Consequences)**로 변환합니다.
주의: 현재 버전은 펌웨어 버전이나 패치 적용 여부를 필터링하지 않아 보수적으로 모든 CVE 를 포함합니다 (산업 환경의 패치 관리 어려움 반영).
규칙이 없는 CVE 는 전제 조건을 OS(ADMIN) (이미 관리자 권한 필요), 결과를 NONE 으로 설정하여 오검출을 방지합니다.
공격 그래프 생성기 (Attack Graph Generator):
상태 기반 탐색 (Stateful Traversal) 알고리즘을 사용하여 공격자의 네트워크 내 이동을 시뮬레이션합니다.
로컬 권한 상승: 현재 노드의 취약점을 악용하여 권한을 획득합니다.
측면 이동 (Lateral Movement): 연결된 다른 노드로 이동합니다.
악용 확인: 공격자의 현재 권한 상태가 대상 노드 취약점의 전제 조건을 만족하는지 확인하고, 만족하면 악용하여 상태를 업데이트합니다.
방화벽 등 전제 조건을 만족하지 못하는 노드는 경로 차단 (Barrier) 으로 작용합니다.
3. 주요 기여 (Key Contributions)
모듈형 프레임워크 개발: 네트워크 토폴로지 파서, 취약점 관리자, 그래프 기반 시뮬레이션 엔진을 결합한 ICS 전용 공격 그래프 생성 방법론 제시.
실증 사례 (Case Study): 시멘스 PCS7 수처리 공장 사이버 보안 청사진 (Blueprint) 에 적용하여 실제 산업 시설 모델에서의 유효성을 입증.
정량적 위험 평가: 정성적인 토폴로지 분석을 넘어, **신뢰성 블록 다이어그램 (RBD)**과 **EPSS (Exploit Prediction Scoring System)**를 결합하여 공격 성공 확률을 정량화하는 접근법 도입.
4. 결과 및 분석 (Results)
시나리오 시뮬레이션:
정상 구성: 프론트 방화벽 취약점 악용으로 DMZ 는 침해되지만, 빌딩 제어 구역 및 중앙 공장 구역은 격리되어 보호됨.
오설정 시나리오: 백 방화벽 (Back Firewall) 의 오설정 시, DMZ 에서 SCALANCE 게이트웨이를 통해 빌딩 구역 및 중앙 공장 구역 (S7-1512 PLC 등) 으로 공격이 전파됨. 이는 단일 지점의 오설정이 전체 네트워크 분할을 무너뜨릴 수 있음을 보여줌.
패치 효과: 프론트 방화벽의 취약점을 제거하면 전체 공격 체인이 차단되어 외부 네트워크에서 프로세스 제어 자산까지의 경로가 사라짐.
정량적 분석 (EPSS 및 RBD 적용):
각 대상 장치의 침해 확률 (Ptarget) 을 계산.
SCALANCE 스위치 (M826-2 등) 는 다수의 고확률 경로로 인해 거의 100% ($0.999990$) 의 침해 확률을 보임.
**PLC (S7-1512 등)**는 상당한 확률 ($0.81$) 을 보임.
관리/모니터링 호스트는 경로가 적거나 악용이 어려운 취약점으로 인해 낮은 확률을 보임.
통찰: 단순히 공격 경로의 수만으로는 침해 확률을 결정하지 않음. 경로 길이 (악용 단계 수) 와 최종 노드의 취약점 EPSS 점수가 확률에 큰 영향을 미침 (예: 경로가 짧고 EPSS 점수가 높은 Energy Manager Pro 가 경로가 길고 EPSS 점수가 낮은 TIM 1531 IRC 보다 더 높은 침해 확률을 가짐).
5. 의의 및 결론 (Significance & Conclusion)
실천적 통찰: 이 프레임워크는 보안 분석가가 시스템의 약점을 사전에 식별하고, 패치 우선순위를 정하며, 특정 취약점 수정이 전체 보안 구역에 미치는 영향을 평가할 수 있게 합니다.
오설정 모델링: 알려진 CVE 외에도 방화벽 오설정 등 "인위적 취약점"을 추가하여 'What-if' 분석을 가능하게 합니다.
향후 과제:
실제적인 권한 상승 및 측면 이동 시뮬레이션 정교화.
소프트웨어 버전 및 패치 상태를 고려한 제품 매칭 정밀화.
방화벽 설정을 명시적으로 모델링하여 구체적인 오설정 시나리오 포착.
디지털 트윈 (Digital Twin) 을 활용한 공격 경로 재현 계획.
이 연구는 복잡한 ICS 환경에서 다단계 공격을 체계적으로 분석하고, 데이터 기반의 위험 완화 전략을 수립하는 데 중요한 기여를 하고 있습니다.