May 19, 2022

Хакер - Octo Browser — анонимный браузер с поддержкой командной работы

Спецпроект

https://t.me/hacker_frei

Содержание статьи

  • Тестовый стенд
  • Соглашения
  • Установка
  • Настройки
  • Тестирование
  • EFF — Cover Your Tracks
  • Webkay
  • privacy.net
  • Проверка анонимности 2ip.ru
  • Другие фичи
  • Выводы

При­ват­ность — это одна из пос­ледних цен­ностей, которую еще не пол­ностью отоб­рали у нас Боль­шие Братья и госуда­ревы люди. Да, пол­ной скрыт­ности в сети уже не добить­ся, но спря­тать хотя бы что‑то от излишне наб­людатель­ных пос­торон­них все же мож­но, а иног­да и нуж­но. Сегод­ня мы изу­чим инте­рес­ный бра­узер, который обе­щает запутать твой циф­ровой след, так что кон­цов не сыщешь. Работа­ет ли это? Пой­дем раз­бирать­ся.

Ано­ним­ные бра­узе­ры — идея не новая, но зачас­тую дело огра­ничи­вает­ся кас­томной сбор­кой Chromium или, чуть реже, Firefox, которая отли­чает­ся от обыч­ной лишь отсутс­тви­ем при­вяз­ки к фир­менным сер­висам и не содер­жит пре­дус­танов­ленной рек­ламной ерун­ды.

Octo Browser обе­щает неч­то боль­шее: воз­можность пол­ностью менять про­филь поль­зовате­ля, защищая от фин­гер­прин­тинга и дру­гих механиз­мов слеж­ки. Допол­нитель­но пред­лага­ют воз­можность коман­дной работы, что­бы одним про­филем мог­ли поль­зовать­ся нес­коль­ко человек.

Бра­узер рас­простра­няет­ся по плат­ной под­писке, которую раз­работ­чики пре­дос­тавили нам для тес­тирова­ния. Что ж, пос­мотрим, дей­стви­тель­но ли он помога­ет скрыть­ся от слеж­ки и какими дру­гими инте­рес­ными фун­кци­ями обла­дает.

ТЕСТОВЫЙ СТЕНД

Для тес­тов я исполь­зовал ноут­бук со све­жеус­танов­ленной Windows 10 Pro и дос­той­ными харак­терис­тиками: 32 Гбайт ОЗУ, новень­кий SSD и про­цес­сор Intel Core i5. Так что ресур­сов точ­но дол­жно хва­тить.

На сосед­нюю машину так­же был уста­нов­лен Burp Suite, а на тес­товую — Wireshark и кор­невой сер­тификат из Burp для перех­вата шиф­рован­ного тра­фика. Забегая впе­ред, ска­жу, что это ока­залось бес­полез­но: бра­узер не хочет исполь­зовать прок­си, а при попыт­ке при­нуж­дения к это­му отка­зыва­ется работать вооб­ще. Сер­тификат для перех­вата тра­фика так­же игно­риру­ется, так что под­смот­реть, что имен­но переда­ется, ока­залось невоз­можно.

СОГЛАШЕНИЯ

Нач­нем чуть изда­лека — с изу­чения сай­та. На нем с порога обе­щают некий ANTI DETECT, защиту от иден­тифика­ции бра­узе­ра и пол­ную кон­фиден­циаль­ность. Заг­лянем в FAQ, что­бы понять, от какого детек­та нас защища­ют, и там обна­ружим стра­ницу с FAQ по коман­дным фун­кци­ям, где отчетли­во вид­но, что целевая ауди­тория это­го бра­узе­ра нуж­дает­ся в скры­тии от обна­руже­ния сис­темами защиты сай­тов при мас­совой регис­тра­ции акка­унтов.

INFO

Мас­совая регис­тра­ция не прес­тупле­ние, но поль­зователь­ское сог­лашение сер­висов час­то вво­дит огра­ниче­ния на подоб­ные дей­ствия.

В таких ситу­ациях дей­стви­тель­но важ­но мак­сималь­но отвя­зать все иден­тифика­торы бра­узе­ра от реаль­но исполь­зуемо­го железа, что и пос­тарались сде­лать раз­работ­чики Octo Browser. Нас­коль­ко у них получи­лось — ско­ро про­верим, а пря­мо сей­час обра­щу твое вни­мание на одну важ­ную вещь.

