[논문 리뷰] TrustBase: An Architecture to Repair and Strengthen Certificate-based Authentication
TrustBase는 소켓과 전송 계층 사이의 트래픽 가로채기를 통해 모든 TLS 애플리케이션에 대해 표준화되고 OS 전역의 인증서 검증을 강제하는 커널 수준 아키텍처이다. 구성 가능한 인증 정책을 투명하게 적용함으로써, 성능 저하가 거의 없고 모든 운영 체제에서 호환되는 방식으로, 시스템 관리자가 인증서 취소 검사 및 STARTTLS 강제 적용과 같은 최선의 실천 방안을 모든 애플리케이션에 적용할 수 있도록 한다.
We describe TrustBase, an architecture that provides certificate-based authentication as an operating system service. TrustBase enforces best practices for certificate validation for all applications and transparently enables existing applications to be strengthened against failures of the CA system. The TrustBase system allows simple deployment of authentication systems that harden the CA system. This enables system administrators, for example, to require certificate revocation checks on all TLS connections, or require STARTTLS for email servers that support it. TrustBase is the first system that is able to secure all TLS traffic, using an approach compatible with all operating systems. We design and evaluate a prototype implementation of TrustBase on Linux, evaluate its security, and demonstrate that it has negligible overhead and universal compatibility with applications. To demonstrate the utility of TrustBase, we have developed six authentication services that strengthen certificate validation for all applications.
연구 동기 및 목표
- 개발자 실수나 잘못된 설정으로 인해 발생하는 애플리케이션 간 인증서 검증 실패 문제를 해결하기 위해.
- 인증서 기관(CA) 체계의 취약성(예: CA 해킹 또는 오발급)으로 인해 발생할 수 있는 중간자 공격을 완화하기 위해.
- 애플리케이션을 수정하지 않고도 핵심 기능(예: 핀딩, Certificate Transparency 검사)과 같은 향상된 인증 메커니즘을 중앙 집중식으로 전역적으로 배포할 수 있도록 하기 위해.
- 시스템 관리자가 전체 시스템에 걸쳐 인증서 검증 정책에 대한 세밀한 제어를 가능하게 하여 일관된 보안 강제를 확보하기 위해.
- CertShim과 같은 기존 솔루션의 한계를 극복하기 위해 커널 수준에서 작동함으로써 더 강력한 격리 및 로컬 권한 상승 공격에 대한 저항성을 확보하기 위해.
제안 방법
- 로드 가능 커널 모듈을 사용하여 소켓과 전송 계층 사이에서 커널 수준에서 TLS 트래픽을 가로챈다.
- 취소 검사, DANE, Certificate Transparency, 노티어리 검증을 포함한 구성 가능한 인증 서비스 세트를 사용하여 서버 인증서를 검증한다.
- 정책을 강제하고 비권한 사용자의 조작을 저지하기 위해 특권 정책 엔진과 보호된 Netlink 통신을 활용한다.
- 새로운 인증 서비스를 최소한의 코드 변경으로 통합할 수 있도록 공개 API를 제공하는 플러그인 기반 아키텍처를 사용한다.
- 고수준 시스템 호출과 TLS 프로토콜 표준에만 의존함으로써 다양한 TLS 라이브러리(예: BoringSSL, libNSS)와의 호환성을 유지한다.
- 연결 패턴 분석과 STARTTLS를 제공하지 않는 호스트 탐지 기반으로 기회적 STARTTLS 강제를 지원한다.
실험 결과
연구 질문
- RQ1어떻게 애플리케이션 수준의 수정 없이 모든 TLS 애플리케이션에 걸쳐 일관된 인증서 검증을 강제할 수 있는가?
- RQ2로컬 공격자가 인증서 검증을 우회하려는 시도를 강력하게 방지할 수 있는 아키텍처적 접근 방식은 무엇인가?
- RQ3성능 오버헤드가 거의 없고 광범위한 운영 체제 호환성이 보장되는 시스템 전역의 인증서 검증 서비스를 구축할 수 있는가?
- RQ4새로운 인증 메커니즘(예: 핀딩, CT, DANE)을 기존 애플리케이션에 대규모로 배포할 수 있는가?
- RQ5커널 수준의 가로채기 레이어가 기존 TLS 배포의 보안 수준을 얼마나 향상시킬 수 있는가?
주요 결과
- TrustBase는 커널 수준에서 모든 TLS 연결을 성공적으로 가로채고 검증하여, 모든 애플리케이션에 걸쳐 일관된 인증서 검증 정책 강제를 보장한다.
- 리눅스 기반 프로토타입 구현에서 성능 오버헤드가 거의 없었으며, 연결 지연과 대역폭에 미치는 영향이 최소한이었다.
- TrustBase는 애플리케이션의 기반 TLS 라이브러리에 관계없이 인증서 취소 검사 및 STARTTLS 강제 적용과 같은 핵심 보안 제어를 전역적으로 구현할 수 있다.
- 비권한 사용자가 LD_PRELOAD 조작이나 프로세스 생성을 시도하더라도, 커널 수준의 특권 정책 엔진과 보호된 통신 채널 덕분에 로컬 공격에 강건하다.
- 플러그인 아키텍처 덕분에 새로운 인증 서비스의 개발 및 배포가 빠르게 가능하며, 새로운 검증 로직을 통합하기 위한 코드 변경이 최소한이다.
- 표준 시스템 호출과 TLS 프로토콜 동작에만 의존함으로써 TrustBase는 특정 보안 라이브러리 내부 구조에 의존하지 않아 광범위한 호환성을 달성한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.