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

46

Как настроить мою систему на удаление всех персональных данных при вводе определенного пароля? Мотивация этого - АНБ.

Я представляю, что есть три основных варианта использования.

  1. При входе в систему ввод предопределенного пароля вызывает уничтожение пользовательских данных.
  2. При просыпании системы. ввод предопределенного пароля вызывает уничтожение персональных данных.
  3. Ввод любой привилегированной команды с заранее заданным паролем вызывает уничтожение личных данных.

Я знаю что то типа

dd if=/dev/urandom of=/dev/$HOME

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

Бонусные баллы, если он разрешает вход в систему во время удаления данных.

мистифицировать
источник
9
если вы действительно хотите, чтобы это работало, то вам следует зашифровать свой жесткий диск. это потому, что без шифрования вам придется перезаписывать весь жесткий диск, а с шифрованием вам нужно только перезаписать заголовок LUKS (или что-то еще).
Страж
1
Существует модуль pam_python, который, вероятно, облегчит реализацию того, что вы хотите: ace-host.stuart.id.au/russell/files/pam_python
воспроизведение
7
Если вы беспокоитесь о АНБ, то dd if=/dev/urandom of=/dev/$HOMEэто не принесет вам пользы. Даже если предположить, что они достаточно глупы, чтобы использовать операционную систему вместо того, чтобы извлекать диск и читать его напрямую, существуют криминалистические компании, которые могут получить данные с диска, который был перезаписан и физически записан.
Стоп Harm Monica
2
# 1. Если АНБ действительно преследовало вас, они уже молча отфильтровали ваши данные несколько недель назад. # 2. Шифрование ваших данных дает АНБ законное право хранить ваши данные вечно или сколько угодно долго, чтобы расшифровать их, в зависимости от того, что произойдет раньше. # 3. Доказательств уничтожения улик часто бывает достаточно, чтобы суд дал вам понять. Те программы «безопасного стирания», которые наполняют ваш диск нулями или случайным тарабарством, являются доказательством того, что вы что-то уничтожили, и это будет подано в суд.
Райан Райс
3
Это не распространяется на все ваши 3 случая, но посмотри здесь: kali.org/how-to/emergency-self-destruction-luks-kali
обманщик

Ответы:

26

Идея № 1 - Скрытая ОС

В качестве альтернативного метода вы можете использовать «Скрытую операционную систему» ​​TrueCrypt . Это позволяет вам получить доступ к поддельной альтернативной ОС, когда используется определенный пароль, а не к основной ОС.

выдержка

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

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

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

Идея № 2 - добавить скрипт в / etc / passwd

Вы можете вставить альтернативные сценарии в запись пользователя в /etc/passwdфайле.

пример

# /etc/passwd
tla:TcHypr3FOlhAg:237:20:Ted L. Abel:/u/tla:/usr/local/etc/sdshell

Вы можете настроить учетную запись пользователя так, чтобы он запускал скрипт, например, /usr/local/etc/sdshellкоторый будет проверять, какой пароль был предоставлен. Если это магический пароль, который запускает стирание, он может начать этот процесс (даже в фоновом режиме) и либо перейти в оболочку, либо сделать что-то еще.

Если предоставленный пароль не является этим магическим паролем, продолжайте, например, запуск обычной оболочки /bin/bash.

Источник: 19.6.1. Интеграция одноразовых паролей с Unix

ОДС
источник
2
Идея № 2 не будет работать. Оболочка будет вызываться только после ввода правильного пароля (как настроено в / etc / shadow). Даже если это сработает, сценарий не сможет проверить, какой пароль был введен во время входа в систему.
Мошенник
@faker - этот метод прямо из одноразовых паролей в Unix, поэтому я считаю, что он будет работать. Он может не интегрироваться с системным паролем / etc / shadow напрямую, но работает.
SLM
@slm со страницы, на которую вы ссылались: This puts two passwords on the account: the traditional account password followed by the one-time password.Конечно, в скрипте вы можете проверить пароль для уничтожения, но только после того, как вы ввели правильный пароль учетной записи. По сути, у вас есть 3 пароля. Общий пароль учетной записи, правильный пароль второго шага и самоуничтожение пароля второго шага. Не очень красиво и довольно подозрительно ...
фейкер
@faker: slm прав - я не буду переходить по ссылке шаг за шагом, но она будет работать. Это все равно просто ссылка на другую оболочку или сценарий. Я не вижу причин, почему это неправильно.
Джош
@ Джош, это работает, если вы считаете, что нужно запомнить 3 пароля, чтобы быть в порядке. В противном случае это не работает.
Факер
16

Мой подход для этого должен был бы вызвать самоуничтожение в модуле pam . Существуют механизмы, позволяющие перехватить пароль с помощью скрипта, проверить, является ли он «специальным», и запустить процесс самоуничтожения.

Напишите строку в вашей /etc/pam.d/common-authпервой строке, например:

auth    optional        pam_exec.so debug expose_authtok /etc/security/suicide.sh

(или, например, /etc/pam.d/gdmесли вы просто хотите, чтобы он работал с аутентификацией через gdm), expose_authtokзаставляет pam_exec.soмодуль доставлять пароль через stdin в вызываемый скрипт входа в систему /etc/security/suicide.sh. Этот скрипт будет запускаться с привилегиями root и, например, будет выглядеть так:

#!/bin/bash
# read the users password from stdin (pam_exec.so gives the provided password 
# if invoked with expose_authtok)
read password

# if its an authentication and it's the user "user" and the special password
if [ "$PAM_TYPE" == "auth" ] && [ "$PAM_USER" == "user" ] && [ "$password" == "magic" ]; then
  # do whatever you want in the background and the authentication could continue
  # normally as though nothing had happened
  exit 0
else
  exit 0
fi

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

хаос
источник
8

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

Допустим, большой плохой АНБ забирает ваш компьютер и бросает ваши пальцы в тиски, чтобы вы сказали им пароль. Если вы дадите им неправильный пароль, он будет просто скопирован, а не оригинал. Теперь они знают, что ты возился с ними.

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

отметка
источник
6

Если вы действительно хотите уничтожить ваши данные. Сначала вы должны убедиться, что никто не делает копию ваших данных (то есть весь диск) в начале. Но это невозможно на уровне ОС.

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

Михась
источник
Меня больше всего беспокоит сценарий, когда кто-то заставляет меня вводить пароль или захватывает компьютер, когда я ввожу пароль.
Джош
3
Если кто-то заставляет вас ввести пароль, вы просто вводите «другой» пароль, который разблокирует безвредные данные. - Поэтому вы можете правдоподобно отрицать существование реальных данных. - Если я серьезно отношусь к получению ваших данных, я не позволю вам прикасаться к вашему компьютеру, но сначала сделайте копию всего.
Михас
6

Если вы действительно хотите иметь возможность уничтожить ваши данные, защитить их от АНБ, вам нужно что-то со взрывчаткой и огнем, который расплавит металл в дисковых пластинах, и вы должны иметь возможность запускать его дистанционно.

Я подозреваю, что это не практично.

Билл Уайт
источник
0

Что ж, у вас мог бы быть сценарий для очистки вашего основного каталога пользователя / home (а также / var, / tmp и везде, где у вас есть данные только для глаз), если вы входите с другим именем пользователя ... сценарий будет начинаться с войдите в систему, а затем автоматически загрузите что-то, что обманет зрителя, сделав что-то предположительно полезное. Если он погубит вашу систему, не обманывая наблюдателя, он просто может отключить ее и тем самым помешать работе вашего наилучшего плана. Это также позволяет вам войти в систему, пока это происходит ... хотя я бы поместил пользователя TRASHME на другой диск, так как диск будет загружен и будет довольно занят.

K7AAY
источник
1
Не в рамках заявленных ограничений.
Джош
0

Безопасный жесткий диск или флешка в этом отношении - оксюморон. Единственный способ защитить вашу информацию - это использовать виртуальную операционную систему, которая работает в памяти и испаряется при выключении питания, с любыми данными, которые необходимо сохранить на внешнем носителе, которые вы можете при желании скрыть. Существует ряд «живых» дистрибутивов Linux, которые позволяют вам делать именно это. С относительно небольшими усилиями вы можете переделать CD или DVD и настроить его в соответствии с вашими потребностями. Также имейте в виду, что большая часть вашей поведенческой информации передается вашим браузером, и для любых поисков, которые вы считаете компрометирующими, вы должны использовать безопасный браузер, такой как Tor.

user55950
источник
Не моя просьба. Я прекрасно понимаю, что идеальная безопасность нецелесообразна. Я не прошу идеального решения.
Джош
0

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

Для начала зачем уничтожать что-либо. Сначала посмотрите на уменьшение простоты доступа. Создать воздушный зазор. Купите коробку bcheaap для онлайн-вещей и всего, что вы хотите отправить из своего основного ящика для транспортировки через sneakernet. Используйте хорошее шифрование, как Scrypt. Трюкрипт и другие провели свой почтенный день.

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

Дэвид Кроссвелл
источник
Не в заявленном контексте.
Джош
0

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

Ссылка здесь: http://www.kali.org/how-to/emergency-self-destruction-luks-kali/

мистифицировать
источник
0

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

Брайан Винн
источник
Я не думаю, что OP говорил о физическом разрушении ...
don_crissti