Як вводиться саморуйнування системи з певним паролем


46

Як налаштувати систему, щоб знищити всі особисті дані, коли введено певний пароль? Мотивацією цього є те, що є НСА.

Я думаю, що є три основні випадки використання.

  1. Під час входу введення заздалегідь визначеного пароля ініціює знищення даних користувача.
  2. У системі прокидаються. введення заздалегідь визначеного пароля ініціює знищення персональних даних.
  3. Введення будь-якої привілейованої команди із заздалегідь заданим паролем ініціює знищення персональних даних.

Я знаю, що щось подібне

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

Повинно бути адекватним для знищення даних. Я не знаю, як це спровокувати певний пароль.

Бонусні бали, якщо вони потім дозволяють ввійти під час видалення даних.


9
якщо ви дійсно хочете зробити цю роботу, то вам слід зашифрувати ваш жорсткий диск. це тому, що без шифрування вам доведеться перезаписати весь жорсткий диск, але при шифруванні вам доведеться лише перезаписати заголовок LUKS (або що завгодно).
strugee

1
Є модуль pam_python, який, ймовірно, полегшить реалізацію того, що ви хочете: ace-host.stuart.id.au/russell/files/pam_python
повторити

7
Якщо це турбота про АНБ, яку ви хвилюєте, тоді dd if=/dev/urandom of=/dev/$HOMEце не принесе багато користі. Навіть якщо припустити, що вони досить дурні використовувати операційну систему замість того, щоб виймати диск і читати його безпосередньо, є судово-медичні компанії, які можуть отримати дані з перезаписаного та фізично записаного диска.
Перестаньте шкодити Моніці

2
№1. Якщо АНБ насправді пішов за вами, вони тихо викреслили ваші дані тижні тому. №2. Шифрування ваших даних надає АНБ законним правом зберігати ваші дані назавжди або скільки часу потрібно, щоб розшифрувати їх, залежно від того, що відбувається раніше. №3. Доказів про знищення доказів часто вистачає для того, щоб суд вас на чомусь змусив. Ті програми "безпечного стирання", які заповнюють ваш диск нулями або випадковим безладом, є свідченням того, що ви щось знищили, і це буде винесено в суд.
Ryan Ries

3
Він охоплює не всі ваші 3 випадки, але подивіться тут: kali.org/how-to/emergency-self-destruction-luks-kali
faker

Відповіді:


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, тому я вважаю, що він спрацює. Він може не інтегруватися безпосередньо з паролем / тінь / тінь системи, але є працездатним.
slm

@slm зі сторінки, на яку ви пов’язали: This puts two passwords on the account: the traditional account password followed by the one-time password.Ви, звичайно, у скрипті можете перевірити пароль на знищення, але лише після введення правильного пароля облікового запису. Після цього у вас є 3 паролі. Загальний пароль облікового запису, правильний пароль другого кроку та самознищення пароля другого кроку. Не дуже приємно і досить підозріло ...
факер

@faker: slm вірно - я б не переходив посилання крок за кроком, але воно буде працювати. Це все ще просто посилання на інший оболонку або сценарій. Я не бачу причин, чому це неправильно.
Джош

@Josh це працює, якщо ви вважаєте, що потрібно запам'ятати 3 паролі. Інакше це не працює.
факер

16

Мій підхід до цього полягав би в тому, щоб викликати саморуйнування в модулі пам . Існують механізми, щоб зловити пароль із сценарієм, перевірити, чи є він "спеціальним" і запустити процес самознищення.

Введіть рядок у свій /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

Просто так ви знаєте, чи хтось з gov і т.д. захопить ваш комп'ютер, перше, що вони зроблять - це скопіювати біт накопичувача на біт і відпрацювати його. Те ж саме робиться в будь-який час, коли хтось робить комп'ютерну криміналістику, тому якщо ви пошкоджуєте під час аналізу диска, ви лише пошкоджуєте копію.

Тож скажемо, що велика погана АНБ забирає ваш комп’ютер і кладе пальці, щоб змусити вас сказати їм пароль. Якщо ви дасте їм неправильний пароль, він буде просто копіювати, а не оригінал. Тепер вони знають, що ти з ними возився.

Тож будь-яке використання слова пропустити було б ефективним лише в тому випадку, якщо ви запустили його до того, як хтось захопив вашу систему. Отже, все, що було б зробити, - це дати вам складний спосіб виконати щось, що ви могли мати псевдонім.


6

