4

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

Вещи, которые делают это трудно:

  • У меня есть root-доступ.
  • Компьютер может выключиться и запустить в течение периода.
  • У меня не должно быть никакого способа восстановить строку до окончания периода.
  • У меня не будет доступа в интернет в течение всего периода.

Причина мне нужно сделать, это то, что у меня есть склонность к интернет-порно. Большую часть времени я могу это контролировать, но я испытываю тягу поздно ночью. Это еще сложнее, потому что я использую компьютер для своей работы, и я работаю из дома. Поэтому в последнее время я начал удалять /sbin /dhclient, который отключает подключение к Интернету (пока я не могу получить liveCD и скопировать файл обратно, но это занимает некоторое время). Вместо этого я хочу сгенерировать пароль для dhclient (зашифровав dhclient или просто создав zip-файл с этим паролем), а затем вернуть мне пароль только на следующее утро. По сути, я пытаюсь найти обязательное устройство, немного похожее на алкоголика, наливающего свой ликер в раковину.

Некоторые возможные пути атаки:

  • Запустите программу, которая генерирует строку и сохраняет ее в памяти, ждет n секунд, а затем печатает строку. Это не сработает, потому что процесс перестанет работать, если компьютер перезагрузится, и я могу посмотреть в памяти программы, чтобы найти строку.
  • Позвольте программе изменить пароль root на случайно сгенерированную строку, удалив мне root-доступ; пусть он хранит строку в файле, к которому только у пользователя root есть права доступа, и пусть root многократно запускает программу, которая проверяет, закончился ли период, и, если да, дает мне строку (и, таким образом, доступ с правами root). Похоже, это будет работать, но я могу обойти это, изменив время в BIOS.
  • У меня только что возникла идея: написать одну программу, которая удаляет root-доступ и сохраняет пароль в файле, который требует root для чтения. Затем позвольте root использовать cron для запуска программы каждую минуту, которая проверяет наличие файла с именем delayed_root_request. Каждый раз, когда он запускается, если существует delayed_root_request, он увеличивает число, хранящееся в файле "root_timer", который только root может читать / писать. (Если этого не существует, он создает его и содержит "0".) Когда число в root_timer достигает примерно 60 * 8 = 480, это дает мне доступ на чтение к файлу, в котором хранится пароль root и, таким образом, доступ с правами root. Поэтому я могу запустить скрипт, который удаляет root-доступ, сохраняет случайно сгенерированный пароль в файле только для root-доступа и разбивает dhclient. Когда я хочу получить доступ в Интернет, я создаю файл delayed_root_request и должен ждать пароль 8 часов. Если в любое время в течение этих 8 часов я решу, что root-доступ просто заставит меня откладывать, я просто удаляю файл, и мне нужно начать отсчет заново. Если компьютер перезагружается, отсчет просто приостанавливается. Я должен был бы дать GRUB пароль (например, http://sourceforge.net/projects/grubpass/). Я все еще могу войти с оптического носителя или просто вынуть жесткий диск, но я могу сделать это неудобным, удалив все копии iso-файла Ubuntu, которые у меня есть, и я могу отдать все свои liveCD-диски (и не буду возможность сделать больше без доступа в интернет).

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

Любая помощь с этим действительно будет оценена!

5 ответов5

2

С технической стороны, может быть, такой сервис, как http://www.timecave.com/timecave/about.jsp, будет работать?

1

Вот высокотехнологичное решение, которое вы искали::-)

  1. Генерация случайной строки.
  2. Установите пароль root на случайную строку.
  3. Вычислить хеш строки.  (Возможно, будет достаточно использовать «шифрование пароля» ОС, но следующие шаги могут быть проще, если вы используете автономный инструмент хеширования, например, md5sum).  Сохраните хеш на диск.
  4. «Забудьте» строку (т. Е. Пароль root).
  5. Взломайте пароль, пройдя каждую возможную строку (см. Шаг 1), хэшируйте его и посмотрите, соответствует ли он сохраненному хешу.  Для перезапуска периодически проверяйте, насколько далеко вы находитесь в списке.

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

