TrueCrypt + Internet
Насколько безопасна данная связка? Один мой знакомый принципиально не использует TC когда компьютер подключен к интернету под виндами (боится, что из сети узнают ключи или незащищенные данные для ускоренного подбора ключа позже)
Это параноя или в какой-то степени может быть оправдано? И если последнее, то вечный вопрос: где утечка и как защититься ?
Если в виртуалке, то можно :)
Не совсем про это, но будет близко, если сказать, что при работе с секретной информацией доступа в интернет из текущей ОС (или из виртуалки, имеющей доступ к такой информации) по уму быть не должно. Если у вас есть возможность так настроить — это плюс. И той ОС-виртуалке, которая получает секретную информацию, совершенно нет необходимости иметь доступ ко всему массиву информации, хранящегося на диске. Итого, только для анонимного доступа нужны как минимум 2 виртуальных ОС: одна — для сохранения данных на диск, вторая — для работы с ними.
Всё, опять же, определяется разменой безопасности на удобство. Если данные критичны, то делаешь всё так, как ваш знакомый, всё верно:
Понимаете, дело же ещё вот в чём может быть: если у вас стоит минималистичный UNIX, в котором вы знаете дословно все запущенные процессы, хорошо понимаете как что работает, всё под контролем pf/iptables — это одно (достаточно закрыть доступ в сеть только для одного конкретного юзера и не пользоваться программами, которые пишут в /tmp и /var). Если же у вас очередной монстр типа винды, убунты или ещё чего, то крайне маловероятно, что вы знаете все детали того, как оно работает. Может быть, оно захочет под секретным юзером что-то профилактически обновить, синхронизироваться с чем-то или ещё что в голову прийдёт — гарантий никаких при работе под таким юзером. Часто проще не думать обо всём вышенаписанном, а просто выдёргивать провод, когда надо.
Скажу честно, что, например, под моей убунтой я сделал себе монитор всех залогиненных юзеров, чтобы видеть, кто в текущий момент в системе помимо меня. Периодически (не так-то редко) я вижу, что результат команды (это из конфига ~/.screenrc)
Вот уже два условия, и чтобы надёжно обеспечить второе не надо ходить в интернет из реальной системы никогда. Много вы таких пользователей Windows видели?
И вообще, если у нас нигде нет уязвимостей, то и утечки информации не будет, и говорить не о чем :)
Предположительное объяснение таково: когда заканчиваю работу под специальным юзером, проверяю, не остались ли от него какие-то процессы1. Для гарантии используется pkill -9 -U спецюзер. Эта команда убивает нужные процессы, но запись об этих процессах в файле /var/run/utmp, который как раз и читают команды who, w и users, остаётся2. Спустя какое-то время появляется новый процесс из-под основного пользователя, имеющий тот же pid, что и ранее умерший от специального пользователя3. В этом случае команды w, who и users начинают писать, что запущена такая-то программа от имени специального юзера, да ещё и указывая тот tty, который был у давно умершего процесса.
Видимо, ранее наблюдавшееся означает то, что появлялись короткоживущие процессы и потому их не удавалось засечь. Кроме того, я полагал, что они обозначат себя и в ps aux, но это не так: согласно ps владельцем процесса будет числиться именно основной пользователь, от которого этот процесс на самом деле и запущен. В конце концов, случился час X, приведший к появлению долгоживущего процесса, что и позволило изучить ситуацию более подробно.
Что касается выводов, есть суп из рекомендаций:
P.S.: Параноя до добра не доводит :)
1Обычно они остаются, даже если разлогиниться через интерфейс и закрыть все шеллы — всякие там gnome-session, что-то связанное со screen и т.д.
2Файл /var/run/utmp также содержит pid процесса, но дёшево его не узнать — только разбираться с бинарным форматом руками.
3Это ничему не противоречит, т.к. с точки зрения ОС pid уже свободен и никем не используется.
А в Debian ничего такого нет при тех же условиях, так что объяснение не работает, вопрос остаётся открытым.
Напомнило:
Я лично, опираясь на всю ту информацию, которая здесь когда-либо публиковалась, с предубеждением отношусь к аппаратным шифровальным ключам, но, может, чего-то важного просто не знаю. Может быть, SATtva теперь тоже считает, что gpg-remote на удалённой машине или в виртуалке даёт в совокупности не меньшую степень защиты.
Фраза «не хранится на подключённой к сети системе» тоже осмысленна лишь в том случае, если для работы с ключами используется физически отдельный «air gappped» компьютер, информация на который передаётся только через sneakernet.* А если просто время от времени к компьютеру подключается носитель с определённой информацией, это концептуально уже не отличается от того случая, когда информация просто хранится локально.** Просто в случае gpg-remote нужно будет ломать сам сервис, ОС (удалённо) или гипервизор, а в случае аппаратной смарткарты — программный интерфейс к ней. Второй случай считается надёжней первого?
* Т.е., формально это всё равно компьютер, подключённый к сети ☺ — опыт stuxnet подтверждает.
** Грамотный руткит/троян сворует её в момент подключения внешнего носителя, а потом сольёт, когда будет доступ в сеть.
Речь идет о токенах? шифрование Здесь нет такого определения.
Как быть с интернет-банкингом? Возить платежки нарочным?
комментариев: 9796 документов: 488 редакций: 5664
Некоторые вопросы, требующие серьёзных компромиссов с неидеальной суровой реальностью, к сожалению, никак по серьёзному не решаются. Т.е. ответ будет или такой же несерьёзный как и вопрос, в виде очередного упражнения в остроумии на уровне «хихи-хаха»; или какой-то жалкий компромисс; или предложение отказаться от безопасности в этом вопросе; или да — нечто неудобное: возить на бумажке, не пользоваться мобильным и т.д.
Ну вопрос риторический и не требует ответа. Очевидно, что в некоторых вопросах требуется компромисс.
Любое средство передвижение несет в себе риск потери здоровья вплоть до летального, но мы же ими пользуемся. Жить вообще опасно.