Как браузер помогает товарищу майору +216



Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux» (и это не реклама), что каждый скачанный нами файл из Интернета с легкой руки браузера оставляет в расширенных атрибутах файла (в inode файла, не в самом файле) как минимум полную ссылку на то откуда он был скачан, я пришел в легкое возбуждение и хотел тут же броситься спасать мир. Позже, немного изучив этот вопрос, почитав «коммиты» и «комменты», говорившие, что этой возможности, встроенной в ядро GNU/Linux, как минимум уже около 10 лет, что ею пользуется не только браузеры, но и, к примеру, популярная утилита wget (curl нет), и что эта вещь считается чуть ли не нормой в Linux (и, как выяснилось позже в MacOS), то я немного подуспокоился. Одно не давало мне покоя: поиск ключевого слова getfattr в google по сайту «Хабра»: site:https://habr.com getfattr, равно как и по ЛОРУ: site:https://linux.org.ru getfattr ничего толком не дал. «Значит» — подумал я — «эта тема еще особенно не обсуждалась». — Что же, тогда пришло время ее обсудить, но для начала пришлось немного по-исследовать. И вот что я обнаружил:

image

Дисклеймер*. Из-за отсутствия времени буду добавлять много букв по мере возможности. Пока только конкретика.

Да, каждый скачанный файл с помощью любого Chromium-совместимого браузера (проверено в lxc-контейнере на Chrome, Chromium, Yandex и последней Opera) записывает в расширенных атрибутах файла, спрятанных в недрах файловой системы, вот такой вывод:

i@ars:~$ getfattr -d logo.png 
# file: logo.png
user.xdg.origin.url="https://habr.com/images/logo.png"
user.xdg.referrer.url="https://habr.com/images/logo.png"

При этом все они честно ничего не пишут, если вы скачиваете файл в режиме «инкогнито» / «private browsing»

Знали ли вы об этом? Если да, то хорошо. Если нет, то теперь будете знать. Что касается Firefox и Palemoon — эти парни честно игнорируют эту помощь товарищу майору. Весь букет программ для просмотра Интернет-страниц я не проверял, но думаю, все, что основано на Chromium делает это, остальные скорее нет.

Теперь о MacOS и Windows. В «макоси» данная функция также работает в Chrome:

iMac-Igor:~ [censored]$ xattr -l habr_logo.png 
com.apple.metadata:kMDItemWhereFroms:
00000000  62 70 6C 69 73 74 30 30 A2 01 02 5F 10 20 68 74  |bplist00..._. ht|
00000010  74 70 73 3A 2F 2F 68 61 62 72 2E 63 6F 6D 2F 69  |tps://habr.com/i|
00000020  6D 61 67 65 73 2F 6C 6F 67 6F 2E 70 6E 67 5F 10  |mages/logo.png_.|
00000030  20 68 74 74 70 73 3A 2F 2F 68 61 62 72 2E 63 6F  | https://habr.co|
00000040  6D 2F 69 6D 61 67 65 73 2F 6C 6F 67 6F 2E 70 6E  |m/images/logo.pn|
00000050  67 08 0B 2E 00 00 00 00 00 00 01 01 00 00 00 00  |g...............|
00000060  00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00  |................|
00000070  00 00 00 51                                      |...Q|
00000074
com.apple.quarantine: 0001;5c8a21e7;Google Chrome;26D6C537-E6B0-4715-9E77-656FF1C5B7A9

… работает она и в Safari. В FF не проверял, но полагаю, что прекраснодушный Firefox для MacOS также лишен этой «привилегии», как и в Linux.

Утверждается, что это фича используется для определения файла «скаченного из Интернет» и именно по наличию этого атрибута в «макоси» выскакивает предупреждение об опасности запуска и т.п. Хм… Странно… Но здесь мы плавно перейдем к Windows.

«Венда» вещь безусловно бездарная и следящая за всеми с неприкрытым цинизмом. (чего только стоят неотключаемые обновления в W10! ). В ней, в NTFS также спрятаны лазейки для записывания чего угодно в расширенные атрибуты файлов. Называются они streams и могут все тоже самое. Говорят, что в эти припрятанные файловой системой «потоки» периодически любят что-нибудь да записывать вирусы, поскольку все остальные программы их используют редко. Не могу ничего сказать, я Windows последние 10 лет не пользуюсь. И все же. При первом приближении в Win10 я не обнаружил подобной «мелочи», а именно того факта, чтобы в расширенный атрибуты NTFS Google Chrome писал ссылки подобно тому, как он делает это в Linux и MacOS. Оговорюсь: это при первом приближении, поскольку утверждается, что у streams есть как-бы несколько слоев и не все они прямо доступны.

Вот так, если кратко, обстоит дело с тем, как устроены не только браузеры, но и файловые системы при предельно кратком рассмотрении.

Я еще буду править эту статью. Но заранее прошу отказаться от комментариев в виде: «Ну и что, мне нечего скрывать». В общем, нам всем, как-правило, тоже. Но наиболее рьяным «намнечегоскрывать», если таковые найдутся, я могу посоветовать включить встроенную камеру и микрофон, и дать публичную ссылку здесь, в комментариях, чтобы и мы все могли в этом убедиться. Шутка конечно.

Вот такие шуточки.

UPD*
Итак. Что выясняется, благодаря вашим многочисленным комментам и дополнительному изучению материала:

Во всех трех операционных системах: Linux, MacOS, Windows браузеры и, в первую очередь Chrome и Chromium-based пишут путь на источник скачанных файлов на уровне файловой системы.

В Linux браузеры на базе Google Chrome пишут полную ссылку на исходное местоположение файла в поля: user.xdg.origin.url и user.xdg.referrer.url
Делается это с использованием фичи ядра Linux, которая появилась в нем еще аж с 2002 года в виде расширенных атрибутов файла под общим названием xattr[Wikipedia], которые доступны почти во всех популярных FS: ext2, ext3, ext4, Squashfs, ReiserFS, XFS, Btrfs, ZFS. Опциями ядра или флагами монтирования поддержку расширенных атрибутов можно отключить, но она используется при контейнеризации (атрибуты для namespaces), SELinux-ом и используется «Иксами» в тех или иных случаях с легкой руки freedesktop.org (например, для определения MIME type файла) [ссылка].

Используются эти поля и некоторыми программами. Как, например, указанными выше в статье браузерами Chrome, Chromium, Yandex, Opera, в некоторых случаях Firefox'ом и консольной утилитой wget, а также, судя по Википедии: curl, Beagle, OpenStack Swift, Dropbox, KDE. По утверждениям в комментариях wget последней версии 1.20.1 не пишет уже (у меня 1.19 — пишет, также не пишет у меня и curl, а судя по wiki — должен). По-видимому, среди разработчиков периодически проходит дискуссия включать или не включать подобную фичу в очередной релиз ). В Firefox для Linux, как я проверял, ничего не сохраняется, а вот для MacOS и Windows, как проверили другие — да. Не исключено, что это как-то связано с политикой самих ОС от Apple и Microsoft.

Вообще, ограничений по созданию и управлению полями расширенных атрибутов в Linux нет. Вы сами можете создавать и записывать в расширенные атрибуты информацию, какую хотите. На уровне ядра ограничения такие: 255 байт для имени и до 64KB для значения поля. У некоторых файловых систем они такие (XFS and ReiserFS), у других они меньше (ext2/3/4 и btrfs).

Похожая ситуация в MacOS и Windows с их FS HFS+ и NTFS. С той лишь разницей, что подобные атрибуты по-разному называются, прячутся и показываются. В Ubuntu 18.10 вы не увидите их в дефолтном файловом менеджере Nautilus как и в консоли, пока не установите пакет attr, включающий утилиты просмотра и установки attr-атрибутов (getfattr и setfattr соотвественно). На Маке увидеть можно либо в Finder по cmd+I, либо при помощи встроенной xattr. В Windows, говорят, в свойствах файла виден лишь флаг наличия спрятанной ссылки у файла (руки не дошли проверить где), либо через powershell или программу streams:

victoriously:
 Здесь некто советует помимо powershell использовать программу streams. Субъективно удобнее.
streams [-s] [-d] <файл или каталог>


В комментариях много вариантов ухода от записи информации или удаления ссылок на файлы для той или иной операционной системы. Например, для Linux мне понравилась простая идея монтировать в папку, куда будут загружаться файлы браузером в другой файловой системе — без флага записи расширенных атрибутов по-умолчанию. Например, в ReiserFS --> оригинал коммента

Идея с отключением атрибутов вообще на этапе монтирования в /etc/fstab
mount -o nouser_xattr

во-первых, не отменят уже имеющиеся поля, но главное, как мне кажется, чревата нарушением работы ряда служб (SELinux, LXC). (--> полный комментарий)

Наиболее простым способом является чистка командой/скриптом в консоли или в powershell:

Linux:
setfattr -hx user.xdg.origin.url имя_файла

оригинал комментария

MacOS:
xattr -c -r ~/Downloads

оригинал комментария

Windows:
get-childitem «D:\Downloads\» | unblock-file

оригинал комментария

Общий итог:
Появившаяся достаточно давно (в Linux c 2002 года) возможность приписывать к файлу любые поля и заполнять их значениями, начала реализовываться в виде записывания полного пути на источник скачивания довольно недавно. Где-то после 2015-2016 гг. Так, например, у меня на Маке остались файлы с 2015 года, скачанные из Сети и (версия 10.6.8) и никаких ссылок мною обнаружено не было. Кто-то из комментаторов проверял на предыдущих версиях Debian (8-рка) и тоже ничего не обнаружил. ссылка на коммент.

Когда это появилось в Windows — нет сил выяснять, но судя по этому комментарию, функцию «принесли» не только в W10 и W7, но даже в W_XP ;)

Повторю простую мысль: Странно не то, что это есть, странно, что это появилось тихо и везде почти незаметно. Именно поэтому, в последней версии утилиты для скачивания файлов в Linux wget бывшую там фунцию сохранения ссылки убрали:

* Changes in Wget 1.20.1

** --xattr is no longer default since it introduces privacy issues.