При­ват­ный бра­узер дол­жен иметь как минимум хорошую полити­ку кон­фиден­циаль­нос­ти и не иметь про­тиво­речий по час­ти заяв­ленных фун­кций, то есть он не дол­жен собирать какие‑то дан­ные, от сбо­ра которых стре­мит­ся защитить.

С полити­кой кон­фиден­циаль­нос­ти проб­лем не обна­ружи­лось, а вот в усло­виях исполь­зования нашел­ся такой пункт:

We may terminate these Terms of Use, or suspend or terminate your account at any time for any reason.

То есть учет­ную запись могут в любой момент отклю­чить по любой при­чине, которую раз­работ­чик соч­тет дос­таточ­ной. Не очень‑то дру­желюб­но, но с при­ват­ностью все же не свя­зано.

УСТАНОВКА

Для исполь­зования бра­узе­ра нуж­но зарегис­три­ровать­ся. На сай­те есть кноп­ка регис­тра­ции, но ведет она почему‑то в блок заг­рузок, где ска­зано, что зарегис­три­ровать­ся мы можем толь­ко из самого бра­узе­ра.

Что ж, кача­ем! Вер­сии для Linux нет, но в ско­ром вре­мени она появит­ся. Уста­нов­щик под Windows занима­ет 82 Мбайт — это замет­но мень­ше, чем Chromium, но нес­коль­ко боль­ше, чем Firefox.

INFO

В лицен­зион­ном сог­лашении упо­мина­ется воз­можность уста­нов­ки на мобиль­ные телефо­ны, план­шеты и дру­гие устрой­ства, тог­да как на сай­те — толь­ко уста­нов­щики для Windows и macOS. Пос­ле обще­ния с раз­работ­чиками выяс­нилось, что соот­ветс­тву­ющие сбор­ки еще в раз­работ­ке, так что мож­но рас­смат­ривать это как анонс.

Ус­танов­ка ничем не при­меча­тель­на, если не счи­тать того, что бра­узер игно­риру­ет доверен­ный сер­тификат из сис­темы и отка­зыва­ется свя­зывать­ся с бэкен­дом через Burp.

За­пус­каем.

Пер­вое окно

При регис­тра­ции сра­зу бро­сает­ся в гла­за поле для ссыл­ки на Telegram — такое нечас­то встре­тишь! Как, впро­чем, и саму обя­затель­ную регис­тра­цию через дес­ктоп­ное при­ложе­ние.

Пос­ле регис­тра­ции на ука­зан­ную поч­ту при­лета­ет пись­мо со ссыл­кой для акти­вации акка­унта. Пос­ле под­твержде­ния поч­ты и логина в бра­узер мы попада­ем… Нет, не на глав­ную стра­ницу, как ты мог подумать, а в окно лаун­чера, где отны­не будет про­исхо­дить прак­тичес­ки вся магия, отли­чающая Octo от обыч­ного Chrome.

Мо­нето­вымо­гатель­ство

Тут так­же ста­новит­ся вид­но, что 82 Мбайт в сжа­том виде — это был толь­ко сам лаун­чер, а еще поряд­ка 180 Мбайт было ска­чано в виде допол­нитель­ных модулей.

Пос­ле опла­ты под­писки появ­ляет­ся окно, в котором нас инте­ресу­ет кноп­ка соз­дания про­филя. На нее и наж­мем — откро­ется окно с нас­трой­ками.

НАСТРОЙКИ

Нас­тро­ек на удив­ление мно­го — гла­за раз­бега­ются. Кро­ме оче­вид­ных, вро­де наз­вания и ком­мента­рия к наз­ванию про­филя в прог­рамме, сра­зу пред­лага­ется выб­рать, какая опе­раци­онная сис­тема будет опре­делять­ся при посеще­нии сай­тов. На пер­вой же вклад­ке мож­но изме­нить спи­сок тегов для про­филя (о них поз­же) и наз­начить стар­товую стра­ницу, что­бы при мас­совой регис­тра­ции акка­унтов через Octo не тра­тить вре­мя даже на переход на целевую стра­ницу.