Самая большая слабость, с которой я столкнулся, это то, что если ваш шаг 1 случайным образом выбирает строку в начале пробела (например, « aaaaaq »), шаг 5 может завершиться очень быстро.  Одним из решений этой проблемы является сохранение шага 5 в файле, доступном для чтения только пользователю root, а затем сканирование всего пространства паролей, даже после взлома пароля.  Более сложный подход:

  1. Генерация n случайных строк, строка 1, строка 2,…, строка n.
  2. Установите пароль root для их объединения: str 1 str 2 … str n.
  3. Вычислить хэш каждой строки.  Сохраните хэши на диск.
  4. «Забудьте» струны.
  5. Взломайте пароль, выполнив поиск по хешу в каждой из строк, в последовательности.

Если вы настроите это так, что каждая строка будет ломаться 8 часов /n , у вас все равно будет максимальное время восемь часов.  И все же возможно, что он взломает пароль за гораздо более короткое время, но теперь распределение вероятностей является кривой кривой, поэтому короткие времена становятся менее вероятными.  (К сожалению, это происходит и в течение длительного времени; скорее всего, это займет от 2 до 6 часов.  Возможно, вам следует определить максимальное количество времени, которое вы можете выдержать, чтобы заблокировать его, и включить это в уравнение.)


Очевидно, что вы можете победить это, загрузив компьютер с другого диска: другого раздела, внешнего диска или оптического диска.  У вас есть роутер?  Можете ли вы изменить вышесказанное, чтобы сообщить маршрутизатору заблокировать доступ, а затем изменить пароль на маршрутизаторе?

1

Ну, я немного опоздал на вечеринку! Но у меня есть настройка системы для достижения этой фильтрации самостоятельно порно. Я использую «qustodio» для блокировки как на мобильном, так и на настольном компьютере (до 5 компьютеров / устройств!). Это комплексное программное обеспечение для фильтрации, которое легко использовать, настраивать и запускать с минимальным воздействием, особенно на мобильные устройства. Но вы можете использовать любое программное обеспечение, которое вам нравится. Funamo лучше работает с IMO для мобильных телефонов, но не предлагает фильтрацию на рабочем столе, поэтому я склонен использовать оба программного обеспечения одновременно, Qustodio для рабочего стола и funamo для моего мобильного.

Я настроил их с помощью электронного письма от GMX(xyz@gmx.com), так как оно не требует письма для восстановления, поэтому его совершенно невозможно взломать, если я чувствую себя слабым! и использовать сгенерированный случайный пароль, который я не запомнил (должен быть не более 16 символов, поскольку GMX имеет этот предел). Этот пароль используется для учетной записи электронной почты GMX и моего программного обеспечения для фильтрации.

Проблема, с которой я столкнулся, заключалась в том, чтобы скрыть этот пароль от себя (он хранился на USB-носителе) без необходимости вовлечения других людей. Поэтому я использую метод, предложенный «Кентом», где, используя http://www.timecave.com/timecave/about.jsp, я могу получать пароли и адреса электронной почты, отправленные мне один раз в неделю по расписанию. Таким образом, я могу внести изменения или resetup программного обеспечения, если требуется определенное время дня, когда я нахожусь в контроле, а остальная часть недели его из моего контроля и им порно бесплатно!

Хотя это может обойтись вам в 60 австралийских долларов (около 40 долларов США) за подписку, оно того стоит!

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

0

Это интересная концептуальная проблема, но для вашей конкретной проблемы, я думаю, вы пытаетесь решить ее до того, что вам нужно (ну, с точки зрения технологии; в отношении вашей реальной проблемы, возможно, вам следует попытаться решить ее еще более активно). ..). Существуют приложения, которые можно использовать для блокировки доступа к определенным сайтам в Интернете, такие как LeechBlock для Firefox, StayFocusd для Chrome или Cold Turkey для Windows. Конечно, они не будут на 100% безопасны, но и любой другой метод, который зависит исключительно от вас, и у этих программ есть преимущество, позволяющее вам использовать Интернет для продуктивной работы (у вас может быть белый список).

0

Из того, что вы написали, кажется вероятным, что любой механизм, на который вы можете немедленно повлиять, будет проблемой. Как насчет изменения к провайдеру, который блокирует порно для вас? Предположительно, это будет означать, что вам нужно будет позвонить им, чтобы убрать / разблокировать его (если они хорошо справляются с работой и могут заблокировать обходные пути), что может привести к значительной задержке, надеясь победить ваши побуждения.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .