Skip to main content
QUICK REVIEW

[논문 리뷰] Taming the War in Memory: A Resilient Mitigation Strategy Against Memory Safety Attacks in CPS

Eyasu Getahun Chekole, Unnikrishnan Cheramangalath|arXiv (Cornell University)|2018. 09. 20.
Security and Verification in Computing참고 문헌 29인용 수 4
한 줄 요약

CIMA는 런타임 시에 불법 메모리 접근을 동적으로 탐지하고 이를 우회함으로써 사이버-물리 시스템(CPS)에서 메모리 안전성 공격을 얕은 부하로 방지하는 경량이며 내성적인 완화 전략이다. 이로 인해 시스템 가용성과 물리적 상태의 내성성을 유지하며 오직 8.06%의 오버헤드만을 유발한다. 이는 컴파일러 기반의 제어 흐름 변환과 런타임 모니터링을 통해 달성되며, 공격 상황에서도 지속적인 운영이 가능하다.

ABSTRACT

Memory-safety attacks have been one of the most critical threats against computing systems. Although a wide-range of defense techniques have been developed against these attacks, the existing mitigation strategies have several limitations. In particular, most of the existing mitigation approaches are based on aborting or restarting the victim program when a memory-safety attack is detected, thus making the system unavailable. This might not be acceptable in systems with stringent timing constraints, such as cyber-physical systems (CPS), since the system unavailability leaves the control system in an unsafe state. To address this problem, we propose CIMA -- a resilient and light-weight mitigation technique that prevents invalid memory accesses at runtime. CIMA manipulates the compiler-generated control flow graph to automatically detect and bypass unsafe memory accesses at runtime, thereby mitigating memory-safety attacks along the process. An appealing feature of CIMA is that it also ensures system availability and resilience of the CPS even under the presence of memory-safety attacks. To this end, we design our experimental setup based on a realistic Secure Water Treatment (SWaT) and Secure Urban Transportation System (SecUTS) testbeds and evaluate the effectiveness and the efficiency of our approach. The experimental results reveal that CIMA handles memory-safety attacks effectively with low overhead. Moreover, it meets the real-time constraints and physical-state resiliency of the CPS under test.

연구 동기 및 목표

  • 공격 탐지 시 시스템을 종료하거나 재시작하는 기존 메모리 안전성 방어 기법의 핵심적 한계를 해결함으로써, 시간에 민감한 CPS에서의 가용성을 손상시키지 않도록 한다.
  • 메모리 안전성 공격 중에도 물리적 상태 안정성과 실시간 제약 조건을 유지함으로써 CPS에서의 시스템 내성성을 확보한다.
  • 체크포인팅 또는 전체 시스템 재시작의 높은 오버헤드를 피하기 위해 경량이며 컴파일러 통합형 솔루션을 개발한다.
  • 안전 핵심 환경에서 메모리 안전성 취약성이 시스템 충돌이나 안전하지 않은 제어 상태로 이어지지 않도록 보장한다.

제안 방법

  • 모든 메모리 접근 전에 조건부 체크를 삽입하여 컴파일러가 생성한 제어 흐름 그래프를 장비화함으로써 런타임 시 비정상 접근을 탐지한다.
  • 메모리 접근 위반이 탐지되면 CIMA는 실행을 종료하는 대신 불법 명령어를 건너뛰어 시스템 가용성을 유지한다.
  • 정적 컴파일 타임 장비화와 동적 런타임 모니터링을 조합한 하이브리드 접근 방식을 사용하여 위험한 작업을 탐지하고 우회한다.
  • 주류 컴파일러 내부에서 프로그램 제어 흐름을 변환함으로써 기능적 정확성에 영향을 주지 않으면서도 불법 명령어를 안전하게 우회할 수 있도록 한다.
  • 메모리 안전성 오류를 식별하기 위해 AddressSanitizer(ASan)을 탐지 백엔드로 활용하고, CIMA는 실행 우회를 통해 완화를 담당한다.
  • 실세계 CPS 테스트베드인 Open-SWaT와 Open-SecUTS를 대상으로 접근 방식을 설계하고 평가하여 산업용 SCADA 시스템을 모방하며 엄격한 시간 제약과 물리적 동역학 제약 조건을 반영한다.

실험 결과

연구 질문

  • RQ1시스템을 종료하거나 재시작하지 않고도 완화 전략이 메모리 안전성 공격을 탐지하고 처리할 수 있는가? 이를 통해 시간에 민감한 CPS에서 가용성을 유지할 수 있는가?
  • RQ2컴파일러 기반의 런타임 우회 메커니즘은 메모리 안전성 공격 상황에서도 CPS에서 물리적 상태 내성성을 어느 정도 유지할 수 있는가?
  • RQ3실행을 종료하는 대신 불법 명령어를 건너뛰는 런타임 완화 전략의 성능 오버헤드는 어느 정도인가?
  • RQ4엄격한 실시간 및 물리적 동역학 제약 조건을 가진 실세계 CPS 테스트베드에서 제안된 접근 방식은 얼마나 효과적인가?

주요 결과

  • CIMA는 오직 8.06%의 런타임 오버헤드만을 유발하면서도 CPS에서 메모리 안전성 공격을 성공적으로 완화하여 높은 효율성을 입증했다.
  • Open-SWaT와 Open-SecUTS 테스트베드에서 검증된 바와 같이, 시스템은 메모리 안전성 공격 상황에서도 실시간 제약 조건과 물리적 상태 내성성을 유지한다.
  • 시스템 종료로 인한 안전하지 않은 상태를 피하기 위해 CIMA는 불법 메모리 접근을 건너뛰어 시스템 가용성을 보장한다.
  • 물 처리 및 도시 교통 시스템을 포함한 다양한 CPS 워크로드에서 최소한의 성능 저하로 효과적인 성능을 보였다.
  • ASan을 탐지 백엔드로 활용함으로써 CIMA는 기존 메모리 안전성 탐지 도구의 향상 사항을 그대로 유산하고 혜택을 받을 수 있다.
  • 이 솔루션은 일반적이고 확장 가능하며, 향후 CIMA의 런타임 보고서를 활용해 코드 수정을 유도하는 자동화된 라이브 패치 통합에 활용될 수 있는 잠재력이 있다.

더 나은 연구,지금 바로 시작하세요

논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.

카드 등록 없음 · 무료 플랜 제공

이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.