Ayudaré a facilitar un curso que use software con licencia. El software es algo costoso y solo permite un número limitado de instalaciones concurrentes, por lo que lo que haré es instalar una instancia en un disco virtual encriptado con Ubuntu (o algún otro tipo de Linux) instalado. Solo para disminuir la posibilidad de que se produzca una piratería innecesaria, tengo la intención de programar (usando cron) un script de autodestrucción que se ejecute inmediatamente después del último día del curso. (O a más tardar, durante la primera instancia de arranque después del último día).
Por mucho que me encanten los programas gratuitos y de código abierto (y el crowdsourcing en general), también tengo un gran respeto por el software comercial y el tiempo y el esfuerzo que los desarrolladores han dedicado a crear un buen producto. quieren terminar contribuyendo inadvertidamente a la piratería de su sangre, sudor y lágrimas.
Agradecería cualquier idea sobre cómo implementar este script de autodestrucción en una máquina Linux.
fuente
Respuestas:
Como se mencionó varias veces, eliminar la imagen cifrada debería ser más que suficiente. Otro enfoque sería instalar la aplicación en su propia partición y luego borrarla con dd.
Esto sobrescribirá todo con cero, lo cual es suficiente para eliminar los datos más allá de la recuperación.
fuente
Destruir todo parece ser un poco exagerado, ¿qué tal si eliminas / desinstalas tu programa?
¿O qué tal si implementa un servidor de licencias normal que el programa debe contactar antes de que pueda comenzar?
Actualización : Como pregunta abierta, ¿planea destruir los datos de los usuarios y su programa? ¿O los datos de los usuarios se almacenan en otro lugar?
¡Y tal vez el usuario debería recibir algún tipo de aviso de que usted planea destruir todo! Algo como
Como usuario, estaría muy molesto si acabaras de destruir algo en mi computadora sin siquiera decirme que esto estaba por suceder (así que al menos tuve alguna posibilidad de afectar el resultado).
Es un poco malo para su empresa que todos sus clientes que pagan terminen odiando.
fuente
Un poco viejo pero bien. De acuerdo con esa configuración, preferiría cifrar el sistema de archivos VM, y durante las sesiones (suponiendo que estén conectadas en red), debería iniciar sesión de forma remota. Si copiaran la máquina virtual, tendrían que aplicar fuerza bruta a la contraseña, apenas lo que sus usuarios deberían estar haciendo :)
es decir, si no le importa, puede cifrar un punto de montaje: Nota: ¿este sistema de protección es ilegal aparentemente en algunos países / estados? (bueno en EE. UU. pero parece que eres de Inglaterra?):
Configuración de un montaje encriptado, con contraseña:
Ahora instale / mueva su programa a / theprogram
(Cada vez que quieras acceder / el programa vuelve a hacerlo):
montaje
desmontar
Cuando termine, haga que la carpeta del software parezca solo un archivo de bytes aleatorios.
También puede asegurarse de que las cuentas de usuario que usan durante la sesión de VM no tengan
su
derechos en caso de que copien todo.fuente
No sé cuál es su configuración, pero si puede exigir a sus usuarios que estén en línea, entonces es posible que desee tomar una táctica diferente: intente cargar el software a través de una conexión de red cada vez que lo ejecuten. Esto solo es viable y depende de que pueda emitir algún tipo de identificación a los usuarios individuales. Tendría un apéndice en la máquina virtual, y el apéndice montaría automáticamente un servidor remoto y ejecutaría el binario desde allí. No hay nada que no puedan hacer con un poco de trabajo, pero al menos sería más difícil que evitar la autodestrucción.
Alternativamente, puede hacer que el servidor remoto responda con claves y mantener una versión cifrada del programa en el disco: el código auxiliar consulta las claves del servidor, descifra y ejecuta el programa, eliminando el binario descifrado según corresponda. Esto también sería más difícil de solucionar, pero de nuevo requiere identificadores de usuario únicos (que pueden no ser posibles para usted).
fuente