Першы бэта-выпуск Arti, рэалізацыі Tor на мове Rust

Распрацоўнікі ананімнай сеткі Tor прадставілі першы бэта-выпуск (0.1.0) праекту Arti, які развівае Tor-кліент, напісаны на мове Rust. Праект мае статут эксперыментальнай распрацоўкі, адстае ад функцыянальнасці ад асноўнага кліента Tor на мове Сі і пакуль не готаў паўнавартасна замяніць яго. У верасні плануецца сфарміраваць выпуск 1.0 са стабілізацыяй API, CLI і налад, які будзе прыдатны для пачатковага выкарыстання звычайнымі карыстальнікамі. У больш аддаленай будучыні, калі код на Rust дасягне ўзроўню, здольнага цалкам замяніць варыянт на Сі, распрацоўнікі маюць намер надаць Arti статут асноўнай рэалізацыі Tor і спыніць суправаджэнне рэалізацыі на Сі.

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

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

Са змен у выпуску 0.1.0 адзначаецца базавая стабілізацыя высокаўзроўневых API і давядзенне бібліятэкі да гатовасці да эксперыментальнай інтэграцыі з іншымі праектамі. З змен згадваецца даданне API для стварэння асобнікаў TorClient, у тым ліку з магчымасцю зборкі і ініцыялізацыі (bootstrap) у фонавым рэжыме пры першым выкарыстанні. Акрамя таго, дададзены новы высокаўзроўневы API для апрацоўкі памылак.

Да публікацыі выпуску 1.0.0 распрацоўнікі маюць намер забяспечыць у Arti поўную падтрымкі працы ў ролі кліента Tor, які забяспечвае доступ да інтэрнэту (рэалізацыі падтрымкі onion-сэрвісаў адкладзеная на будучыню). У тым ліку плануецца дабіцца парытэту з асноўнай рэалізацыяй на мове Сі ў такіх галінах, як сеткавая прадукцыйнасць, нагрузка на CPU і надзейнасць, а таксама забяспечыць падтрымку ўсіх магчымасцей, звязаных з бяспекай.

Крыніца: opennet.ru

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