Tor 프로젝트가 Rust로 전환 중

1 month ago 13

  • Tor 네트워크의 핵심 코드가 기존 C 언어에서 Rust 기반의 Arti로 전환되고 있음
  • 기존 C 코드에는 버퍼 오버플로우, use-after-free, 메모리 손상 등 취약점이 존재
  • 새 버전 Arti 1.8.0회로 타임아웃 재설계를 통해 예측 가능한 패턴을 제거하고 추적 위험을 줄임
  • onion 서비스 운영자가 C 기반 Tor에서 Arti로 키를 자동 이전할 수 있는 새 명령어가 추가됨
  • 이번 전환은 보안성과 안정성 향상을 위한 Tor 프로젝트의 중요한 기술적 진전임

Arti 1.8.0 주요 변경 사항

  • 이번 릴리스의 핵심은 회로 타임아웃 재작업(circuit timeout rework) 적용

    • 기존 Tor의 *Circuit Dirty Timeout(CDT)*은 단일 타이머로 회로 종료 시점을 제어
    • 이 방식은 예측 가능해 트래픽 감시자가 패턴을 식별할 수 있었음
    • Arti 1.8.0은 사용량 기반 타임아웃과 개별 타이머를 도입해, 회로가 새 연결을 수락하거나 유휴 상태일 때 무작위 시점에 종료되도록 변경
    • 이를 통해 지문 추적(fingerprinting) 위험을 감소시킴
  • 실험적 명령어 arti hsc ctor-migrate 추가

    • onion 서비스 운영자가 제한된 검색 키(restricted discovery keys) 를 C 기반 Tor에서 Arti의 키 저장소(keystore) 로 이전 가능
    • 이 키들은 클라이언트 인증에 사용되며, 새 명령어는 수동 작업 없이 자동 이전을 지원
  • 추가 개선 사항

    • 라우팅 아키텍처, 프로토콜 구현, 디렉터리 캐시 지원, OR 포트 리스너 설정 등 다수의 내부 구성 요소 개선
    • 세부 변경 내역은 Arti 1.8.0의 공식 변경 로그에서 확인 가능

Rust 전환의 배경

  • Tor 네트워크는 2000년대 초부터 C 언어 기반으로 운영되어 왔음
  • 그러나 C 코드베이스는 메모리 안전성 문제로 인해 보안 취약점이 지속적으로 발생
  • 이에 따라 Tor 프로젝트는 Rust의 메모리 안전성을 활용한 Arti 재작성 프로젝트를 추진 중
  • Arti는 Tor의 기능을 Rust로 재구현하여, 보안성·안정성·유지보수성을 강화하는 목표를 가짐

기술적 의의

  • Rust 전환은 Tor의 익명성 보장 구조를 근본적으로 강화하는 방향
  • 예측 가능한 회로 동작 제거와 키 관리 자동화는 사용자 프라이버시 보호 수준 향상에 기여
  • Arti의 지속적 업데이트는 C 기반 Tor의 단계적 대체를 가속화하는 신호로 평가됨

Read Entire Article