Menú principal

sábado, 8 de julio de 2017

"Si Wozniak no puede desprotegerlo, entonces es seguro". Documentación original de Apple sobre sus sistemas de protección anti-copia de 1979 y 1980

En un archivador dentro de un mueble donado a Seattle Goodwill, organismo sin ánimo de lucro la cual se dedica a reciclar y luego vender con fines benéficos, un editor de Reddit encontró documentación muy interesante la cual nos permite echar un vistazo a una parte de la historia dorada de Apple durante los años 1979 y 1980. Especialmente, esta documentación se centra en los esfuerzos legales y técnicos para proteger el software de Apple.

Todos estos papeles pertenecían a Jack MacDonald, software manager del Apple II y Apple III (el cual por cierto fue el primer fracaso de Apple) al cual se refiere en el documento con el nombre en clave de SARA. No existe mucha documentación sobre Jack MacDonald en Internet pero sí de otros personajes que aparecen en la documentación recuperada. Por ejemplo, Randy Wigginton, que fue el empleado número seis de Apple y que ha trabajado para eBay, Paypal y Google. Y por supuesto Steve Wozniak, el cual no necesita presentación.

La documentación se centra en la implementación de métodos anti-copia los cuales se engloban en  la siglas SSAFE, Software Security Apple Friends and Enemies. Vamos a repasar algunos de los documentos más interesantes de los 116 existentes entre memorandos, textos a mano, esquemas, etc.
El primero que vamos a ver trata sobre los niveles de seguridad. Estos se definen desde el nivel 1 hasta el nivel 5. Siendo el primero el más seguro de todos y el último, nivel 5, totalmente inseguro. Es interesante el toque de sentido del humor en las definiciones, como por ejemplo una nota que dice "Destacar que el nivel 1 se puede conseguir sólo desautorizando cualquier tipo de acceso al software del ordenador. No es muy práctico en nuestro caso." El nivel 2 lo definen también como "Casi totalmente seguro. Solo pirateable por los más dedicados entusiastas. 99.8% de efectividad".

Figura 1. Texto donde se habla de los niveles de seguridad

También es interesante otro documento donde se describen los métodos de protección para los proveedores OEM. Se distinguen entre los programas en memoria y los programas en disco flexible. Sobre los programas en memoria, se menciona por ejemplo que podrían protegerse autorizando su ejecución sólo si el chip Auto-Start Rom (el cual realiza diferente funciones en el sistema) es el único monitor en el ordenador. Sobre los discos, se habla de borrar un sector por pista para confundir a los programas de copia.

Figura 2. Comentarios sobre protección sobre los programas en memoria y en disquete

Por otro lado aparecen muchas referencias a la seguridad del software AppleSoft II, versión BASIC creada conjuntamente con Microsoft (de ahí la terminación "Soft" en el nombre). En concreto se menciona que los programas AppleSoft se utilizará un sistema de cifrado "primitivo" el cual "puede ser descifrado en 20 minutos por un experto".

Figura 3. AppleSoft y su seguridad

En todos los documentos se nota que Steve Wozniak era el motor técnico y alma principal de la compañía, ya que está en copia en prácticamente todos ellos (a Steve Jobs apenas aparece en alguno). De hecho, hay un documento que resalta aún más la importancia de Wozniak en el proceso de protección del software. En él se indica literalmente que "Randy [Wigginton] cree que si él tiene una versión [de un sistema de anti-copia] que Wozniak no pueda romper, entonces tiene la mejor protección posible". Es decir, que utilizaban a Wozniak para probar los sistemas anti-copia. Estamos seguros que Woz disfrutaba intentando romperlos.

Figura 4. Mención a Wozniak sobre la fiabilidad de un sistema de protección anti-copia

También se compara la protección física  utilizando una llave electrónica, posiblemente una de las primeras en la historia de la informatica (con permiso de Wordcraft), con la protección utilizando números de serie y contraseña. Sobre la protección física, en el documento se enumeran sus ventajas y desventajas de uso así como su funcionamiento. Sobre su funcionamiento, se indica por ejemplo, que la rutina de autorización que llama a la llave de protección debe de estar disperso por todo el programa. De esta forma se asegura que la llave está presente y conectada al ordenador en cualquier fase de ejecución del mismo.

Figura 5. Sistema de protección con llave electrónica

Es interesante el método de protección anti-copia basado en el número de serie del ordenador y una contraseña suministrada por Apple o un distribuidor autorizado. Para poder generar la contraseña, el comprador tendría que enviar previamente el número de serie de su ordenador a la hora de realizar la compra.

Su funcionamiento era el siguiente:
  • Todas las aplicaciones en los discos distribuidos contienen una copia idéntica cifrada de la aplicación protegida.  encrypted program = f1 (key1, program)
  • Cada vez que el usuario ejecuta el programa, este es descifrado y cargado en la memoria. Este puede ser vulnerable una vez cargado en memoria. program = f2 (key2, encrypted program)
  • El mecanismo de protección llamado key2 será: key2 = f3 (key1, password, machine serial number)
En este esquema original de la documentación podemos observar el proceso de protección por número de serie y contraseña:

Figura 6. Sistema de protección usando el número de serie del ordenador y una contraseña

Esto es sólo una parte de las 116 páginas de información disponible, puedes consultar la documentación completa online aquí. Gracias a @tuxotron por enviarnos el enlace con la noticia, seguro que volveremos pronto a rebuscar un poco más en este trozo de la historia de Apple.

No hay comentarios:

Publicar un comentario

Entrada destacada

Proteger tu cuenta de Google y de Gmail con Latch Cloud TOTP #Latch #Gmail #Google

La semana pasada se liberó la nueva versión de Latch y nuestro compañero Chema Alonso hizo un repaso de todo ello en su artículo Latch...

Otras historias relacionadas

Entradas populares