Ni Apple ni IBM, el primer ordenador personal se fabricó en Texas y se llamaba Datapoint 2200
- September 22, 2017
- tuxotron
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
- September 19, 2017
- tuxotron
- Opening Remarks and Awards
- When Your Threat Model Is “Everything”: Defensive Security in Modern Newsrooms
- How Double-Fetch Situations turn into Double-Fetch Vulnerabilities…
- Postmortem Program Analysis with Hardware-Enhanced Post-Crash Artifacts
- Ninja: Towards Transparent Tracing and Debugging on ARM
- Prime+Abort: A Timer-Free High-Precision L3 Cache Attack using Intel TSX
- On the effectiveness of mitigations against floating-point timing channels
- Constant-Time Callees with Variable-Time Callers
- Neural Nets Can Learn Function Type Signatures From Binaries
- CAnât Touch This…
- Efficient Protection of Path-Sensitive Control Security
- Digtool: A Virtualization-Based Framework for Detecting Kernel Vulnerabilities
- kAFL: Hardware-Assisted Feedback Fuzzing for OS Kernels
- Venerable Variadic Vulnerabilities Vanquished
- Towards Practical Tools for Side Channel Aware Software Engineering…
- Strong and Efficient Cache Side-Channel Protection…
- CacheD: Identifying Cache-Based Timing Channels in Production Software
- An Ant in a World of Grasshoppers
- From Problems to Patterns to Practice…
- BinSim: Trace-based Semantic Binary Diffing…
- PlatPal: Detecting Malicious Documents with Platform Diversity
- Malton: Towards On-Device Non-Invasive Mobile Malware Analysis for ART
- Global Measurement of DNS Manipulation
- Characterizing the Nature and Dynamics of Tor Exit Blocking
- DeTor: Provably Avoiding Geographic Regions in Tor
- SmartAuth: User-Centered Authorization for the Internet of Things
- AWare: Preventing Abuse of Privacy-Sensitive Sensors via Operation Bindings
- 6thSense: A Context-aware Sensor-based Attack Detector for Smart Devices
- Identifier Binding Attacks and Defenses in Software-Defined Networks
- HELP: Helper-Enabled In-Band Device Pairingâ¦
- Attacking the Brain: Races in the SDN Control Plane
- Detecting Credential Spearphishing in Enterprise Settings
- SLEUTH: Real-time Attack Scenario Reconstruction from COTS Audit Data
- When the Weakest Link is Strong…
- Hacking in Darkness: Return-oriented Programming against Secure Enclaves
- vTZ: Virtualizing ARM TrustZone
- Inferring Fine-grained Control Flow Inside SGX Enclaves with Branch Shadowing
- AuthentiCall: Efficient Identity and Content Authentication for Phone Calls
- Picking Up My Tab…
- TrustBase: An Architecture to Repair and Strengthen…
- Transcend: Detecting Concept Drift in Malware Classification Models
- Syntia: Synthesizing the Semantics of Obfuscated Code
- Predicting the Resilience of Obfuscated Code…
- Differential Privacy: From Theory to Deployment
- OSS-Fuzz - Google’s continuous fuzzing service for open source software
- Extension Breakdown…
- CCSP: Controlled Relaxation of Content Security Policies…
- Same-Origin Policy: Evaluation in Modern Browsers
- Locally Differentially Private Protocols for Frequency Estimation
- BLENDER: Enabling Local Search with a Hybrid Differential Privacy Model
- Computer Security, Privacy, and DNA Sequencing…
- BootStomp: On the Security of Bootloaders in Mobile Devices
- Seeing Through The Same Lens…
- Oscar: A Practical Page-Permissions-Based Scheme…
- PDF Mirage: Content Masking Attack Against Information-Based Online Services
- Loophole: Timing Attacks on Shared Event Loops in Chrome
- Game of Registrars…
- Speeding up detection of SHA-1 collision attacks…
- Phoenix: Rebirth of a Cryptographic Password-Hardening Service
- Vale: Verifying High-Performance Cryptographic Assembly Code
- Exploring User Perceptions of Discrimination in Online Targeted Advertising
- Measuring the Insecurity of Mobile Deep Links of Android
- How the Web Tangled Itself
- Towards Efficient Heap Overflow Discovery
- DR. CHECKER: A Soundy Analysis for Linux Kernel Drivers
- Dead Store Elimination (Still) Considered Harmful
- Telling Your Secrets without Page Faults…
- CLKSCREW: Exposing the Perils of Security-Oblivious Energy Management
- AutoLock: Why Cache Attacks on ARM Are Harder Than You Think
- USENIX Security â17 - Understanding the Mirai Botnet
- MPI: Multiple Perspective Attack Investigation…
- Detecting Android Root Exploits by Learning from Root Providers
- USB Snooping Made Easy: Crosstalk Leakage Attacks on USB Hubs
- Reverse Engineering x86 Processor Microcode
- See No Evil, Hear No Evil, Feel No Evil
- The Loopix Anonymity System
- MCMix: Anonymous Messaging via Secure Multiparty Computation
- ORide: A Privacy-Preserving yet Accountable Ride-Hailing Service
- Adaptive Android Kernel Live Patching
- CHAINIAC: Proactive Software-Update Transparency…
- ROTE: Rollback Protection for Trusted Execution
- A Longitudinal, End-to-End View of the DNSSEC Ecosystem
- Measuring HTTPS Adoption on the Web
- “I Have No Idea What I’m Doing” - On the Usability of Deploying HTTPS
- Beauty and the Burst: Remote Identification of Encrypted Video Streams
- Walkie-Talkie…
- A Privacy Analysis of Cross-device Tracking
- SmartPool: Practical Decentralized Pooled Mining
- REM: Resource-Efficient Mining for Blockchains
- Ensuring Authorized Updates in Multi-user Database-Backed Applications
- Qapla: Policy compliance for database-backed systems
- Data Hemorrhage, Inequality, and You…
Además del material de USENIX 17, ya están disponibles también los vídeos de las charlas.
Aquí tenéis la lista completa:
Laboratorio De Explotación De Apache Struts S2-052
- September 18, 2017
- tuxotron
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.
Buscar
Entradas Recientes
- Posts
- Reemplazando la bateria del AirTag
- OpenExpo Europe décima edición, 18 de mayo: El Epicentro de la Innovación y la Transformación Digital
- Docker Init
- Kubernetes para profesionales
- Agenda: OpenExpo Europe 2022 llega el 30 de junio en formato presencial
- Libro 'Manual de la Resilencia', de Alejandro Corletti, toda una referencia para la gestión de la seguridad en nuestros sistemas
- Mujeres hackers en ElevenPaths Radio
- Creando certificados X.509 caducados
- Generador de imágenes Docker para infosec