Как стать автором
Обновить

Комментарии 32

Отличная статья получилась! Зашёл из случайного интереса, открыл для себя что-то новое.

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

Спасибо! Да, там много неожиданных моментов, не только заголовок. Перечитал и понял что упустил целый абзац который сам по себе на целую статью тянет. Слишком много всего в голове, тяжело это оттуда доставать упорядоченным :) но ничего, со временем утрясется надеюсь.

Ммм, какая прелесть. API для side channel атак из коробки. Хотел сделать антидект, а получаешь прямой API для простейшего детекта

а можно поподробней схему детекта?

Кладём в кэш - и замеряем время ответа доступа. Повторяем пару сотен раз - и вот мы получили достаточно уникальный фингерпринт пользователя. Работает ровно также как и большинство side-channel attack - либо по времени доступа, либо доставание приватных данных из кэша напрямую. Можно посмотреть, например, каким макаром раньше использовали доступ к цвету ссылок.

Какое отношение мой код к этому имеет? Он не замедляет и не ускоряет доступ.

Он не замедляет и не ускоряет доступ.

ну в таком случае вы не понимаете что такое кэш и с чем его готовят. Рекомендую почитать про уязвимости семейств Meltdown, про ссылки выше уже писал и про constant time wasm и почему им нужен отдельный секурный стек. В противном случае первое же расширение с нужными пермишнами будет сливать о вас много интересного, если кто-то вообще станет этим пользоваться.

ну в таком случае вы не понимаете что такое кэш

довольное сильное утверждение но ок.

В противном случае первое же расширение с нужными пермишнами будет сливать о вас много интересного

ну вот с этого надо было начинать, что из коробки - это для расширений. Сайты до api не дотянутся, расширения со сторов не встанут. А то что пользователь ставит в девелопер моде - ну либо он понимает что делает либо ССЗБ, я реально тут проблемы не вижу.

 Сайты до api не дотянутся, расширения со сторов не встанут.

что мешает расширению слать запросы? Примерно ничего.

 А то что пользователь ставит в девелопер моде

В таком случае можно было бы обойтись без перепиливания хромиумных недр и делать кэши прямо в JS. А так позиционируясь как "с защитой от трекинга" давать апи для него - это определённо не проблема пользователя.

Да ничего не мешает. А что мешает делать то же самое расширениям без этого api?

Добрый день! Меня зовут Тимур и я программист.

Хором в ответ: привет, Тимур!

Отличная статья, прямо старый добрый Хабр)

Дилетантский вопрос: а если вообще без кешей ради всяких там приватностей в ущерб всего и вся?

Я правильно понимаю - запрос на то что бы отключать все кеши? Если да то интересно. Так то он из devtools отключается, но это только http. Хм, я подумаю, пока не готов ничего ответить. Мне попадалась сборка хромиума, вроде там что то похожее заявляли, но там не open source

Ну тут у меня мысль "тупая" до безобразия... Главная же задача любого без исключения браузера - отрисовка полученных данных с выполнением всяких скриптов и т.д. и т.п. Но, есть же некий минимум для выполнения этой задачи и всё прочее, в основном, связанное с удобством и скоростью выполнения основной задачи (кэши же из этой серии?).

Так что мешает вообще оставить необходимый минимум в таком случае и насколько этот путь имеет право на жизнь?) А то при взгляде со стороны складывается впечатление, что оооочень долго всё шло по пути усложнения, а теперь ещё сильнее усложняем, "героически решая возникшие проблемы"...

Дорогой, иди сюда, дай я тебя обниму, горько поплачем вместе.

На самом деле это те самые мысли которые по сути и привели меня в хромиум (в одной из своих первых статей я озвучивал) . И даже примерно план решения у меня есть, но проблема в том что в одиночку я его не смогу реализовать. Упрощать проект надо, однозначно, уровень сложности который задал гугль недостижим для большинства одиночек. И они будут поддерживать такой высокий уровень, это в их интересах. Моё мнение - в хромиум нужно вводить понятие привилегированного js (он там на самом деле уже есть), прокидывать ему низкоуровневыйдоступ в сеть и к fs, это покрывает 90% кейсов, и переносить код с с++ на этот привилегированный js. Таким образом мы получим очень лёгкий каркас на с++ и модульный браузер, при этом порог вхождения в его недра сильно снизится. Что то подобное было (и ещё есть) в Firefox, и в плане скорости сборки и простоты чтения кода лиса и хром конечно небо и земля. Но у лисы некошерная (с моей точки зрения) лицензия и они явно находятся под внешним управлением гугля. Так что да, я согласен полностью с этими мыслями, но не сейчас. Но очень надеюсь что этот день настанет и собственно над этим и работаю.

