Ni Apple ni IBM, el primer ordenador personal se fabricó en Texas y se llamaba Datapoint 2200

  • September 22, 2017
  • tuxotron
  • Datapoint 2200

    *Datapoint 2200*

    En 1968, mientras Steve Jobs y Steve Wozniak aún estaban en el instituto, dos tejanos llamados Phil Ray y Gus Roche estaban decidiendo si montar un restaurante Tex-Mex o una empresa de ordenadores. Afortunadamente se decidieron por la segunda opción, ya que ambos eran ingenieros electrónicos que habían trabajado para la NASA, y la electrónica se les daba un poco mejor que la comida mejicana. Entonces el 6 de Julio de 1968 nació CTC, Computer Terminal Corp. La nueva empresa estaría enfocada principalmente a crear terminales de teletipos (dispositivos mecánicos que se conectaban con mainframes básicamente para programar) compatibles con otros modelos más costosos. El diseño era otro factor importante aparte del precio, que CTC tenía entre sus planes, ya que querían crear sus nuevos dispositivos de un tamaño aceptable, que pudiera estar encima de una mesa de escritorio con la pantalla y el teclado integrados (los teletipos de la época eran bastante grandes, difíciles de manipular y además la salida de datos era directamente en papel).

    El primer producto lanzado por CTC fue el Datapoint 3300. Este terminal emulaba perfectamente a otro muy popular de la época, el llamado “Model 33”. El Datapoint 3300 era más barato y compatible al 100% con el “Model 33”, así como con otros dispositivos externos como la perforadora de tarjetas IBM 029 (otro producto muy popular). Además consiguieron un diseño más atractivo y ligero, integrando teclado y pantalla en una misma carcasa.

    Datapoint 3300 fue un éxito pero los ingenieros de CTC no se conformaron. Su objetivo final era aún más ambicioso, querían fabricar el emulador de teletipos definitivo: uno programable. De esta forma con un sólo dispositivo podrían emular a cualquier otro teletipo existente. El problema era, que para crear un dispositivo programable de un tamaño aceptable de escritorio, era que en esa época no existía (como tal) el componente más importante de un ordenador: el microprocesador (el ordenador más común en aquellos tiempos era el mítico DEC PDP-8 que tenía el tamaño de un armario).

    Justo en este punto es cuando se cruzan los caminos de CTC y otro grupo de ingenieros que precisamente, tenían la idea de crear un microprocesador encapsulado en un chip de silicio. En 1969, Vic Poor, Jonathan Schmidt y Harry Pyle se reunieron para celebrar las fiestas de Acción de Gracias y mientras disfrutaban del pavo, diseñaron las bases de un procesador que pudiera encajar en una pastilla de silicio. Inmediatamente se pusieron manos a la obra y buscaron una empresa que pudiera llevar a cabo su gran idea. Después de varios intentos infructuosos, por fin apareció CTC, la cual no sólo apostó por ellos, sino que contrataron a Poor y Pyle, además de hacer de sponsors de Schmidt que aún estaba en la Universidad.

    El diseño del microprocesador incluía muchas de las especificaciones que aún se utilizan hoy día. Por ejemplo tenía una pila “stack”, saltos condicionales a otras partes del programa, podía cargar datos desde la memoria a un registro, realizar todo tipo de operaciones lógicas y aritméticas y como curiosidad también crearon el comando “NOP” para funciones de sincronización (este comando realmente no hace nada, simplemente consume ciclos de CPU y fue utilizado para sincronizar operaciones).

    Además del microprocesador, la memoria RAM era otro reto a superar, ya que en aquella época no existían en chips como tales (llegaron dos años después). Las memorias de núcleo magnético eran muy caras, por ejemplo 4Kb de RAM para un DEC PDP-8 costaban 10.000 dólares. Para superar este problema utilizaron los llamados “shift-registers” o “registros de desplazamiento” (circuitos basados principalmente en biestables donde el valor de la salida del mismo depende de su entrada).

    Para conseguir los chips de memorias basadas en registros de desplazamientos necesitaban buscar una empresa que los fabricara. En California había una pequeña startup llamada Intel la cual se dedicaba a fabricar circuitos integrados. Durante las muchas reuniones en las cuales se discutían las nuevas características o cambios de diseño a los chips de registro de desplazamiento, poco a poco fueron discutiendo sobre la posibilidad de integrar en un solo chip el diseño del microprocesador de CTC. Intel estaba trabajando en ese momento en un proyecto similar, el chip 4004 (considerado por muchos, no sin controversia, el primer microprocesador de la historia). Este chip de 4 bits estaba diseñado para calculadoras, es decir que era perfecto para números, pero no servía para procesar texto. Le faltaban muchas características que CTC necesitaba como por ejemplo operaciones booleanas. Este microprocesador no era válido para gestionar un sistema operativo, por lo tanto fue descartado por CTC.

    Así que Intel comenzó a trabajar en un prototipo de microprocesador basado en las especificaciones de CTC que se llamaría 1201 (CTC era su mayor cliente en aquella época, harían lo imposible por mantenerlos contentos). Pero Intel tuvo algunos problemas implementando esta nueva tecnología (basada en PMOS) y por lo tanto se retrasaron en la entrega. Pero CTC no podía esperar más, el 1201 de Intel no avanzaba lo suficientemente rápido y ellos tenían que sacar lo antes posible un nuevo producto al mercado, ya que el Datapoint 3300 ya no era lo suficientemente rentable. Finalmente CTC comenzó a trabajar en su sucesor, el Datapoint 2200 sin esperar la entrega del nuevo procesador. Este nuevo terminal podría emular mediante programación a otros terminales más allá del “Model 33”. Finalmente el procesador (CPU) se creó utilizando aproximadamente 120 componentes TTL (chips del tipo MSI, Medium Scale Integration) aplicando el diseño inicial de Poor, Schmidt y Pyle. A pesar de ser un ordenador tipo “serie” (procesaba sólo un bit) la velocidad de proceso era más que decente e incluso superaría durante varios años a los nuevos microprocesadores de 8 bits que salieron al mercado más tarde.

    Datapoint 2200 era realmente un producto adelantado a su época, tenía su propio sistema operativo llamado Datapoint OS, dos cassettes que permitían almacenar hasta 130 KB de datos cada uno e incluso la opción de conectar unidades de disco flexibles de 8 pulgadas. También tenía su propia versión del lenguaje Cobol, un intérprete de BASIC y un compilador RPG II. Como podemos imaginar, todas estas herramientas de programación no se quedarían sólo para emular teletipos. Pronto la gente comenzó a sacar partido al hardware y el software del Datapoint 2200, creando todo tipo de programas e incluso algún que otro juego. Inicialmente los creadores de Datapoint 2200 no esperaban esta otra utilidad aparte de la emulación de teletipos, pero finalmente se dieron cuenta del tremendo potencial del dispositivo que habían fabricado: había nacido el ordenador personal (casi de forma accidental). Fue tal el éxito de este nuevo producto, que CTC se pasó a llamar Datapoint.

    Y para completar la revolución informática de Datapoint tenemos que volver a Intel. Aunque no tuvieron a tiempo listo el microprocesador 1201 para CTC, ellos continuaron desarrollando la idea, y por fin, en abril de 1972 salió al mercado el 8008, padre de todos los microprocesadores del tipo x86. Éste era tan parecido al procesador “artesanal” creado por Datapoint que eran casi compatibles al 100%, por lo tanto Datapoint 2200 es el “abuelo” de todos los ordenadores personales. Además, gracias a Datapoint, había nacido otro gigante que cambiaría y establecería nuevas reglas en la historia de la informática: Intel Corporation.

