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

    Знаете, когда я почти нечаянно обнаружил, читая прекрасную книгу Дмитрия Кетова «Внутреннее устройство 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'e браузеры на базе 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.


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

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

    Уф.
    Поделиться публикацией

    Похожие публикации

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

      +9
      Жду развёрнутого исследования и способов прекратить это «безобразие», для MacOS в частности.
        +1
        Перейти на FF? :)
        Хотя не поможет.
          0
          Вопрос просто в том, какова цель хранения данной информации, что прям все браузеры это хранят. Должна же быть какая-то функциональная нагрузка на этой «фиче». Помимо помощи товарищу майору=)
            0
            Докачка, повторить загрузку, скопировать ссылку?
              0
              Тоже об этом подумал, но что-то мне подсказывает, что эту информацию браузер хранит где-то там же, где и историю. По крайней мере, это было бы логичнее (а код лопатить влом)).
                0
                Тут была идея, что так всякие антивирусы и ОС понимают, что файл скачан из нета и ругаются окнами с подтверждением: «А вы уверены, что хотите его запустить?»
            +1
            хром и ишак это делают в рамках safe browsing — если ресурс помечен, как вредоносный в GSB/SmartScreen, при скачивании файла будет выдано предупреждение, потом при запуске винда ещё спросит, уверены ли вы
              0
              это не ответ на вопрос «Почему втайне от нас?» А ведь в тайне. Не то что пользователи, вообще мало кто об этом знает.
                0
                а я и не отвечал на этот вопрос
                Вопрос просто в том, какова цель хранения данной информации
                  0
                  Я, конечно, извеняюсь. Но вы сколько можете софта вспомнить, в котором вы досконально в курсе, что куда когда и зачем он пишет и посылает?
                  Винда вон, в дампы при блускринах тоже «тайно» кучу всякого пишет. Антивирусы пишут базы проверенных файлов. Антивирусы которые еще и в инет лазят — пишут базы проверенных урлов. И заблоченных тоже. Ворд записывает кучу инфы про создателя файла (которую вы, теоретически, при его регистрации вводили). Всякие там фотокамеры, пишут ГПС координаты местанохождения вашего девайса в изображение. Про всякие фейсбуки с гуглами и фитнесстрекерами, я вообще молчу…
                  И все это знают те, кто этим занимается. А те кто не занимаются — не знают, такая вот печаль )
                    0
                    Камера может и запишет координаты, если успеет определить. Обычно надо целую сессию фото, чтобы модуль раздуплился и начал давать кооринаты. И это если функция включена. А ещё, записывается модель телефона/фотоаппарата, версия прошивки и серийный номер съемного объектива.
                    Фейсбук, координаты принимает в себя, но никому больше не отдаёт. В отличие от многих сервисов шаринга фото, которые не зачищают EXIF…
                      –3
                      mkovalevskyi Вы это о чем? ) Какая «винда», какие «антивирусы»? Какой к черту «ворд». Вы с какой планеты? )
                        0
                        Win/MacOs/Android/Ios планеты. А вы с какой целью интересуетесь?
                      +1
                      >>>Не то что пользователи, вообще мало кто об этом знает.
                      ну вот, товарищ майор теперь узнал…
                +5
                Тут как с обычной историей посещений в браузерах: если вас напрягает, что она хранится, вы используете режим “инкогнито". Если вас напрягает, что файлы “помнят” откуда они скачаны — используйте режим “инкогнито".
                  0
                  Ну например, может возникнуть желание хранить историю, но отключить эти записи в атрибуты. Инкогнито делает все вместе. Интересно, есть ли в каких-то из популярных браузеров такие кастомизации?
                    0
                    Сомневаюсь. Пока не было общественного спроса на такую функцию, вряд ли кто-то о ней подумал. Возможно, если сейчас эта история приобретёт резонанс и будет достаточное количеств желающих, она появится
                    +2
                    Меня напрягает тот факт, что даже после того, как я снесу к чертям хром все, что в нем было скачано, останется на моей машине вот с этим вот всем. Причем без моего ведома.
                      0
                      А разве расширенный атрибут не будет удалён из системы когда вы удалите сам скачанный файл? Причём здесь снос хрома?
                        +3
                        Само-собой расширенный атрибут удаляется вместе с файлом. Вне зависимости от того, кто и зачем его туда поставил.

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

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

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

                      Тоже и с файлами будет.
                        0
                        Я же ничего не говорил про анонимность. Я всего лишь написал, что он помогает для случаев, когда не хотите, чтобы хранилась история посещений страниц в браузере. Для анонимности нужны соссем другие методы – из числа VPN и Tor, но и там могут быть свои нюансы…
                      0
                      Завести баг в баг-трекере Chromium с обоснованием, почему это вам не нравится, и посмотреть, что скажут разработчики.
                      А так, патчик, отключающий этот функционал в зависимости, например, от наличия ключа командной строки, будет элементарным из нескольких строчек.
                        +2
                          0
                          А ссылка на баг хромиума говорит «no permissions», как и многие другие баги хромиума. Такой-то опернсорс!
                            +3
                            Ну оно и логично, иначе баги будут расхватывать сразу же для использования уязвимостей.
                              +6
                              Это баг о невозможности отключения данной «фичи», какие уязвимости?
                            +2
                            Я создал Issue в апстриме в дополнение к тому, что указан у них по ссылке и не открывается с «no permissions», посмотрим что получится:
                            bugs.chromium.org/p/chromium/issues/detail?id=942014

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

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

                            0
                            А это просто отличная идея!
                              +2
                              Для автоматизации можно в ~/Downloads монтировать отдельную (виртуальную) файловую систему с отключенными атрибутами.
                                +3
                                Например, tmpfs, которая живет в оперативной памяти. Приучает не превращать каталог с загрузками в помойку.
                                  +1

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

                                    0
                                    Каталог с загрузками — помойка по определению. Не знаю, как другие, а я после установки браузера сразу ставлю опцию «Спрашивать, куда сохранять файлы», а в каталог «Загрузки» сохраняю только то, что не жалко.
                                      0
                                      Лиса так не умеет. Или я плохо искал.
                                        0
                                        Умеет. Настройки -> основные. Или просто вбить в поиске настоек «загруки».
                                          0
                                          Плохо искал. Настройки — Основные — Файлы и Приложения — Загрузки
                                        +1
                                        Ни в коем случае, иначе помойка начинает ненавязчиво и ползуче распространятся по всему домашнему каталогу! ) Потому что обязательно есть файлы, которые должны остаться после перезагрузки, но к которым мы не вернемся, т.к. открывать нужный каталог лень, скачать заново быстрее.
                                          0
                                          > скачать заново быстрее

                                          Только помните, что «в интернете есть всё. Но не всегда.»
                                      0
                                      большое мерси за подсказку!
                                      +7
                                      Несколько лет использую скрипт который запускается автоматически при появлении новых скачанных файлов (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 атрибуты сохраняются не в тело а в отдельные файлы, либо не сохраняются вовсе.
                                        0
                                        Кстати, да, Tor тоже создаёт такой атрибут.
                                        Правда, URL-ы в него не вставляет.
                                        +3
                                        Хранить папку «Загрузки» на FAT32?
                                          –4
                                          я вот старый, а до сих пор не знал что можно форматировать внутри одного раздела на винте на разные ФС…
                                          ПросвЯтите?
                                            +2

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

                                              0
                                              Синьор знает толк в извращениях)
                                              У меня зашифрован весь раздел APFS, разделение его на доступный FAT32 выпадает из общей концепции. Проще подчищать аттрибуты скриптом написанном выше.
                                                +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

                                                  0
                                                  Неплохая иллюстрация, но без sparse файлов это будет занимать максимальное пространство сразу.
                                                    +4
                                                    А с ними будет занимать через некоторое время.
                                                      0
                                                      discard/fstrim в помощь.
                                                    0
                                                    Накладные расходы только выше становятся
                                                +1
                                                truncate -s 512M file.img
                                                mkfs.reiserfs -f -q file.img
                                                mkdir folder
                                                mount -o loop file.img folder

                                                Вместо ReiserFS можно использовать что угодно. Sparse файлы не будут занимать больше места, чем занимают файлы внутри контейнера-файла + расходы на структуры ФС. С помощью опции discard или утилиты fstrim можно освобождать блоки на месте удалённых файлов, чтобы они зря не занимали место.
                                              0
                                              Перестать пользоваться шпионскими браузерами от гугла, для пикантных вещей использовать отдельную виртуальную машину с тор-браузером на борту и заблокированным dns, как минимум))
                                                +2
                                                Как на одном популярном ресурсе. Комментарий для минусов.
                                                Мастурбировать с заклеенной камерой и включенным тором не очень удобно.
                                                0
                                                Вроде, как файловая система FAT не поддерживает потоки. Можно попробовать перейти на FAT
                                                  0
                                                  на FAT много своих недостатков… размер тома не более 4Тб, размер одного файла не может быть больше 4Гб и т.д. нет журналируемости — любой сбой чреват серьёзными повреждениями ФС…
                                                +29
                                                В винде хром точно так же пишет данные о скачивании в стрим с именем 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
                                                  +26
                                                  Это же просто супер! Всегда хотелось, чтобы к файлам из интернета привязывался их урл, откуда они. Часто бывает, что накачаешь файлов отовсюду, а потом ссылки на оригиналы не найти, а сослаться надо. Я даже в долгосрочных планах свой колхоз хотел писать, чтобы в альтернативные стримы урлы закидывать. А оказывается, что у меня всё это уже из коробки есть, только достать нужно.
                                                    +2
                                                    да, это прекрасно, когда ты в курсе. как с кариесом )
                                                      +3
                                                      Не понял, чего прекрасного в кариесе?
                                                        +131
                                                        Плохая метафора подобна котенку с дверцей.
                                                          0

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

                                                            +3

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

                                                              +7
                                                              Там было про бездну. И это был Ф.Ницше.
                                                                0
                                                                Да Фрейд это был. И было там про…
                                                                  +6
                                                                  Иногда сигара — это просто сигара.
                                                                    –2
                                                                    Читать продолжение в источнике

                                                              0

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

                                                          +1
                                                          Ура, вот и занятие на ближайшие выходные — набросать софтинку для отображения этой инфы. Ну и затирания, само собой )
                                                            +3
                                                            Чтение, запись и удаление потоков могут быть, если я не путаю, осуществлены стандартными API системы, нужно только правильное имя передать.
                                                              +3
                                                              Судя по всему, это часть Attachment Manager (по крайней мере ZoneId), того самого, который показывает предупреждения при открытии скачанных файлов. Он отключается через Group Policy.
                                                                +4

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


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

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


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

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

                                                                  0

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

                                                                    0

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


                                                                    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}")

                                                                    Этот скрипт/сниппет уберёт все расширенные аттрибуты пользователя в заданой директории (первый аргумент) и скажет какие именно убрал. Если хотите удалить вообще все, надо добавить -m - к аргументам getfattr.

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

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

                                                                  +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

                                                                    +2
                                                                    для видны названия стримов умеет выдавать стандартный dir /r или Get-Item ... -Streams *
                                                                  +1
                                                                  Не все утилиты пишут данные в xattrs по умолчанию. К примеру youtube-dl нужно заставлять это делать каждый раз добавляя ключик --xattrs. А ведь для роликов с youtube удобно знать, откуда они их скачали. Однако разрабы утилиты сделали эту фичу включаемой, но отключенной по дефолту из уважения к приватности пользователей. Думаю, разрабы браузеров могли бы поступить так же :)
                                                                    0
                                                                    А можно сделать так, чтобы youtube-dl писал URL в теги?
                                                                      0
                                                                      Не знаю. В атрибуты он умеет писать 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»
                                                                  0
                                                                  FireFox сделал вот так:
                                                                  [ZoneTransfer]
                                                                  ZoneId=3

                                                                  Все настройки по умолчанию.
                                                                    0
                                                                    Спасибо огромное, очень полезный пример!
                                                                    +5
                                                                    Код записи NTFS стрима для скачанных файлов в хроме находится здесь: src/components/download/quarantine/quarantine_win.cc.
                                                                      +2
                                                                      Хм… Судя по названию, эта штука предназначена для того, чтобы антивирусное ПО могло делать какие-то выводы по адресу источника, из которого был скачан файл. Интересно.
                                                                        +2
                                                                        Судя по комментарию
                                                                        // 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).
                                                                        из кода, осуществляющего запись этих параметров, похоже на то.
                                                                      0
                                                                      «в Win10 я не обнаружил подобной «мелочи»» — чем и как смотрели?
                                                                      «у streams есть как-бы несколько слоев и не все они прямо доступны» — если я не путаю, перечисление альтернативных файловых потоков (так называется то, что вы назвали streams) — дело хоть и не особо простое, но вполне реальное. Особенно интересно, конечно, про слои.
                                                                      +5
                                                                      На маке 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
                                                                        +12
                                                                        В MacOS вы можете узнать откуда скачан файл просто нажав правую клавишу на файле и выбрав меню Info (без необходимост использовать xattr). В разделе More Info будет Where from. Т.е. это действительно просто функция, могущая считаться полезной, а не скрытый механизм. Не хотите, чтобы хранилась информация – используйте приватный режим…
                                                                          +1
                                                                          да, так и есть. интересно посмотреть по файловым менеджерам Linux. Nautilus вот не показывает ничего. может другие вдруг
                                                                            +3
                                                                            Dolphin (который в KDE) всё показывает, во вкладке «Сведения» в свойствах файла.
                                                                            +6
                                                                            ну вообще в MacOS много чего хранится в альтернативных потоках, включая иконки, описания и еще много всего. Собственно это все при копировании на какой-нить FAT/NTFS эмулируется через скрытую папку .DS_Store
                                                                            +2
                                                                            В MacOS для меня это фича, и если бы она была такой же прозрачной и удобной в Windows/Linux это был бы плюс.
                                                                            Но тут как всегда, нужно выбирать удобство или безопасность :D
                                                                              –10
                                                                              При этом не меняется контрольная сумма файла. Огонь.
                                                                                +34

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

                                                                                +7
                                                                                Прикольно, не знал. Впрочем, товарищу майору это всё не сильно поможет, если держать свои диски хорошо зашифрованными.
                                                                                  +3
                                                                                  Есть такие юрисдикции, где отказ от расшифровки трактуется примерно как у нас отказ от медицинского освидетельствования водителя. И наша юрисдикция быстро перенимает «западные технологии» подобного толка. Так что…
                                                                                    +2
                                                                                    Так что, используем скрытые тома, которые монтируются при вводе другого пароля
                                                                                      +2
                                                                                      Вы были под следствием? Вот вам новость — с вероятностью 99.9% вы этот «другой пароль» сами и расскажете в обмен на скидки и бонусы. Причем если договариваться вы будете с ФСБ, то всё будет как договорились (±15%). А если с полицией — то как повезёт, там опера те ещё кю.
                                                                                        +1
                                                                                        Так весь смысл «другого пароля» в том, что о нём никто не знает, кроме меня. О его существовании не знает. Расшифровать накопитель? Вот, пожалуйста, пароль. Там лежит кое-какой варёз (винрар с кряком, да), исходники, написанные мною, но никакой детской порнографии (для примера, первое, что в голову пришло, сюда можно подставить что угодно, чего вы ни в коем случае не хотите показать) нет. А означенная порнография открывается при вводе «другого» пароля вместо первого, но об этом никаких намёков нет.

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

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

                                                                                            Нет, это не сработает. Вы просто не можете определить, то ли там 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 гигабайт секретных данных, А может не притаилось (в данном примере у меня реально половина раздела свободна, там никаких данных нет, а заятый объём — фильмы, раздаваемые в торрентах). Кто знает.

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

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

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

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

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

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

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

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

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

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


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

                                                                                                    Другими словами, программа воплощает идею о том, что вы лучше потеряете свои данные в скрытом томе, чем о них узнает злоумышленник.
                                                                                                    — https://securityinabox.org/ru/guide/veracrypt/windows/
                                                                                                    +6
                                                                                                    Вы так спорите, как будто не в России живёте.
                                                                                                    Российский вариант: хитро шифрованный диск уезжает к «эксперту», приезжает обычная NTFS с детским порно, вы отъезжаете, всё, никаких паяльных криптоанализаторов, минимум нелегальщины и доказуемых следов.
                                                                                                      +4
                                                                                                      Вы тоже похоже не в России живете :), NTFS-ы какието приплели. Берется бабка у подъезда(которая еще и вневедомственный сотрудник/фсбшница на пенсии), которая говорит «а вот я видела». И все. Никаких экспертов не надо. У судьи не будет оснований не доверять сотрудникам полиции и их свидетелям.
                                                                                                        0
                                                                                                        Не, слишком сложно, бабка старая, плохо видит, вдруг придётся прокурору за неё показания читать.
                                                                                                    0
                                                                                                    в один прекрасный момент об этом пароле вы сами и расскажете, потому что это будет выгодно в этот конкретный момент

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

                                                                                                      Что даст список томов, если у меня зашифрован хомяк, а всё ценное лежит в криптоконтейнере (обычном файле)?
                                                                                                        0
                                                                                                        первое что приходит на ум — если бивис не запаролен — грузануться с gentoo live-cd и посмотреть какие такие тома есть на накопителях, с потрохами сдаст fdisk -l
                                                                                                        Не прокатит.
                                                                                                        habr.com/en/post/443694/#comment_19886468
                                                                                                          0
                                                                                                          Окей, бивис запаролен, на харде мастер-пароль(система его увидит, но всякие READ/WRITE вызовут тупо установку флага ABRT, пока не дадут пароль), загрузчик запаролен.
                                                                                                          Да, распаролить можно, но половина этих способов приводит к ata secure erase (А ещё можно выставить два пароля гыгы, и отдать мастер, который при снятии его и вызовет).
                                                                                                          +3
                                                                                                          Есть такие методы, когда вас не спрашивают, но вы сами рассказываете, в надежде на прекращение кошмара, если методист будет знать все, что вам когда-либо стало известно.
                                                                                                          Я не запугиваю, а пытаюсь предостеречь от легкомысленного отношения к таким ситуациям.
                                                                                                            +2
                                                                                                            Но от «взяли комп на экспертизу по делу о репосте в соцсети и нашли там материала на гораздо более крутые дела» спасёт.

                                                                                                            Думаю, что нет. Захотят найти — найдут, или подбросят. Особенно с учетом того что взяли именно комп. Если мне не изменяет память, изъятие регламентировано, и по регламенту должны изыматься только носители информации в опломбируемый пакет и в присутствии понятых. А вот насчет того каков регламент с этой пломбой у экспертизы — даже не знаю.
                                                                                                              +1
                                                                                                              А вот как: в одном деле из герметичной ёмкости упакованной в полиэтиленовый пакет «высохло» (слова экспертов из экспертизы) больше двух килограмм психотропного вещества.
                                                                                                                +1
                                                                                                                Я не удивлен, сталкивался с системой хоть и в рамках ГК. Над цирковыми представлениями не смеюсь. Криптография, к сожалению, от майора не спасет, как бы ни хотелось it специалистам.
                                                                                                                  0
                                                                                                                  Криптография, к сожалению, от майора не спасет, как бы ни хотелось it специалистам.

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

                                                                                                                    +2

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

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

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

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

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

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


                                                                                                                    Т-щ майор увидит у Вас TrueCrypt/VeraCrypt и все, будет дожимать до второго пароля :). Не стоит их считать за дебилов.
                                                                                                                        +2
                                                                                                                        Тогда придётся дожимать до второго пароля и тех, у кого TC есть, а вот второго пароля нет. Причём, товарищ майор так и не сможет быть до конца уверенным, то ли там реально его нет, то ли подозреваемый смог перетерпеть дожимание.
                                                                                                                          +2
                                                                                                                          Повверьте, отбитым почкам от этого легче не станет. Даже если мусора потом самого закроют за превышение полномочий.
                                                                                                                0
                                                                                                                Так ли важно знать откуда был скачан файл, если срок обычно получают за содержимое оного? Не сомневаюсь, в каком-то случае ссылка на источник сыграет свою решающую роль, но проблема все-таки не так страшна, как кажется на первый взгляд.
                                                                                                                  0

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

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

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

                                                                                                                        0
                                                                                                                        Именно. Что подтверждает хранение этих атрибутов в дополнительных stream.
                                                                                                                        0
                                                                                                                        ПКМ — Свойства — Разблокировать — ОК
                                                                                                                          +1

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

                                                                                                                            +1
                                                                                                                            Windows Registry Editor Version 5.00

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

                                                                                                                            Работает с IE, Хромом, с какой-то древней версии и FF стал туда заглядывать, хотя раньше хранил эту настройку где-то в своих конфигах.
                                                                                                                              0
                                                                                                                              Спасибо, я в курсе. Мне вообще-то не мешает.
                                                                                                                              Я это в качестве подтверждающего примера привёл.
                                                                                                                            +2

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

                                                                                                                              0
                                                                                                                              конечно уже хранят, встречалась программа на github'e
                                                                                                                                +1
                                                                                                                                Ну тот же FlylinkDC++ хранит хэши расшаренных файлов в их потоках, если конечно включить эту опцию в настройках. Очень упрощает ситуацию с повторным вычислением хэша при переносе расшаренных файлов с винта на винт или даже при банальном переименовании файлов/каталога с ними.
                                                                                                                                  +1
                                                                                                                                  Аналогично ведёт себя EiskaltDC++. Включено по умолчанию.
                                                                                                                                  0
                                                                                                                                  Насчёт колонок не помню, но плагин файловой системы точно был. Кажется так и назывался: NTFS Streams
                                                                                                                                    0
                                                                                                                                    Нашел довольно интересную программу. Можно к примеру повесить ее на кнопку в TC.
                                                                                                                                    hex.pp.ua/ntfs-stream-explorer.php
                                                                                                                                    на сайте автора также много технической информации по этим возможностям и их программированию.
                                                                                                                                    В винде (к счастью или к сожалению) никакой информации кроме ZoneId=3 нет. А вот в линуксе есть — оригинальный url скачанного файла и страница с которой был скачан файл.
                                                                                                                                    0
                                                                                                                                    Конечно же, для Total Commander есть и такие плагины. Например, NTFS FileStreams.

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

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

                                                                                                                                      +1
                                                                                                                                      Клиент Slack реализован на Electron, который встраивает Chromium, все верно.
                                                                                                                                        +1
                                                                                                                                        Название потока .gltth пошло из программы GreylinkDC++.
                                                                                                                                        +19
                                                                                                                                        памятка пользователям 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 случайно удалили нужный кусок кода?), но как я отмечал выше, адрес он не сохраняет.
                                                                                                                                          +2
                                                                                                                                          Открыл содердимое этого потока — там только написано что zone=3. Никаких адресов. Браузер Firefox, Win 7
                                                                                                                                            0
                                                                                                                                            вы правы. проверил в win 7. удивительно, но адреса нет, хотя браузер тот же.
                                                                                                                                            видимо адрес требуется какому-то ПО (или самой венде), который работает только в десятке? или в API десятки добавили новые параметры для адреса.
                                                                                                                                            сам поток создается со времен win xp, это я точно помню. значит адрес стали в него добавлять лишь недавно.
                                                                                                                                              0
                                                                                                                                              В статье же написано, что этим семейство Chromium занимается.
                                                                                                                                                +3
                                                                                                                                                Firefox никакого отношения к Chromium не имеет (к счастью)
                                                                                                                                                –2

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

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

                                                                                                                                                  Firefox 65.0.2
                                                                                                                                                    0
                                                                                                                                                    я проверял в Firefox 67 DE. возможно влияют еще какие-то настройки.
                                                                                                                                                0
                                                                                                                                                просмотреть содержимое потока скаченного файла можно обычным Блокнотом:
                                                                                                                                                notepad скаченный_файл:Zone.Identifier

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

                                                                                                                                                Странно, у меня такое поведение wget не воспроизводится, getfattr выдаёт пустой ответ на любой файл, скачанный wget-ом. Debian buster, wget 1.20.1, btrfs.
                                                                                                                                                  +1
                                                                                                                                                  во-первых, getfattr -d
                                                                                                                                                  во-вторых, вопрос к btrfs или к сборке wget
                                                                                                                                                  проверял wget 1.19.5 на Ubuntu 18.10 )
                                                                                                                                                    +2
                                                                                                                                                    wget 1.17.1 для linux-gnu под Ubuntu 16.04 ext4 не сохраняет ничего в расширенных аттрибутах по-умолчанию.
                                                                                                                                                    +6
                                                                                                                                                    В 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.
                                                                                                                                                      0
                                                                                                                                                      В 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, …) ничего не сохраняют.
                                                                                                                                                      Возможно, это особенности дебиановской политики.
                                                                                                                                                      +9
                                                                                                                                                      Выглядит конечно феерично. ОК. Старый ноут с 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/"


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

                                                                                                                                                      Ранее не мог объяснить свой антагонизм к хрому. Ну вот не нравится и все. Не цветом или функционалом — мелкой хитрожопостью. Но доказать не мог т.к. лениво. А тут — это просто праздник какой то!
                                                                                                                                                        +2
                                                                                                                                                        Ранее не мог объяснить свой антагонизм к хрому. Ну вот не нравится и все.
                                                                                                                                                        Да всё было понятно уже четыре года назад, недавно кто-то опять live-тесты проводил, в прошлом году здесь был топик про сканирование Хромом локальных файлов. Но многие, к сожалению, продолжают пользоваться этим зондом.
                                                                                                                                                        0
                                                                                                                                                        А какой программой можно удалить эти следы под Windows?
                                                                                                                                                          +2
                                                                                                                                                          Если для одного файла — то Проводником.
                                                                                                                                                          ПКМ — Свойства — Разблокировать — ОК

                                                                                                                                                          Если для кучи файлов — то через powershell
                                                                                                                                                            +4
                                                                                                                                                            Спасибо за наводку, действительно работает.
                                                                                                                                                            Набираем в PowerShell команду с нужной директорией: get-childitem «D:\Downloads\» | unblock-file
                                                                                                                                                              +1
                                                                                                                                                              так анблок — это не удлить всю инфу, это убрать алерт про «скачано с инета».
                                                                                                                                                                +1
                                                                                                                                                                Но реально анблок удаляет поток Zone.Identifier
                                                                                                                                                                  +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 записано. Интересно, от чего это зависит…
                                                                                                                                                                0
                                                                                                                                                                Не работает в семёрке и там, где PS 2.0
                                                                                                                                                                0
                                                                                                                                                                Здесь некто советует помимо powershell использовать программу streams. Субъективно удобнее.
                                                                                                                                                                streams [-s] [-d] <файл или каталог>
                                                                                                                                                                0
                                                                                                                                                                docs.microsoft.com/en-us/sysinternals/downloads/streams
                                                                                                                                                                streams.exe -d -s .\path
                                                                                                                                                                рекурсивно удаляет все потоки под чистую внутри заданной папки
                                                                                                                                                                  +2

                                                                                                                                                                  Можно вообще запретить писать эти потоки в 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

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

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

                                                                                                                                                                      в настройках WinRar можно включить архивацию потоков. но, к счастью, по умолчанию она отключена.
                                                                                                                                                                        0
                                                                                                                                                                        Хм… а с zip-ованием как дела обстоят?
                                                                                                                                                                          +1
                                                                                                                                                                          Формат архива не предусматривает хранение альтернативных потоков к файлам. Вообще в принципе.
                                                                                                                                                                          Но сам архиватор может обойти это ограничение, создав мета-файл внутри архива с альтернативными потоками… но это будет бросаться в глаза в других программах и для правильной распаковки требовать свой распаковщик.
                                                                                                                                                                      +2
                                                                                                                                                                      А как вы ему передаёте файл? Вместе с файловой системой?
                                                                                                                                                                        +1
                                                                                                                                                                        Да. На флешке, например
                                                                                                                                                                          +2
                                                                                                                                                                          И на флешке вы используете ext4/xfs?
                                                                                                                                                                            +4
                                                                                                                                                                            NTFS
                                                                                                                                                                              0
                                                                                                                                                                              Я например btrfs использую, что однажды помогло выловить дефектный USB-контроллер, повреждающий записываемые данные (btrfs ругалась на контрольные суммы).
                                                                                                                                                                                0
                                                                                                                                                                                Да, использую ext4, и пробовал ради интереса zfs.
                                                                                                                                                                                –1
                                                                                                                                                                                Если использовать не стандартный диалог копирования файла, а к примеру TeraCopy или различные старые файловые менеджеры то они благополучно копируют только основной файл а про потоки даже не заикаются.
                                                                                                                                                                                  +1
                                                                                                                                                                                  Их используют единицы,
                                                                                                                                                                              0
                                                                                                                                                                              Погодите, так эти ссылки приватные или по их URI можно выйти на непредназначенный для твоих глаз каталог? Или этот функционал подразумевает возможность делиться приватными ссылками только с одним человеком, который ничего нового при переходе в каталог верхнего уровня не увидит?

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

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