Выпуск Arti 0.2.0, афіцыйнай рэалізацыі Tor на мове Rust

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

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

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

Найбольш прыкметныя змены ў выпуску 0.2.0 звязаны з працай па павышэнні прадукцыйнасці і надзейнасці. Палепшана праца ў сетках, якія падтрымліваюць толькі IPv6. Скарочана спажыванне памяці для захоўвання дадзеных з сервераў дырэкторый. Дададзена опцыя dns_port, пры дапамозе якой можна наладзіць адпраўку DNS-запытаў праз Tor. Прапанаваны новы код для працы з канфігурацыяй. Дададзеныя API для вызначэння правілаў ізаляцыі патокаў і ўключэння спячага рэжыму (прыпыненне працы для неактыўных кліентаў). Забяспечана магчымасць падключэння альтэрнатыўных рэалізацый кода для працы з серверамі дырэкторый.

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

Крыніца: opennet.ru

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