При выборе опе­раци­онной сис­темы меня­ются некото­рые нас­трой­ки на вто­рой вклад­ке: нап­ример, при выборе macOS будет авто­мати­чес­ки изме­нен заголо­вок User-Agent, что­бы там был ука­зан Macintosh. Вари­антов ОС три, но тре­тий (Linux) выб­рать нель­зя, пос­коль­ку соот­ветс­тву­ющие методы мас­киров­ки для Linux еще недос­таточ­но про­рабо­таны.

Вто­рая вклад­ка содер­жит общие нас­трой­ки. Тут мож­но поменять User-Agent, вир­туаль­ное раз­решение экра­на и набор дос­тупных бра­узе­ру шриф­тов. Кро­ме это­го, мож­но поменять отда­ваемый сис­темный язык, часовой пояс и геоло­кацию — все три парамет­ра по умол­чанию зада­ются в соот­ветс­твии с внеш­ним IP-адре­сом, но мож­но при­нуди­тель­но уста­новить их рав­ными сис­темным или даже задать вруч­ную кон­крет­ные зна­чения. При­ятная мелочь: эти парамет­ры зада­ются не прос­то тек­сто­вой стро­кой, а удоб­ными меню с пояс­нени­ями.

На треть­ей вклад­ке мож­но соб­рать себе компь­ютер меч­ты, жаль, что уви­дят его толь­ко сай­ты, на которые ты зай­дешь через Octo Browser. Нас­тра­ивает­ся объ­ем опе­ратив­ной памяти, количес­тво ядер про­цес­сора, модель виде­окар­ты, а так­же количес­тво мик­рофонов, камер и динами­ков. Тут же мож­но вклю­чить ран­домиза­цию зна­чений некото­рых отпе­чат­ков: по умол­чанию защище­ны отпе­чат­ки WebGL и ауди­опод­систе­мы, но мож­но под­чистить еще тег canvas и фин­гер­прин­ты по client rects.

INFO

Фин­гер­прин­тинг через canvas широко известен, а вот getClientRects() — тех­ника чуть менее популяр­ная и зак­люча­ется в том, что код на JS может получить информа­цию об учас­тках экра­на, куда выведе­на кон­тро­лиру­емая информа­ция. Такие учас­тки очень силь­но зависят от компь­юте­ра и поз­воля­ют отсле­живать даже Tor Browser со вклю­чен­ным JavaScript. Под­робнее — в статье Хосе Кар­лоса Нор­те.

Даль­ше нас­тра­ивает­ся прок­си (под­держи­вает­ся SOCKS5, HTTP и SSH) и DNS для кон­крет­ного про­филя.

Сле­дом мож­но заг­рузить пач­ку сookies в тек­сто­вом фор­мате или в JSON, уста­новить рас­ширения и выб­рать под­держи­ваемые хра­нили­ща. Выбороч­но вклю­чают­ся и отклю­чают­ся cookies, сох­ранение паролей, рас­ширения, Local Storage, исто­рия и зак­ладки.

Ду­маю, пос­тоян­ному читате­лю «Хакера» не надо пояс­нять, зачем нуж­ны эти нас­трой­ки, так что перей­дем к тес­тирова­нию.

ТЕСТИРОВАНИЕ

Для пер­вого запус­ка прос­то сох­раня­ем нас­трой­ки по умол­чанию, запус­каем… и видим впол­не обык­новен­ный Chromium.

И сно­ва ты?

Ви­зуаль­ных отли­чий нет, рас­ширения никакие не пре­дус­танов­лены, так что в пла­не юза­били­ти и фун­кций — ничего инте­рес­ного.

Для про­вер­ки прой­дем тест Electronic Frontier Foundation — неком­мерчес­кой орга­низа­ции, которая борет­ся за при­ват­ность в интерне­те.

INFO