Якщо ви дійсно хочете знищити свої дані. Спочатку ви повинні переконатися, що ніхто не робить копію ваших даних (тобто всього диска) на початку. Але це неможливо на рівні ОС.

Єдиний спосіб переконатися, що ваші дані не потраплять в чужі руки - це використання криптографії. Особливо заперечне шифрування було б правильним у вашому випадку: Якщо ви введете правильний пароль, відобразяться ваші особисті дані. Якщо ви введете інший пароль, з’являться нешкідливі дані.


Мене найбільше хвилює сценарій, коли хтось змушує мене ввести пароль, або хапає комп'ютер, як тільки я ввожу пароль.
Джош

3
Якщо хтось змушує вас ввести пароль, ви просто введете "інший" пароль, який розблокує нешкідливі дані. - Тому можна правдоподібно заперечувати існування реальних даних. - Якщо я серйозно ставлюся до отримання ваших даних, я не дам вам торкатися свого комп’ютера, але спершу зробіть копію всього.
michas

6

Якщо ви дійсно хочете мати змогу знищити ваші дані, захистити їх від АНБ, вам потрібно щось із вибуховими речовинами та вогнем, який розплавить метал на пластинах дисків, і вам потрібно мати змогу запускати їх віддалено.

Я підозрюю, що це не практично.


0

Ну, у вас може бути сценарій для сміття вашого основного / домашнього каталогу (а також / var, / tmp та будь-коли інше, у вас є дані лише для очей), якщо ви увійдете з іншим ім'ям користувача ... сценарій запускатиметься з увійдіть, а потім автоматично завантажуйте щось, що обманює глядача, роблячи щось імовірно корисне. Якщо вона вивалить вашу систему, не обманюючи глядача, вони просто можуть витягнути штепсельну вилку і тим самим запобігти роботі вашого найкращого плану. Це також дозволяє вам увійти, поки це триває ... хоча я б поставив користувача TRASHME на інший диск, тому що накопичуваний диск буде досить зайнятим і, отже, покерувати.


1
Не в межах заявлених обмежень.
Джош

0

Для цього безпечний жорсткий диск або флешка - це оксиморон. Єдиний спосіб захистити свою інформацію - це використовувати віртуальну операційну систему, яка працює в пам'яті та випаровується при відключенні живлення, з будь-якими даними, які потрібно зберегти на зовнішніх носіях, які ви можете приховати за своїм бажанням. Існує ряд "Live" дистрибутивів Linux, які дозволяють вам робити саме це. За порівняно невеликих зусиль ви можете перевстановити компакт-диск чи DVD-диск і налаштувати його, щоб найкраще відповідати вашим потребам. Також пам’ятайте, що значна частина вашої поведінкової інформації ретранслюється вашим браузером, і для будь-яких пошукових запитів, які, на вашу думку, є компрометовими, вам слід використовувати захищений браузер, наприклад Tor.


Не моє прохання. Я абсолютно усвідомлюю, що ідеальне забезпечення недоцільно. Я не прошу ідеального рішення.
Джош

0

Якщо ви хочете зберегти речі в безпеці, розумійте, що не існує такого поняття, як ідеальна безпека і що безпека - це не що інше, як розпродаж прийнятних товарів після точної оцінки ризику.

Для початку, навіщо щось руйнувати. Спочатку подивіться на зменшення простоти доступу. Створіть повітряний зазор. Купіть коробку для онлайнових речей та всього, що хочете надіслати з вашого основного транспорту туди за допомогою кросівок. Використовуйте хороше шифрування, як Scrypt. Truecrypt та інші провели свій поважний день.

Є багато інших стратегій, які ви можете використати, не маючи достатньо місця для того, щоб перейти до них, і, чесно кажучи, у мене не вистачає часу, щоб розглянути їх. Я думаю, ви відкрили для себе зовсім новий шлях до навчання.


Не в зазначеному контексті.
Джош

0

Як було зазначено мені, і, як показано на Phoronix, Kali Linux створила і метод цього. Переглядаючи частину коду, є слабка сторона, яка все ж дозволить перемогти патч, але він пройде досить довгий шлях до ефективного пароля самознищення. Як зауваження, слабкістю є особливості обладнання, пов’язані з нулюванням даних - інструменти виробника можуть відновлювати нульові дані, а перезапис ключових місць на носії слід робити кілька разів з генератором випадкових чисел, щоб забезпечити скремблинг даних.

Посилання тут: http://www.kali.org/how-to/emergency-self-destruction-luks-kali/


0

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


Я не думаю, що ОП говорила про фізичне знищення ...
don_crissti
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.