Vídeos De Usenix 17

Laboratorio De Explotación De Apache Struts S2-052

  • September 18, 2017
  • tuxotron
  • Equifax - Apache Struts S2-052

    *Equifax - Apache Struts S2-052*

    Seguro que la mayoría, sino tod@s, habéis oído la noticia sobre la que hasta la fecha parace ser la mayor filtración de datos. Me refiero a Equifax, una de las tres empresas en EEUU que se encargan de monitorizar el crédito o la solvencia de los habitantes de dicho país. El problema incluso ha ido más haya de EEUU, y también se han visto comprometidos datos de argentinos (por distintos motivos), canadienses y del Reino Unido.

    Según la nota de prensa publicada por Equifax, el “culpable” de la penetración en sus sistemas fue un fallo que seguridad en Apache Struts, que Equifax no parcheo a tiempo.

    Si buscas en Google, hay miles de sitios que han reportado este suceso y no es la intención de esta entrada escribir sobre lo mismo.

    El motivo de esta entrada es la de compartir con vosotros otro de los magníficos laboratorios de prácticas creado por Pentester Lab, en este caso relacionado con la vulnerabilidad anteriormente mencionada.

    Como de costumbre, el laboratorio consiste en una máquina virtual que te puedes descargar desde aquí.

    Si tienes la curiosidad de como se explota esta vulnerabilidad, bájate la ISO y a jugar.