ссылка на коммент

Ибо, как мне кажется, такие вопросы должны контролировать и решать мы — пользователи.

Уф.

Вы можете помочь и перевести немного средств на развитие сайта



Комментарии (275):

  1. motpac
    /#19882818 / +3

    Жду развёрнутого исследования и способов прекратить это «безобразие», для MacOS в частности.

    • LinearLeopard
      /#19883252

      Перейти на FF? :)
      Хотя не поможет.

      • jery_jary
        /#19888500

        Вопрос просто в том, какова цель хранения данной информации, что прям все браузеры это хранят. Должна же быть какая-то функциональная нагрузка на этой «фиче». Помимо помощи товарищу майору=)

        • yvm
          /#19890228

          Докачка, повторить загрузку, скопировать ссылку?

          • jery_jary
            /#19890246

            Тоже об этом подумал, но что-то мне подсказывает, что эту информацию браузер хранит где-то там же, где и историю. По крайней мере, это было бы логичнее (а код лопатить влом)).

    • pacaya
      /#19883270

      Тут как с обычной историей посещений в браузерах: если вас напрягает, что она хранится, вы используете режим “инкогнито". Если вас напрягает, что файлы “помнят” откуда они скачаны — используйте режим “инкогнито".

      • nikbond
        /#19885540

        Ну например, может возникнуть желание хранить историю, но отключить эти записи в атрибуты. Инкогнито делает все вместе. Интересно, есть ли в каких-то из популярных браузеров такие кастомизации?

        • pacaya
          /#19885686

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

      • ianzag
        /#19885642

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

        • itconsulting
          /#19892400

          А разве расширенный атрибут не будет удалён из системы когда вы удалите сам скачанный файл? Причём здесь снос хрома?

          • ianzag
            /#19893052 / +1

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

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

            Если же фактически хранить историю скачивания в атрибутах файлов эта схема больше не работает. Хрома уже нет, служебных файлов хрома нет, а вот история в системе осталась. Неопределенным образом размазанная по файлухе. Ищи её потом днем с огнем и вычищай. А если я ещё и софтиной пользуюсь, которая при копировании файлов также тихой сапой сугубо из благих побуждений копирует их атрибуты — это вообще песня! История начинает жить своей, собственной, жизнью и потенциально расползаться по неопределенному кругу носителей. Красота!

            С моей точки зрения это не есть хорошо.

      • Dim4Nik
        /#19893944

        Режим инкогнито в браузере только для самоуспокоения пользователя. В том же Firefox (это относится и к другим браузерам) пишут:

        Важно: Режим приватного просмотра не делает вас анонимным в интернете. Ваш интернет-провайдер, работодатель или сами сайты могут собирать информацию о страницах, на которые вы заходите.

        Тоже и с файлами будет.

        • pacaya
          /#19894750

          Я же ничего не говорил про анонимность. Я всего лишь написал, что он помогает для случаев, когда не хотите, чтобы хранилась история посещений страниц в браузере. Для анонимности нужны соссем другие методы – из числа VPN и Tor, но и там могут быть свои нюансы…

    • F0iL
      /#19883288

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

        • Endeavour
          /#19884236

          А ссылка на баг хромиума говорит «no permissions», как и многие другие баги хромиума. Такой-то опернсорс!

          • Alexeyslav
            /#19884358

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

            • Endeavour
              /#19886030 / +4

              Это баг о невозможности отключения данной «фичи», какие уязвимости?

        • F0iL
          /#19884254

          Я создал Issue в апстриме в дополнение к тому, что указан у них по ссылке и не открывается с «no permissions», посмотрим что получится:
          bugs.chromium.org/p/chromium/issues/detail?id=942014

          Можете не стесняться и ставить звездочки.

    • aamonster
      /#19883294

      xattr -c -r ~/Downloads
      Можете автоматизировать.

      • kikiwora
        /#19884356

        А это просто отличная идея!

      • janatem
        /#19884932 / +2

        Для автоматизации можно в ~/Downloads монтировать отдельную (виртуальную) файловую систему с отключенными атрибутами.

        • nlykl
          /#19885262 / +2

          Например, tmpfs, которая живет в оперативной памяти. Приучает не превращать каталог с загрузками в помойку.

          • pesh1983
            /#19886232 / +1

            Лучше для этого развивать дисциплину и чистоплотность) А то ведь, не ровен час, и на все остальные папки и устройства такой подход расползется

          • s-kozlov
            /#19886988

            Каталог с загрузками — помойка по определению. Не знаю, как другие, а я после установки браузера сразу ставлю опцию «Спрашивать, куда сохранять файлы», а в каталог «Загрузки» сохраняю только то, что не жалко.

            • nlykl
              /#19889208

              Лиса так не умеет. Или я плохо искал.

              • sysd
                /#19889294

                Умеет. Настройки -> основные. Или просто вбить в поиске настоек «загруки».

              • marenkov
                /#19889322

                Плохо искал. Настройки — Основные — Файлы и Приложения — Загрузки

          • NoRegrets
            /#19888398

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

            • Wesha
              /#19891090

              > скачать заново быстрее

              Только помните, что «в интернете есть всё. Но не всегда.»

      • motpac
        /#19885094

        большое мерси за подсказку!

    • pirate_tony
      /#19885238 / +1

      Несколько лет использую скрипт который запускается автоматически при появлении новых скачанных файлов (Safari, Chrome и Tor) в папку загрузки.

      Вот некоторые когда-то обнаруженные мною и выносившие мозг атрибуты.

      xattr -r -d com.apple.FinderInfo "{@}"
      xattr -r -d com.apple.quarantine "{@}"
      xattr -r -d com.apple.serverdocs.markup "{@}"
      xattr -r -d com.apple.metadata:kMDItemWhereFroms "{@}"
      xattr -r -d com.apple.metadata:kMDItemDownloadedDate "{@}"


      Либо затирание (удаление) всех атрибутов:
      xattr -r -c "${@}"


      Они сохраняются непосредственно в «тело» той файловой системы которую используете — HFS или APFS. В других файловых системах в MacOS атрибуты сохраняются не в тело а в отдельные файлы, либо не сохраняются вовсе.

      • DistortNeo
        /#19886220

        Кстати, да, Tor тоже создаёт такой атрибут.
        Правда, URL-ы в него не вставляет.

    • usrsse2
      /#19885456 / +2

      Хранить папку «Загрузки» на FAT32?

      • motpac
        /#19886122 / -2

        я вот старый, а до сих пор не знал что можно форматировать внутри одного раздела на винте на разные ФС…
        ПросвЯтите?

        • usrsse2
          /#19886178 / +2

          Зачем внутри одного раздела? Создать отдельный раздел и в настройках браузера указать путь для папки загрузок, ну или примонтировать его в папку, если вдруг в браузере настроек нет

          • motpac
            /#19886188

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

            • edwardspec
              /#19886508 / +1

              У меня зашифрован весь раздел APFS, разделение его на доступный FAT32 выпадает из общей концепции.
              Не проблема: одна ФС может быть в обычном файле внутри другой ФС:
              $ dd if=/dev/zero of=testfat32 bs=1k count=100k
              102400+0 записей получено
              102400+0 записей отправлено
              104857600 байт (105 MB, 100 MiB) скопирован, 0,773762 s, 136 MB/s
              $ ls -lh testfat32
              -rw-rw-r--. 1 edward edward 100M мар 15 00:52 testfat32
              $ mkfs.vfat testfat32
              mkfs.fat 4.1 (2017-01-24)
              $ mkdir mountpoint
              $ sudo mount ./testfat32 mountpoint
              $ df -h mountpoint/
              Файловая система Размер Использовано Дост Использовано% Cмонтировано в
              /dev/loop0 100M 0 100M 0% /home/test/mountpoint

              • thauquoo
                /#19886646

                Неплохая иллюстрация, но без sparse файлов это будет занимать максимальное пространство сразу.

                • sumanai
                  /#19887006

                  А с ними будет занимать через некоторое время.

              • DistortNeo
                /#19887568

                Накладные расходы только выше становятся

        • thauquoo
          /#19886638 / +1

          truncate -s 512M file.img
          mkfs.reiserfs -f -q file.img
          mkdir folder
          mount -o loop file.img folder

          Вместо ReiserFS можно использовать что угодно. Sparse файлы не будут занимать больше места, чем занимают файлы внутри контейнера-файла + расходы на структуры ФС. С помощью опции discard или утилиты fstrim можно освобождать блоки на месте удалённых файлов, чтобы они зря не занимали место.

    • feyd12
      /#19887040

      Перестать пользоваться шпионскими браузерами от гугла, для пикантных вещей использовать отдельную виртуальную машину с тор-браузером на борту и заблокированным dns, как минимум))

    • dim2r
      /#19887050

      Вроде, как файловая система FAT не поддерживает потоки. Можно попробовать перейти на FAT

      • Alexeyslav
        /#19887642

        на FAT много своих недостатков… размер тома не более 4Тб, размер одного файла не может быть больше 4Гб и т.д. нет журналируемости — любой сбой чреват серьёзными повреждениями ФС…

  2. PashaPash
    /#19882862 / +6

    В винде хром точно так же пишет данные о скачивании в стрим с именем Zone.Identifier, вместе с отметкой, что файл скачан с интернета:
    > Get-Item .\streams.zip -Stream *
    ...
    Stream : Zone.Identifier
    Length : 164

    > Get-Content .\streams.zip -Stream Zone.Identifier
    [ZoneTransfer]
    ZoneId=3
    ReferrerUrl=https://docs.microsoft.com/en-us/sysinternals/downloads/streams
    HostUrl=https://download.sysinternals.com/files/Streams.zip


    И при этом проводник еще и отслеживает файлы после распаковки:
    > Get-Content .\streams64.exe -Stream Zone.Identifier
    [ZoneTransfer]
    ZoneId=3
    ReferrerUrl=C:\Users\****\Downloads\Streams.zip

    • multiprogramm
      /#19883060

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

      • take
        /#19883068 / +1

        да, это прекрасно, когда ты в курсе. как с кариесом )

        • 0x9d8e
          /#19883142

          Не понял, чего прекрасного в кариесе?

          • Meklon
            /#19883210 / +8

            Плохая метафора подобна котенку с дверцей.

            • Cerberuser
              /#19883514

              С дверцей, через которую подглядывает товарищ майор?

              • nickolaym
                /#19885358 / +1

                Если долго вглядываться в дверцу, дверца начнёт вглядываться в тебя.
                Р.Хайнлайн. А может быть, Р.Силверберг.

                • burrdarr
                  /#19885594 / +6

                  Там было про бездну. И это был Ф.Ницше.

                  • holomen
                    /#19886796

                    Да Фрейд это был. И было там про…

                    • DocJester
                      /#19886976

                      Иногда сигара — это просто сигара.

                    • Vsevo10d
                      /#19892406

                      Читать продолжение в источнике

            • jMas
              /#19886264

              Метафора на самом деле не плохая. Проблема в другом.

      • PowerMetall
        /#19883174 / +1

        Ура, вот и занятие на ближайшие выходные — набросать софтинку для отображения этой инфы. Ну и затирания, само собой )

        • vilgeforce
          /#19883226

          Чтение, запись и удаление потоков могут быть, если я не путаю, осуществлены стандартными API системы, нужно только правильное имя передать.

        • PashaPash
          /#19883230

          Судя по всему, это часть Attachment Manager (по крайней мере ZoneId), того самого, который показывает предупреждения при открытии скачанных файлов. Он отключается через Group Policy.

        • vmspike
          /#19883552 / +2

          Под Linux всё уже написано за нас, пакет с утилитами называется attr (в деривативах Debian во всяком случае).
          Найти файлы в домашней директории у которых выставлены какие-нибудь расширенные аттрибуты можно так:


          getfattr -dRhm- /home 2>/dev/null >./getfattr.log

          Удалить ненужный аттрибут:


          setfattr -hx name /path/to/comrade/major.png

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

          • bano-notit
            /#19885068

            Спасибо большое, я сделал скриптик по вашему примеру кода.

            • vmspike
              /#19885380

              Как-то уж слишком мудрёно на мой вкус получилось, я б использовал что-то такое:


              remove_all_user_xattrs_in /this/dir
              #!/bin/bash
              path=$1
              while IFS= read -r line; do
                  case "${line}" in
                      '') continue;;
                      '# file: '*) filename=${line:8};;
                      *) setfattr -hx "${line}" "${filename}"
                          printf '%s: %s\n' "${filename}" "${line}"
                  esac
              done < <(getfattr -hPR --absolute-names -- "${path}")

              • bano-notit
                /#19885654

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

                • vmspike
                  /#19885712

                  Чтобы убрать только определённый аттрибут достаточно указать паттерн опцией -m для getfattr, и/или можно подправить строку с setfattr, чтоб уж точно только этот аттрибут удалял [[ "${line}" == 'yourattrname' ]] && setfattr ....

        • Max_JK
          /#19886986 / +1

          для винды уже есть такая софтина выдает название steam-ов файла, в ней-же их можно затирать.

          Посмотреть содержание альтернативного потока можно командой:
          more <file.txt:streamId
          например
          more <vlc-3.0.6-win64.exe:Zone.Identifier
          выведет что-то вроде
          [ZoneTransfer]
          ZoneId=3
          ReferrerUrl=https://get.videolan.org/vlc/3.0.6/win64/vlc-3.0.6-win64.exe
          HostUrl=https://mirrors.shu.edu.cn/videolan-ftp/vlc/3.0.6/win64/vlc-3.0.6-win64.exe

          • PashaPash
            /#19887628 / +1

            для видны названия стримов умеет выдавать стандартный dir /r или Get-Item ... -Streams *

      • glowingsword
        /#19884756 / +1

        Не все утилиты пишут данные в xattrs по умолчанию. К примеру youtube-dl нужно заставлять это делать каждый раз добавляя ключик --xattrs. А ведь для роликов с youtube удобно знать, откуда они их скачали. Однако разрабы утилиты сделали эту фичу включаемой, но отключенной по дефолту из уважения к приватности пользователей. Думаю, разрабы браузеров могли бы поступить так же :)

        • nlykl
          /#19885272

          А можно сделать так, чтобы youtube-dl писал URL в теги?

          • glowingsword
            /#19885406

            Не знаю. В атрибуты он умеет писать URL. Пишет в user.xdg.referrer.url.

            Получается как-то так

            user.dublincore.title=«MY IMMORTAL (Evanescence) Harp Twins — Camille and Kennerly HARP ROCK»
            user.xdg.referrer.url=«www.youtube.com/watch?v=MEe6HgqF-A8»

    • a-tk
      /#19885404

      FireFox сделал вот так:
      [ZoneTransfer]
      ZoneId=3

      Все настройки по умолчанию.

    • Sergery8205
      /#19888614

      Спасибо огромное, очень полезный пример!

  3. halyavin
    /#19882878 / +3

    Код записи NTFS стрима для скачанных файлов в хроме находится здесь: src/components/download/quarantine/quarantine_win.cc.

    • Whuthering
      /#19883092

      Хм… Судя по названию, эта штука предназначена для того, чтобы антивирусное ПО могло делать какие-то выводы по адресу источника, из которого был скачан файл. Интересно.

      • F0iL
        /#19883140

        Судя по комментарию

        // Doing the annotation after the rename rather than before leaves
        // a very small window during which the file has the final name but
        // hasn't been marked with the Mark Of The Web.  However, it allows
        // anti-virus scanners on Windows to actually see the data
        // (http://crbug.com/127999) under the correct name (which is information
        // it uses).
        из кода, осуществляющего запись этих параметров, похоже на то.

  4. vilgeforce
    /#19882906

    «в Win10 я не обнаружил подобной «мелочи»» — чем и как смотрели?
    «у streams есть как-бы несколько слоев и не все они прямо доступны» — если я не путаю, перечисление альтернативных файловых потоков (так называется то, что вы назвали streams) — дело хоть и не особо простое, но вполне реальное. Особенно интересно, конечно, про слои.

  5. Pravo
    /#19882974 / +2

    На маке Firefox записывает все ходы и Firefox Developer Edition тоже пишет:

    $ xattr -l 15258e329f726dd47efbffb92ce29981.png
    com.apple.metadata:_kMDItemUserTags:
    00000000 62 70 6C 69 73 74 30 30 A0 08 00 00 00 00 00 00 |bplist00........|
    00000010 01 01 00 00 00 00 00 00 00 01 00 00 00 00 00 00 |................|
    00000020 00 00 00 00 00 00 00 00 00 09 |..........|
    0000002a
    com.apple.metadata:kMDItemWhereFroms:
    00000000 62 70 6C 69 73 74 30 30 A2 01 02 5F 10 55 68 74 |bplist00..._.Uht|
    00000010 74 70 73 3A 2F 2F 68 73 74 6F 2E 6F 72 67 2F 67 |tps://hsto.org/g|
    00000020 65 74 70 72 6F 2F 68 61 62 72 2F 61 76 61 74 61 |etpro/habr/avata|
    00000030 72 73 2F 31 35 32 2F 35 38 65 2F 33 32 39 2F 31 |rs/152/58e/329/1|
    00000040 35 32 35 38 65 33 32 39 66 37 32 36 64 64 34 37 |5258e329f726dd47|
    00000050 65 66 62 66 66 62 39 32 63 65 32 39 39 38 31 2E |efbffb92ce29981.|
    00000060 70 6E 67 5F 10 20 68 74 74 70 73 3A 2F 2F 68 61 |png_. https://ha|
    00000070 62 72 2E 63 6F 6D 2F 72 75 2F 70 6F 73 74 2F 34 |br.com/ru/post/4|
    00000080 34 33 36 39 34 2F 08 0B 63 00 00 00 00 00 00 01 |43694/..c.......|
    00000090 01 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 |................|
    000000A0 00 00 00 00 00 00 00 00 86 |.........|
    000000a9
    com.apple.quarantine: 0081;5c8a3083;Firefox;A6F3EA08-27F2-4FA2-9B50-F2C0F1FE255F

  6. pacaya
    /#19882986 / +1

    В MacOS вы можете узнать откуда скачан файл просто нажав правую клавишу на файле и выбрав меню Info (без необходимост использовать xattr). В разделе More Info будет Where from. Т.е. это действительно просто функция, могущая считаться полезной, а не скрытый механизм. Не хотите, чтобы хранилась информация – используйте приватный режим…

    • take
      /#19883062 / +1

      да, так и есть. интересно посмотреть по файловым менеджерам Linux. Nautilus вот не показывает ничего. может другие вдруг

      • Jerf
        /#19884622

        Dolphin (который в KDE) всё показывает, во вкладке «Сведения» в свойствах файла.

    • NickyX3
      /#19883682 / +1

      ну вообще в MacOS много чего хранится в альтернативных потоках, включая иконки, описания и еще много всего. Собственно это все при копировании на какой-нить FAT/NTFS эмулируется через скрытую папку .DS_Store

  7. tkf
    /#19883132

    В MacOS для меня это фича, и если бы она была такой же прозрачной и удобной в Windows/Linux это был бы плюс.
    Но тут как всегда, нужно выбирать удобство или безопасность :D

  8. negodnik
    /#19883344 / -1

    При этом не меняется контрольная сумма файла. Огонь.

    • Whuthering
      /#19883380 / +1

      А с чего она должна меняться? Это доп. атрибуты, а контрольная сумма считается по содержимому.
      Вы же не удивляетесь, например, что чексумма остаётся неизменной при переименовании?)

  9. mikevmk
    /#19883394

    Прикольно, не знал. Впрочем, товарищу майору это всё не сильно поможет, если держать свои диски хорошо зашифрованными.

    • mehos
      /#19883666

      Есть такие юрисдикции, где отказ от расшифровки трактуется примерно как у нас отказ от медицинского освидетельствования водителя. И наша юрисдикция быстро перенимает «западные технологии» подобного толка. Так что…

      • dartraiden
        /#19885042 / +1

        Так что, используем скрытые тома, которые монтируются при вводе другого пароля

        • dhaenoor
          /#19886328 / +1

          Вы были под следствием? Вот вам новость — с вероятностью 99.9% вы этот «другой пароль» сами и расскажете в обмен на скидки и бонусы. Причем если договариваться вы будете с ФСБ, то всё будет как договорились (±15%). А если с полицией — то как повезёт, там опера те ещё кю.

          • dartraiden
            /#19886334

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

            В итоге, никаких подозрений я не вызываю.

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

            • dhaenoor
              /#19886398

              Это понятно. Но в том-то и штука — в один прекрасный момент об этом пароле вы сами и расскажете, потому что это будет выгодно в этот конкретный момент.
              Всё дело в том, чтоб продемонстрировать готовность идти навстречу. А дело раскручивать из того, что там понапрятано никто не станет — лень и незачем: пациент и так приплыл, а дел и других по горло. И когда пациент это понимает — начинается и заканчивается торг.
              Касательно того что что-то где-то зашифровано: простой анализ по соотношению объёмов диска и доступных данных и всё, баста. И опера это знают, и вы сами быстро сообразите. Одно дело когда пара биткоин-счетов, другое дело что-то объёмное (спец.литература к примеру).
              Вообще о возможном предмете торга надо заранее обеспокоиться. А на подлежащем изъятию оборудовании лучше ничего не хранить.
              А по репостам да, такой подход поможет. Но мне непонятно — что такого может быть на компе на другое уголовное дело. Ворованный софт? Так его не спрячешь — он ведь установлен и используется. ЦП — ну кому оно нужно, это для такой малой доли населения «радость», что непонятно есть ли шанс хоть раз в жизни таких уродов увидеть. А больше ничего в голову не приходит.

              • dartraiden
                /#19886468

                Касательно того что что-то где-то зашифровано: простой анализ по соотношению объёмов диска и доступных данных и всё, баста.

                Нет, это не сработает. Вы просто не можете определить, то ли там N гигов свободного места, которое забито цифровым шумом (причём, это не палевное «нераспределённое пространство», а распределённое, оно внутри тома, просто выглядит как свободное), то ли там скрытые данные.
                The principle is that a VeraCrypt volume is created within another VeraCrypt volume (within the free space on the volume). Even when the outer volume is mounted, it should be impossible to prove whether there is a hidden volume within it or not, because free space on any VeraCrypt volume is always filled with random data when the volume is created and no part of the (dismounted) hidden volume can be distinguished from random data.

                Таким образом, я, поломавшись для вида, назову пароль и товарищ майор увидит вот такую совершенно обычную и не подозрительную картину:

                image

                А где-то в этих «свободно» притаилось N гигабайт секретных данных, А может не притаилось (в данном примере у меня реально половина раздела свободна, там никаких данных нет, а заятый объём — фильмы, раздаваемые в торрентах). Кто знает.

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

                • dimitry78
                  /#19886522 / -1

                  в mtbf ручками — ну если 1.3ТБ скрытых данных через границу в ноуте с хардом на 3ТБ ( уже вопрос — нафига там такой хард) — формат, линукс-консоль… (зевает товарищь major) пишем всякую херню — сериалы, пиратский (sic! он free-ware!!!) win-rar… копируем «шум» — делаем зеркало блоков разметки диска, (сэйвим, не на диск, понимаю, трубы горят) дописываем ещо 1.4 ТБ, делаем второе зеркало разметки (фоткаем на телефон и отправляем ), заменяем на первое — ву-а -ля во всем диске нет скрытых файлов — так, набор битов (но правда анеразе может запалить, вот тут уже пароли), криптоконтейнеров, и прочих интересных для любопытных — для того что-бы догнаться надо быть уверенным, что надо искать.
                  по приезду — меняем таблицу разметки файлов — и о чюдо! град Китеж восстал! (фигня будет если на таможне хоть один файл допишут- по старой записи, неизвестно что покрошится при полной таблице.
                  (кстати, подумалось, что лучше «шум» потом дописывать — чтобы свободные места не занимали
                  Для постоянного юзанья этот способ не ахти. Скорее впн ссш и прочая паранойя
                  Если человек вызывающий подозрения использует криптоконтейнер на несколько ГБ — то наверное там не пароль от вк, ок или телеги…
                  и кстати, хорошо хоть /home хоть \пользователи на втором разделе — что- бы от ос не зависело…
                  (злостный хумор про картинку) при формате изменить размер блока на несимметричный — при 3ТБ ну не пару ГБ, а пара сотен метров не учтется :-))) (не посчитал, вместо 4096 поставить например 3025) :-)))) скорость… обьем, зато все свое

                  • dhaenoor
                    /#19886578

                    Я вам проще скажу способ, он простой как палка: microSD в носу. Это из практики.

                    • dimitry78
                      /#19886620 / -1

                      отоларинголог из вас так себе.
                      но практика у вас видать интересная

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

                      • Wesha
                        /#19886676

                        предполагается что ключ от сундука вне сундука, дальше дело техники

                        А если ключ отдан на ответственное хранение доверенному лицу, до которого длинные руки не дотягиваются (в другой стране), а клиент ключа наизусть не помнит (набор из 32 букв тарабарщины) — как там у Вашей техники дела?

                        • dimitry78
                          /#19886704

                          оппа, длину ключа узнали,
                          не 26, не 42, а именно 32,

                          • dhaenoor
                            /#19887232

                            Тут можно наврать и пусть ищут

                      • dartraiden
                        /#19891188

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

                        Подобное реализовано в DiskCryptor, если память не изменяет.

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

                • shaukote
                  /#19886748

                  Всегда было любопытно: а что если попытаться это «свободное» пространство забить под завязку файлами? Начиная с какого-то момента обнаружится что оно не очень-то свободное? Или «цифровой шум» будет принесён в жертву?

                  • Wesha
                    /#19886758

                    «Цифровой шум» будет принесён в жертву.


                    На самом деле, мы создали скрытый том размером 200 Мб и оставили только 50 Мб пространства для «декоративных» файлов в обычном томе.) Если вы попытаетесь записать в обычный том файлы общим размером, допустим, 60 Мб, VeraCrypt не сообщит об ошибке. Если бы такое сообщение появлялось, злоумышленник мог бы узнать о существовании скрытого тома. Таким образом, 60 Мб будут записаны, а файлы внутри скрытого тома будут повреждены или удалены.

                    Другими словами, программа воплощает идею о том, что вы лучше потеряете свои данные в скрытом томе, чем о них узнает злоумышленник.
                    — https://securityinabox.org/ru/guide/veracrypt/windows/

                • rogoz
                  /#19889638 / +5

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

                  • Mabusius
                    /#19889886 / +4

                    Вы тоже похоже не в России живете :), NTFS-ы какието приплели. Берется бабка у подъезда(которая еще и вневедомственный сотрудник/фсбшница на пенсии), которая говорит «а вот я видела». И все. Никаких экспертов не надо. У судьи не будет оснований не доверять сотрудникам полиции и их свидетелям.

                    • rogoz
                      /#19890634

                      Не, слишком сложно, бабка старая, плохо видит, вдруг придётся прокурору за неё показания читать.

              • MIKEk8
                /#19888724

                в один прекрасный момент об этом пароле вы сами и расскажете, потому что это будет выгодно в этот конкретный момент

                Ни это ли попытка решить не IT задачу методами IT? К чему вообще обсуждение подобного?

            • dimitry78
              /#19886404 / -1

              первое что приходит на ум — если бивис не запаролен — грузануться с gentoo live-cd и посмотреть какие такие тома есть на накопителях, с потрохами сдаст fdisk -l
              если бивис запаролен — переставить накопитель…
              chroot в окружение и посмотреть что в shadows будут там и тома и пароли
              веселее аппаратное шифрование, А!.. «паранойя для бедных» — райд массив с «динамическим томом» — если переставить накопитель — …
              насчет телеметрии — гуглите DontSpy — поддержка аж от win7 (sp3)… покажет какие ключики в реестре вкл а какие можно выкл.

              • sumanai
                /#19886418

                какие такие тома есть на накопителях

                Что даст список томов, если у меня зашифрован хомяк, а всё ценное лежит в криптоконтейнере (обычном файле)?

              • dartraiden
                /#19886470

                первое что приходит на ум — если бивис не запаролен — грузануться с gentoo live-cd и посмотреть какие такие тома есть на накопителях, с потрохами сдаст fdisk -l
                Не прокатит.
                habr.com/en/post/443694/#comment_19886468

              • JerleShannara
                /#19886714

                Окей, бивис запаролен, на харде мастер-пароль(система его увидит, но всякие READ/WRITE вызовут тупо установку флага ABRT, пока не дадут пароль), загрузчик запаролен.
                Да, распаролить можно, но половина этих способов приводит к ata secure erase (А ещё можно выставить два пароля гыгы, и отдать мастер, который при снятии его и вызовет).

            • karavan_750
              /#19886494 / +2

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

            • sysd
              /#19886520 / +1

              Но от «взяли комп на экспертизу по делу о репосте в соцсети и нашли там материала на гораздо более крутые дела» спасёт.

              Думаю, что нет. Захотят найти — найдут, или подбросят. Особенно с учетом того что взяли именно комп. Если мне не изменяет память, изъятие регламентировано, и по регламенту должны изыматься только носители информации в опломбируемый пакет и в присутствии понятых. А вот насчет того каков регламент с этой пломбой у экспертизы — даже не знаю.

              • dhaenoor
                /#19886588

                А вот как: в одном деле из герметичной ёмкости упакованной в полиэтиленовый пакет «высохло» (слова экспертов из экспертизы) больше двух килограмм психотропного вещества.

                • sysd
                  /#19886706

                  Я не удивлен, сталкивался с системой хоть и в рамках ГК. Над цирковыми представлениями не смеюсь. Криптография, к сожалению, от майора не спасет, как бы ни хотелось it специалистам.

                  • Wesha
                    /#19886710

                    Криптография, к сожалению, от майора не спасет, как бы ни хотелось it специалистам.

                    Ну да, наш майор настолько суров, что у него значение косинуса достигает четырёх, а когда выпьет — то и пяти! Ему преодолеть законы математики — раз плюнуть.

                    • dhaenoor
                      /#19887276

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

            • Whuthering
              /#19888080 / -1

              Так весь смысл «другого пароля» в том, что о нём никто не знает, кроме меня. О его существовании не знает. Расшифровать накопитель? Вот, пожалуйста, пароль.

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

              • Cerberuser
                /#19888194

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

                • dartraiden
                  /#19891154

                  Придуманный пароль не подойдёт, ведь там ничего нет.
                  Причём, если там что-то есть, но пароль неверный, то программа выдаст идентичную ошибку.

                  Поэтому недоброжелатель не сможет до конца быть уверенным, то ли реально второго дна нет, то ли ему скармливают неверный пароль.

                • dhaenoor
                  /#19897460 / -1

                  Реальная реальность: будут бить, дня три-четыре. С утра до ночи, с ночи до утра; про сон забудьте. Если знаете — расскажете, если нет — поймут что не знаете, извинятся, навесят какое-нибудь маленькое преступление (необходимость оправдать арест), выдадут пару месяцев срока и домой.
                  Без такого специфичного испытания силы воли не обойдётся. Я лично знаю только одного человека, который всё это выдержал. Но — это убийцам светит и участникам ОПГ; насильникам и то не особо нужно, там много базы и так. Не очень много шансов так насолить власти, чтобы такое себе устроить.

                  • Chamie
                    /#19899446

                    Про дело «Сети» не слышали?

                  • Wesha
                    /#19899716 / +2

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

              • Wesha
                /#19891114 / +2

                Реальность: вы сообщаете «обычный» пароль, открывается диск, на котором ничего подозрительного нет.

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

            • glestwid
              /#19890352 / +1

              Так весь смысл «другого пароля» в том, что о нём никто не знает, кроме меня.


              Т-щ майор увидит у Вас TrueCrypt/VeraCrypt и все, будет дожимать до второго пароля :). Не стоит их считать за дебилов.

              • dartraiden
                /#19891148 / +2

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

                • glestwid
                  /#19896374

                  Повверьте, отбитым почкам от этого легче не станет. Даже если мусора потом самого закроют за превышение полномочий.

    • alfred200
      /#19885280

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

    • extempl
      /#19885734

      Ну допустим если использовать где-то изображение, которое по аттрибутам было скачано из результатов поиска по картинкам в гугле, а не, например, со спец сайта с оплатой перед скачиванием, то вполне себе поможет. Майор, конечно, ни при чём, но могут и в суд подать за неправомерное использование.

  10. juray
    /#19883416

    В винде на NTFS явно тоже записывается. В детали я так до сих пор и не удосужился закопаться, но с последствиями сталкивался — запускаешь скачанную музыку или картинку (то есть, конечно, запускается ассоциированная с типом файлов программа, а файл ей передается как параметр), не говоря уже об исполнимых файлах — выводится предупреждение «Файлы, загруженные из Интернета, могут нанести вред… ». Даже после нескольких копирований файла туда-сюда между дисками.

    • Alexeyslav
      /#19883464 / +2

      Зато с флешки, на которой как правило FAT32… запускай-нехочу.

      • dimka11
        /#19884408

        Или exFAT. Я как-то использовал флешку, чтобы очистить атрибуты безопасности NTFS с файлов.

      • juray
        /#19890616

        Именно. Что подтверждает хранение этих атрибутов в дополнительных stream.

    • mayorovp
      /#19883728

      ПКМ — Свойства — Разблокировать — ОК

    • dimka11
      /#19884372 / +1

      Это ещё ладно, вот когда эти файлы не открываются какой либо программой, а ты сидишь и гадаеш, в чем тут проблема.

    • alexanster
      /#19890150 / +1

      Windows Registry Editor Version 5.00

      [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]
      «SaveZoneInformation»=dword:00000001

      Работает с IE, Хромом, с какой-то древней версии и FF стал туда заглядывать, хотя раньше хранил эту настройку где-то в своих конфигах.

      • juray
        /#19890604

        Спасибо, я в курсе. Мне вообще-то не мешает.
        Я это в качестве подтверждающего примера привёл.

  11. NeoCode
    /#19883432 / +2

    Прикольно. С одной стороны да, мы все под колпаком, а с другой это мега полезная фича для упорядочивания информации. Еще бы хеши там хранились (md5, sha256 и т.д.), вообще было бы супер.
    А нет ли плагина для total commander, который умеет отображать содержимое указанных потоков в отдельных колонках?

    • take
      /#19883790

      конечно уже хранят, встречалась программа на github'e

    • Gaikotsu
      /#19884016

      Ну тот же FlylinkDC++ хранит хэши расшаренных файлов в их потоках, если конечно включить эту опцию в настройках. Очень упрощает ситуацию с повторным вычислением хэша при переносе расшаренных файлов с винта на винт или даже при банальном переименовании файла/каталога с ними.

      • ValdikSS
        /#19885352 / +1

        Аналогично ведёт себя EiskaltDC++. Включено по умолчанию.

    • inoyakaigor
      /#19886046

      Насчёт колонок не помню, но плагин файловой системы точно был. Кажется так и назывался: NTFS Streams

      • NeoCode
        /#19887030

        Нашел довольно интересную программу. Можно к примеру повесить ее на кнопку в TC.
        hex.pp.ua/ntfs-stream-explorer.php
        на сайте автора также много технической информации по этим возможностям и их программированию.
        В винде (к счастью или к сожалению) никакой информации кроме ZoneId=3 нет. А вот в линуксе есть — оригинальный url скачанного файла и страница с которой был скачан файл.

    • Dukat
      /#19891326

      Конечно же, для Total Commander есть и такие плагины. Например, NTFS FileStreams.

      А что касается темы, то вот поэтому я до сих пор и пользуюсь standalone менеджером закачек.

  12. vmspike
    /#19883518 / +1

    Не браузерами едиными. Например, клиент Slack сохраняет user.xdg.origin.url, EiskaltDC++ пишет в user..gltth, другие программы тоже могут использовать эту фичу.

    • j_wayne
      /#19883824

      Клиент Slack реализован на Electron, который встраивает Chromium, все верно.

    • ValdikSS
      /#19885356 / +1

      Название потока .gltth пошло из программы GreylinkDC++.

  13. CoolCmd
    /#19883640 / +7

    памятка пользователям win 10, win 7 и даже win xp :)

    Chrome и Firefox сохраняют адрес скаченного файла в потоке Zone.Identifier. Edge поток создает, но адрес не сохраняет (интересно посмотреть на его поведение после перехода на Chromium).

    просмотреть содержимое потока скаченного файла можно обычным Блокнотом:
    notepad скаченный_файл:Zone.Identifier

    чтобы удалить поток, нужно открыть в Проводнике свойства скаченного файла и нажать кнопку Unblock.

    чтобы запретить Chrome, Firefox и IE создавать поток, нужно добавить в реестр:
    [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]
    "SaveZoneInformation"=dword:00000001

    Edge продолжит создавать поток (при переходе с IE случайно удалили нужный кусок кода?), но как я отмечал выше, адрес он не сохраняет.

    • MasMaX
      /#19884080 / +1

      Открыл содердимое этого потока — там только написано что zone=3. Никаких адресов. Браузер Firefox, Win 7

      • CoolCmd
        /#19884256

        вы правы. проверил в win 7. удивительно, но адреса нет, хотя браузер тот же.
        видимо адрес требуется какому-то ПО (или самой венде), который работает только в десятке? или в API десятки добавили новые параметры для адреса.
        сам поток создается со времен win xp, это я точно помню. значит адрес стали в него добавлять лишь недавно.

        • sysd
          /#19884296

          В статье же написано, что этим семейство Chromium занимается.

          • CoolCmd
            /#19884332

            Firefox никакого отношения к Chromium не имеет (к счастью)

        • tbl
          /#19884712

          Наверно, адрес добавили, чтобы его по телеметрии отсылать

        • rubero
          /#19884972

          В десятке тоже не добавляет. В Zone.Identifier только:
          [ZoneTransfer]
          ZoneId=3

          Firefox 65.0.2

          • CoolCmd
            /#19885610

            я проверял в Firefox 67 DE. возможно влияют еще какие-то настройки.

    • red_andr
      /#19886734

      просмотреть содержимое потока скаченного файла можно обычным Блокнотом:
      notepad скаченный_файл:Zone.Identifier

      Не только посмотреть, но и изменить или даже стереть полностью. Просто как обычный текст. Более того, для этого подходит любой редактор. Например, я использовал встроенный в Far Manager.

  14. Cheater
    /#19883692

    ею пользуется не только браузеры, но и, к примеру, популярная утилита wget

    Странно, у меня такое поведение wget не воспроизводится, getfattr выдаёт пустой ответ на любой файл, скачанный wget-ом. Debian buster, wget 1.20.1, btrfs.

    • take
      /#19883818

      во-первых, getfattr -d
      во-вторых, вопрос к btrfs или к сборке wget
      проверял wget 1.19.5 на Ubuntu 18.10 )

      • vmspike
        /#19884040 / +1

        wget 1.17.1 для linux-gnu под Ubuntu 16.04 ext4 не сохраняет ничего в расширенных аттрибутах по-умолчанию.

    • Aegir
      /#19884210 / +2

      В Wget 1.20.1 по-умолчанию отключили этот функционал.

      * Changes in Wget 1.20.1

      ** --xattr is no longer default since it introduces privacy issues.

      ** --xattr saves the Referer as scheme/host/port, user/pw/path/query/fragment
      are no longer saved to prevent privacy issues.

      ** --xattr saves the Original URL without user/password to prevent
      privacy issues.

    • Hamer13
      /#19889218

      В debian 8, похоже, эти аттрибуты никто не сохраняет.
      Поиск по всем домашнем каталогам

      # find /home/ -xdev -type f -exec getfattr -d "{}" \;
      

      выдал только несколько строк в каталогах Ведьмака и Биошока, вроде таких:
      getfattr: Removing leading '/' from absolute path names
      # file: home/hamer/games/TheWitcher3_Linux/prefix/drive_c/.windows-serial
      user.DOSATTRIB="0x0"
      
      getfattr: Removing leading '/' from absolute path names
      # file: home/hamer/games/Bioshock2/prefix_13:03_23:05:50/drive_c/windows/system32/l_intl.nls
      user.DOSATTRIB="0x20"
      

      Эти аттрибуты создаёт wine. А все остальные участники жизнедеятельности (огнелис, wget, qtorrent, …) ничего не сохраняют.
      Возможно, это особенности дебиановской политики.

  15. ianzag
    /#19883742 / +2

    Выглядит конечно феерично. ОК. Старый ноут с Deb9/ext4 на котором что только не устанавливалось и не запускалось в том числе чем только не сливалось. Посмотрим по всему хому что у нас там интересного:

    $ find . -type f | wc -l
    118305

    $ find . -type f -exec getfattr -d {} \;
    # file: Downloads/4189d11e67c8196426e65e9c0222e852.png
    user.xdg.origin.url="https://hsto.org/getpro/habr/post_images/418/9d1/1e6/4189d11e67c8196426e65e9c0222e852.png"
    user.xdg.referrer.url="https://habr.com/ru/"

    # file: Downloads/4189d11e67c8196426e65e9c0222e852 (1).png
    user.xdg.origin.url="https://hsto.org/getpro/habr/post_images/418/9d1/1e6/4189d11e67c8196426e65e9c0222e852.png"
    user.xdg.referrer.url="https://habr.com/ru/"


    Т.е. найдено ровно два файла, у которых что-то писали в расширенные атрибуты. И оба файла — это картинки что я только что слил специально для этих целей запущенным хромом.

    Ранее не мог объяснить свой антагонизм к хрому. Ну вот не нравится и все. Не цветом или функционалом — мелкой хитрожопостью. Но доказать не мог т.к. лениво. А тут — это просто праздник какой то!

    • danfe
      /#19884494

      Ранее не мог объяснить свой антагонизм к хрому. Ну вот не нравится и все.
      Да всё было понятно уже четыре года назад, недавно кто-то опять live-тесты проводил, в прошлом году здесь был топик про сканирование Хромом локальных файлов. Но многие, к сожалению, продолжают пользоваться этим зондом.

  16. Solovej
    /#19883752

    А какой программой можно удалить эти следы под Windows?

    • mayorovp
      /#19883770 / +1

      Если для одного файла — то Проводником.
      ПКМ — Свойства — Разблокировать — ОК

      Если для кучи файлов — то через powershell

      • Solovej
        /#19883834 / +1

        Спасибо за наводку, действительно работает.
        Набираем в PowerShell команду с нужной директорией: get-childitem «D:\Downloads\» | unblock-file

        • mkovalevskyi
          /#19884426 / +1

          так анблок — это не удлить всю инфу, это убрать алерт про «скачано с инета».

          • mayorovp
            /#19884490 / +1

            Но реально анблок удаляет поток Zone.Identifier

            • mkovalevskyi
              /#19885318 / +1

              нда, очень очевидно, спасибо за уточнение )
              по данным майкрософта, они:

              Internally, the Unblock-File cmdlet removes the Zone.Identifier alternate data stream, which has a value of «3» to indicate that it was downloaded from the Internet.

              Кстати, лично у меня там 26 записано. Интересно, от чего это зависит…

        • LevOrdabesov
          /#19894480

          Не работает в семёрке и там, где PS 2.0

      • victoriously
        /#19893586

        Здесь некто советует помимо powershell использовать программу streams. Субъективно удобнее.
        streams [-s] [-d] <файл или каталог>

    • TerAnYu
      /#19894510 / +1

      Можно вообще запретить писать эти потоки в Windows (для новых файлов).
      Параметр в реестре:


      [HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments]
      "SaveZoneInformation"=dword:00000002

      немного лирики

      Использовал с незапамятных времён, когда начало раздражать сообщение что этот файл скачан из непроверенного источника и что бы запустить надо было его разблокировать.
      Сейчас использую Windows 10 с этим параметром и у меня на скачанных файлах (при помощи IE и/или Edge) отсутствуют эти потоки.


      Оказывается уже были ответы про этот параметр:
      https://habr.com/ru/post/443694/#comment_19883834
      https://habr.com/ru/post/443694/#comment_19883640

  17. Meklon
    /#19883760 / +2

    Уупс. Приватные ссылки в Nextcloud теперь можно скомпрометировать передав знакомому один из таких файлов. Пример утечки:
    1. Вы из приватного сетевого каталога передаете фотографию «Красивый бокал с мартини»
    2. Человек вытаскивает из метаданных URL и получает доступ ко всему каталогу «Угарная свингер-вечеринка», после чего смотрит фотографии, которые ему не предназначались.

    Попробуйте еще на Yandex.Disk.

    • multiprogramm
      /#19883906

      Подозреваю, что эта фича живёт только в рамках дисков с файловыми системами, которые поддерживают дополнительные стримы. Т.е. передача файла по сети — это, всё-таки, операция передачи байт основного стрима. Да и при архивации тем же WinRar, например, альтернативные стримы теряются.

      • CoolCmd
        /#19884376 / +1

        Да и при архивации тем же WinRar, например, альтернативные стримы теряются.

        в настройках WinRar можно включить архивацию потоков. но, к счастью, по умолчанию она отключена.

        • claygod
          /#19888236

          Хм… а с zip-ованием как дела обстоят?

          • Alexeyslav
            /#19888362 / +1

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

    • amarao
      /#19884190

      А как вы ему передаёте файл? Вместе с файловой системой?

      • pakager
        /#19884664

        Да. На флешке, например

        • amarao
          /#19884672

          И на флешке вы используете ext4/xfs?

          • RussianNeuroMancer
            /#19893096

            Я например btrfs использую, что однажды помогло выловить дефектный USB-контроллер, повреждающий записываемые данные (btrfs ругалась на контрольные суммы).

          • nlykl
            /#19894246

            Да, использую ext4, и пробовал ради интереса zfs.

        • Alexeyslav
          /#19884716

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

          • sumanai
            /#19885434 / +1

            Их используют единицы,

    • keydet
      /#19886106

      Погодите, так эти ссылки приватные или по их URI можно выйти на непредназначенный для твоих глаз каталог? Или этот функционал подразумевает возможность делиться приватными ссылками только с одним человеком, который ничего нового при переходе в каталог верхнего уровня не увидит?

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

      • Meklon
        /#19886136 / +1

        Длинный URL имеет случайный сгенерированный путь в финале. Можно усилить защиту добавив пароль на вход или протухание ссылки. Но это опционально.

        Зная URL каталога расшаренного, можно по нему ходить. Выше уровнем выйти нельзя.

    • river-fall
      /#19888960 / -1

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

      • mayorovp
        /#19889346

        Nextcloud — это не публичное облако.

  18. mini_nightingale
    /#19883802

    Если было бы опцией — может было бы и прикольно.
    Но как навязанный функционал — нафиг надо.
    Я считаю что если мне нужно хранить ссылку по которой я скачал файл — я должен это указать явно, а в идеале просто скидать скриптом всё в БД или хештаблицу, c MD5 файла в качестве ключа.

    • jevius
      /#19883932

      Одинаковые файлы с разными именами могут быть скачаны с разных сайтов. Тогда источник разный, хэш один

      • mini_nightingale
        /#19884590

        Это да. Но можно скачав проверить и если уже есть — не сохранять(или добавить источник).
        Дубликаты так то штука не часто нужная, всё больше просто трата места.

        • jevius
          /#19884896

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

  19. 5oclock
    /#19883838 / -1

    Ну так и решение проблемы есть?
    Скрипт например, который трёт всю эту информацию?
    Запускать в кроне по ночам.

  20. stalinets
    /#19883876

    Нужна позарез опенсорсная программа-твикер для винды, которая сразу вычистит всё и вся. И удалит эти аттрибуты, и залочит телеметрию, и заблокирует обновления, и прочее.
    Ну как для чистки реестра и кешей стала стандартом CCleaner, точно так же чтоб этот твикер стал для пользователей must have.

    • User2Qwer
      /#19884774 / +1

      Функционал destroy windows spying уже запилен на гитхабе. Попробуйте там предложить допилить в него пару фишек

    • mkovalevskyi
      /#19885374

      эти стримы, кстати, и антивирусы тоже юзают для своих целей.

  21. vmspike
    /#19884144

    Под Linux можно убрать сохранение расширенных пользовательских аттрибутов смонтировав раздел с опцией nouser_xattr, если файловая система это поддерживает. ext* поддерживают.

  22. ogost
    /#19884272

    Я озадачен, у всех есть эти аттрибуты, а у меня нет.
    Debian 10, тестировал Chromium и Google Chrome, ext4 с параметром noatime. Может в последнем дело? Впрочем, не очень-то и хотелось.

    параметр -d пропустил, простите великодушно

  23. amarao
    /#19884310

    У меня на машине wget так не делает.


    /dev/nvme0n1p3 on / type ext4 (rw,relatime,errors=remount-ro)
    
    wget ya.ru
    --2019-03-14 15:56:23--  http://ya.ru/
    Resolving ya.ru (ya.ru)... 87.250.250.242, 2a02:6b8::2:242
    Connecting to ya.ru (ya.ru)|87.250.250.242|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: https://ya.ru/ [following]
    --2019-03-14 15:56:23--  https://ya.ru/
    Connecting to ya.ru (ya.ru)|87.250.250.242|:443... connected.
    HTTP request sent, awaiting response... 200 Ok
    Length: 13483 (13K) [text/html]
    Saving to: ‘index.html’
    
    index.html          100%[===================>]  13.17K  --.-KB/s    in 0.1s    
    
    2019-03-14 15:56:24 (129 KB/s) - ‘index.html’ saved [13483/13483]
    getfattr -d index.html

  24. Andrey-Yurevich
    /#19884782 / -1

    Думал что вычитал всё интересное у Кетова и забросил… Зря. Интересно, а где хранится эта инфа? в иноде или в какой-то базе?

  25. valex2019
    /#19884784

    Забавно что когда сохраняешь страницу полностью, то никаких атрибутов нет. Если просто сохранить картинку например, то доп. атрибуты появляются. Chrome 73, ubuntu 18.04.02

  26. sveq
    /#19884786

    В 2019 году браузер является ключевым элементом системы и именно по причине privacy нужно пользоваться только open source решением, одним из которых является ungoogled chromium, где максимально вырезаны все стучалки, а так же функционал сохранения аттрибутов к файлу, описанный в данной статье. Из минусов — необходимость компилировать самому и так же то, что патчи не всегда совместимы с версиями хромиума, особенно на windows, из-за того что мало людей вовлечено в проект.

    • ferocactus
      /#19885080 / +2

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

      • sveq
        /#19885324

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

        Ожидание возможного ущерба — каждый решает для себя сам, кто-то смотрит котиков, кто-то передает данные кредитной карты.

        • qrKot
          /#19886048

          — имеется неотключаемый или скрытый функционал телеметрии
          — версия неактуальная или содержит уязвимости


          Хм… Какую из перечисленных проблем, простите, решает компиляция?

          • sveq
            /#19886086

            Компиляция сама по себе ничего не решает, но получить свежую windows версию без функционала какой-либо телеметрии на данный момент можно лишь скомпилировав ungoogled версию самому, т.к. бинарных релизов нет.

            • qrKot
              /#19887616

              Проблема в том, что компиляция ungoogled версии собственными силами не гарантирует, на самом деле, 3 вещи:
              1. свежесть и работоспособность версии;
              2. отсутствие уязвимостей;
              3. отсутствие функционала телеметрии.

              Ну, т.е., ничего из волнующих вас проблем не решает. Гарантируется лишь одно: факт того, что полученный вами бинарник собран из конкретно указанных вами исходников. Тчк. При этом, если уж «идти на принцип», то даже это гарантируется не на 100%.

              Ну т.е. вы поняли…

  27. nop_0x90
    /#19884788

    Только причем тут товарищ майор?
    Эти же самые атрибуты можно записать самостоятельно (через hex-редактор), «подставив» недруга. Это никак не может являться доказательством пиратства.

    • dartraiden
      /#19885066 / +1

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

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

      • ferocactus
        /#19885120

        Вот именно! Почему-то многие не туда воюют. Надо бороться не со следствием (когда уже поздно пить Боржоми), а с криминализацией. В состязании снаряда и брони последняя всегда проигрывает.

  28. Wesha
    /#19884936

    «А что атрибуты — так это
    Стереть — и весь разговор.
    Можно? Так точно, можно!
    Так хрен вам, товарищ майор!»

  29. Sabubu
    /#19884962 / +2

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


    Таких скрытых форм хранения данных, которые не видны в интерфейсе, быть не должно. Я понимаю, если бы при открытии просмотра файла в интерфейсе писалось бы откуда он скачан — тогда пользователь бы видел, что эта информация хранится. А сохранять ее тайком и нигде не показывать — это как удар в спину. Вся информация должна быть либо видна, либо не должна сохраняться (аналогичная проблема с фотоаппаратами, которые могут тайно скрытно сохранять GPS координаты места съемки, которые не показываются при просмотре).


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


    Думаю, надо создавать issue и массово жаловаться, чтобы проблему поправили. Что касается линукса, думаю проще всего отключить эти атрибуты в /etc/fstab, как писали выше. Пользы от них никакой нет все равно, я не припоминаю ни одного случая, где они были бы нужны. И, кстати, сохранение даты последнего доступа тоже стоило бы отключать по умолчанию. Пользы от нее никакой, только раскрытие информации о том, что вы когда смотрели, и лишняя нагрузка на запись на диск. И кто такие бессмысленные фичи придумывал? Агенты NSA наверно.


    Интересно посмотреть, кто добавил это во wget. Вот коммит, что характерно, от сотрудника Google. Если поискать другие коммиты от этого же автора, то они касаются только сохранения атрибутов. То есть это единственное, что он добавил во wget.


    Гугление также находит такую страницу, где предлагается добавить в Линукс еще похожие опасные атрибуты, например, для файлов, полученных почтой — адрес отправителя. Ее история уходит корнями в 2006 год.

    • Mabusius
      /#19884988 / +1

      Так то вы правы, но обязательно найдется пользователь с перфекционизмом головного мозга, который скажет «Хочу чтобы ничего лишнего!».

    • F0iL
      /#19885078

      Думаю, надо создавать issue и массово жаловаться, чтобы проблему поправили.
      bugs.chromium.org/p/chromium/issues/detail?id=942014
      Можно начинать массово жаловаться, как минимум просто звездочкой, а по-хорошему, с аргументами.

      • dartraiden
        /#19885116

        Так это надо в багтрекер ядра Linux жаловаться, потому что, например, в Linux, как написано в статье, эту возможность приложениям предоставляет ядро.

        • F0iL
          /#19885162 / +2

          Ядро предоставляет возможность писать в атрибуты любые данные. Например, xattr могут использоваться самим ядром и SELinux для разграничения прав доступа (неймспейсы атрибутов «system» и «security»), различными индексаторами в целях ускорения поиска, системами хранения данных для оптимизации кэширования, и т.д.
          Это, как кухонный нож или молоток, всего лишь инструмент, который может быть очень полезным, а может нанести вред.
          Поэтому я не вижу причин жаловаться в багтрекер ядра вместо багтрекера авторов Chromium, которые использовали безобидную и даже полезную возможность не совсем безопасным образом.

    • dartraiden
      /#19885086 / +1

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

      Желающие могут оценить это инструментами наподобие OSForensics.

    • vnai
      /#19891332

      Более того, в curl эту «фичу» протолкнул тот же самый сотрудник гугла, причём был он тогда на позиции Security Engineer.

  30. janatem
    /#19885152

    Конечно, знать эти особенности полезно, но я пока не увидел прямой опасности. Скачанные файлы находятся в домашней директории пользователя, где обычно хранятся более чувствительные данные. То есть пока вроде бы риски не возрастают. Но надо понять, каким образом атрибуты могут утечь: при отправке файла почтой или как-либо еще по сети, а также при копировании атрибуты теряются. Сохраняются они могут, например, при локальном копировании соответствующими инструментами (cp -a, mv) и только на файловые системы, которые поддерживают атрибуты (на флешках обычно vfat, которая не поддерживает).

    • nlykl
      /#19885286

      У FAT-32 максимальный размер файла 4 ГБ, поэтому чаще используют другие ФС.

  31. firedragon
    /#19885370 / -8

    Афтор купите шапочку из фольги. Или поставьте DLP например от Infowatch ®.

  32. red_andr
    /#19885472 / +1

    Так-с, на всякий случай переходим на exFAT. По крайней мере для внешних носителей.

    • ilyaska
      /#19893956

      Exfat отличный способ потерять все файлы на диске. В нём нет журналирования, да и при перетыкании диска между виндой и маком бывают неожиданные потери всего содержимого.

  33. abmanimenja
    /#19885874 / +1

    «Венда» вещь безусловно бездарная и следящая за всеми с неприкрытым цинизмом. (чего только стоят неотключаемые обновления в W10! )


    А «чего они стоят»?
    В смысле — почему они у вас идут как дополнение к фразе про слежку?

    Вы путаете разного плана вещи

    слежку
    и
    исправление ошибок, появление новых фич — это и есть функция обновлений.

    Хорошая, надо сказать, функция.

    Неотключаемые — и не нужно домохозяйке их отключать в наш век вирусов и троянов и ботнетов — пусть MS заботится о безопасности.

    Это кстати отлично работает — не использую антивирус на Windows уже лет 7.

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

    Или просто указав, что соединение «тарифицируемое, платное». Тогда Windows не выкачивает через это соединение гигабайты в автоматическом режиме.

    • take
      /#19891372

      1. Обновления в Win10 насколько мне известно не отключаются. Если системными политиками, ключами реестра и host-файлами это как-то делается, то… не хочу даже обсуждать. Сегодня делается, завтра не делается.

      2. Слежка и обновления в Win связаны напрямую. Сегодня вы никому не интересны, завтра после обновления вас пишет микрофон. Вот как ломали русских «хакеров»:

      оригинал

      русский «обзор»

      • Bronx
        /#19896538

        Обновления в Win10 насколько мне известно не отключаются.

        Включите галку "Metered connection" в настройках всех используемых сетевых соединений — и апдейты перестают качаться без спросу (если используете OneDrive, то в его настройках отключите "Automatically pause sync when this device on a metered connection")

  34. ianzag
    /#19886196 / +1

    Небольшая ремарочка по поводу опции монтирования nouser_xattr

    # mount -o remount,user_xattr /home/user/work && mount | grep sda
    /dev/sda on /home/user/work type ext4 (rw,noatime,noacl,data=ordered)
    # touch /home/user/work/test
    # getfattr -d /home/user/work/test
    # setfattr -n user.name -v xxx /home/user/work/test
    # getfattr -d /home/user/work/test
    getfattr: Removing leading '/' from absolute path names
    # file: home/user/work/test
    user.name="xxx"

    # mount -o remount,nouser_xattr /home/user/work && mount | grep sda
    /dev/sda on /home/user/work type ext4 (rw,noatime,nouser_xattr,noacl,data=ordered)
    # getfattr -d /home/user/work/test
    # mount -o remount,user_xattr /home/user/work && mount | grep sda
    /dev/sda on /home/user/work type ext4 (rw,noatime,noacl,data=ordered)
    # getfattr -d /home/user/work/test
    getfattr: Removing leading '/' from absolute path names
    # file: home/user/work/test
    user.name="xxx"


    Это я собственно к чему. Если кто-то сейчас бросится в порыве страсти выставлять опцию nouser_xattr в fstab — убедитесь, что сперва вы явным образом удалили уже существующие на файловой системе аттрибуты. Сами по себе они с файловой системы не исчезнут. Опция nouser_xattr сокроет их от вас здесь и сейчас но отнюдь не от пытливого ума 3х лиц в будущем…

    PS: Звучит конечно банально, но я в том числе сперва прописал опцию и лишь потом подумал головой…

  35. abmanimenja
    /#19886296

    При этом все они честно ничего не пишут, если вы скачиваете файл в режиме «инкогнито» / «private browsing»

    Знали ли вы об этом? Если да, то хорошо. Если нет, то теперь будете знать. Что касается Firefox и Palemoon — эти парни честно игнорируют эту помощь товарищу майору.


    По мне так это удобство для меня лично. При чем здесь какие-то майоры?
    Если доберутся до моего компьютера найдут куда как больше инфы, чем какие-то смешные ссылки.

    А если мне принципиально чтобы не оставляло следов — есть же приватный режим, вы сказали, что в нем не пишется.

  36. andvgal
    /#19886356

    Есть такое дело — криминалистика. Во всём мире все крупные корпорации и их продукты курируют представители различных силовых структур. Поэтому массовые продукты оставляют следы намерено. Именно поэтому в них есть backdoor'ы.


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


    "Чистые" технологии не имеют массовости, а их правильное использование требует понимания и примирения с ограничениями.

    • Dr_Faksov
      /#19886780

      Почему вы так плохо думаете о цветных принтерах, наследниках пишущей машинки? Они тоже следят. На счет монохромных не скажу, но при разрешении даже 600 dpi разбросать по листу полсотни точек…

      • andvgal
        /#19887214

        Разве что-то из моего комментария это отрицает?

  37. MaGIc2laNTern
    /#19886396

    А зачем на картинке sudo при вызове getfattr?

    • take
      /#19891416

      в папке Загрузки оно и правда не нужно, может из ctrl-r прилетело, может через alt-.
      приходилось чекать файлы то тут, то там, например, тут:

      sudo getfattr -d /var/lib/lxc/yandex/rootfs/home/ya/Downloads/

  38. Rulin
    /#19886536

    Проверил с каких доменов у меня есть скаченые файлики
    find ./ -type f -exec getfattr -d {} \; | grep -oPi '://(\.?[a-z0-9-]+)+' | sed 's#://##' | sort | uniq

  39. Rulin
    /#19886554 / +1

    На некоторых mp3 файлах нашел аттрибут user.KAVICHS=%hexdata%, погуглил, оказывается это касперский антивирус оставляет (похоже сейчас уже нет) после себя такие метки

  40. feyd12
    /#19887022 / +1

    «Венда» вещь безусловно бездарная и следящая за всеми с неприкрытым цинизмом. (чего только стоят неотключаемые обновления в W10! )
    Очень сильное утверждение, хоть и голословное. Обновления «неотключаемые», чтобы простые пользователи (коих подавляющее большинство) их не отключали и своевременно получали обновления безопасности. К возможности слежения за пользователем это особого отношения не имеет. Что касается «безусловно бездарная», то тут комментарии излишни, сразу виден «иксперт».

    • fukkit
      /#19889986 / +1

      Обновления «неотключаемые», чтобы простые пользователи (коих подавляющее большинство) их не отключали

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

      • abmanimenja
        /#19892788

        Сколько пренебрежения к простым пользователям.


        Это не пренебрежение. Вы тоже чего-то не знаете. Например, как зашивать рану после аппендицита. Это нормально.

        Каждый второй из моих знакомых (не ИТ-шников) считал своим долгом отключить обновления (когда это было возможно).

        Так как:

        1) Жаль интернета. Обновления не нужны.
        2) Обновления вредны. Они не переписывают сверху, а только добавляют новое. И именно это, а не закачанные мною фильмы, приводит к тому, что места на диске нет.

        Ну и апогей:

        3) Вирусы берутся непонятно откуда. Я не виноват, никаких левых ссылок не открывал, не запускал. Что? Этот бэкдор уже пофикшен в обновлениях полгода назад? Переведи что сказал.

        Речь о том, что если ты не знаешь и не разбираешься — не лезь.

        А если ты опытный ИТ-шник и знаешь, что делаешь, то ты найдешь способ отключить обновления. Это же совсем не сложно. Через реестр. Или просто указав в свойствах соединения, что оно «тарифицируемое», тогда Windows гигабайты через это соединение не выкачивает.

  41. robo2k
    /#19887768

    читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство Linux»

    Прошу прощения, но в гугле ни одного упоминания книги именно этого автора не нашел.

  42. p0gank
    /#19888252

    Для классического шифрования домашнего каталога предлагаемого инсталятором убунты AKA ecryptfs, аттрибуты доступны для зашифрованных файлов.

    # file: home/.ecryptfs/ente/.Private/ECRYPTFS_FNEK_ENCRYPTED.FXZWPUrnJgor8-TdYRyBiS2Ulm3ArhWG.3Ka7Ik.5o00R1.XLJ-qxlE.sUZBWrJ3akXTJR1xpZ0NKTE-/ECRYPTFS_FNEK_ENCRYPTED.FYZWPUrnJgor8-TdYRyBiS2Ulm3ArhWG.3Kaf-Obmrlw3Fhkpy2LUw9gCqvhry7HjwQrkJ.d07tA5lNi-eVnlZnrQWhM4V6HTZ34
    user.xdg.origin.url="https://knowledge.hds.com/@api/deki/files/8552/Install-Update_the_ODM_instructions.rtf?revision=1"
    user.xdg.referrer.url="https://knowledge.hds.com/HDS_Information/TUF/Servers/AIX_ODM_Updates"
    

    • sveq
      /#19889136

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

  43. Sergery8205
    /#19888662

    Спасибо, примем к сведению. Начал проверять что и какими браузерами скачивалось, по хистори. Интересно даже стало что в моем зоопарке браузеров добавляет такие сведения, а что нет.

  44. datfeel17
    /#19889282

    Ведь эта инфа в MacOS всегда была доступна по Cmd+I

    • take
      /#19889602 / +1

      спасибо, благодаря Вашему комментарию я проверил. Не всегда. У меня остался старый диск в системе после добавления нового SSD. 2015 год, папка [Downloads] — атрибут [Where from] по Cmd+i полностью отсутствует! Что менялось с того 2015 года кроме диска: Система (была Mac OS X 10.6.8 ) и естественно, браузеры.

      Более того,

      xattr -l file 


      не выдает ничего

      • SkyHunter
        /#19894514

        А теперь то же самое проверьте getfattr. У меня xattr тоже не выдавал ничего.

        • take
          /#19895350

          xattr — для Мака
          getfattr — Linux

  45. dzolotarev
    /#19889288

    wget 1.20.1 на Fedora 29 не выставляет атрибуты. Firefox тоже нет. А вот Google Chrome да, выставляет.

    • McAaron
      /#19889574

      Какой атрибут выставляется?

  46. puyol_dev2
    /#19889290 / -2

    Надо использовать дистр Kali linux, как Эллиот в сериале Mr. Robot. Тогда товарищу майору будет облом

  47. PythonKaa
    /#19889296 / +1

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

    Суждения об информационной безопасности мудреца и учителя Инь Фу Во, записанные его учениками. Суждение 2.8

  48. vyo
    /#19889862

    Почти всё качаю uGet с плагином aria2, следов не оставляет (кроме того, что сам хранит список файлов и урлов, конечно, но те легко чистятся Ctrl+A и Delete). В итоге следы нашёл только в немногих файлах, которые качал хромом.

    Вывод: хороший менеджер закачки FTW.

  49. EnchantedOrange
    /#19890284

    Сижу с Win 10 LTSB с ручными правками в групповой политике и службах и тихо смеюсь со строки «неотключаемые обновления в W10».

    • take
      /#19890632 / +1

      >с ручными правками в групповой политике и службах

      W10 Enterprise? Сколько их на домашних компьютерах. Я не хочу никого обидеть тем, что W10 ужасна. Возможно, она хуже )

      • EnchantedOrange
        /#19900960

        10 pro ltsb, 1604 (или как её там), версия, в которой отсутствует предустановленный хлам типа погоды, 3д печати и т.п., который есть во всех остальных версиях. С дополнительным отключением служб вручную в состоянии idle потребляет 0.6 Гб ОЗУ. Производительность на высоте.
        Не вижу ничего ужасного.

  50. vladd12
    /#19891572

    Я, если честно, не особо понимаю, как работает вся система (так как никогда с работой этих самых аппаратов не сталкивался). Думаю, товарищ майор не просто так посещает тех или иных людей.

    • Wesha
      /#19891814 / +1

      Конечно, не просто так — но иногда по велению Ивана Ивановича Начальникова, иногда — по велению левой пятки, а иногда — потому что "ну не нравишься ты мне". А защиту, как известно, надо предусматривать на худший случай, даже если он никогда и не произойдёт.

      • vladd12
        /#19892140 / +1

        предусматривать на худший случай

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

        • Wesha
          /#19892212

          так и до паранойи недалеко

          "Если у Вас диагностировали паранойю, это ещё не означает, что за Вами не следят" ©

  51. NLO
    /#19893558

    НЛО прилетело и опубликовало эту надпись здесь

  52. Tanriol
    /#19899900

    С Firefox на Linux всё не так хорошо, как хотелось бы. С версии 19 (изначальный репорт) он пишет эту информацию в хранилище GIO/GVFS (бинарную базу данных, находящуюся в ~/.local/share/gvfs-metadata). Проверить можно командой gio info $filename.


    Что хуже, в приватном режиме он тоже это делает, о чём я оставил bug report.

    • sumanai
      /#19900172

      /.local/share/gvfs-metadata

      Запретить запись в этот файл не пробовали? Или там создать каталог с тем же именем.

      • Tanriol
        /#19900222

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

        • sumanai
          /#19900344

          Это и есть каталог

          Значит создать файл.

    • nlykl
      /#19900334

      Не обнаружил такого каталога. Возможно, потому что у меня нет GVFS. Arch+lxqt.

      • timdorohin
        /#19900480

        Arch+KDE5, подтверждаю, ни gvfs ни каталога нет.