Narrada en forma de novela, «El huevo del cuco» cuenta la historia de Clifford Stoll, un astrónomo e informático que, comprobando sus sistemas, descubre una diferencia de 75 centavos en la contabilidad. Este pequeño detalle le lleva a darse cuenta de que los ordenadores de su red están siendo atacados por hackers desde el extranjero, y con ello comienza su particular carrera de persecución hasta dar con ellos. Escrito de forma entretenida y amena, describe la forma en que los hackers se introducen en los ordenadores y la forma en que pueden ser detectados. Interesante como documento histórico, es uno de los clásicos sobre el mundo del hacking y el cracking.
Clifford Stoll
El huevo del cuco
ePUB v1.1
ePUBmry09.11.2011
Gracias
A 3PUBnoff por colaborar en las correcciones ortográficas del libro.
¿Cómo se divulga la noticia cuando hay una fuga de información en un ordenador? Hay quien no dice nada por temor a que, si se cuenta a la gente cómo mezclar explosivos, se la estimula a fabricar bombas. En este libro describo explícitamente algunos de dichos problemas, consciente de que ya son del dominio de los individuos de sombrero negro.
He procurado reconstruir este incidente tal como lo he vivido. Mis principales fuentes de información son mis cuadernos y diarios, cotejados con otros que han participado en el caso y comparados con sus informes. Algunos personajes aparecen bajo seudónimo, varios números de teléfono han sido cambiados y algunas conversaciones narradas de memoria, pero sin novelería.
Por su apoyo durante mi investigación y redacción, doy las gracias a mis amigos, colegas y parientes. Regina Wiggen ha sido mi trampolín editorial; expreso también mi agradecimiento a Jochen Sperber, Jon Rochlis, Dean Chacón, Donald Álvarez, Laurie MacPherson, Rich Muller, Gene Spafford, Andy Goldstein y Guy Consolmagno.
Remití una nota a diversas redes informáticas en la que pedía sugerencias para el título y recibí centenares de bufonadas del mundo entero. Gracias a Karen Anderson, de San Francisco, y a Nigel Robcrts, de Munich, por el título y el subtítulo.
Los esforzados editores David Gernet y Scott Ferguson me han ayudado en todo momento. A ellos, así como a mi representante, John Brockman, gracias por su constante aliento y sabios consejos.
Estoy en deuda con todos ellos; a la mayoría también les debo cajas de bombones.
En todo momento he contado con el apoyo del Lawrence Berkeley Laboratory; el personal del Smithsonian Astrophysical Observatory, particularmente Joe Schwarz y Steve Murray, me ha brindado su amabilísimo apoyo durante la redacción de este libro. Mi profundo agradecimiento a mis amigos de ambos institutos, con mi esperanza de poder regresar ahora a la astronomía.
Tenía diez años cuando Ernst Both, del Museo de la Ciencia de Buffalo, me invitó a mirar por un telescopio, con lo que para mí se abrió un universo de astronomía. No sé si jamás podré agradecérselo como es debido.
No necesito dar las gracias a mi queridísima esposa, Martha Matthews. Ha participado tanto en la redacción del libro como en la propia historia.
Yo, ¿un genio? Hasta hace una semana era astrónomo, consagrado felizmente al diseño de óptica telescópica. Retrospectivamente, me doy cuenta de que vivía en un paraíso intelectual. Tantos años sin pensar en el futuro, hasta el día en que acabó mi subvención.
Por suerte para mí, mi laboratorio reciclaba a los astrónomos usados. En lugar de mandarme a la oficina de empleo, me trasladaron del Keck Observalory, en el Lawrence Berkeley Laboratory, al centro de informática en el sótano del mismo edificio.
¡Diablos! Podía fingir que sabía bastante sobre ordenadores para impresionar a los astrónomos y quizá aprender con suficiente rapidez para que mis colegas no lo descubrieran, pero... ¿un genio de la informática? De ningún modo; yo soy astrónomo.
¿Y ahora qué? Mientras contemplaba apáticamente la pantalla de mi terminal, pensaba todavía en órbitas planetarias y en astrofísica. Como recién llegado al departamento, me dieron a elegir entre una cabina con una ventana que daba al Golden Gate Bridge, o un despacho sin ventilación, con una pared llena de estanterías para libros. Decidí hacer caso omiso de mi claustrofobia y elegí el despacho, con la esperanza de que nadie se daría cuenta cuando echara un sueñecito bajo la mesa. A ambos lados se encontraban los despachos de dos especialistas de sistemas: Wayne Graves y Dave Cleveland, los veteranos de la empresa. Pronto llegué a conocer a mis vecinos por sus riñas.
Wayne, que estaba interrelacionado con el resto del personal, consideraba vagos o incompetentes a todos los demás. Sin embargo conocía íntimamente el sistema, desde los discos de software hasta las antenas de microondas. Wayne se había formado con los ordenadores Vax, de Digital Equipment, y no toleraba nada inferior a los mismos; ni IBM, ni Unix, ni Macintoshes.
Dave Cleveland, nuestro sereno Buda de los Unix, escuchaba pacientemente las interminables comparaciones de Wayne de distintos ordenadores.
—Todos los científicos prefieren Vax, con sus doce modos de elaborar fuertes programas —afirmaba categóricamente Wayne.
—En tal caso —replicaba Dave—, tú te ocupas de mantener contentos a los adictos a Vax y yo me ocuparé del resto del mundo.
Dave nunca le dio la satisfacción de perder los estribos y las quejas de Wayne acabaron por convertirse en un susurro.
¡Fantástico! Mi primer día de trabajo entre dos personajes que destruían ya mis ilusiones con sus periódicas disputas.
Por lo menos nadie podría quejarse de mi aspecto. Vestía el uniforme corporativo habitual de Berkeley: camisa mugrienta, vaqueros desteñidos, pelo largo y zapatillas baratas. De vez en cuando los directores usaban corbata, pero la producción decrecía cuando lo hacían.
Entre Wayne, Dave y yo teníamos la misión de hacer funcionar los ordenadores como servicio para todo el laboratorio. Disponíamos de una docena de ordenadores mainframe, máquinas con una capacidad gigantesca para solucionar problemas de física, con un valor conjunto de unos seis millones de dólares. El propósito era que los científicos pudieran utilizarlos como sistema informático simple y poderoso, tan fiable como el suministro de luz eléctrica. Esto significaba que los ordenadores tenían que funcionar permanentemente, día y noche. Y al igual que la compañía eléctrica, se les cobraba cada ciclo informático que utilizaban.
Entre los cuatro mil empleados del laboratorio, aproximadamente una cuarta parte utilizaba los ordenadores principales. Todos los días se hacía el balance de esas mil cuentas, cuyos saldos se conservaban en la memoria del ordenador. A trescientos dólares por hora de computación, nuestra contabilidad tenía que ser exacta, por lo que controlábamos cada página que se imprimía, el espacio de todos los discos y cada minuto de procesamiento. Un ordenador independiente compaginaba dichas estadísticas y mandaba cuentas mensuales a los departamentos del laboratorio.
Y así fue como en mi segundo día de trabajo Dave entró en mi despacho mascullando algo sobre un pequeño contratiempo en el sistema de contabilidad del Unix. Alguien había utilizado unos segundos de computación sin pagar. Los libros del ordenador no acababan de cuadrar; en la cuenta del último mes, de 2387 dólares, había un error de 75 centavos.
Ahora bien, un error de millares de dólares resulta evidente y no es difícil de localizar. Pero los errores en la columna de los centavos proceden de problemas muy hondos cuya localización pone a prueba la pericia del genio más avispado de la informática. Dave sugirió que pensara en ello.
—¡Vaya desfalco! ¿No te parece? —respondí.
—Averígualo tú, Cliff, y asombrarás a todo el mundo —dijo Dave.
El proyecto parecía divertido y me introduje en el programa de contabilidad. Descubrí que nuestro software de contabilidad consistía en un conglomerado de programas, escritos hacía tiempo por estudiantes durante sus vacaciones veraniegas. En todo caso, la mezcolanza funcionaba lo suficientemente bien como para no preocuparse por ella. Cuando examiné el revoltijo de programas, vi que estaban escritos en Assembler, Fortran y Cobol, los más anticuados entre los lenguajes informáticos. Podía perfectamente haberse tratado de griego clásico, latín y sánscrito.
Como en la mayor parte de los casos de programación casera, nadie se había preocupado de documentar nuestro sistema de contabilidad. Sólo un loco investigaría aquel laberinto sin un mapa en la mano.
No obstante sería una forma divertida de pasar la tarde, que me brindaría la oportunidad de explorar el sistema. Dave me mostró cómo el sistema grababa cada intervención en el ordenador, con el nombre y terminal del usuario. Grababa también la hora de cada conexión, la tarea ejecutada, los segundos de procesamiento y la hora de desconexión.
Dave me explicó que disponíamos de dos sistemas de contabilidad independientes. Los programas ordinarios de Unix se limitaban a introducir las entradas cronológicamente en un fichero. Pero para satisfacer a algún burócrata, Dave había elaborado un segundo sistema de contabilidad, en el que se conservaban detalles más específicos del usuario.
A lo largo de los años, una sucesión de aburridos estudiantes había escrito programas para analizar toda aquella información de contabilidad. Uno de dichos programas recopilaba los datos y los introducía en un archivo. Un segundo programa leía dicho archivo y calculaba el precio de la sesión. Un tercer programa compaginaba dichos gastos e imprimía las facturas que se mandaban a cada departamento. El último programa sumaba las cuentas de todos los usuarios y comparaba el total con el resultado del programa interno de contabilidad del ordenador. Dos ficheros de contabilidad, mantenidos en paralelo por distintos programas, debían producir el mismo resultado.
Durante un año, aquellos programas habían funcionado sin tropiezo alguno, pero aquella semana no acababan de cuadrar. Lo más evidente era pensar en un error decimal. Probablemente todas las entradas eran correctas, pero, al sumarlas, el total de las diferencias de décimos de centavo constituía el error de setenta y cinco centavos. Me propuse demostrarlo analizando el funcionamiento de los programas, o verificándolos con distintos datos.