اولین نسخه بتا Arti، پیاده سازی Tor در Rust

توسعه دهندگان شبکه Tor ناشناس اولین نسخه بتا (0.1.0) پروژه Arti را ارائه کردند که یک کلاینت Tor نوشته شده در Rust را توسعه می دهد. این پروژه وضعیت یک توسعه آزمایشی را دارد، از عملکرد مشتری اصلی Tor در C عقب مانده است و هنوز آماده جایگزینی کامل آن نیست. در سپتامبر برنامه ریزی شده است که نسخه 1.0 با تثبیت API، CLI و تنظیمات ایجاد شود که برای استفاده اولیه توسط کاربران عادی مناسب خواهد بود. در آینده ای دورتر، زمانی که کد Rust به سطحی برسد که بتواند به طور کامل جایگزین نسخه C شود، توسعه دهندگان قصد دارند به Arti وضعیت اجرای اصلی Tor را بدهند و اجرای C را متوقف کنند.

برخلاف پیاده‌سازی C که ابتدا به‌عنوان یک پروکسی SOCKS طراحی شد و سپس برای سایر نیازها طراحی شد، Arti در ابتدا به شکل یک کتابخانه قابل جاسازی مدولار توسعه داده شد که می‌تواند توسط برنامه‌های مختلف استفاده شود. علاوه بر این، هنگام توسعه یک پروژه جدید، تمام تجربیات توسعه Tor در گذشته در نظر گرفته می شود، که از مشکلات معماری شناخته شده جلوگیری می کند و پروژه را ماژولارتر و کارآمدتر می کند. کد تحت مجوز Apache 2.0 و MIT توزیع می شود.

دلایل بازنویسی Tor در Rust تمایل به دستیابی به سطح بالاتری از امنیت کد با استفاده از زبانی است که عملکرد ایمن با حافظه را تضمین می کند. به گفته توسعه دهندگان Tor، حداقل نیمی از آسیب پذیری های نظارت شده توسط پروژه در پیاده سازی Rust حذف خواهند شد اگر کد از بلوک های "ناامن" استفاده نکند. Rust همچنین به دلیل رسا بودن زبان و تضمین های دقیق که به شما امکان می دهد از اتلاف وقت برای بررسی مضاعف و نوشتن کدهای غیر ضروری جلوگیری کنید، به سرعت توسعه سریعتر نسبت به استفاده از C دست پیدا می کند.

در میان تغییرات نسخه 0.1.0، تثبیت اساسی APIهای سطح بالا و آماده سازی کتابخانه برای ادغام آزمایشی با پروژه های دیگر وجود دارد. در میان تغییرات، افزودن یک API برای ایجاد نمونه های TorClient از جمله توانایی ساخت و مقداردهی اولیه (بوت استرپ) در پس زمینه در اولین استفاده ذکر شده است. علاوه بر این، یک API سطح بالا برای مدیریت خطا اضافه شده است.

قبل از انتشار نسخه 1.0.0، توسعه دهندگان قصد دارند از Arti پشتیبانی کامل برای کار به عنوان یک مشتری Tor که دسترسی به اینترنت را فراهم می کند، ارائه دهند (اجرای پشتیبانی از خدمات پیاز برای آینده به تعویق افتاده است). این شامل دستیابی به برابری با اجرای جریان اصلی C در زمینه هایی مانند عملکرد شبکه، بار CPU، و قابلیت اطمینان، و همچنین ارائه پشتیبانی از همه ویژگی های مرتبط با امنیت است.

منبع: opennet.ru

اضافه کردن نظر