Праект Tor прадставіў рэалізацыю на мове Rust, якая ў будучыні заменіць варыянт на Сі

Распрацоўнікі ананімнай сеткі Tor прадставілі праект Arti, у рамках якога вядзецца праца па стварэнні рэалізацыі пратаколу Tor на мове Rust. У адрозненне ад рэалізацыі на Сі, якая спачатку была спраектаваная як SOCKS-проксі, а ўжо потым падагнаная пад іншыя запатрабаванні, Arti першапачаткова развіваецца ў форме модульнай убудаванай бібліятэкі, якую змогуць выкарыстаць розныя прыкладанні. Праца вядзецца ўжо больш за год з фінансаваннем па праграме грантаў Zcash Open Major Grants (ZOMG). Код распаўсюджваецца пад ліцэнзіямі Apache 2.0 і MIT.

У якасці прычын перапісвання Tor на Rust называецца жаданне дабіцца больш высокага ўзроўню абароненасці кода за кошт выкарыстанне мовы, якая забяспечвае бяспечную працу з памяццю. Па адзнацы распрацоўнікаў Tor, прынамсі палова ўсіх адсочваных праектам уразлівасцяў будзе выключаная ў рэалізацыі на Rust, калі ў кодзе не выкарыстоўваюцца блокі «unsafe». Rust таксама дасць магчымасць дабіцца больш высокай хуткасці распрацоўкі, чым пры выкарыстанні Сі, за кошт выразнасці мовы і строгіх гарантый, якія дазваляюць не марнаваць час на падвойныя праверкі і напісанне лішняга кода. Акрамя таго, пры распрацоўцы новага праекту ўлічваецца ўвесь мінулы досвед распрацоўкі Tor, што дазволіць пазбегнуць вядомых архітэктурных праблем, зрабіць праект больш модульным і эфектыўным.

У бягучым стане Arti ужо можа падлучацца да сеткі Tor, забяспечваць узаемадзеянне з серверамі дырэкторый і ствараць ананімізаваныя злучэнні па-над Tor з падаваннем проксі на аснове пратаколу SOCKS. Распрацоўку пакуль не рэкамендуецца выкарыстоўваць у працоўных сістэмах, бо не ўсе магчымасці па забеспячэнні прыватнасці рэалізаваны і не гарантуецца зваротная сумяшчальнасць на ўзроўні API. Першую версію кліента, якая адпавядае крытэрам бяспекі, якая падтрымлівае вартавыя вузлы і ізаляцыю патокаў, плануецца выпусціць у кастрычніку.

У сакавіку 2022 года чакаецца першы бэта-выпуск з эксперыментальнай рэалізацыяй убудаванай бібліятэкі і аптымізацыямі прадукцыйнасці. Першы стабільны рэліз, са стабільным API, CLI і фарматам канфігурацыі, а таксама з правядзеннем аўдыту, запланаваны на сярэдзіну верасня 2022 года. Гэты выпуск будзе прыдатны для пачатковага выкарыстання звычайнымі карыстальнікамі. У канцы кастрычніка 2022 года чакаецца абнаўленне 1.1 з падтрымкай транспарту і брыджаў для абыходу блакіровак. Падтрымка onion-сэрвісаў намечана на выпуск 1.2, а дасягненне парытэту з кліентам на мове Сі чакаецца ў выпуску 2.0, тэрміны для якіх пакуль не вызначаны.

У далейшым распрацоўшчыкі прагназуюць паступовае памяншэнне актыўнасці, звязанай з распрацоўкай кода на Сі, і павелічэнне часу, які надаецца рэдакцыі на Rust. Калі рэалізацыя на Rust дасягне ўзроўня, здольнага замяніць варыянт на Сі, распрацоўнікі спыняць даданне новых магчымасцяў у рэалізацыю на Сі і праз нейкі час цалкам спыняць яе падтрымку. Але гэта наступіць не хутка, і пакуль рэалізацыя на Rust не дасягне ўзроўню паўнавартаснай замены распрацоўка кліента і рэлея Tor на Сі будзе працягнутая.

Крыніца: opennet.ru

Дадаць каментар