Как спрятать свои данные на флешке, без помощи сторонних программ и софта

INFLAVE

Участник
2 Сен 2025
8
9
0 ₽
Rzz

И как только появляется эта здравая мысль: "боже я должен делать бекапы" – если ваш бизнес не совсем белый и вы человек дальновидный, вы сразу задаётесь и такими вопросами:

  • Как сделать так, чтобы только я мог прочитать свой бекап? (шифрование)
  • Как сделать так, чтобы никто даже не знал, что у меня есть секретные данные? (стеганография или удалённое хранение)
  • Как сделать так, чтобы бекап не потерялся через 5 лет? (надёжность)
Сначала мой выбор пал на удалённый VPS с 30 Гб диска. Схема кажется простая: выучиваешь IP и пароль сервера, раз в месяц или неделю по SSHFS монтируешь в папку на свой компьютер, кидаешь в папку всё самое важное, демонтируешь папку. Получается что-то такое: VPS → SSHFS → Папка с бекапами

Правда, тогда файлы на сервере хранятся не зашифрованными, поэтому добавим ecryptfs: VPS → SSHFS → ecrypts → Папка с бекапами


Плюсы этой схемы

  • Данные уже спрятаны. IP сервера и ключи доступа у тебя в голове, нет никаких “физических” доказательств того, что у тебя есть какие-то секретные данные, пароли к которым нужно выпытывать раскалённым утюгом.
  • Лёгкая доступность данных. Даже если тебя ограбят до нитки, ближайший компьютер с линуксом и интернетом + данные для входа у тебя в голове возвращают полный доступ ко всей нужной информации.
Но есть и Минусы

  • За сервер нужно платить, больше размер бекапов – больше плата
  • Недолговечность. Хранить данные на удалённом сервере значит доверять хостинг провайдеру. Кто может обещать, что твой хостинг не закроется через пять лет?
  • Низкая скорость передачи данных. Помимо скорости самого интернет-соединения сама эта связка sshfs → ecryptfs получается ужасно медленной. По-видимому, для VPS единственный приемлемый по скорости работы способ работы это не пытаться шифровать всю файловую систему, а вместо этого разбивать свои бекапы на отдельные зашифрованные тома и перекачивать уже их. Понятное дело, это уже чуть менее удобно.
По этим причинам я стал пользоваться физическими носителями. Но с ними уже во всю появляется проблема стеганографии. Если твою флешку найдут при обыске, она не только должна быть зашифрована: для сотрудника отдела “К” она должна выглядеть как обычная Windows флешка с фильмами, мемами и всяким мусором.
Знающие люди посоветуют hidden volume на VeraCrypt или другое готовое решение для сокрытия данных. И конечно, прятать данные на VeraCrypt лучше, чем не прятать вообще. Есть только одна проблема: наличие подобных программ на ПК уже вызовет большое подозрение и заставит майора изучать внешние носители более тщательно.
Но к нашему с вами счастью, Linux “из коробки” это швейцарский нож, хорошо владея которым можно делать потрясающие вещи без помощи стороннего программного обеспечения. Сейчас я пошагово распишу, как сделать у флешки второе (зашифрованное) дно.
1. Найди свою флешку в списке устройств. Для этого вставь её и введи:


В консоли появится список устройств среди которых будет например:

sda 4:0 1 32G 0 disk /run/mediа...

Сравни размер устройства в списке с известным размером флешки. Можешь вытащить флешку и ввести команду ещё раз, чтобы посмотреть, какое устройство пропало из списка. Тут главное точно определить, к какому именно устройству из этого списка прицеплена флешка. Скорее Статьи на тему кибербезопасностивсего это “sda”, “sdb” или “sdc” (определи внимательно, если перепутать – можно случайно стереть весь linux). Дальше в этом руководстве будем считать, что твоя флешка это sda.

2. Это не обязательно, но я советую перетереть пустое пространство флешки, на случай, если там раньше лежало что-то важное (а ещё чтобы чуть-чуть усложнить картину дискового пространства для какого-нибудь задрота ФСБшника который будет её ковырять).

sudo dd if=/dev/random of=/dev/sda status=progress
Вот эта команда заполнит всё пространство флешки случайными байтами. На это может уйти час.

3. Теперь создадим самую обычную скучную флешку. Сделаем её максимально заурядной поместив Windows таблицу разделов и стандартный Windows раздел:


На этой команде появится консольное меню где нужно ввести последовательно:

o <Enter> (создали partition table MS-DOS)
n <Enter> (создаём новый раздел)
p <Enter> (создаём главный раздел, значение по-умолчанию)
1 <Enter> (раздел номер 1, значение по-умолчанию)
2048 <Enter> (первый сектор памяти, значение по-умолчанию)
<Enter> (последний сектор, оставим значение по-умолчанию, чтобы раздел заполнил всю флешку)
w <Enter> (записать изменения)

