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

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

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

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

17
задан niton
30.03.2023 21:01 Количество просмотров материала 2927
Распечатать страницу

4 ответа

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

dd if=/dev/zero of=/dev/TARGETPARTITION bs=1M

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

3
отвечен OliverS 2023-04-01 04:49

уничтожить все, кажется, слишком много, как насчет того, чтобы просто удалить/удаления программы.

rm -rf /path/to/your/program/ 

или как насчет реализации обычного сервера лицензирования, с которым программа должна связаться перед запуском?


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

и, возможно, пользователь должен получить какое-то уведомление рекламы что ты планируешь уничтожить все! Что-то вроде

- " это программное обеспечение будет самоуничтожение, если вы не платите больше денег, у вас есть X остались дни."

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

это плохо для вашей компании, если все ваши клиенты будут ненавидеть вы.

5
отвечен Johan 2023-04-01 07:06

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

т. е. если вы не возражаете, вы можете зашифровать точку монтирования: Примечание: эта система защиты является незаконным, видимо, в некоторых странах/Штатах? (хорошо в нас, но вы, кажется, от Англия?):

настройка зашифрованного монтирования с паролем:

dd if=/dev/urandom of=/home/user/virtualfolder bs=16065b count=100  
modprobe loop  
modprobe cryptoloop  
modprobe aes  
losetup -e aes /dev/loop1 ./virtualfolder  
password: <enter your password here which you don't show to the users>  
mkreiserfs /dev/loop1  
mkdir /theprogram  
mount -o loop,encryption=aes,acl ./virtualdrive /theprogram  
password:<enter the same passy>

теперь установите / двиньте вашу программу в / theprogram

(каждый раз вы хотите получать доступ к / theprogram снова делаете):

установка

mount -o loop,encryption=aes,acl ./virtualdrive /theprogram  
password:<enter the same passy>

размонтирование

umount /theprogram  
losetup -d /dev/loop1  
rmmod aes  
rmmod cryptoloop  
rmmod loop 

когда закончите, сделайте папку software похожей на файл случайных байт.

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

2
отвечен mike-delft 2023-04-01 09:23

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

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

0
отвечен Michael Kohne 2023-04-01 11:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх