Projekti Tor prezantoi një zbatim në gjuhën Rust, i cili në të ardhmen do të zëvendësojë versionin C

Zhvilluesit e rrjetit anonim Tor prezantuan projektin Arti, në kuadër të të cilit po punohet për krijimin e një implementimi të protokollit Tor në gjuhën Rust. Ndryshe nga implementimi C, i cili fillimisht u projektua si një proxy SOCKS dhe më pas iu përshtat nevojave të tjera, Arti fillimisht është zhvilluar në formën e një biblioteke modulare të ngulitur që mund të përdoret nga aplikacione të ndryshme. Puna është duke u zhvilluar për më shumë se një vit me financim nga programi i granteve të granteve të mëdha të hapura Zcash (ZOMG). Kodi shpërndahet nën licencat Apache 2.0 dhe MIT.

Arsyet për rishkrimin e Tor në Rust janë dëshira për të arritur një nivel më të lartë të sigurisë së kodit duke përdorur një gjuhë që siguron funksionim të sigurt me memorie. Sipas zhvilluesve të Tor, të paktën gjysma e të gjitha dobësive të monitoruara nga projekti do të eliminohen në një zbatim Rust nëse kodi nuk përdor blloqe "të pasigurta". Rust gjithashtu do të bëjë të mundur arritjen e shpejtësive më të shpejta të zhvillimit sesa përdorimi i C, për shkak të ekspresivitetit të gjuhës dhe garancive strikte që ju lejojnë të shmangni humbjen e kohës për kontrollin e dyfishtë dhe shkrimin e kodit të panevojshëm. Përveç kësaj, gjatë zhvillimit të një projekti të ri, merret parasysh e gjithë përvoja e kaluar e zhvillimit të Tor, e cila do të shmangë problemet e njohura arkitekturore dhe do ta bëjë projektin më modular dhe efikas.

Në gjendjen e tij aktuale, Arti tashmë mund të lidhet me rrjetin Tor, të komunikojë me serverët e drejtorive dhe të krijojë lidhje anonime në krye të Tor me një përfaqësues të bazuar në SOCKS. Zhvillimi nuk rekomandohet ende për përdorim në sistemet e prodhimit, pasi jo të gjitha veçoritë e privatësisë janë zbatuar dhe përputhshmëria e prapambetur në nivelin API nuk është e garantuar. Versioni i parë i klientit në përputhje me sigurinë, duke mbështetur nyjet mbrojtëse dhe izolimin e fijeve, është planifikuar të dalë në tetor.

Lëshimi i parë beta pritet në mars 2022 me një zbatim eksperimental të bibliotekës së integruar dhe optimizimeve të performancës. Lëshimi i parë i qëndrueshëm, me një format të qëndrueshëm API, CLI dhe konfigurimi, si dhe auditim, është planifikuar për mesin e shtatorit 2022. Ky version do të jetë i përshtatshëm për përdorim fillestar nga përdoruesit e përgjithshëm. Përditësimi 2022 pritet në fund të tetorit 1.1 me mbështetje për transportin plug-in dhe urat për të anashkaluar bllokimin. Mbështetja për shërbimet e qepës është planifikuar për lëshimin 1.2, dhe arritja e barazisë me klientin C pritet në versionin 2.0, koha për të cilën ende nuk është përcaktuar.

Në të ardhmen, zhvilluesit parashikojnë një ulje graduale të aktivitetit në lidhje me zhvillimin e kodit C dhe një rritje të kohës së përkushtuar për redaktim në Rust. Kur zbatimi Rust arrin një nivel që mund të zëvendësojë versionin C, zhvilluesit do të ndalojnë së shtuari veçori të reja në implementimin C dhe, pas njëfarë kohe, do të ndalojnë së mbështeturi plotësisht atë. Por kjo nuk do të ndodhë së shpejti, dhe derisa zbatimi në Rust të arrijë nivelin e një zëvendësimi të plotë, zhvillimi i klientit Tor dhe stafetës në C do të vazhdojë.

Burimi: opennet.ru

Shto një koment