Protección de software en 2025
Oh! ¡Hoy finalmente obtuve mi nuevo Unity Studio!Con mano temblorosa, desempaquete el contenido del paquete. Oh si! un pequeño cristal, apenas la mitad del tamaño de una palma, y en él todo: un procesador, memoria (suficiente para las máximas funciones), un procesador de video, un procesador de audio, el programa en sí.La Ley de Moore es dura y despiadada: duplica el número de transistores en la placa cada dos años. Gracias al desarrollo continuo de procesadores Intel (seguidos por NVidia, AMD, Samsung y otros), logró agrupar el contenido de la unidad del sistema en un procesador, después de lo cual el procesador dejó de llamarse procesador, pero se convirtió en un cristal, y redujo su costo tanto que la idea en sí misma se hizo posible. programa de cristal.Lo inserto en el panel de mi computadora: el cristal entra en la ranura y se cierra, y aparece un icono en el escritorio. Eso es todo! ¡La instalación está completa! Ahora no hay largas horas de espera por algo allí ... La desinstalación también es simple: extraiga el cristal deseado en uno de los 256 nidos. Pero esta es una desinstalación difícil, suave, a través del menú correspondiente en el sistema operativo.Es cierto, este es el cuarto cristal de esta, la séptima versión del Studio ... Bueno, qué puedes hacer, las actualizaciones no se propagan en Internet, no pueden. Solo por esta situación: cada procesador con su propia base de código. Es decir, el equipo MOV EAX, EDX tiene un código de operación no de 8BC2, pero ... nadie sabe cuál. El conjunto de códigos de operación se determina aleatoriamente en la fábrica cuando se quema la placa. Y luego la compilación del programa pasa por debajo.Protección perfecta! ¡Nadie puede escribir un virus si los comandos del ensamblador son diferentes! Recuerdo que hace diez años había idiomas con su propia máquina virtual ... Y ahora, C # y Java son lenguajes compilados.Bueno, de hecho, ¿cuál es la diferencia en qué sistema operativo está sentado el usuario, si el entorno transfiere solo los tamaños de ventana y la entrada / salida de los dispositivos conectados al programa, y el programa proporciona una imagen preparada? Al mismo tiempo, todas las API de entrada / salida de cualquier dispositivo para cualquier sistema operativo están estrictamente estandarizadas y un paso a la izquierda, un paso a la derecha: se considera un escape y un salto en el lugar es una provocación.Sí, hay inconvenientes: debe enviar programas por correo y solicitar un "procesador del desarrollador" para el desarrollo.Se suministra por separado de cualquier entorno de desarrollo. Por cierto, el entorno de desarrollo en sí mismo solicita la tabla de códigos de los códigos de operación del ensamblador para un procesador específico del desarrollador, y no es posible obtenerla para su examen: cifrado, protocolos de seguridad, todo eso ... si se ha demostrado que la tabla de códigos se puede obtener de este entorno de desarrollo: multas enormes y lotes de liberación de congelación. Pero entonces, no puede temer que el código fuente "se filtre en la red". ¿Por qué es necesario si el procesador del desarrollador es como un automóvil?Soy uno de los pocos que puede pagar el procesador de un desarrollador ... Y eso es porque estoy haciendo la última parte de los programadores: desarrollo web.Además, por cierto, no es una tarea fácil. Cualquier dinámica: se ejecuta en el lado del servidor y se compila. Y no se puede transmitir ningún código activo al usuario. Pero el usuario puede transferir todos los clics del mouse y la entrada del teclado ... Sí, los servidores tuvieron que ser más potentes ... Es decir, ahora es simplemente imposible distinguir un sitio de un cliente ligero. ¡Recuerdo cuán alto subieron los desarrolladores cuando nuestro presidente emitió tal decreto!Y a donde ir? En los Estados Unidos, se emitió un decreto similar un año antes ... Pero al menos tienen una red y servidores para hacer frente a esta carga ... y tenemos todo como siempre ...Bueno, ¡toda esta tontería de estandarización no ha llegado a los lenguajes de programación! Hubo intentos de llamar al idioma 1C estado y prohibir el resto ... Gracias a Dios, el propio 1C se opuso: nunca se pondría al día con todos los marcos existentes de todos los idiomas existentes. Bueno, la sociedad habló ...Otra alegría es el código abierto. Es cierto que tenía que ser pagado. No para bibliotecas y marcos individuales, por supuesto, sino para programas individuales y sistemas operativos. ¿Por qué tuviste que hacerlo? Como nadie puede compilar tipos para su procesador del sistema operativo, no hay una tabla de códigos de procesador. Y el lanzamiento del cristal vale la pena ... así es como giran. El mismo OpenOffice organiza periódicamente la recaudación de dinero para su emisión.Upd: se supone que la capacidad del procesador al menos no disminuye, pero a medida que aumenta el máximo. Es decir El número de opciones por código de operación es 2 ^ 64 o más.Con un aumento en el número de transistores en un chip, la productividad no necesariamente aumenta: por ejemplo, la última Mafia "pesa" 42 gigabytes en una versión empaquetada, y todo esto debería estar en el chip. Es decir unidad flash integrada mínima de 1 TB (tenemos el futuro, ¿verdad?) + xs cuánta RAM.Upd2: Olvidé mencionar que cada cristal es un sistema completamente autónomo que no tiene acceso a los archivos en la unidad interna. Es decir No puede copiar una calculadora, texturas o un fondo de escritorio cosido en el sistema operativo en una unidad flash USB. Además, no puede copiar su programa en el disco de cristal y ejecutarlo desde allí. La única excepción es el procesador del desarrollador: puede guardar los archivos compilados en un disco externo (relativo al chip) y ejecutarlos desde allí.Según los resultados de la discusión, resultó que 64 bits por código de operación están descifrados en un tiempo aceptable. Entonces, por voluntad propia del autor, cambio la profundidad de bits del cristal a 128 bits y digo que si se especifica un código de operación inactivo, se lanza una excepción para el procesador de cristal del tipo "ataque activado". No se sabe cómo reacciona el programa en un chip, pero asumiremos la peor opción: en el caso de un ataque a la red, bloquear la dirección IP, en el caso de un ataque local, el programa se detendrá y la solicitud debe enviarse / enviarse al soporte técnico.Source: https://habr.com/ru/post/es399781/
All Articles