Моё мнение - в хромиум нужно вводить понятие привилегированного js (он там на самом деле уже есть), прокидывать ему низкоуровневыйдоступ в сеть и к fs, это покрывает 90% кейсов, и переносить код с с++ на этот привилегированный js. Таким образом мы получим очень лёгкий каркас на с++ и модульный браузер, при этом порог вхождения в его недра сильно снизится. Что то подобное было (и ещё есть) в Firefox, и в плане скорости сборки и простоты чтения кода лиса и хром конечно небо и земля.

Некоторое время назад, когда у обычно используемого мной Brave были какие-то проблемы с синхронизацией между устройствами, я честно попытался перелезть на Firefox. Но, как только Brave починили, с огромным облегчением удрал обратно. Firefox на мобилках по сравнению с Brave оказался жрущим батарею тормозом. Неудивительно, что, хотя на десктопах у него сейчас доля по данным statcounter в районе 7 процентов, на мобилках и планшетах она где-то возле нуля - в районе полпроцента. Этот ваш комментарий многое объясняет.

У них 80% income от гугля прилетает, это их собственный отчет. Их не убьют потому что в таком случае гугль попадает на размонополизацию, и при этом они так и будут на коротком поводке. Я лично по работе налетал на баги в лисе которые не фиксились 11 лет. Гугль выиграл, это надо признать и двигаться дальше. Исходники хромиума есть, всё не так уж и безнадёжно. Нужно набрать критическую массу программистов способных ориентироваться в нём и начать перетаскивать пользователей фишками которые гугль никогда у себя не впилит. А фишек таких нафантазировать можно.

Я не про финансирование, а про относительные тормоза и любовь к подъеданию батареи. Если там действительно куча js поверх "легкого каркаса", и этот js делает основную массу работы, то неудивительно.

Может быть, надо на самом деле смотреть чем именно там js занят. В ноде например эта идея стрельнула вполне себе. Но да, вполне может быть что увлеклись и повесили на js то чем он заниматься не должен.

Ну она "стрельнула" главным образом тем, что позволила куче обезьян писать бэкенды. А как раз в плане производительности даже go или шарпик кроют ноду как бык овцу.

Не соглашусь, я писал число дробилку на ноде (как proof of concept) народ с go посмотрел, почесал затылок и сказал что ускорить могут на десяток процентов, но не в разы. Но это холиварная тема, мы то тут не для этого собрались.

Но это холиварная тема, мы то тут не для этого собрались.

Ну тогда не стоит и говорить о том, что там где "стрельнуло". Стрельнуло в плане простоты написания кода и возможности привлечения массового пейсателя? Да, несомненно (для этого все и затевалось). Стрельнуло в плане производительности? Нет, тут в лучшем случае "холиварная тема". А мы в данном треде обсуждаем как раз производительность и энергопотребление.

Да я как нибудь сам решу о чем говорить а о чем нет.

Но это холиварная тема, мы то тут не для этого собрались.

Да я как нибудь сам решу о чем говорить а о чем нет.

Алаверды, так сказать.

Вы между двумя цитатами пропустили момент когда Вы начали мне указывать о чем мне говорить а о чем нет.

А "мы тут не для этого собрались" - это не была попытка указывать мне, о чем говорить, а о чем нет?

Нет

Ну-ну.

И они будут поддерживать такой высокий уровень, это в их интересах.

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

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

А если всё это рассматривать с точки зрения возможности любым заинтересованным лицом создавать уникальный портрет пользователя и безошибочно определять его на любых ресурсах, до которых дотянулись и , соответственно, расширять картину его интересов (с этого же всё началось?), то на сегодняшний день проще опять всё запускать на виртуалке на чистой версии любой ОС с чистой инсталляцией браузера и каждый день откатывать виртуалку до первоначального снимка - пусть штампуют уникальных айдишников сколько хотят, их ещё надо умудриться связать между собой. А пока что и режим инкогнито в хроме выглядит как издёвка, когда там мелькает релевантная реклама, с учетом активности за месяц/два/больше))

Ну про виртуалку соглашусь, но опять же - проще потому что ничего другого нет. Я об этом и говорю - отучить хромиум от вредных привычек - сложная но подьемная работа. А в момент когда пользователям будет доступен действительно надёжный браузер всё эти танцы с виртуалками будут выглядеть как костыль.

Есть такой грешок, каюсь. Но на замечания реагирую адекватно, если что то прям сильно раздражающее - говорите, поправлю.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации