Skip to main content
QUICK REVIEW

[논문 리뷰] Designing Robust API Monitoring Solutions.

Simone Nicchi, Matteo Mariani|arXiv (Cornell University)|2020. 05. 01.
Advanced Malware Detection Techniques참고 문헌 29인용 수 7
한 줄 요약

이 논문은 고정밀도, 고신뢰성, 투명성을 갖춘 강력한 오픈소스 API 모니터링 시스템인 SNIPER을 제시한다. 이 시스템은 사용자 영역 라이브러리 및 시스템 호출을 높은 정확도로 추적하도록 설계되었으며, 하드웨어 가속 가상화와 동적 바이너리 번역이라는 두 가지 구현 방식을 통해 실세계 소프트웨어 환경에서의 핵심 과제를 해결한다. 이는 종래로는 존재하지 않았던 일반 목적의 사용자 영역 트레이서를 처음으로 실현한다.

ABSTRACT

Tracing the sequence of library and system calls that a program makes is very helpful in the characterization of its interactions with the surrounding environment and ultimately of its semantics. Due to entanglements of real-world software stacks, accomplishing this task can be surprisingly challenging as we take accuracy, reliability, and transparency into the equation. To manage these dimensions effectively, we identify six challenges that API monitoring solutions should overcome and outline actionable design points for them, reporting insights from our experience in building API tracers for software security research. We detail two implementation variants, based on hardware-assisted virtualization (realizing the first general-purpose user-space tracer of this kind) and on dynamic binary translation, that achieve API monitoring robustly. We share our SNIPER system as open source.

연구 동기 및 목표

  • 복잡한 소프트웨어 스택에서 정확하고 신뢰성 있으며 투명한 API 모니터링을 달성하기 위한 과제를 해결한다.
  • 효율적인 시스템 호출 추적을 방해하는 실제 소프트웨어 환경의 복잡성 문제를 극복한다.
  • 하드웨어 가속 가상화와 동적 바이너리 번역을 모두 지원하는 일반 목적의 사용자 영역 API 트레이서를 설계한다.
  • 소프트웨어 보안 연구 및 시스템 분석을 위한 프로덕션 수준의 오픈소스 솔루션을 제공한다.

제안 방법

  • 하드웨어 가속 가상화를 활용해 고정밀도이자 저오버헤드의 사용자 영역 트레이서를 구축한다.
  • 다양한 실행 환경에서의 호환성을 확보하기 위해 동적 바이너리 번역 기반의 변종을 구현한다.
  • 최소한의 런타임 간섭과 높은 투명도를 확보하기 위해 라이브러리 및 시스템 호출을 추적하도록 시스템을 설계한다.
  • 성능, 이식성, 정확성의 균형을 고려해 두 기법을 통합된 프레임워크로 통합한다.
  • 제어 흐름 처리 및 시스템 호출 가로채기의 정확성과 강건성을 확보하기 위해 신중한 처리를 수행한다.
  • SNIPER로 시스템을 공개하여 재현 가능하고 확장 가능한 소프트웨어 분석을 가능하게 한다.

실험 결과

연구 질문

  • RQ1실세계 소프트웨어 스택에서 정확하고 신뢰성 있으며 투명한 API 모니터링을 달성하기 위한 핵심 과제는 무엇인가?
  • RQ2하드웨어 가속 가상화를 어떻게 효과적으로 활용하여 일반 목적의 사용자 영역 API 트레이서를 구현할 수 있는가?
  • RQ3동적 바이너리 번역은 다양한 환경에서 강력한 API 모니터링을 위한 실용적인 대안으로서 어느 정도의 가능성을 지닐 수 있는가?
  • RQ4어떤 설계 원칙이 두 가지 추적 기법을 모두 지원하는 통합된 프로덕션 수준의 API 모니터링 시스템을 가능하게 하는가?

주요 결과

  • 저자들은 복잡한 소프트웨어 환경에서 정확성, 신뢰성, 투명성에 영향을 미치는 API 모니터링의 여섯 가지 핵심 과제를 규명하였다.
  • 하드웨어 가속 가상화 기반 변종은 종래로는 존재하지 않았던 일반 목적의 사용자 영역 API 트레이서를 처음으로 실현하였으며, 높은 정밀도와 저오버헤드를 달성하였다.
  • 동적 바이너리 번역 기반 변종은 다양한 실행 플랫폼에서 강건성을 유지하는 이식 가능한 대안을 제공한다.
  • SNIPER 시스템은 두 기법을 융합함으로써 종합적이고 정확하며 투명한 시스템 호출 추적을 실현함을 입증하였다.
  • SNIPER의 오픈소스화는 소프트웨어 보안 및 시스템 분석 분야에서 재현 가능한 연구와 확장성을 가능하게 하였다.
  • 설계 원칙과 구현 통찰은 향후 시스템 수준의 모니터링 및 런타임 분석 분야의 연구에 직접적으로 적용 가능하다.

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

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

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

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