Линус Торвальдс: Чувствительные к регистру файловые системы — это ошибка

Линус Торвальдс: Чувствительные к регистру файловые системы — это ошибка

Линус Торвальдс: Чувствительные к регистру файловые системы — это ошибка

На днях вокруг обновлений в Linux 6.15-rc4 вспыхнуло горячее обсуждение. Всё началось с того, что разработчик Kent Overstreet поднял старую тему про ошибки в патчах для поддержки чувствительных к регистру файлов и папок в драйвере Bcachefs.

Мол, когда почти два года назад внедряли эту поддержку, тесты были, но… их никто толком не прогнал. Упустили. Кент честно признал:

«Одних автоматических тестов недостаточно. Нужно глазами следить за тем, что делает твой код».

И вроде бы обычная история про баги и уроки на будущее, но тут в беседу резко ворвался Линус Торвальдс. Сначала коротко ответил: «Нет». А потом выдал фирменную речь:

«Единственный урок — работники с файловой системой ничему не учатся. Чувствительные к регистру имена — это катастрофа, и вам вообще не стоило их делать. Проблема не в тестировании — проблема в том, что вы вообще это начали».

Торвальдс объяснил, что такие фичи делают систему только хуже:

«Нет правильного способа сделать это как надо. А попытки "сделать правильно" превращаются в хаос, где случайные байты вдруг обретают магическое значение».

По его мнению, тесты на проверку таких штук тоже «абсолютно поломаны» и не покрывают самых опасных сценариев — тех, которые могут привести к реальным уязвимостям. И тут началась настоящая перепалка.

Overstreet попытался парировать: мол, реальная потребность в таких каталогах всё-таки есть, и задача — не ныть, а сделать всё аккуратно и читаемо. Торвальдс не сдал позиции:

«Если бы кто-то хоть раз показал качественную реализацию, я бы, может, и передумал. Но пока вижу только плохой код, который не понимает, как работает UTF-8 и юникод».

Overstreet возразил, что опасения по поводу безопасности уже не так актуальны, ведь всё меньше используется совместный доступ к каталогам вроде /tmp. Но Торвальдс остался непреклонен.

Дальше спор скатился в детали реализации кеширования (dcache). Overstreet настаивал, что именно из-за оптимизации там и возникли проблемы. Торвальдс парировал:

«Ты явно не понимаешь, как работает dcache. Я, между прочим, большую часть этого кода писал».

Когда Kent не поверил, Линус напомнил, что писал эти части ещё в конце 90-х, и если появляются «dentry-алиасы», то «значит, ты что-то делаешь не так». В итоге Overstreet признал, что да, ошибался насчёт некоторых моментов — но сделал это, конечно, в своём стиле.

«Забавный способ сказать: "Да, Линус, ты был прав"», — подытожил Торвальдс.

Фильтры AdBlock выдают страну даже при включённом VPN

Исследователи описали новую технику деанонимизации под названием Adbleed, которая ставит под сомнение привычное ощущение безопасности у пользователей VPN. Проблема кроется в блокировщиках рекламы. Такие расширения, как uBlock Origin, Brave или AdBlock Plus, работают на основе списков фильтров.

Есть базовый список EasyList с десятками тысяч правил для международной рекламы, а есть региональные — для Германии, Франции, России, Бразилии, Японии и других стран.

Они блокируют локальные рекламные домены, и многие пользователи включают их вручную или по рекомендации самого расширения, ориентируясь на язык браузера.

 

Adbleed использует довольно изящную идею: он измеряет время, за которое браузер обрабатывает запрос к определённому домену. Если домен заблокирован фильтром, запрос обрывается почти мгновенно — за считаные миллисекунды.

 

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

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

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

Самое неприятное в этой истории то, что VPN тут ни при чём: он меняет сетевую «точку выхода», но не конфигурацию браузера. Ваши фильтры остаются прежними, где бы ни находился сервер.

Пользователю остаётся не самый приятный выбор: отключать региональные списки и мириться с дополнительной рекламой, пытаться «зашумить» профиль случайными фильтрами или принимать риск как есть.

RSS: Новости на портале Anti-Malware.ru