Cover Your Tracks — это тест, который поз­воля­ет про­тес­тировать мно­гие механиз­мы в бра­узе­ре на пред­мет при­мени­мос­ти для слеж­ки. Сайт не толь­ко дает абс­трак­тные резуль­таты, но и под­робно раз­бира­ет каж­дый пункт, при­водя объ­ем иден­тифици­рующей информа­ции (в битах) и рас­простра­нен­ность такого сочета­ния парамет­ров сре­ди про­тес­тирован­ных бра­узе­ров. Этот тест счи­тает­ся одним из основных при про­вер­ке при­ват­ности бра­узе­ра.

По резуль­татам тес­та мож­но ска­зать, что наш бра­узер ничем не отли­чает­ся от Chrome и име­ет уни­каль­ный отпе­чаток. Это может показать­ся про­валом, но отпе­чаток получил­ся уни­каль­ным как раз из‑за качес­твен­ной под­мены харак­терис­тик бра­узе­ра. Я про­верил весь отчет вруч­ную — все чис­то, информа­ция из тес­тового стен­да не про­сочи­лась. За кад­ром я запус­тил еще нес­коль­ко тес­тов — тре­керы даже не поняли, что их поиме­ли и все дан­ные липовые.

Выг­лядит уже неп­лохо, но, пос­коль­ку нас­трой­ки у нас стан­дар­тные, без прок­си, давай вклю­чим еще его и про­верим защиту адре­са.

Для тес­тирова­ния я соз­дал два про­филя со слу­чай­ными нас­трой­ками, в одном из которых я вклю­чил бес­плат­ный прок­си отку­да‑то с прос­торов интерне­та. В обо­их про­филях запус­кался уже извес­тный нам тест от EFF, а еще тест privacy.net и Webkay. Чис­то ради инте­реса я погонял и «про­вер­ку ано­ним­ности» на 2ip.ru.

EFF — Cover Your Tracks

Как я и пред­полагал, никакой бло­киров­ки тре­керов не ока­залось. Оба про­филя бра­узе­ра тест успешно про­вали­ли — прок­си ожи­даемо никакой роли не сыг­рал. Одна­ко это совер­шенно нор­маль­но — глав­ное‑то, что­бы про­фили были изо­лиро­ваны. По сути, Octo даже не пыта­ется скрыть под­дель­ные парамет­ры, бла­года­ря чему не прив­лека­ет лиш­нее вни­мание.

Ес­ли тебе тоже инте­рес­но узнать, будут ли отли­чать­ся отпе­чат­ки в раз­ных инстан­сах с раз­ными нас­трой­ками и выход­ными адре­сами, — да, будут, но необя­затель­но все и всег­да.

Са­мым стой­ким иден­тифика­тором ока­зал­ся AudioContext, который поч­ти не менял­ся при вклю­чении и вык­лючении его ран­домиза­ции в нас­трой­ках про­филя, самих нас­тро­ек про­филя и даже исполь­зуемо­го бра­узе­ра — я ска­чал ваниль­ный Chromium и получил очень похожий отпе­чаток в нем.

Проб­лема кро­ется в том, что уни­каль­ных по сво­им харак­терис­тикам ауди­окарт сущес­тву­ет не так уж мно­го и силь­но выбивать­ся из это­го мно­жес­тва может быть опас­но с точ­ки зре­ния скрыт­ности. Шум дей­стви­тель­но добав­ляет­ся, но он меня­ет отпе­чаток не слиш­ком замет­но, а вари­антов самого шума, который не выбивал­ся бы из тол­пы, доволь­но мало, так что воз­можны кол­лизии.

Спра­вед­ливос­ти ради сто­ит добавить и что один недос­таточ­но слу­чай­ный иден­тифика­тор не сде­лает погоды на фоне пары десят­ков дру­гих, защищен­ных нам­ного луч­ше.

За­щита от иден­тифика­ции работа­ет кри­вова­то

За­то отпе­чаток по WebGL дей­стви­тель­но раз­ный — ран­домиза­ция все же работа­ет. Отпе­чат­ки canvas тоже хорошо прик­рыты.

От­дель­ного вни­мания зас­лужива­ет фун­кция ран­домиза­ции спис­ка дос­тупных шриф­тов. Любой нор­маль­ный компь­ютер будет иметь приб­лизитель­но оди­нако­вый базовый набор шриф­тов и еще нем­ного уни­каль­ных от уста­нов­ленно­го соф­та. В Octo отлично про­рабо­тана схе­ма мас­киров­ки по шриф­там: у него есть базовый набор шриф­тов, который дол­жен быть на каж­дом компь­юте­ре для задан­ной ОС, а в допол­нение — неболь­шой слу­чай­ный набор, который ты можешь нас­тра­ивать.

Webkay

Webkay не показал ничего нового и инте­рес­ного, кро­ме того, что дан­ные о заряд­ке батареи фаль­сифици­руют­ся: незави­симо от реаль­нос­ти все сай­ты получа­ют информа­цию о том, что батарея заряжа­ется и ее текущий уро­вень заряда — 100%.

privacy.net

Ни­чего нового не выяс­нилось. Бра­узер успешно лжет про раз­решение экра­на, обо­рудо­вание и IP.

Проверка анонимности 2ip.ru

Не­боль­шое отступ­ление, преж­де чем мы перей­дем к резуль­татам: этот тест про­веря­ет не при­ват­ность в смыс­ле сня­тия отпе­чат­ков бра­узе­ра, а ано­ними­зацию с точ­ки зре­ния соот­ветс­твия внеш­него IP-адре­са реаль­ному. То есть мы узна­ем, мож­но ли обна­ружить факт под­мены IP и по каким приз­накам это про­исхо­дит. Все­го ана­лизи­рует­ся 15 кри­тери­ев, которые обыч­но поз­воля­ют обна­ружить исполь­зование средств ано­ними­зации. Вот некото­рые из них:

  • За­голов­ки HTTP-прок­си. Часть прок­си‑сер­веров под­став­ляют в зап­росы свои заголов­ки, что­бы мож­но было иден­тифици­ровать кли­ента. С при­ходом HTTPS метод стал прак­тичес­ки бес­полез­ным.
  • От­кры­тые пор­ты HTTP-прок­си. Даже если прок­си не под­став­ляет свои заголов­ки, у него дол­жен быть открыт порт, через который кли­ент под­клю­чает­ся к самому прок­си‑сер­веру. Сюда же мож­но отнести от­кры­тые пор­ты VPN.
  • По­доз­ритель­ное наз­вание хос­та. Если хост име­ет имя вро­де my-super-secret-vpn.net, что‑то тут нечис­то.
  • Раз­ница во вре­мен­ных зонах бра­узе­ра и IP. Каж­дый пуб­личный IP мож­но соот­нести с некото­рой стра­ной, и, если бра­узер сооб­щает одну стра­ну, а IP при­над­лежит дру­гой, это повод для подоз­рений.
  • При­над­лежность IP к сети Tor. Если IP кли­ента — это адрес выход­ной ноды Tor, то (вне­зап­но) кли­ент, ско­рее все­го, исполь­зует Tor.
  • Утеч­ка DNS. Если ты живешь в Белару­си, а исполь­зуешь DNS-сер­веры Индо­незии, это еще один повод подоз­ревать тебя.
  • Оп­ределе­ние тун­неля двус­торон­ним пин­гом. Суть метода в том, что тун­нель в любом слу­чае будет добав­лять задер­жку. Если про­пин­говать тес­товый сер­вер из бра­узе­ра, а затем про­пин­говать IP-адрес кли­ента со сто­роны сер­вера, вре­мя будет приб­лизитель­но оди­нако­вым толь­ко в слу­чае отсутс­твия тун­неля.

Тес­ты были про­веде­ны одновре­мен­но из двух парал­лель­ных про­филей с оди­нако­выми нас­трой­ками, раз­ница толь­ко в исполь­зовании прок­си. Резуль­таты ожи­даемо отли­чались обна­руже­нием тун­неля.

ДРУГИЕ ФИЧИ

У Octo Browser есть полез­ные фиш­ки, которых нет у дру­гих подоб­ных про­дук­тов. В пер­вую оче­редь это воз­можнос­ти для коман­дной работы. Но есть и прос­то при­ятные мелочи для изу­чения сай­тов и их поведе­ния в раз­ных усло­виях.

Лич­но мне приг­лянулась фиш­ка сох­ранения и импорта cookies для целого про­филя. Ана­логич­ные бра­узер­ные рас­ширения показы­вают толь­ко куки в пре­делах откры­того сай­та, а тут мож­но выг­рузить в JSON вооб­ще всё. Само собой, их мож­но так же лег­ко заг­рузить в про­филь через нас­трой­ки.

Су­щес­тву­ет так называ­емый Cookie Robot: он обхо­дит задан­ные ссыл­ки, что­бы соб­рать с них куки, которые затем сох­раня­ются и исполь­зуют­ся в работе.

На про­фили мож­но вешать спе­циаль­ные теги, которые поз­воля­ют удоб­но раз­гра­ничи­вать дос­туп к ним. Дело в том, что при работе в коман­де у раз­ных учас­тни­ков могут быть раз­ные задачи, поэто­му мож­но нас­тро­ить так, что­бы кон­крет­ные люди видели толь­ко про­фили с опре­делен­ными тегами. В FAQ при­водит­ся прос­той при­мер исполь­зования: один член коман­ды регис­три­рует про­филь, дру­гой про­дает его. Чис­ло чле­нов коман­ды зависит от выб­ранно­го та­рифа.

Кил­лер‑фича — облачная син­хро­низа­ция. Мож­но запус­тить про­филь на одном компь­юте­ре, затем зак­рыть бра­узер, залоги­нить­ся в этот же акка­унт Octo на дру­гой машине и про­дол­жить с того же мес­та, где оста­новил­ся. Нас­трой­ки мас­киров­ки тоже «выжива­ют»: бра­узер выг­лядит для сай­тов точ­но так же, как на дру­гом компь­юте­ре, буд­то реаль­ное железо и не менялось. Фун­кция дей­стви­тель­но клас­сная, и боль­ше ниг­де я ее не видел. Или пло­хо искал?

Приг­лашать поль­зовате­лей мож­но по адре­су элек­тро­поч­ты (туда при­дет ссыл­ка, по которой поль­зователь зарегис­три­рует­ся сам). Мож­но нас­тро­ить пра­ва дос­тупа к про­филям, прок­си и шаб­лонам про­филей, а так­же дать пол­ный дос­туп.

ВЫВОДЫ

Пе­ред тем как я получил для тес­тов собс­твен­но бра­узер, я думал, что передо мной ока­жет­ся оче­ред­ной Chromium со встро­енным адбло­ком. Но опыт показал, что защита от самих попыток отсле­жива­ния чаще при­водит к проб­лемам, чем скар­мли­вание сле­дящим сер­висам заведо­мо под­ложных дан­ных. Octo Browser исполь­зует как раз такой спо­соб: он не зап­реща­ет смот­реть на себя, но ходит в надеж­ной мас­ке, заг­лянуть за которую не уда­лось ни одно­му тес­ту.

Под­делка харак­терис­тик бра­узе­ра выпол­няет­ся качес­твен­но и не сво­дит­ся к под­мене наз­ваний железок. Заголов­ки ста­биль­но про­ходят про­вер­ку и дают нуж­ные отпе­чат­ки.

Раз­работ­чики в ходе тес­тирова­ния отве­чали на любые воп­росы и даже час­тично рас­кры­ли мне осо­бен­ности внут­ренне­го устрой­ства бра­узе­ра, которые в ходе тес­тов выяс­нить не уда­лось бы. Слож­но ска­зать, будет ли такой же уро­вень под­дер­жки у прос­тых поль­зовате­лей, но на дру­желюб­ный под­ход наде­ять­ся мож­но.

В целом Octo Browser оста­вил при­ятные впе­чат­ления. С одной сто­роны, тес­ты на защиту от тре­керов он бла­гопо­луч­но про­валил, с дру­гой — эти тре­керы были обма­нуты и не смог­ли ничего заподоз­рить.

Це­левая ауди­тория, ско­рее все­го, сама опре­делит, как и для чего его исполь­зовать и оку­пит­ся ли под­писка. Отме­чу еще, что за вре­мя обзо­ра он обно­вил­ся дваж­ды, а это зна­чит, что раз­работ­чики активно улуч­шают свой про­дукт.

Читайте ещё больше платных статей бесплатно: https://t.me/hacker_frei