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

image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

MacOS:
xattr -c -r ~/Downloads

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

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

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

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

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

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

* Changes in Wget 1.20.1

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


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

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

Уф.

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


  1. motpac
    14.03.2019 13:25
    +3

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


    1. LinearLeopard
      14.03.2019 14:24

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


      1. jery_jary
        15.03.2019 12:22

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


        1. yvm
          15.03.2019 16:14

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


          1. jery_jary
            15.03.2019 16:16

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


            1. LinearLeopard
              15.03.2019 17:39

              Тут была идея, что так всякие антивирусы и ОС понимают, что файл скачан из нета и ругаются окнами с подтверждением: «А вы уверены, что хотите его запустить?»


              1. mkovalevskyi
                15.03.2019 22:55

                В смысле «идея»?
                Это не идея, а docs.microsoft.com/en-us/openspecs/windows_protocols/ms-fscc/6e3f7352-d11c-4d76-8c39-2516a9df36e8 + дальше там дока про то, что такое секурные зоны есть, и что по этому поводу надо делать.


    1. pacaya
      14.03.2019 14:26

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


      1. nikbond
        14.03.2019 20:25

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


        1. pacaya
          14.03.2019 21:01

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


      1. ianzag
        14.03.2019 20:52

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


        1. itconsulting
          15.03.2019 23:22

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


          1. ianzag
            16.03.2019 06:14
            +1

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

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

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

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


      1. Dim4Nik
        16.03.2019 13:00

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

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

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


        1. pacaya
          16.03.2019 15:59

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


    1. F0iL
      14.03.2019 14:29

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


      1. KonkovVladimir
        14.03.2019 16:34

        1. Endeavour
          14.03.2019 16:48

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


          1. Alexeyslav
            14.03.2019 17:05

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


            1. Endeavour
              14.03.2019 22:17
              +4

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


        1. F0iL
          14.03.2019 16:51

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

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


    1. aamonster
      14.03.2019 14:29

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


      1. kikiwora
        14.03.2019 17:04

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


      1. janatem
        14.03.2019 18:40
        +2

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


        1. nlykl
          14.03.2019 19:33
          +2

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


          1. pesh1983
            14.03.2019 23:02
            +1

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


          1. s-kozlov
            15.03.2019 07:38

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


            1. nlykl
              15.03.2019 13:51

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


              1. sysd
                15.03.2019 14:01

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


              1. marenkov
                15.03.2019 14:04

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


          1. NoRegrets
            15.03.2019 12:13

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


            1. Wesha
              15.03.2019 18:46

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

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


      1. motpac
        14.03.2019 19:07

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


    1. pirate_tony
      14.03.2019 19:30
      +1

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

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

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


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


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


      1. DistortNeo
        14.03.2019 22:59

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


    1. usrsse2
      14.03.2019 20:07
      +2

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


      1. motpac
        14.03.2019 22:37
        -2

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


        1. usrsse2
          14.03.2019 22:48
          +2

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


          1. motpac
            14.03.2019 22:51

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


            1. edwardspec
              15.03.2019 00:56
              +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


              1. thauquoo
                15.03.2019 02:33

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


                1. sumanai
                  15.03.2019 07:45

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


                  1. thauquoo
                    15.03.2019 22:57

                    discard/fstrim в помощь.


              1. DistortNeo
                15.03.2019 10:10

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


        1. thauquoo
          15.03.2019 02:27
          +1

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

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


    1. feyd12
      15.03.2019 08:00

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


    1. dim2r
      15.03.2019 08:08

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


      1. Alexeyslav
        15.03.2019 10:18

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


  1. PashaPash
    14.03.2019 13:31
    +6

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

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


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


    1. multiprogramm
      14.03.2019 14:02

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


      1. take Автор
        14.03.2019 14:03
        +1

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


        1. 0x9d8e
          14.03.2019 14:12

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


          1. Meklon
            14.03.2019 14:19
            +8

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


            1. Cerberuser
              14.03.2019 15:01

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


              1. nickolaym
                14.03.2019 19:47
                +1

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


                1. burrdarr
                  14.03.2019 20:38
                  +6

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


                  1. holomen
                    15.03.2019 05:23

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


                    1. DocJester
                      15.03.2019 07:34

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


                    1. Vsevo10d
                      15.03.2019 23:24

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


            1. jMas
              14.03.2019 23:11

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


      1. PowerMetall
        14.03.2019 14:15
        +1

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


        1. vilgeforce
          14.03.2019 14:21

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


        1. PashaPash
          14.03.2019 14:22

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


        1. vmspike
          14.03.2019 15:10
          +2

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


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

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


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

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


          1. bano-notit
            14.03.2019 19:03

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


            1. vmspike
              14.03.2019 19:51

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


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


              1. bano-notit
                14.03.2019 20:54

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


                1. vmspike
                  14.03.2019 21:06

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


        1. Max_JK
          15.03.2019 07:38
          +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


          1. PashaPash
            15.03.2019 10:16
            +1

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


      1. glowingsword
        14.03.2019 18:01
        +1

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


        1. nlykl
          14.03.2019 19:36

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


          1. glowingsword
            14.03.2019 19:57

            Не знаю. В атрибуты он умеет писать 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»


    1. a-tk
      14.03.2019 19:57

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

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


    1. Sergery8205
      15.03.2019 12:35

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


  1. halyavin
    14.03.2019 13:34
    +3

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


    1. Whuthering
      14.03.2019 14:05

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


      1. F0iL
        14.03.2019 14:11

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

        // 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).
        из кода, осуществляющего запись этих параметров, похоже на то.


  1. vilgeforce
    14.03.2019 13:38

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


    1. take Автор
      14.03.2019 13:43

      www.nirsoft.net/utils/alternate_data_streams.html

      кстати, там много много утилит для win.


  1. Pravo
    14.03.2019 13:46
    +2

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

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


  1. pacaya
    14.03.2019 13:49
    +1

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


    1. take Автор
      14.03.2019 14:02
      +1

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


      1. Jerf
        14.03.2019 17:39

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


    1. NickyX3
      14.03.2019 15:32
      +1

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


  1. tkf
    14.03.2019 14:11

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


  1. negodnik
    14.03.2019 14:38
    -1

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


    1. Whuthering
      14.03.2019 14:42
      +1

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


  1. mikevmk
    14.03.2019 14:43

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


    1. mehos
      14.03.2019 15:29

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


      1. dartraiden
        14.03.2019 18:58
        +1

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


        1. dhaenoor
          14.03.2019 23:32
          +1

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


          1. dartraiden
            14.03.2019 23:34

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

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

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


            1. dhaenoor
              14.03.2019 23:58

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


              1. dartraiden
                15.03.2019 00:32

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

                Нет, это не сработает. Вы просто не можете определить, то ли там 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. dimitry78
                  15.03.2019 01:04
                  -1

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


                  1. dhaenoor
                    15.03.2019 01:48

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


                    1. dimitry78
                      15.03.2019 02:13
                      -1

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

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


                      1. Wesha
                        15.03.2019 02:57

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

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


                        1. dimitry78
                          15.03.2019 03:16

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


                          1. dhaenoor
                            15.03.2019 09:15

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


                      1. dartraiden
                        15.03.2019 19:02

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

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

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


                1. shaukote
                  15.03.2019 04:11

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


                  1. Wesha
                    15.03.2019 04:37

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


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

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


                1. rogoz
                  15.03.2019 14:44
                  +5

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


                  1. Mabusius
                    15.03.2019 15:24
                    +4

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


                    1. rogoz
                      15.03.2019 17:12

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


              1. MIKEk8
                15.03.2019 12:49

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

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


            1. dimitry78
              15.03.2019 00:01
              -1

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


              1. sumanai
                15.03.2019 00:08

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

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


              1. dartraiden
                15.03.2019 00:34

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


              1. JerleShannara
                15.03.2019 03:30

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


            1. karavan_750
              15.03.2019 00:51
              +2

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


            1. sysd
              15.03.2019 01:01
              +1

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

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


              1. dhaenoor
                15.03.2019 01:54

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


                1. sysd
                  15.03.2019 03:21

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


                  1. Wesha
                    15.03.2019 03:26

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

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


                    1. dhaenoor
                      15.03.2019 09:22

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



            1. Whuthering
              15.03.2019 11:25
              -1

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

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


              1. Cerberuser
                15.03.2019 11:40

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


                1. dartraiden
                  15.03.2019 18:58

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

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


                1. dhaenoor
                  17.03.2019 09:55
                  -1

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


                  1. Chamie
                    17.03.2019 19:16

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


                  1. Wesha
                    17.03.2019 20:22
                    +2

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


              1. Wesha
                15.03.2019 18:51
                +2

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

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


            1. glestwid
              15.03.2019 16:30
              +1

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


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



              1. dartraiden
                15.03.2019 18:58
                +2

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


                1. glestwid
                  16.03.2019 22:19

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


    1. alfred200
      14.03.2019 19:37

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


    1. extempl
      14.03.2019 21:11

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


  1. juray
    14.03.2019 14:47

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


    1. Alexeyslav
      14.03.2019 14:53
      +2

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


      1. dimka11
        14.03.2019 17:11

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


      1. juray
        15.03.2019 17:09

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


    1. mayorovp
      14.03.2019 15:37

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


    1. dimka11
      14.03.2019 17:07
      +1

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


    1. alexanster
      15.03.2019 16:05
      +1

      Windows Registry Editor Version 5.00

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

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


      1. juray
        15.03.2019 17:05

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


  1. NeoCode
    14.03.2019 14:50
    +2

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


    1. take Автор
      14.03.2019 15:47

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


    1. Gaikotsu
      14.03.2019 16:21

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


      1. ValdikSS
        14.03.2019 19:45
        +1

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


    1. inoyakaigor
      14.03.2019 22:19

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


      1. NeoCode
        15.03.2019 07:56

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


    1. Dukat
      15.03.2019 19:30

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

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


  1. vmspike
    14.03.2019 15:02
    +1

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


    1. j_wayne
      14.03.2019 15:53

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


    1. ValdikSS
      14.03.2019 19:46
      +1

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


  1. CoolCmd
    14.03.2019 15:22
    +7

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

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

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

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

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

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


    1. MasMaX
      14.03.2019 16:29
      +1

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


      1. CoolCmd
        14.03.2019 16:51

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


        1. sysd
          14.03.2019 16:56

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


          1. CoolCmd
            14.03.2019 17:02

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


        1. tbl
          14.03.2019 17:55

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


        1. rubero
          14.03.2019 18:47

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

          Firefox 65.0.2


          1. CoolCmd
            14.03.2019 20:40

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


    1. red_andr
      15.03.2019 03:52

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

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


  1. Cheater
    14.03.2019 15:33

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

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


    1. take Автор
      14.03.2019 15:52

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


      1. vmspike
        14.03.2019 16:25
        +1

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


    1. Aegir
      14.03.2019 16:45
      +2

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

      * Changes in Wget 1.20.1

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

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

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


    1. Hamer13
      15.03.2019 13:53

      В 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, …) ничего не сохраняют.
      Возможно, это особенности дебиановской политики.


  1. ianzag
    14.03.2019 15:39
    +2

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

    $ find . -type f | wc -l
    118305

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

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


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

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


    1. danfe
      14.03.2019 17:22

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


  1. Solovej
    14.03.2019 15:40

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


    1. mayorovp
      14.03.2019 15:42
      +1

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

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


      1. Solovej
        14.03.2019 15:54
        +1

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


        1. mkovalevskyi
          14.03.2019 17:13
          +1

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


          1. mayorovp
            14.03.2019 17:21
            +1

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


            1. mkovalevskyi
              14.03.2019 19:42
              +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 записано. Интересно, от чего это зависит…


        1. LevOrdabesov
          16.03.2019 15:05

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


      1. victoriously
        16.03.2019 11:50

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


    1. RAX7
      16.03.2019 11:50

      docs.microsoft.com/en-us/sysinternals/downloads/streams
      streams.exe -d -s .\path
      рекурсивно удаляет все потоки под чистую внутри заданной папки


    1. TerAnYu
      16.03.2019 15:11
      +1

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


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

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

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


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


  1. Meklon
    14.03.2019 15:41
    +2

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

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


    1. multiprogramm
      14.03.2019 16:04

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


      1. CoolCmd
        14.03.2019 17:07
        +1

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

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


        1. claygod
          15.03.2019 11:46

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


          1. Alexeyslav
            15.03.2019 12:07
            +1

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


    1. amarao
      14.03.2019 16:42

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


      1. pakager
        14.03.2019 17:46

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


        1. amarao
          14.03.2019 17:48

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


          1. pakager
            14.03.2019 17:48

            NTFS


          1. RussianNeuroMancer
            16.03.2019 07:55

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


          1. nlykl
            16.03.2019 14:17

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


        1. Alexeyslav
          14.03.2019 17:55

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


          1. sumanai
            14.03.2019 20:04
            +1

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


    1. keydet
      14.03.2019 22:34

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

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


      1. Meklon
        14.03.2019 22:39
        +1

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

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


    1. river-fall
      15.03.2019 13:21
      -1

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


      1. mayorovp
        15.03.2019 14:06

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


  1. mini_nightingale
    14.03.2019 15:48

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


    1. jevius
      14.03.2019 16:09

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


      1. mini_nightingale
        14.03.2019 17:34

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


        1. jevius
          14.03.2019 18:29

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


  1. 5oclock
    14.03.2019 15:54
    -1

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


  1. stalinets
    14.03.2019 16:00

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


    1. User2Qwer
      14.03.2019 18:04
      +1

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


    1. mkovalevskyi
      14.03.2019 19:49

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


  1. vmspike
    14.03.2019 16:36

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


  1. ogost
    14.03.2019 16:52

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

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


  1. amarao
    14.03.2019 16:57

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


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


    1. F0iL
      14.03.2019 17:13
      +1

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


  1. Andrey-Yurevich
    14.03.2019 18:05
    -1

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


  1. valex2019
    14.03.2019 18:05

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


  1. sveq
    14.03.2019 18:05

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


    1. ferocactus
      14.03.2019 19:05
      +2

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


      1. sveq
        14.03.2019 19:42

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

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


        1. qrKot
          14.03.2019 22:19

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


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


          1. sveq
            14.03.2019 22:29

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


            1. qrKot
              15.03.2019 10:15

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

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

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


  1. nop_0x90
    14.03.2019 18:05

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


    1. dartraiden
      14.03.2019 19:02
      +1

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

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


      1. ferocactus
        14.03.2019 19:12

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


  1. Wesha
    14.03.2019 18:40

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


  1. Sabubu
    14.03.2019 18:45
    +2

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


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


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


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


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


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


    1. Mabusius
      14.03.2019 18:50
      +1

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


    1. F0iL
      14.03.2019 19:05

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


      1. dartraiden
        14.03.2019 19:11

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


        1. F0iL
          14.03.2019 19:18
          +2

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


    1. dartraiden
      14.03.2019 19:07
      +1

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

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


    1. vnai
      15.03.2019 19:32

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


  1. janatem
    14.03.2019 19:16

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


    1. nlykl
      14.03.2019 19:37

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


      1. sumanai
        14.03.2019 20:09
        +1

        ExFat к примеру.


  1. firedragon
    14.03.2019 19:48
    -8

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


  1. red_andr
    14.03.2019 20:10
    +1

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


    1. ilyaska
      16.03.2019 13:04

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


  1. abmanimenja
    14.03.2019 21:39
    +1

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


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

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

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

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

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

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

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

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


    1. take Автор
      15.03.2019 19:38

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

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

      оригинал

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


      1. Bronx
        16.03.2019 22:57

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

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


  1. ianzag
    14.03.2019 22:52
    +1

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

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

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


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

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


  1. abmanimenja
    14.03.2019 23:23

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

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


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

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


  1. andvgal
    14.03.2019 23:43

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


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


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


    1. Dr_Faksov
      15.03.2019 05:10

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



      1. andvgal
        15.03.2019 09:10

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


  1. MaGIc2laNTern
    14.03.2019 23:56

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


    1. take Автор
      15.03.2019 19:47

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

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


  1. Rulin
    15.03.2019 01:15

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


    1. take Автор
      15.03.2019 19:49

      wc -l )


  1. Rulin
    15.03.2019 01:30
    +1

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


  1. feyd12
    15.03.2019 07:52
    +1

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


    1. fukkit
      15.03.2019 15:39
      +1

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

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


      1. abmanimenja
        16.03.2019 01:59

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


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

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

        Так как:

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

        Ну и апогей:

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

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

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


  1. robo2k
    15.03.2019 10:42

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

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


    1. F0iL
      15.03.2019 11:18

      Может быть у вас гугл какой-то неправильный? Первыми же строчками находится.
      www.bhv.ru/books/book.php?id=196341
      books.google.com/books/about/Внутреннее_устройств.html?id=1jAxDwAAQBAJ
      www.ozon.ru/context/detail/id/138760490
      www.labirint.ru/books/561827


  1. p0gank
    15.03.2019 11:49

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

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


    1. sveq
      15.03.2019 13:40

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


  1. Sergery8205
    15.03.2019 12:41

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


  1. datfeel17
    15.03.2019 14:00

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


    1. take Автор
      15.03.2019 14:39
      +1

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

      Более того,

      xattr -l file 


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


      1. SkyHunter
        16.03.2019 15:12

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


        1. take Автор
          16.03.2019 18:09

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


  1. dzolotarev
    15.03.2019 14:00

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


    1. McAaron
      15.03.2019 14:35

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


  1. puyol_dev2
    15.03.2019 14:00
    -2

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


  1. PythonKaa
    15.03.2019 14:01
    +1

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

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


  1. vyo
    15.03.2019 15:19

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

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


  1. EnchantedOrange
    15.03.2019 16:22

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


    1. take Автор
      15.03.2019 17:11
      +1

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

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


      1. EnchantedOrange
        18.03.2019 03:56

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


  1. vladd12
    15.03.2019 20:16

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


    1. Wesha
      15.03.2019 21:09
      +1

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


      1. vladd12
        15.03.2019 22:23
        +1

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

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


        1. Wesha
          15.03.2019 22:36

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

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


  1. NLO
    00.00.0000 00:00

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


  1. Tanriol
    17.03.2019 21:06

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


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


    1. sumanai
      17.03.2019 22:08

      /.local/share/gvfs-metadata

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


      1. Tanriol
        17.03.2019 22:21

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


        1. sumanai
          17.03.2019 22:57

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

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


    1. nlykl
      17.03.2019 22:52

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


      1. timdorohin
        17.03.2019 23:40

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