러스트로 작성된 새로운 토르 클라이언트 arti

러스트로 작성되어 메모리 안정성을 보장하는 차세대 토르 클라이언트 arti에 대해 알아봅시다.

2023-07-05 배포


Image

토르 프로젝트측에서 기존 토르 클라이언트를 대체하기 위해 러스트로 작성된 arti를 준비하고 있습니다.

arti란?

단순합니다. 그냥 컴퓨터를 토르 네트워크에 연결할 수 있게 해주는 프로그램입니다.

arti를 컴파일하고 ./arti proxy 명령어를 실행하면 127.0.0.1:9150으로 토르 네트워크로 연결된 socks5 프록시가 실행됩니다.

기존 토르 데몬하고 사용법이 비슷합니다.

기존 클라이언트하고 무슨 차이가 있나요?

단지 C가 아닌 러스트로 작성한것 뿐입니다.

하지만 이는 상당한 이점을 가져오는데요, 먼저 메모리 안정성을 보장함으로써 버그를 줄이고, 보안을 향상 시키고, 또한 유지보수성과 생산성까지 더욱 극대화 되었다고 합니다.

특히 토르 프로젝트가 2002년부터 개발이 시작 되었기에 기존 토르 클라이언트는 상당히 스파게티인 부분이 많고, 따라서 arti를 계획한 요인중 하나라고 합니다.

또한 다른 애플리케이션에서도 쉽게 토르를 사용하기 쉽게 사용할 수 있도록 라이브러리 형식으로도 제공됩니다.

arti의 현 주소

아직 개발단계이지만, 제가 직접 테스트를 해본 결과 딱히 버그도 없었으며, 안정적이였습니다.

사실상 프로덕션 환경에서 사용 가능할것 같지만, 토르측에서는 로우 레벨 api가 아직 안정화되지 않았기에(변경이 자주되기에) 아직 이르다고 말합니다.

그리고 가장 큰 문제는 현재 arti에는 vanguard 기능이 구현되지 않았다고 합니다.

vanguard 기능은 guard discovery 공격을 방지하는 기능입니다만, 해당 공격은 다른 포스트에서 자세히 설명하겠습니다.

아무튼 그래서 실 사용 용도로는 무리가 있다는것 같습니다.