4. Теперь отформатируй Windows раздел:

sudo mkfs.ntfs -f /dev/sda1

На появившуюся в системе флешку (не появилась – выткни и воткни обратно) положи какие-нибудь фотки, мемы и пиратские фильмы. Главное: не занимай ими слишком много места. Если флешка на 60 Гб, используй 2-3-5 из них.

5. Теперь приступим к созданию секретного раздела.

Возьмём нашу флешку, пропустим, например, первые 10 Гб её памяти (они заняты фильмами и мусором от Windows) и подключим оставшееся пустое пространство как новую флешку:


sudo losetup --offset 10Gb -f /dev/sda1 --show
После этой команды появится новое устройство (его имя выведется в консоли), например, /dev/loop20. По сути это новая “флешка”, которая незаметно живёт в пустом пространстве устройства 10 гигабайт от начала памяти
Важно, что есть разница между 10Gb и 10G. Запомни, какую именно размерность использовал, и используй её при следующем монтировании.

6. Осталось настроить шифрование:

sudo cryptsetup luksFormat /dev/loop20

cryptsetup попросит ввести “YES” и затем придумать новый пароль. Лучше придумать надёжный пароль и запомнить его, не записывая. Бекап может понадобиться на компьютере, на котором нет менеджера паролей.

7. Теперь расшифруем скрытый раздел, отформатируем его, и можно пользоваться:

sudo cryptsetup open /dev/loop20 backup (расшифровали)
sudo mkfs.exfat /dev/mapper/backup (отформатировали) (на любой вопрос просто нажимай <Enter>, форматирование может занять время)
sudo mkdir -p /mnt/backup (создали папку на компьютере, куда будет подключена секретная флешка, можно выбрать любую пустую директорию)
sudo mount /dev/mapper/backup /mnt/backup (подключили флешку)
sudo mkdir -p /mnt/backup/mybackup (создали папку на флешке)
sudo chown -R $USER:$USER /mnt/backup/mybackup (разрешили пользователю доступ к папке)

Готово. Теперь у вас в папке /mnt/backup подключена флешка. Всё что вы положите в эту папку окажется на секретном зашифрованном разделе USB.
Чтобы закончить работу и безопасно извлечь устройство (если просто выдернуть – данные могут повредиться) выполни:

sudo umount /dev/mapper/backup
sudo cryptsetup close backup
sudo losetup -d /dev/loop20

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

8.1 Подключить флешку и найти её в списке устройств, например, /dev/sdb

8.2 Подключаем неразмеченное пространство; не забудь найти нужный loop, например, loop19


sudo losetup –offset 10Gb -f /dev/sdb --show

8.3 Подключаем неразмеченное пространство; не забудь найти нужный loop, например, loop19

sudo cryptsetup open /dev/loop19 backup

(расшифровываем)

8.4 Подготовили директорию в которой появится содержимое флешки


8.5 Подключили флешку

sudo mount /dev/mapper/backup /mnt/backup

При этом “белая” часть флешки (с фильмами и картинками) остаётся рабочей, но лучше не использовать её, чтобы случайно не затереть важную часть скрытых данных.

Примечания:

1. Этот способ лучше всего подходит для бекапа большого количества относительно небольших файлов (1-100-200 Мб). При копировании 2-3-5 Гб я видел заметное проседание скорости записи, возможно, как-то связано с медленной работой самой флешки + loop (сдвиг в памяти) + шифрование. На форумах предлагают разные способы увеличения скорости, например, модифицировать команду дешифровки таким образом:
sudo cryptsetup open /dev/loop20 backup --use-directio --perf-no_read_workqueue --perf-no_write_workqueue

2. Копировать файлы лучше всего через rsync чтобы видеть прогресс и иметь больше контроля над процессом:
rsync passwords.kdbx /mnt/backup/mybackup --progress
3. Вместо 10Gb можно выбрать любой разумный сдвиг в памяти (если вся флешка 16Гб, можно сделать сдвиг 6, например). Вместо «backup» - любое другое имя. Будет лучше, если ты придумаешь свои параметры. Если это руководство станет слишком популярным, сотрудники спецслужб будут искать скрытый раздел в первую очередь с параметрами и именами, перечисленными здесь.
4. Из-за относительно медленной скорости записи при копировании большого объёма данных может переполниться i\o буфер и linux начинает вести себя странно. Самый простой способ избежать такого поведения — добавить особый флаг в команду монтирования устройства:

sudo mount -o sync /dev/mapper/backup /mnt/backup

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