Kitabı oku: «Hackear al hacker»

Yazı tipi:

Hackear al hacker

Hackear al hacker

Aprende de los expertos que derrotan a los hackers

Roger A. Grimes


Edición original publicada en inglés por John Wiley & Sons, Inc., Indianapolis, Indiana, con el título: Hacking the Hacker: Learn from the Experts Who Take Down Hackers, ISBN 978-1-119-39621-5 © Roger A. Grimes 2017

Título de la edición en español:

Hackear al hacker. Aprende de los expertos que derrotan a los hackers

Primera edición en español, 2018

© 2018 MARCOMBO, S.A.

www.marcombo.com

Diseño de la cubierta: Wiley

Imagen de la cubierta: © CTRd/Getty Images

Traductora: Sònia Llena

Revisor técnico: Pablo Martínez

Correctora: Meritxell Peleato

Directora de producción: Mª Rosa Castillo

«Cualquier forma de reproducción, distribución, comunicación pública o transformación de esta obra solo puede ser realizada con la autorización de sus titulares, salvo excepción prevista por la ley. La presente publicación contiene la opinión del autor y tiene el objetivo de informar de forma precisa y concisa. La elaboración del contenido, aunque se ha trabajado de forma escrupulosa, no puede comportar una responsabilidad específica para el autor ni el editor de los posibles errores o imprecisiones que pudiera contener la presente obra.»

ISBN: 978-84-267-2741-1

Producción del ebook: booqlab.com

Dedico este libro a mi esposa, Triscia.

Ella es verdaderamente la mujer que hay detrás del hombre, en todos los sentidos de la palabra.

Sobre el autor

Roger A. Grimes ha estado luchando contra hackers informáticos maliciosos durante tres décadas (desde 1987). Ha obtenido decenas de certificaciones de seguridad informática (entre ellas CISSP, CISA, MCSE, CEH y Security+) y ha superado el durísimo examen Certified Public Accountants (CPA), todo ello a pesar de que no tiene nada que ver con la seguridad informática. Ha organizado y actualizado cursos de seguridad informática, ha sido profesor y ha enseñado a miles de alumnos a hackear o a defenderse. Roger es ponente habitual en congresos nacionales de seguridad informática. Ha sido contratado como profesional para realizar pruebas de intrusión a empresas y a sus sitios web, acciones que jamás le han llevado más de 3 horas. Ha escrito y coescrito 8 libros sobre seguridad informática y cerca de 1.000 artículos de revista. Fue columnista de la revista de seguridad informática InfoWorld (http://www.infoworld.com/blog/security-adviser/) hasta agosto de 2005, y ha trabajado como consultor de seguridad informática a tiempo completo durante más de dos décadas. Actualmente, Roger aconseja a empresas, grandes y pequeñas, de todo el mundo sobre cómo detener a hackers y software maliciosos. Y en todo este tiempo y con esta experiencia, ha aprendido que los hackers más malévolos no son tan inteligentes como gran parte de la gente cree y que no son, sin duda alguna, tan inteligentes como la mayoría de los defensores.

Agradecimientos

Quiero agradecer a Jim Minatel por dar luz verde a este libro, que ha estado en mi cabeza durante 10 años, y a Kelly Talbot por ser el mejor editor que he tenido en mis 15 años como escritor. Kelly es maravilloso solucionando problemas sin cambiar la voz. Quiero agradecer a Microsoft, mi patrono durante más de 10 años, por ser la mejor compañía en la que he trabajado y empujarnos a reconocer que la diversidad genera la fuerza. Quiero dar las gracias a Bruce Schneier por ser mi mentor no oficial, y el de otras personas en la industria. Felicitaciones a Brian Krebs por sus excelentes informes de investigación y por haber puesto al descubierto el gran negocio en el que se ha convertido el cibercrimen. Gracias a Ross Greenberg, Bill Cheswick y otros muchos autores, que han escrito de un modo tan interesante sobre seguridad informática, que han hecho que yo también me dedicara a ello. Por último, yo no sería quien soy ahora sin mi hermano gemelo, Richard Grimes, el mejor escritor de la familia, quien hace 20 años me animó a escribir. A todos los que forman parte de nuestra industria, gracias por vuestra ayuda en nombre de todos nosotros.

Sumario

Prólogo

Introducción

1 ¿Qué tipo de hacker eres tú?

2 Cómo hackean los hackers

3 Perfil: Bruce Schneier

4 Ingeniería social

5 Perfil: Kevin Mitnick

6 Vulnerabilidades de software

7 Perfil: Michael Howard

8 Perfil: Gary McGraw

9 Malware

10 Perfil: Susan Bradley

11 Perfil: Mark Russinovich

12 Criptografía

13 Perfil: Martin Hellman

14 Detección de intrusiones/APT

15 Perfil: Dra. Dorothy E. Denning

16 Perfil: Michael Dubinsky

17 Cortafuegos

18 Perfil: William Cheswick

19 Honeypots

20 Perfil: Lance Spitzner

21 Hackear contraseñas

22 Perfil: Dr. Cormac Herley

23 Hackeo inalámbrico

24 Perfil: Thomas d’Otreppe de Bouvette

25 Pruebas de intrusión

26 Perfil: Aaron Higbee

27 Perfil: Benild Joseph

28 Ataques DDoS

29 Perfil: Brian Krebs

30 Sistemas operativos seguros

31 Perfil: Joanna Rutkowska

32 Perfil: Aaron Margosis

33 Ataques de red

34 Perfil: Laura Chappell

35 Hackear el IoT

36 Perfil: Dr. Charlie Miller

37 Políticas y estrategias

38 Perfil: Jing de Jong-Chen

39 Modelado de amenazas

40 Perfil: Adam Shostack

41 Educar en seguridad informática

42 Perfil: Stephen Northcutt

43 Privacidad

44 Perfil: Eva Galperin

45 Patching

46 Perfil: Window Snyder

47 Escribir como un profesional

48 Perfil: Fahmida Y. Rashid

49 Guía para padres de jóvenes hackers

50 Código ético de los hackers

Prólogo

Roger Grimes ha trabajado en el campo de la seguridad informática durante casi tres décadas y yo he tenido el placer de conocerlo prácticamente la mitad de este tiempo. Es uno de los pocos profesionales selectos que he conocido que llevan claramente la seguridad en sus venas —una comprensión intuitiva del tema que, junto a su larga experiencia atrapando a los malos y erradicando debilidades en defensas de seguridad, lo hace especialmente cualificado para escribir este libro.

Roger empezó escribiendo para InfoWorld, en 2005, cuando nos envió un correo electrónico en el que criticaba el trabajo de un escritor de seguridad; una crítica que tuvo tanto peso, que inmediatamente le pedimos que colaborara en nuestra publicación. Desde entonces, ha escrito centenares de artículos para InfoWorld, todos ellos demuestran pasión por el tema, así como una comprensión psicológica tanto de los hackers maliciosos como de las personas que luchan contra ellos. En su columna semanal en InfoWorld, titulada «Security Adviser», Roger muestra un talento único para centrarse en cuestiones importantes, en lugar de perseguir amenazas efímeras o nuevas tecnologías sobrevaloradas. Su pasión por convencer a los defensores de la seguridad y a sus jefes de C-suite para que hagan lo correcto ha sido firme, a pesar de la desafortunada inclinación de muchas organizaciones por descuidar los conceptos básicos y acudir en masa a una nueva y brillante solución.

En este libro, Roger identifica a los hackers éticos de esta industria que han marcado la diferencia. Sus incansables esfuerzos ayudan a mantener a raya a un creciente grupo de atacantes cuyos objetivos han pasado a lo largo de los años de las travesuras destructivas al robo constante de propiedades intelectuales y millones de dólares de las instituciones financieras y sus clientes. A todos estos hackers éticos, les debemos mucho. Proporcionando un foro para gente como Brian Krebs, la Dra. Dorothy Denning y Bruce Schneier, Roger rinde homenaje a sus esfuerzos y ofrece un compendio fascinante que entretiene y, a la vez, informa. Se trata de una lectura esencial para todos aquellos interesados en seguridad informática y para los que luchan contra viento y marea para mantenernos a salvo.

Eric Knorr

Jefe de redacción de la revista InfoWorld

Introducción

L a intención de este libro es homenajear el mundo de los defensores de la seguridad informática mediante el perfil de algunos de los mejores hackers de sombrero blanco, defensores, protectores de la privacidad, maestros y escritores. Espero que terminéis apreciando mucho más el esfuerzo que realizan «entre bambalinas» para darnos este fantástico mundo de ordenadores en el que vivimos. Sin toda esta buena gente de nuestro lado luchando contra aquellos que quieren hacernos daño, ni ordenadores, ni Internet, ni nada de lo que está conectado sería posible. Este libro es un homenaje a los defensores.

Quiero animar a todos aquellos que quieren realizar una carrera en informática a que consideren la posibilidad de llevar a cabo una carrera en seguridad informática. También quiero alentar a todos los hackers en ciernes, especialmente a aquellos que podrían tener dificultades con la parte ética de su conocimiento, a seguir una carrera en seguridad informática. He pasado mucho tiempo luchando contra hackers maliciosos y contra sus obras de software malicioso. He podido explorar todos y cada uno de mis intereses en hackear que he tenido de un modo ético y legal. Igual que han hecho miles de otros. En cualquier país, la seguridad informática es una de las profesiones más populares y mejor pagadas. Esto ha sido muy bueno para mí, y también puede serlo para ti.

Ocupando la mayor parte de este libro, he incluido un capítulo que resume cómo se consigue un estilo particular de hackeo y, a continuación, describo uno o más perfiles de defensores de la seguridad informática elogiados en ese campo. He intentado seleccionar varias leyendas representativas de la industria, expertas e, incluso, algunas relativamente desconocidas, que son brillantes por lo que han logrado, aunque desconocidos fuera de su sector. He intentado realizar una buena selección de académicos, proveedores corporativos, docentes, líderes, escritores y profesionales privados de los Estados Unidos y de todo el mundo. Espero que los lectores interesados en dedicarse a la seguridad informática puedan encontrar la misma motivación que tuve yo para ayudar a hacer la informática extremadamente más segura para todos nosotros.

¡Que tengáis una buena lucha!

1
¿Qué tipo de hacker eres tú?

Hace unos años, me mudé a una casa que tenía un maravilloso garaje adosado. Era perfecto para aparcar y proteger mi bote y mi pequeña autocaravana. Era de construcción sólida, sin nudos en las maderas. La instalación eléctrica era profesional y las ventanas, de alta calidad y preparadas para vientos de 150 mph (241,39 km/h). Gran parte del interior estaba revestido con una aromática madera de cedro rojo, el mismo tipo que usaría un carpintero para revestir un baúl o un ropero para que oliera bien. Aunque yo no sé ni clavar un clavo, fue fácil para mí ver que el constructor sabía bien lo que hacía, cuidaba la calidad y se preocupaba por los detalles.

Unas semanas después de mudarme, vino un agente de policía y me contó que el garaje había sido construido de forma ilegal unos años atrás sin licencia y que tenía que derribarlo o hacer frente a una serie de multas por cada día de incumplimiento. Fuí a la policía para solicitar una dispensa, ya que el garaje estaba construido desde hacía muchos años y me lo habían vendido como parte de la compra de la vivienda. Nada que hacer. Tenía que ser derribado de inmediato. Las multas de un solo día eran más de lo que podía conseguir vendiendo los componentes para chatarra si lo derribaba con cuidado. Financieramente hablando, cuanto antes lo derribara y lo hiciera desaparecer, mejor.

Saqué un mazo de martillo (básicamente, una hacha de hierro gruesa para trabajos de demolición) y en unas horas ya había convertido toda la estructura en un montón de madera y otros residuos de construcción. No me costó comprender que el trabajo que a un artesano cualificado le había costado probablemente semanas, o meses, en construir, yo lo había destruído con mis manos no cualificadas en mucho menos tiempo.

Contrariamente a lo que muchos piensan, el hackeo malicioso tiene más de mazo que de artesano.

Si eres lo suficientemente afortunado para dedicarte al hackeo informático, tendrás que decidir si lo que quieres es proteger los bienes comunes o bien conformarte con objetivos más pequeños. ¿Quieres ser un hacker malo o un defensor justo y poderoso? Este libro es la prueba de que los hackers más inteligentes y mejores trabajan para el lado bueno. Ellos deben ejercitar sus mentes, crecer intelectualmente, y no han de preocuparse por si los arrestan. Trabajan a la vanguardia de la seguridad informática, se ganan la admiración de sus compañeros, promueven el avance humano en nombre de lo bueno y son recompensados económicamente por ello. Este libro trata sobre héroes a veces desconocidos que hacen posible nuestras increíbles vidas digitales.

NOTA Aunque los términos hacker o hackeo pueden hacer referencia a una persona o actividad con buenas o malas intenciones, el uso popular tiene casi siempre una connotación negativa. Yo he podido descubrir que los hackers pueden ser buenos y malos, pero en este libro utilizo los términos sin calificaciones que impliquen connotaciones negativas o positivas simplemente para ahorrar espacio. Toma el significado completo de las frases para juzgar la intención de los términos.

La mayoría de los hackers no son genios

Desgraciadamente, casi todos los que escriben sobre hackers informáticos criminales sin una experiencia real los idealizan como si fueran seres superinteligentes y míticos, como dioses. Ellos pueden adivinar cualquier contraseña en menos de un minuto (especialmente bajo la amenaza de una pistola, si os creéis todo lo que viene de Hollywood), entrar en cualquier sistema y crackear cualquier secreto encriptado. Trabajan sobre todo por la noche y beben grandes cantidades de bebidas energéticas mientras ensucian sus puestos de trabajo con restos de patatas fritas y cupcakes. Un alumno utiliza la contraseña robada de su profesor para cambiar sus notas y los medios de comunicación lo adulan como si fuera el nuevo Bill Gates o Mark Zuckerberg.

Los hackers no tienen por qué ser brillantes. Yo soy la prueba viviente. A pesar de que he podido entrar en todos los lugares en los que me han contratado para hacerlo, nunca he entendido por completo la física cuántica o la teoría de la relatividad. Suspendí dos veces inglés en el instituto, no he sacado nunca más de un Bien en matemáticas y mi promedio de notas del primer semestre en la universidad fue un 0,62: 5 Insuficientes y 1 Sobresaliente. El único Sobresaliente fue en natación, porque había sido vigilante de playa durante 5 años. Mis malas notas no eran solo porque no me esforzara. Simplemente no era tan inteligente y no me esforzaba. Más tarde aprendí que estudiar y trabajar duro suele ser más valioso que haber nacido inteligente. Terminé acabando mi carrera universitaria y sobresaliendo en el mundo de la seguridad informática.

Aun así, incluso cuando a los hackers malos los escritores no los llaman superinteligentes, los lectores suelen asumir que lo son porque siempre se muestran practicando algún tipo de magia negra avanzada que el resto del mundo no conocemos. En la psique colectiva mundial, es como si «hacker malicioso» y «superinteligencia» deban ir siempre juntos. Y esto no es así. Unos cuantos son inteligentes, la mayoría son normales y algunos no son demasiado brillantes, como el resto del mundo. Los hackers simplemente conocen datos y procesos que el resto de la gente ignora, como un carpintero, un fontanero o un electricista.

Los defensores son más que hackers

Si hacemos una comparación intelectual, como promedio, los defensores son más inteligentes que los atacantes. Un defensor debe saber todo lo que sabe un hacker malicioso y, además, cómo detener el ataque. Y esa defensa no funcionará a menos que casi no requiera participación del usuario final, trabaje de forma silenciosa entre bambalinas y lo haga siempre a la perfección (o casi). Muéstrame un hacker malicioso con una técnica particular y yo te mostraré múltiples defensores que son mejores y más inteligentes. Lo que ocurre es que el atacante normalmente recibe más portadas. Este libro contiene argumentos para un tratamiento más equilibrado.

Los hackers son especiales

Aunque yo no clasifico a todos los hackers como superinteligentes, buenos o malos, todos ellos comparten una serie de características. Una de estas características que tienen en común es una gran curiosidad intelectual y el deseo de probar cosas fuera de la interfaz y los límites proporcionados. No tienen miedo a hacerlo a su manera. Los hackers informáticos suelen ser hackers de la vida, que hackean todo tipo de cosas más allá de los ordenadores. Hay gente que, cuando llega al control de seguridad de un aeropuerto, ya está pensando en cómo podría colar un arma por los detectores, aunque no tenga ninguna intención de hacerlo. Gente que piensa si las entradas tan caras de un concierto se podrían falsificar fácilmente, aunque no tenga ninguna intención de entrar gratis. Gente que cuando compra un televisor, se pregunta si podrá acceder a su sistema operativo para conseguir alguna ventaja. Muéstrame un hacker y yo te mostraré a alguien que siempre está cuestionando el status quo e investigando.

NOTA Mi hipotético esquema para colar armas por el control de seguridad del aeropuerto pasa por utilizar sillas de ruedas y esconder las armas y los explosivos dentro de las partes de metal. Las sillas de ruedas normalmente pasan por los controles de seguridad de los aeropuertos sin ser sometidas a fuertes registros.

Los hackers son persistentes

Después de la curiosidad, la característica más útil de un hacker es la persistencia. Todos los hackers, sean buenos o malos, conocen la agonía de pasar horas y horas intentando una y otra vez que algo funcione. Los hackers maliciosos buscan debilidades en las defensas. Un error del defensor hace toda la defensa más débil. Un defensor debe ser perfecto. Todos los ordenadores y los programas informáticos deben ser parcheados, toda configuración, adecuadamente segura, y todo usuario final debe estar perfectamente capacitado. O, al menos, este es el objetivo. El defensor sabe que las defensas aplicadas no siempre funcionan o que no son aplicadas como deberían, por lo que crea niveles de «defensa en diferentes profundidades». Tanto los hackers maliciosos como los defensores buscan las debilidades, aunque desde lados opuestos del sistema. Ambas partes participan en una guerra en curso con distintas batallas, ganadores y vencidos. La parte más persistente será quien gane la guerra.

Los sombreros de los hackers

Yo he sido hacker toda mi vida. Me han pagado para acceder a sitios (tenía autorización legal para hacerlo). He crackeado contraseñas, me he introducido en redes de trabajo y he desarrollado malware. En ningún momento he incumplido la ley ni cruzado los límites éticos. Esto no significa que no haya habido gente que me haya tentado a hacerlo. Durante estos años, he tenido amigos que me han pedido que entrara en los chats sospechosos del teléfono móvil de su esposa, jefes que me han pedido que accediera al correo electrónico de su superior o gente que me ha pedido que irrumpiera en el servidor de un hacker malo (sin autorización judicial) para intentar evitar que continuara hackeando. Cuando empiezas, tienes que decidir quién eres y cuál es tu ética. Yo decidí que sería un hacker bueno (un hacker «de sombrero blanco»), y los hackers de sombrero blanco no hacen cosas ilegales ni no éticas.

Los hackers que participan habitualmente en actividades ilegales y no éticas se denominan «de sombrero negro». Los hackers que actúan como un sombrero blanco pero que, a escondidas, realizan actividades de sombrero negro se conocen como «de sombrero gris». Mi código moral es binario en este tema. Los hackers de sombrero gris son hackers de sombrero negro. O haces cosas ilegales o no las haces. Si robas un banco serás un ladrón, hagas lo que hagas con el dinero.

Esto no significa que los hackers de sombrero negro no puedan convertirse en hackers de sombrero blanco. Esto siempre ocurre. La pregunta para algunos de ellos es si podrán convertirse en hackers de sombrero blanco antes de pasar un tiempo sustancial en prisión. Kevin Mitnick (https://es.wikipedia.org/wiki/Kevin_Mitnick), uno de los hackers detenidos más conocidos de la historia (y presentado en el Capítulo 5), vive actualmente como defensor ayudando al bien común. Robert T. Morris, el primero en programar y lanzar un gusano que tumbó Internet (https://es.wikipedia.org/wiki/Robert_Tappan_Morris), finalmente fue galardonado como miembro de la Association for Computing Machinery (http://awards.acm.org/award_winners/morris_4169967.cfm) «por sus contribuciones en redes de ordenadores, sistemas distribuidos y sistemas operativos».

Al principio, el límite entre el hackeo legal e ilegal no estaba tan claramente definido como ahora. De hecho, a la mayoría de los primeros hackers ilegales se les dio un estado de culto de superhéroe. Incluso no puedo evitar sentirme atraído por alguno de ellos. John Draper (también conocido como Captain Crunch) utilizó un silbato de juguete que se distribuía en las cajas de los cereales Cap’n Crunch para generar un tono (2.600 Hz) que podía servir para realizar llamadas telefónicas de larga distancia gratis. Muchos de los hackers que han puesto al descubierto información privada para «una buena causa» han sido aplaudidos. Sin embargo, con pocas excepciones, yo no he adoptado nunca una visión idealizada de los hackers maliciosos. Siempre he sido de la opinión que la gente que hace cosas sin autorización en ordenadores e información de otras personas está cometiendo actos criminales.

Hace años, cuando empecé a interesarme por los ordenadores, leí un libro titulado Hackers: Heroes of the Computer Revolution [ Hackers: héroes de la revolución informática], de Steven Levy. En la era adulta de los ordenadores personales, Levy escribió una entretenida historia de hackers, buenos y malos, que incorpora el ethos del hacker. La mayor parte del libro está dedicada a gente que mejora el mundo mediante el uso de ordenadores, pero también habla de aquellos hackers que hoy en día serían arrestados por sus actividades. Algunos de estos hackers creían que el fin justifica los medios y siguieron una serie de reglas morales enmarcadas en algo que Levy llamó «ética hacker ». Las más importantes de estas creencias eran que se puede acceder a cualquier ordenador cuando se tiene una razón legítima, que toda la información debería ser libre y que hay que desconfiar de las autoridades. Era una visión romántica del hackeo y de los hackers, aunque no ocultaba los cuestionables problemas éticos y legales. De hecho, se centró en los nuevos límites emergentes.

Steven Levy fue el primer autor al que le envié una copia de mi libro y le pedí que me lo devolviera firmado (algo que otros me han hecho a mí, que he escrito 8 libros). Levy ahora es escritor, se ha convertido en editor técnico para distintas revistas, entre ellas Newsweek, Wired y Rolling Stone, y ha escrito 6 libros sobre temas de seguridad informática. Actualmente, Levy sigue siendo un importante escritor de tecnología. Su libro Hackers me introdujo en el maravilloso mundo del hackeo en general.

Más tarde, otros libros, como Flu-Shot [Vacuna contra la gripe], de Ross Greenberg (descatalogado desde hace tiempo), y Computer Viruses, Worms, Data Diddlers, Killer Programs, and Other Threats to Your System [Virus informáticos, gusanos, corruptores de datos, programas asesinos y otras amenazas para tu sistema] de John McAfee, me hicieron empezar a luchar contra los hackers maliciosos. Al leerlos me emocioné lo suficiente como para dedicarme de por vida a combatir las mismas amenazas.

En todo este tiempo, he aprendido que los defensores son los hackers más inteligentes. No quiero pintar a todos los hackers maliciosos con el mismo toque de mediocridad. Cada año surgen hackers deshonestos que descubren cosas nuevas. Existen muy pocos hackers inteligentes. La amplia mayoría de hackers maliciosos simplemente repiten algo que funciona desde hace 20 años. Para ser honestos, la media de los hackers maliciosos no tiene el suficiente talento de programación como para escribir una simple aplicación de texto, y mucho menos para descubrir ellos solos cómo acceder a algún sitio, descifrar códigos encriptados o adivinar con éxito contraseñas —no sin mucha ayuda por parte de otros hackers que años antes ya habían realizado el verdadero trabajo intelectual.

Lo irónico es que toda la gente superinteligente que conozco del mundo informático no son hackers maliciosos, sino defensores. Ellos tienen que saber todo lo que hacen los hackers, adivinar lo que harán en un futuro y crear una defensa intuitiva y fácil contra todos ellos. El mundo de los defensores está lleno de doctores, estudiantes de máster y empresarios con éxito. Los hackers pocas veces me impresionan. Los defensores siempre lo hacen.

Es normal que los defensores descubran nuevas formas de hackear sin que nadie lo sepa. La tarea de los defensores es defender, y dar a los hackers maliciosos nuevas maneras de hackear algo antes de que las defensas estén en su sitio no facilita la vida a nadie. La forma de ganarse la vida de los defensores es descubrir un nuevo hackeo y ayudar a cerrar el agujero antes de que sea descubierto por el mundo exterior. Esto ocurre muchas más veces que al contrario (es decir, que el hacker externo descubra un nuevo agujero).

He visto más de una vez defensores que descubren un nuevo hackeo y, por razones de eficiencia de costes o de tiempo, el agujero no se soluciona de inmediato y, más tarde, un hacker externo se acredita como «descubridor». Desafortunadamente, los defensores no siempre obtienen la gloria y los agradecimientos inmediatos cuando realizan su trabajo diario.

Después de observar con atención tanto a hackers maliciosos como a defensores durante casi tres décadas, tengo claro que los defensores son los más impresionantes de los dos. Y con diferencia. Si quieres demostrar a alguien lo bueno que eres en informática, no le muestres un nuevo hackeo. Muéstrale una nueva y mejor defensa. Encontrar una nueva forma de hackear no requiere inteligencia. Simplemente requiere persistencia. Y se necesitan personas especiales e inteligentes para construir algo capaz de soportar hackeos constantes durante largos periodos de tiempo.

Si quieres impresionar al mundo, no derribes el garaje. En lugar de eso, crea un código que pueda soportar el hacha matadora del hacker.

2
Cómo hackean los hackers

La actividad profesional más agradable que hago es la prueba de intrusión (también conocida como pen testing). La prueba de intrusión es hackear en el sentido más estricto de la palabra. Es un humano contra una máquina en una batalla de ingenio. El «atacante» humano puede utilizar su propio ingenio y herramientas nuevas o existentes mientras busca debilidades, basadas ya sea en una máquina o en un humano. En todos los años que llevo de pruebas de intrusión, a pesar de que normalmente necesito semanas para realizar una prueba, la mayoría de las veces he hackeado con éxito mi objetivo en aproximadamente 1 hora. El mayor tiempo que he necesitado han sido 3 horas. Esto incluye bancos, sitios de Gobiernos, hospitales y sitios corporativos que me han contratado para hacerlo.

Y tampoco soy tan bueno como pentester. En una escala del 1 al 10, en la que un 10 es el mejor, yo estoy sobre el 6 o el 7. En el lado de los defensores, me siento el mejor del mundo. Pero como atacante, soy bastante normal. He estado rodeado por impresionantes pentesters —hombres y mujeres que solo piensan en crear sus propias herramientas para pruebas o que no consideran sus pruebas un éxito a menos que no generen un evento en un archivo de registro que podría haber causado una alerta—. Pero incluso la gente a quien yo considero un 10 se considera ella misma normal y admira a otros pentesters de los cuales piensa que son dieces. ¿Cómo deben ser de buenos esos hackers?

Sin embargo, no tienes que ser extremadamente bueno para ser un hacker de éxito. Incluso no tienes que entrar en la red del cliente que te ha contratado (asumo que te pagan de forma legal para la prueba de intrusión) para estar satisfecho con tu trabajo. De hecho, tu cliente estaría completamente emocionado si no tuvieras éxito. Podrían jactarse de que han contratado a un hacker y su red ha resistido el ataque. Todos salen ganando. A ti te pagarán lo mismo y ellos presumirán de ser impenetrables. Este es el único trabajo que conozco en el cual no puedes tener un mal resultado. Desgraciadamente, no conozco a ningún pentester que nunca haya entrado con éxito en todos sus objetivos. Estoy seguro de que existen hackers que fallan, pero la amplia mayoría de los pentester «consiguen su premio».

NOTA Si tu prueba de intrusión no encuentra ninguna debilidad y poco después tu cliente es asaltado por atacantes reales, no quedarás bien. Si esto ocurre muchas veces, correrá la voz y probablemente tendrás que buscar otro empleo. Las debilidades están ahí. Encuéntralas.

Los pentesters suelen hacer cosas extra para impresionar a los altos directivos de su objetivo, como sacar una foto clandestina del CEO en su mesa de trabajo o incrustar la contraseña del administrador del dominio en la imagen de una bandera pirata que aparece en el salvapantallas del administrador de seguridad. Una imagen vale más que mil palabras. Nunca subestimes lo que una imagen tonta puede hacer crecer la satisfacción de tu cliente con tu trabajo. Hablarán de la foto (y presumirán de ti) años después de que hayas acabado tu trabajo. Si puedes, termina siempre el pastel con una guinda. Con esta recomendación, quedarás como «un consultor de oro».

El secreto de hackear

Si existe algún secreto sobre cómo hackean los hackers, es que no hay ningún secreto de cómo lo hacen. Es un proceso de aprendizaje de los métodos correctos y del uso de las herramientas adecuadas para el trabajo, exactamente como un electricista, un fontanero o un constructor. Tampoco hay una única manera de hacerlo. Sin embargo, sí que hay un conjunto definido de pasos que describe el proceso más amplio y global, y que incluye todos los pasos que un hacker debería llevar a cabo. No todos los hackers utilizan todos los pasos, pero en general, si los sigues todos, es probable que tengas mucho éxito hackeando. Puedes saltarte uno o más de estos pasos y continuar siendo un hacker de éxito. El software malicioso y otras herramientas para hackear, a menudo, permiten a los hackers saltarse pasos, pero como mínimo uno de estos pasos, el punto de intrusión inicial, siempre es obligatorio.

Independientemente de si te vas a dedicar a ser hacker (legal), si vas a luchar contra hackers maliciosos, tienes que entender la «metodología del hackeo» o como lo llame la persona o el documento que la describe. Los modelos pueden variar, así como el número de pasos incluidos, el nombre de los pasos y los detalles específicos de cada paso, pero todos ellos contienen los mismos componentes básicos.

La metodología del hackeo

La metodología del hackeo contiene, en este orden, los siguientes pasos:

1. Recopilación de información

2. Intrusión

3. Opcional: Garantía de un acceso futuro más fácil

4. Reconocimiento interno

5. Opcional: Movimiento

6. Ejecución de la acción prevista

7. Opcional: Borrado de pistas

Recopilación de información

A menos que una herramienta de hacker lo esté ayudando a acceder de forma aleatoria a cualquier sitio vulnerable posible, el hacker suele tener un objetivo en mente. Si un hacker quiere introducirse en una empresa determinada, lo primero que debe hacer es investigar todo cuanto pueda acerca de la empresa que lo ayude a entrar. Como mínimo, esto significa direcciones IP accesibles, direcciones de correo electrónico y nombres de dominios. El hacker descubre a cuántos sitios y servicios potenciales puede acceder que están conectados con la empresa. Utiliza los medios de comunicación y los informes financieros públicos para averiguar quiénes son los altos cargos o para encontrar otros nombres de empleados para ingeniería social. El hacker busca noticias para ver qué software nuevo ha comprado el objetivo recientemente, qué fusiones o separaciones se están produciendo (estos son siempre asuntos confusos y acompañados a menudo por una relajación o pérdida de la seguridad) y con qué socios interactúa. Muchas empresas se han visto afectadas a través de un socio mucho más débil.

Averiguar a qué activos digitales está conectada una empresa es la parte más importante de la recopilación de información en la mayoría de los ataques de hackers. No solo son los sitios y servicios principales (públicos) lo que normalmente se identifica, sino que para el atacante suele ser más útil localizar los sitios y servicios conectados menos populares, como portales de empleados y socios. Los sitios y servidores menos populares son más propensos a tener alguna debilidad en comparación con los sitios principales, con los cuales ya se ha luchado durante años.

Todo buen hacker empieza recopilando todos los programas informáticos y los servicios alojados en cada uno de estos sitios, un proceso generalmente conocido como fingerprinting. Es muy importante saber qué sistemas operativos (OS) se utilizan y en qué versiones. Las versiones del sistema operativo pueden indicar a un hacker qué nivel de parches y qué errores de software existen o no existen. Por ejemplo, puede encontrarse con Windows Server 2012 R2 y Linux Centos 7.3-1611. Después, busca programas informáticos y las versiones de estos programas (por la misma razón) que se ejecutan en cada sistema operativo. Si se trata de un servidor web, podrá encontrarse con Internet Information Server 8.5 en el servidor de Windows y Apache 2.4.25 en el de Linux. Realiza un inventario de cada dispositivo, sistema operativo, aplicación y versión ejecutados en cada uno de sus objetivos previstos. Siempre es mejor hacer un inventario completo para obtener una imagen global del objetivo, pero otras veces el hacker puede encontrar una gran vulnerabilidad muy pronto y simplemente saltar al paso siguiente. A menos que encuentre una vulnerabilidad tan rápido, cuanta más información tenga acerca de lo que se está ejecutando, mejor. Cada programa informático y versión adicional proporciona posibles vectores de ataque adicionales.

NOTA Algunos hackers denominan la recopilación de información general y no técnica footprinting y el mapeado del sistema operativo y los programas informáticos, fingerprinting.

A veces, cuando un hacker se conecta a un servicio o sitio, este responde amablemente con información de versión muy detallada, por lo que no se necesita ninguna herramienta. Cuando esto no es así, existen muchas herramientas de ayuda para el fingerprinting del sistema operativo y las aplicaciones. De lejos, el número uno de las herramientas de fingerprinting utilizadas por hackers es Nmap (https://nmap.org/). Nmap se utiliza desde 1997. Se presenta en múltiples versiones, incluyendo Windows y Linux, y es como la navaja suiza para el hacker. Puede llevar a cabo todo tipo de pruebas y escaneos de servidores y es un excelente fingerprinter de sistemas operativos y una buena aplicación de este tipo. Existen mejores aplicaciones fingerprinters, especialmente aquellas que están centradas en un tipo determinado de fingerprinting, como servidores web, bases de datos o servidores de correo electrónico. Por ejemplo, Nikto2 (https://cirt.net/Nikto2) no solo realiza el fingerprint de servidores web mejor que Nmap, sino que además lleva a cabo miles de pruebas de intrusión y permite conocer las vulnerabilidades existentes.

Intrusión

Este es el paso que da nombre al hacker, (N. del T.: en inglés, to hack significa obtener acceso de forma ilegal). El éxito de este paso es crucial para todo el ciclo. Si el hacker ha hecho sus deberes en la etapa del fingerprinting, esta etapa realmente no es difícil. De hecho, yo siempre la he superado. Siempre hay software antiguo, cosas sin parchear e, incluso, algo mal configurado en la recopilación de software identificado.

NOTA Uno de mis trucos favoritos es atacar el software y los dispositivos que los defensores utilizan para defender sus redes. A menudo, estos dispositivos se denominan aparatos (appliances), que es simplemente otra forma de designar un ordenador con software difícil de actualizar. Estos aparatos son conocidos por estar años sin sin que se les apliquen parches.

Si, afortunadamente, todo el software y los dispositivos son perfectamente seguros (y nunca lo son), puedes atacar al elemento humano, que es siempre la parte más débil de la ecuación. Pero sin la intrusión inicial, el hacker lo tiene todo perdido. Afortunadamente para él, hay muchas maneras de entrar en el objetivo. Estas son las diferentes técnicas que un hacker puede utilizar para ello:

■ Ataque de día cero

■ Software sin parche

■ Software malicioso o malware

■ Ingeniería social

■ Problemas con contraseñas

■ Ataque de intermediario/MitM

■ Fuga de información

■ Configuración errónea

■ Ataque de denegación de servicio

■ Información privilegiada/socio/asesor/proveedor/terceras partes

■ Error de usuario

■ Acceso físico

■ Escalada de privilegios

Ataque de día cero Los ataques (exploits) de día cero no son tan frecuentes como las vulnerabilidades habituales, que los proveedores normalmente ya han parcheado hace tiempo. Un ataque de día cero es aquel para el cual el software objetivo todavía no ha sido parcheado y la gente (y normalmente el proveedor) lo desconocen. Cualquier sistema informático que utilice un software con un error de día cero es esencialmente explotable a voluntad, a menos que la víctima potencial desinstale el software o haya colocado en su lugar algún tipo de solución (por ejemplo, un cortafuegos, una lista de control de acceso [ACL], segmentación de VLAN, software antidesbordamiento de búfer, entre otros).

Los ataques de día cero son vulnerabilidades menos conocidas que las habituales, dado que no pueden ser ampliamente utilizadas por un atacante. Si un atacante lleva a cabo un ataque de día cero, el valioso agujero será descubierto y parcheado por los fabricantes y colocado en firmas antimalware. Actualmente, la mayoría de los fabricantes pueden parchear nuevas explotaciones en unas horas o hasta pocos días después de su descubrimiento. Cuando se lanza un ataque de día cero, o bien se utiliza contra muchos objetivos al mismo tiempo para una mayor posibilidad de explotación o bien «a fuego lento», que significa con moderación, a veces y solo cuando se necesita. Los mejores hackers profesionales del mundo suelen tener colecciones de ataques de día cero que solo utilizan cuando todo lo demás falla, y de tal forma que pasen totalmente desapercibidos. Un ataque de día cero debe utilizarse para conseguir un acceso inicial a un objetivo especialmente resistente; después, todas las pistas deberán ser eliminadas y, a partir de ese punto, se utilizarán métodos más tradicionales.

Software sin parchear El software sin parchear es siempre una de las razones más frecuentes por las que un ordenador o un dispositivo es explotado. Cada año, hay miles (normalmente, entre 5.000 y 6.000, o 15 al día) de nuevas vulnerabilidades anunciadas públicamente entre todo el software más utilizado. (Echa un vistazo a las estadísticas reportadas en cada edición de Microsoft Security Intelligence Report, http://microsoft.com/sir.) Por lo general, los fabricantes han mejorado en el desarrollo de código más seguro y la localización de sus propios errores; sin embargo, existe un número cada vez más elevado de programas y billones de líneas de código, por lo que el número total de errores se ha estabilizado relativamente durante las dos décadas anteriores.

La mayoría de los fabricantes realizan un buen trabajo parcheando sus programas de una manera oportuna, especialmente después de que una vulnerabilidad se haga pública. Desgraciadamente, los clientes tardan mucho en aplicar sus parches, llegan incluso a desactivar las rutinas automáticas de aplicación de parches establecidas por el fabricante. Un porcentaje moderado de usuarios no parchean nunca su sistema. Hay quien ignora las múltiples advertencias sobre parches y simplemente le aburren o desconoce que un parche deba aplicarse. (Por ejemplo, muchos sistemas de puntos de venta no notifican al cajero que es preciso aplicar un parche). La mayoría de los ataques de software ocurren contra programas que no han sido parcheados en muchos, muchos años.

Aunque una empresa concreta o un usuario parchee una vulnerabilidad crítica en cuanto esta se anuncia, un hacker paciente y persistente puede esperar a que se anuncie dicho parche, que está en el inventario de fingerprint de su objetivo, y lanzar el correspondiente ataque antes de que el defensor tenga tiempo de parchearlo. (Es relativamente fácil para un hacker hacer ingeniería inversa de un parche y descubrir cómo explotar una vulnerabilidad en concreto).

Tanto los ataques de día cero como las vulnerabilidades de software normales se explican por prácticas de codificación de software inseguras. Las vulnerabilidades de software serán tratadas en el Capítulo 6.

Software malicioso o malware Los programas maliciosos se conocen como malware y los tipos tradicionales más conocidos son los virus, los troyanos y los gusanos, aunque el malware actual suele ser una mezcla de varios tipos. El malware permite al hacker utilizar un método de explotación para atacar más fácilmente a sus víctimas o llegar a un mayor número de víctimas de forma más rápida. Cuando se descubre un nuevo método de explotación, los defensores saben que los desarrolladores de malware utilizarán malware automatizado para difundir la explotación más rápidamente en un proceso denominado weaponization. Aunque las explotaciones son algo que debería evitarse, suele ser la weaponization de la explotación lo que genera un mayor riesgo para el usuario final y la sociedad. Sin malware, un atacante está obligado a implementar un ataque contra una víctima a la vez. Con malware, millones de víctimas pueden ser explotadas en cuestión de minutos. El malware será tratado con más detalle en el Capítulo 9.

Ingeniería social Una de las estrategias de hackeo más exitosas es la ingeniería social. La ingeniería social, ya sea llevada a cabo manualmente por un adversario humano o mediante un método automatizado, es un truco de hackers que consiste en engañar a un usuario final para que haga algo perjudicial para su propio ordenador o seguridad. Puede ser un correo electrónico que engaña al usuario para que haga clic sobre un vínculo web malicioso o que ejecute un archivo adjunto falso. También puede ser algo o alguien que engaña a un usuario para que revele su información privada de acceso (truco conocido como phishing). La ingeniería social ha sido muy frecuente en los ataques perpetrados por hackers. El que fue durante mucho tiempo hacker de sombrero blanco, Kevin Mitnick, solía ser uno de los mejores ejemplos de ingenieros sociales maliciosos. El perfil de Mitnick se muestra en el Capítulo 5, mientras que la ingeniería social se trata más detalladamente en el Capítulo 4.

Problemas con contraseñas Las contraseñas o sus derivaciones almacenadas internamente pueden ser descifradas o robadas. Durante mucho tiempo, adivinar contraseñas (o la ingeniería social) era uno de los métodos más populares para conseguir el acceso inicial a un sistema informático o una red, y lo sigue siendo. Sin embargo, el robo de credenciales y su reutilización (como los ataques pass-the-hash) ha entrado por la puerta grande en el campo del hackeo de contraseñas en la última media década. Mediante el robo de contraseñas, el atacante normalmente consigue el acceso administrativo a un ordenador o dispositivo y recupera una o más credenciales de inicio de sesión almacenadas en el sistema (ya sea en memoria o en el disco duro). Las credenciales robadas se utilizan después para acceder a otros sistemas que aceptan los mismos datos de inicio de sesión. Casi todos los grandes ataques corporativos han tenido el robo de credenciales como componente de explotación común, tanto es así que la técnica del descifrado de contraseñas ya no se utiliza tanto. El hackeo de contraseñas se tratará en el Capítulo 21.

Ataque de intermediario/MitM El ataque de intermediario o de Man-in-the-Middle (MitM) pone en peligro una conexión de red legítima para obtener acceso a las comunicaciones o participar de ellas maliciosamente. La mayoría de los ataques de intermediario ocurren por fallos de red o de protocolos de aplicación, aunque también pueden llevarse a cabo por un error humano. Actualmente, los ataques de intermediario se producen en redes inalámbricas. Los ataques a redes se tratarán en el Capítulo 33 y los ataques inalámbricos, en el Capítulo 23.

Fugas de información La fuga de información privada puede ser el resultado de una de las formas de hackeo existentes o bien de una acción humana no intencionada (o intencionada). La mayor parte de las fugas de información ocurren a causa de una ubicación descuidada de la misma (y con poca protección) o porque algún hacker ha descubierto el modo de acceder a datos que eran privados. No obstante, los ataques internos, donde un empleado o empresario roba o utiliza de forma intencionada información privada, también es una forma común de hackeo. Muchos de los capítulos de este libro tratan sobre la prevención de las fugas de información.

Configuración errónea También resulta común para usuarios y administradores de ordenadores implementar (a veces sin saberlo) opciones de seguridad muy débiles. No sabría decir cuántas veces he ido a un sitio web público y he encontrado que la mayoría de los archivos críticos estaban marcados con permisos del grupo Todo o Público —y estos permisos son exactamente lo que parecen—. Y cuando se permite a todo el mundo acceder a todos los archivos que desee, tu sitio o los archivos almacenados en él dejarán de ser privados en poco tiempo. La seguridad en sistemas operativos y configuraciones se tratará en el Capítulo 30.

Ataque de denegación de servicio Incluso si no hay nadie que haya cometido un error o que haya dejado una pequeña parte de un software sin parchear, todavía es posible hacer caer de Internet casi cualquier sitio web o cualquier ordenador. Aunque tú seas perfecto, tus ordenadores dependen de uno o más servicios que no lo son, que tú no controlas. Hoy en día, los grandes ataques de denegación de servicio distribuido (DDoS) pueden hacer caer o perjudicar de forma importante casi cualquier sitio web u ordenador contectado a Internet. Estos ataques suelen contener miles de millones de paquetes por segundo, lo que sobrecarga el objetivo (o sus vecinos de origen o destino). Existen decenas de servicios comerciales (a veces ilegales) que cualquiera puede utilizar tanto para causar un enorme ataque DDoS como para defenderse de él. Los ataques DDoS se tratarán en el Capítulo 28.

Información privilegiada/socio/asesor/proveedor/terceros Incluso si toda tu red y todos sus ordenadores están perfectos (que no lo están), puede ocurrir un fallo en un ordenador conectado de un socio o de un empleado interno. Esta categoría es muy amplia e implica varios de los métodos de hackers.

Error de usuario Esta categoría de intrusión también implica varios métodos de hackeo. Por ejemplo, un usuario puede enviar de forma accidental información privada a un usuario no autorizado simplemente introduciendo un carácter mal escrito en una dirección de correo electrónico. Otro usuario puede olvidarse por error de parchear un servidor en riesgo o configurar un permiso equivocado. Un error común de usuario es cuando alguien responde a un correo electrónico pensando que dicha respuesta es privada o que va dirigida a una breve lista de gente, pero en realidad está contestando a una amplia lista o, incluso, a alguien de quien se está hablando mal. Señalo estos errores de usuario por separado porque a veces ocurren y los hackers están preparados para sacar partido de ellos.

Acceso físico El saber popular dice que si un atacante tiene acceso físico a un activo, este simplemente lo robará todo (uf, tu teléfono móvil ha desaparecido) y lo destruirá o se saltará todas las protecciones para acceder a la información privada. Y esta percepción se ha demostrado bastante precisa hasta el momento, incluso contra las defensas que están explícitamente destinadas a proteger dicho activo ante cualquier ataque físico. Por ejemplo, muchos programas de cifrado de discos pueden ser vencidos por el atacante con un microscopio electrónico para obtener las claves secretas de protección identificando por separado los electrones que componen dichas claves. O la RAM puede congelarse con aire comprimido para traducir la clave secreta encriptada en texto sin cifrar debido a un fallo en la manera en que la memoria almacena físicamente la información.

Escalada de privilegios Cada hacker utiliza uno de los métodos de intrusión descritos en las secciones anteriores para explotar inicialmente un sistema objetivo. La única cuestión tras haber conseguido entrar es con qué tipo de acceso de seguridad se encontrará. Si están explotando un programa o un servicio informático que se ejecuta en el contexto de seguridad del mismo usuario, solo tendrán por el momento los mismos privilegios y permisos de acceso que el usuario conectado. O pueden conseguir el Santo Grial del sistema y obtener el acceso completo al sistema administrativo. Si el atacante solo cuenta con permisos de acceso normales y sin privilegios, entonces, por lo general ejecuta un segundo ataque de escalada de privilegios para intentar obtener un mayor acceso privilegiado. Los ataques de escalada de privilegios abarcan toda la gama, esencialmente duplicando los mismos enfoques que para la intrusión, pero empiezan por el punto de partida más alto de tener como mínimo algún acceso. Los ataques de escalada de privilegios son generalmente más fáciles de llevar a cabo que las explotaciones iniciales. Y como dichas explotaciones iniciales tienen el éxito siempre garantizado, la escalada de privilegios resulta mucho más fácil.

Garantía de un acceso futuro más fácil

Aunque es opcional, una vez un atacante ha obtenido el acceso inicial, la mayoría de los hackers trabajan implementando un método adicional que asegure que podrán acceder de forma más rápida y sencilla al mismo activo o software la próxima vez. Para muchos hackers, esto significa situar una puerta trasera (backdoor) conocida por la cual puedan conectarse directamente en ocasiones futuras. Otras veces, significa descifrar contraseñas o crear nuevas cuentas. El atacante siempre puede utilizar las mismas explotaciones que ya han funcionado con éxito la última vez para conseguir el acceso inicial, pero por lo general quiere otro método que funcione incluso si la víctima soluciona el problema que antes funcionaba.

Reconocimiento interno

Una vez que la mayoría de los hackers han accedido al sistema, empiezan a ejecutar múltiples comandos o programas para saber más sobre el objetivo y qué es lo que está conectado a él. Por lo general, esto significa buscar conexiones de redes en la memoria y en el disco duro, e identificar usuarios, recursos compartidos, servicios y programas. Todas esta información se utiliza para entender mejor el objetivo y sirve como punto de inicio para el siguiente ataque.

Movimiento

No es habitual que el atacante o el malware se contente con acceder solo a un objetivo. Casi todos los hackers y los programas maliciosos quieren difundir su área de influencia por más y más objetivos. Una vez han conseguido acceder al objetivo inicial, propagar esta influencia dentro de la misma red o entidad es muy sencillo. Los métodos de intrusión del hacker descritos en este capítulo resumen las distintas maneras de hacerlo, pero en comparación con los esfuerzos para el acceso inicial, el siguiente movimiento es más fácil. Si el atacante se mueve hacia otros objetivos similares con usos parecidos, se denomina movimiento lateral. Si el atacante pasa de dispositivos con un privilegio a privilegios más altos o más bajos, se denomina movimiento vertical.

La mayoría de los atacantes se mueven de bajos a altos niveles de privilegios utilizando técnicas de movimiento vertical (de nuevo, mediante los métodos de intrusión descritos en este capítulo). Por ejemplo, una metodología común de hacker es que primero el atacante comprometa una única estación de trabajo de un usuario. Utilizará este acceso inicial para buscar y descargar contraseñas de cuentas administrativas locales. Después, si estas credenciales administrativas están compartidas con otras máquinas (que a menudo lo están), entonces se mueve horizontalmente y repite el proceso hasta que captura accesos a cuentas muy privilegiados. A veces, esto se produce inmediatamente durante la primera intrusión, porque el usuario o el sistema conectado ya cuenta con privilegios altos. A continuación, se mueve hasta el servidor de autenticación y obtiene todas las credenciales de conexión del usuario. Este es el modus operandi estándar para la mayoría de los grupos de hackers actualmente, e ir del compromiso inicial a la obtención de una red completa (o pwning, en lenguaje hacker) puede suponer menos de 1 hora.

En mi experiencia personal, y te recuerdo que solo soy un hacker medio, yo tardo normalmente sobre 1 hora en conseguir el acceso inicial y 1 hora más en capturar la base de datos de autenticación centralizada. Es decir, yo, un hacker medio, necesito unas 2 horas para hacerme por completo con una empresa. El tiempo máximo que he necesitado han sido 3 horas.

Ejecución de la acción prevista

Una vez que el acceso está garantizado y la propiedad del activo obtenida, los hackers llevan a cabo lo que tienen previsto hacer (a menos que el acceso haya puesto al descubierto un objetivo nuevo). Todos los hackers tienen previsiones. Un pentester legítimo tiene la obligación por contrato de hacer una o varias cosas. Un hacker malicioso difundirá algún malware, leerá o robará información confidencial, hará modificaciones perjudiciales o causará daños. La única razón que tiene el hacker para poner en riesgo uno o más sistemas es hacer algo. Hace algún tiempo (dos o tres décadas atrás), a la mayoría de los hackers simplemente les bastaba demostrar que habían hackeado un sistema. Hoy en día, el hackeo tiene un 99 % de motivación criminal y el hacker tiene que hacer algo malicioso a su objetivo (aunque el único daño que haga sea permanecer infiltrado de forma silenciosa esperando una futura acción potencial). El acceso no autorizado sin daños directos también es un daño.

Borrado de pistas

Algunos hackers intentarán borrar sus pistas. Esto es lo que solían hacer todos los hackers hace unos años, pero actualmente los sistemas informáticos son tan complejos y tienen tantos números que la mayoría de los propietarios de activos no comprueban la existencia de pistas de hacker. No comprueban los inicios de sesión, no comprueban los cortafuegos y no buscan signos de hackeo ilegal a menos que estos no les golpeen en la cara. Cada año, el Data Breach Investigations Report de Verizon (http://www.verizonenterprise.com/verizon-insights-lab/dbir/) informa de que la mayoría de los atacantes pasan desapercibidos durante meses y años y que un 80 % de los ataques se podrían haber detectado si los defensores se hubieran preocupado de mirar. Gracias a estas estadísticas, la mayoría de los hackers ya no se molestan en borrar sus pistas.

Actualmente es cuando los hackers deben borrar menos sus pistas, puesto que utilizan métodos que nunca serán localizados mediante la detección de acciones de hacker tradicionales. Lo que utiliza el hacker es tan común en el entorno de la víctima que es casi imposible distinguir entre actividades legítimas e ilegítimas. Por ejemplo, una vez dentro, el hacker normalmente lleva a cabo acciones en el contexto de la seguridad de un usuario legítimo, a menudo accediendo a los mismos servidores y servicios que dicho usuario. Y además utiliza las mismas herramientas (como programas de acceso remoto y lenguajes de script) que el administrador. ¿Quién puede decir lo que es malicioso y lo que no? El campo de la detección de intrusiones se tratará en el Capítulo 14.

Hackear es aburridamente exitoso

Si quieres saber cómo hackean los hackers, aquí lo tienes. Se encuentra todo resumido en este capítulo. Lo único que falta es añadir algunas herramientas, curiosidad y persistencia. El ciclo del hackeo funciona tan bien que algunos pentesters, después de haber superado la excitación inicial de ser pagados como hackers profesionales, se aburren y acaban haciendo otras cosas unos años después. ¿Podría haber un testimonio más grande de lo bien que funciona el ciclo? Sí, y es dentro de este marco y de esta forma de pensar que los defensores deben luchar contra los atacantes.

Malware automatizado como herramienta de hackeo

Cuando se utiliza, el malware puede llevar a cabo uno o más pasos, automatizándolo todo o tomando el control manual una vez el objetivo se ha conseguido y sometido. La mayoría de los grupos de hackers utiliza una combinación de ingeniería social, malware automatizado y atacantes humanos para llevar a cabo sus objetivos. En grupos amplios, cada hacker tiene asignado un rol y una especialidad. El malware ejecutará un paso de intrusión sencillo y tendrá éxito incluso sin intentar cualquiera de los otros pasos. Por ejemplo, el programa malicioso más rápido de la historia, el SQL Slammer, solo pesaba 376 bytes. Ejecutó su carga de desbordamiento de búfer contra el puerto UDP 1434 de SQL sin tener en cuenta si el objetivo estaba ejecutando el SQL. Como no había muchos ordenadores que ejecutaran el SQL, estarás pensando que el ataque no sería demasiado eficiente. Pues nada de eso; en 10 minutos cambió el mundo. Ningún otro programa malicioso ha estado tan cerca de infectar a tantos servidores en tan poco tiempo.

NOTA Si he omitido algún paso de la metodología hacker o me he dejado algún método de intrusión, pido disculpas. Una vez más, te recuerdo que solo soy un hacker medio.

Hackear éticamente

Me gustaría pensar que mis lectores son hackers éticos que se aseguran de tener el derecho legal de hackear cualquier objetivo que se hayan propuesto. Hackear un sitio para el cual no tengas la autoridad predefinida y expresa de hacerlo no es ético y, a menudo, es ilegal. Tampoco es ético (aunque no ilegal) hackear un sitio y dar a conocer una vulnerabilidad encontrada si no hay dinero. No es ético y suele ser ilegal encontrar una vulnerabilidad y pedir al sitio que os contrate como pentester. Esta última situación pasa siempre. Lo siento, no se puede decir a alguien que has encontrado una manera de hackear sus sitios o servidores y pedir un trabajo o dinero a cambio sin que esto sea una extorsión. Puedo decir que casi todos los sitios que reciben una solicitud sin ser solicitada no creen que puedas serles útil y no querrán contratarte. Ellos te ven como su enemigo y rápidamente llaman a sus abogados.

El resto del libro está dedicado a describir tipos concretos de hackeo, métodos particulares de intrusión, cómo los defensores luchan contra estos métodos y cómo expertos en su campo combaten contra estos hackers con su mismo juego. Si quieres vivir hackeando o luchar contra hackers, necesitas entender la metodología del hacker. Las personas descritas en este libro son unos monstruos en sus campos y puedes aprender mucho de ellos. Ellos lideran el camino. Una buena manera de empezar es con Bruce Schneier, descrito en el Capítulo 3, considerado por muchos como el padre de la criptografía informática moderna.

3
Perfil: Bruce Schneier

Bruce Schneier es una de esas personas con tanta experiencia y capacidad que muchas introducciones se refieren a él como «lumbrera de la industria». Empezando por que mucha gente lo llama «padre de la criptografía informática moderna», Schneier trascendió su enfoque centrado inicialmente en el cifrado para preguntar en voz alta por qué la seguridad informática no es extremadamente mejor después de todas estas décadas. Habla con autoridad y claridad sobre una amplia variedad de temas de seguridad informática. Lo invitan con frecuencia como experto a programas de televisión nacionales y ha testificado en varias ocasiones en el Congreso de los Estados Unidos. Schneier escribe y redacta blogs, y yo he considerado siempre sus enseñanzas como un máster informal en seguridad informática. Yo no sería ni la mitad de profesional de la seguridad informática de lo que soy ahora sin sus enseñanzas públicas. Él es mi mentor no oficial.

Schneier es conocido por decir cosas extremadamente sencillas que llegan al corazón, y a veces a las tripas, de una creencia o dogma sostenido. Por ejemplo: «Si te centras en los ataques SSL, estás haciendo más por la seguridad informática que el resto del mundo». Lo que quiere decir es que hay tantas otras cosas, mucho más a menudo explotadas con éxito, de las que preocuparse que, si realmente te preocupa una explotación SSL que ocurre raramente, ya debes haber solucionado previamente todo lo demás, más importante. En otras palabras, tenemos que priorizar nuestros esfuerzos en seguridad informática en lugar de reaccionar ante cualquier nueva vulnerabilidad anunciada (y a veces nunca explotada).

Otro ejemplo de cosas que ha comentado es que los que se dedican a la seguridad informática se molestan cuando los empleados no se toman en serio la seguridad de las contraseñas. En lugar de eso, muchos empleados utilizan contraseñas débiles (cuando está permitido), utilizan la misma contraseña en distintos sitios web no relacionados (así están pidiendo a gritos que les hackeen) y muchas veces dan sus contraseñas a amigos, compañeros de trabajo e, incluso, extraños. Nos sentimos frustrados porque nosotros conocemos las posibles consecuencias para el negocio, pero el usuario no entiende el riesgo que corre la empresa cuando utiliza políticas de contraseñas débiles. Lo que Schneier enseñaba es que el usuario evalúa las contraseñas en base al riesgo que puede sufrir él mismo. Pocas veces un empleado es despedido por utilizar políticas de contraseñas erróneas. Incluso si un hacker roba los fondos bancarios de un usuario, estos son reemplazados de inmediato. Schneier nos ha enseñado que somos nosotros, los profesionales en seguridad informática, los que no entendemos el riesgo real. Y hasta que este riesgo real no cause un daño al usuario, este no cambiará su comportamiento de forma voluntaria. ¿Cómo puede ser que tú seas el experto en un tema y que sea el usuario quien entienda mejor el riesgo?

Es el autor de más de 12 libros, como Applied Cryptography: Protocols, Algorithms and Source Code in C [Criptografía aplicada: protocolos, algoritmos y código fuente en C], escrito en 1996. Aunque ha escrito otros libros de criptografía (incluidos un par con Niels Ferguson), hace tiempo Shcneier empezó a decantar su interés hacia por qué la seguridad informática no mejora. El resultado fue una serie de libros, en los cuales exploraba las razones no técnicas (de confianza, económicas, sociales, etc.) de la continua debilidad. Estos libros están llenos de teorías fácilmente comprensibles e ilustradas con ejemplos. Estos son mis libros favoritos de interés general de Schneier:

■ Secrets and Lies: Digital Security in a Networked World [Secretos y mentiras: seguridad digital en un mundo conectado]

■ Beyond Fear: Thinking Sensibly About Security in an Uncertain World [Más allá del miedo: pensar con sensatez sobre la seguridad en un mundo incierto]

■ Liars and Outliers: Enabling the Trust that Society Needs to Thrive [Mentirosos y valores atípicos: habilitar la confianza que la sociedad necesita para prosperar]

■ Data and Goliath: The Hidden Battles to Collect Your Data and Control Your World [Datos y Goliath: las batallas ocultas para recoger información y controlar el mundo]

Si quieres entender realmente la seguridad informática, por qué no es mejor y sus problemas inminentes, debes leer estos libros. También debes leer el blog de Schneier (https://www.schneier.com/) y suscribirte a su newsletter mensual Crypto-Gram (https://www.schneier.com/crypto-gram/). Existe una marcada diferencia en la calidad de aquellos que leen con regularidad a Schneier y los que no lo hacen. Su estilo de escritura es accesible y entretenido, y no soporta a los proveedores de seguridad «falsa». Sus últimas entradas de la serie denominada «Doghouse» contra criptofraudes son lecciones en sí mismas. Escribe con regularidad sobre los temas más importantes del día.

He entrevistado a Schneier en varias ocasiones durante años y, a veces, las entrevistas pueden ser intimidadoras para el entrevistador. No porque sea difícil (que no lo es) o porque hable por encima de ti (que no lo hace), sino porque él a menudo intenta que el entrevistador siga sus propias creencias y suposiciones preconcebidas hasta el final. Si no entiendes algo o no estás de acuerdo con él, no intenta de inmediato desmontar tu argumento. Al contrario, te irá preguntando poco a poco con un estilo interrogativo, dejando que tus respuestas te lleven hacia la conclusión final. Schneier siempre enseña, incluso cuando lo están entrevistando. Te das cuenta de que ya ha pensado antes en estas preguntas y que ya ha debatido sobre esos asuntos mucho más de lo que tú hayas hecho. He intentado tomar prestado algo de esta técnica de autointerrogación cuando pienso en mis creencias fuertemente arraigadas.

Le pregunté a Schneier cómo empezó a interesarse por la seguridad informática. Me contestó: «Siempre me han interesado las matemáticas y los códigos secretos, la criptografía. Mi primer libro, Applied Cryptography [Criptografía aplicada], acabó siendo el libro que me gustaría haber leído. Pero a mí siempre me ha gustado mucho llevar la contraria. Me di cuenta de que la tecnología no era el problema más grande, sino que el mayor problema son los humanos o las interficies que interactúan con los humanos. Los problemas de seguridad informática más complicados no están relacionados con la tecnología, sino con cómo utilizamos la tecnología con todos los aspectos sociales, políticos y económicos relacionados con la seguridad informática. Yo paso mucho tiempo pensando en los usuarios de alto riesgo. Tenemos la tecnología para protegerlos, pero ¿podemos crear soluciones útiles que no les impidan hacer su trabajo? Y aunque así fuera, nunca los convenceríamos de que las usaran».

Le pregunté qué pensaba de las recientes filtraciones internas de algunas agencias de inteligencia americanas. Dijo: «En todos esos datos, no había muchas sorpresas, como mínimo para aquellos que estamos atentos. Lo que sí evidenció fue confirmación y detalle, y este detalle sí era sorprendente. El secreto es sorprendente. Yo no digo que todo lo que ha ocurrido podría haber sido evitado si hubiéramos tenido más conocimientos, pues en el mundo de después del 11-S, todo cuanto hubieran pedido habría sido aprobado. Por lo tanto, lamentablemente, todo cuanto se hizo no ha generado un gran cambio, como mínimo de inmediato. Se aprobó una ley menor (que impedía la recogida masiva de metadatos en todas las llamadas de teléfono americanas por parte de la NSA [Agencia de Seguridad Nacional]). Pero sí que trajo una vigilancia gubernamental a la arena pública, lo que hizo cambiar algunas percepciones públicas. Ahora la gente conoce el tema y se preocupa. Puede pasar otra década hasta que este impacto se note, pero eventualmente la política cambiará para bien gracias a ello».

Le pregunté a Schneier cuál creía que era el mayor problema en seguridad informática y me dijo: «¡La vigilancia corporativa! Son las empresas, más que los Gobiernos, las que quieren espiar. Son Facebook y Google quienes espían a la gente contra sus propios intereses, y el FBI puede exigir una copia tanto si las empresas quieren darla o como si no. El capitalismo de vigilancia es el verdadero y fundamental problema».

Le pregunté a Schneier en qué libro estaba trabajando (él siempre está trabajando en algún libro). Y me contestó: «Estoy pensando en un posible nuevo libro que trate los problemas físicos en la ciberseguridad como el Internet de las cosas, y cómo puede cambiar todo si los ordenadores se vuelven peligrosos. Una cosa es que una hoja de datos tenga una vulnerabilidad y se cuelgue o corra peligro. Y otra cosa es cuando se trata de tu coche. La seguridad informática débil puede matar a gente. ¡Y esto lo cambia todo! Hablé en el Congreso hace un mes sobre este tema. Dije que ha llegado el momento de ponernos serios. Ya no es momento para juegos. Necesitamos regular. ¡Hay muchas vidas en juego! No podemos aceptar este nivel de software de pacotilla lleno de errores. Sin embargo, la industria no está preparada para tomárselo en serio, y debería. ¿Cómo puede alguien trabajar en mejorar la seguridad de los coches como realmente se está haciendo cuando no hemos sido capaces de detener a los hackers y las vulnerabilidades en el pasado? Algo tiene que cambiar. Y cambiará».

Bruce Schneier ha sido durante décadas un líder de pensamiento en el mundo de la seguridad informática y continúa estando a la vanguardia de las discusiones más importantes. Si te interesa la seguridad informática, deja que también sea para ti tu mentor no oficial.

Más información sobre Bruce Schneier

Si deseas saber más acerca de Bruce Schneier, consulta estos recursos:

■ Blog de Bruce Schneier: https://www.schneier.com/

■ Newsletter Crypto-Gram, de Bruce Schneier: https://www.schneier.com/crypto-gram/

■ Libros de Bruce Schneier

4
Ingeniería social

En el mundo de los ordenadores, la ingeniería social puede describirse como engañar a alguien para que haga algo, a menudo perjudicial, para sí mismo o para otros. La ingeniería social es una de las formas más comunes de hackear porque la mayoría de las veces tiene éxito. Normalmente resulta muy frustrante para el defensor, puesto que no se puede prevenir solo mediante la tecnología.

Métodos de ingeniería social

La ingeniería social puede llevarse a cabo de muchas maneras, tanto en el ordenador como mediante una llamada de teléfono, en persona o con métodos tradicionales de correo postal. Existen tantas formas y variedades de ingeniería social que en cualquier lista que intente catalogar todas estas formas faltará alguno de los métodos. Cuando la ingeniería social tiene su origen en el ordenador, normalmente se lleva a cabo por correo electrónico o Internet (aunque también ha habido casos en los que se ha llevado a cabo por mensajería instantánea y mediante cualquier otro tipo de programa informático).

Suplantación de identidad (phishing)

Un objetivo común de la ingeniería social es capturar las credenciales de conexión de un usuario mediante lo que se conoce como phishing o suplantación de identidad. El phishing en correos electrónicos o sitios web intenta engañar al usuario para que proporcione sus credenciales de conexión legítimas haciéndose pasar por un administrador o sitio web legítimo familiar para el usuario. El truco de phishing más común es enviar un correo electrónico haciéndose pasar por un administrador web que reclama al usuario que verifique su contraseña si desea seguir accediendo a dicho sitio.

El spearphishing es un tipo de intento de phishing dirigido concretamente a una persona o un grupo específicos mediante información no pública que el o los objetivos conocen muy bien. Un ejemplo de spearphishing es un gestor de proyectos al cual se envía un documento adjunto en un correo electrónico supuestamente de parte de otro miembro del proyecto supuestamente relacionado con el proyecto con el que está trabajando; cuando abre el documento, se ejecuta alguna acción maliciosa. El spearphishing a menudo está relacionado con muchos de los ataques corporativos más importantes.

Ejecución de troyanos

Otro de los trucos más populares de la ingeniería social se utiliza para hacer que un usuario desprevenido ejecute un programa troyano. Esto puede realizarse vía correo electrónico, con un archivo adjunto o con una URL incrustada. Normalmente ocurre en sitios web. En ocasiones, un sitio legítimo es atacado y, cuando el visitante, confiado, carga la página, debe ejecutar un archivo. El archivo puede ser un complemento «necesario» de terceros, un falso antivirus o un parche «requerido». El sitio web legítimo puede ser atacado directamente o en otro elemento incluido de forma independiente, como un banner de publicidad de terceros. En cualquier caso, el usuario, quien ha confiado en este sitio web legítimo después de visitarlo durante años sin ningún problema, no tiene ninguna razón para sospechar que el sitio ha sido atacado.

Por teléfono

Los estafadores también pueden llamar a un usuario haciéndose pasar por el soporte técnico, un proveedor conocido o una agencia del Gobierno.

Una de las estafas más populares es cuando el usuario recibe una llamada de alguien que dice ser del soporte técnico advirtiendo que se ha detectado un programa malicioso en su ordenador. Entonces solicita al usuario que descargue un programa antimalware, el cual procede, no sin sorpresa, a detectar muchos, muchos programas maliciosos. Después, dicen al usuario que descargue y ejecute un programa de acceso remoto que, posteriormente, el falso equipo de soporte técnico utilizará para conectarse al ordenador de la víctima y dejar en él otros programas maliciosos. El programa del falso soporte técnico termina cuando la víctima compra un programa antimalware, también falso, utilizando su tarjeta de crédito.

Los estafadores telefónicos también pueden hacerse pasar por servicios de recaudación de impuestos, fuerzas policiales u otras agencias del Gobierno, intentado que el usuario pague para evitar duras multas o la cárcel.

Fraudes por compras

Otra estafa muy popular tiene como objetivo personas que compran o venden bienes en sitios web, como en sitios de subastas o del tipo de Craigslist. La inocente víctima puede estar comprando o vendiendo algo.

En los fraudes por compras, el comprador responde rápidamente, normalmente paga el precio completo más los gastos de envío y solicita al vendedor que utilice su agente depositario «de confianza». Seguidamente, envían a la víctima un cheque falso por un importe mayor del acordado en la compra, que la víctima deposita en su cuenta bancaria. (Desgraciadamente, los bancos aceptan fácilmente estos cheques falsos y hacen a la víctima responsable del dinero perdido). El comprador solicita al vendedor que devuelva el dinero sobrante a su consignador o agente depositario. La víctima normalmente acaba perdiendo como mínimo esta cantidad de dinero.

En los fraudes por ventas, la víctima envía el dinero pero no recibe la mercancía. La media de fraudes por ventas es, como mínimo, de 1.000 $, mientras que la media de fraudes por compras puede llegar a los cientos de miles de dólares.

En persona

Algunos de los fraudes de ingeniería social más importantes son aquellos que han llevado a cabo los hackers en persona. En el capítulo siguiente, se describe el perfil de Kevin Mitnick, un popular hacker que fue sombrero blanco. Hace unas décadas, él era uno de los ingenieros sociales físicos más descarados que teníamos. Mitnick no tenía nada en contra de disfrazarse de personal de averías de teléfono o de servicio técnico para acceder a cualquier ubicación segura. Los ingenieros sociales físicos son muy conocidos por entrar en bancos e instalar un keylogger en los terminales de los empleados mientras se hacen pasar por reparadores de ordenadores. La gente desconfía mucho ante cualquier extraño y, sin embargo, se siente sorprendentemente desarmada si este extraño es un reparador, especialmente si dice cosas como «veo que tu ordenador funciona muy lento». ¿Quién puede oponerse a esta sentencia? El reparador obviamente conoce este problema y por eso está aquí, para solucionarlo.

La zanahoria o el palo

El usuario normalmente es castigado con una multa por no hacer nada o recompensado por hacer algo. El ardid empieza coaccionando a la víctima, puesto que la gente no sopesa el riesgo con demasiado cuidado durante los eventos de estrés: debe pagar una multa o irá a la cárcel; tiene que ejecutar un programa o correrá el riesgo de que su ordenador se infecte y su cuenta bancaria se vacíe; debe enviar una suma de dinero o alguien a quien quiere irá a una cárcel extranjera; tiene que cambiar la contraseña de su jefe o tendrá problemas con él.

Uno de mis ardides de ingeniería social favoritos cuando estoy probando una intrusión es enviar un correo electrónico a los empleados de una empresa haciéndome pasar por el CEO o el CFO para anunciar que la empresa se fusionará con su mayor rival. Yo les digo que pulsen sobre el archivo adjunto trampa para ver si sus trabajos están afectados por la fusión. O bien envío un correo electrónico que parezca legal a los empleados varones haciéndome pasar por el abogado de sus exesposas solicitando más pensión para los niños. Os divertiría ver el éxito que tienen estos dos trucos.

Defensas ante la ingeniería social

Defenderse contra los ataques de ingeniería social implica una combinación de formación y tecnología.

Educación

La formación contra la ingeniería social es una de las mejores y más esenciales defensas contra este método. Dicha formación debe incluir ejemplos de los tipos más comunes de ingeniería social y de cómo las posibles víctimas pueden detectar las señales de ilegitimidad. En mi empresa actual, todos los empleados están obligados a visionar un vídeo contra la ingenierá social cada año y realizar una pequeña prueba. La formación más exitosa incluye a otros empleados inteligentes, de confianza y apreciados que comparten sus experiencias personales de haber sido engañados por un tipo concreto común de ingeniería social.

Creo que todas las empresas deberían tener campañas de phishing falsas en las cuales sus empleados reciban correos eléctronicos como si fueran de phishing en los que les pidan sus credenciales. Los empleados que faciliten sus credenciales necesitarán una formación adicional. Existe una gran variedad de recursos, tanto gratuitos como de pago, para crear campañas de phishing falsas. Evidentemente, las de pago proporcionan un uso más sencillo y más sofisticación.

Todos los usuarios de ordenador necesitan aprender las tácticas de la ingeniería social. Las personas que compran y venden cosas por Internet necesitan ser educadas acerca de los fraudes por compras: ellos deben utilizar solo servicios depositarios legítimos y seguir todas las recomendaciones del sitio web para evitar transacciones contaminadas.

Cuidado al instalar software desde sitios web de terceros

Los usuarios deberían saber que nunca se debe instalar un programa directamente desde un sitio web que estén visitando, a menos que sea el sitio web del fabricante legítimo del programa. Si un sitio web dice que tienes que instalar un programa de terceros para continuar navegando por él y crees que se trata de una solicitud legítima, sal de este sitio y dirígete al del fabricante para instalarlo. No instales nunca cualquier software de un fabricante desde un sitio web que no sea el suyo. Podría tratarse de un software legítimo, pero el riesgo es demasiado grande.

Certificados digitales con validación extendida (EV)

Los que navegan por la web deberían saber buscar los certificados digitales con validación extendida (EV) (https://en.wikipedia.org/wiki/Extended_Validation_Certificate) en muchos de los sitios web más populares. Los sitios web EV se suelen indicar de alguna manera (normalmente con la barra de direcciones en verde o el nombre destacado también en verde) para confirmar al usuario que la URL y la identidad del sitio web han sido confirmadas por terceros de confianza. Para ver un ejemplo de EV, dirígete a https://www.bankofamerica.com.

Deshazte de las contraseñas

El phishing de credenciales no puede funcionar si el empleado no proporciona sus credenciales de acceso. Los nombres de inicio de sesión simples están desapareciendo a favor de la autenticación de dos factores (2FA), certificados digitales, dispositivos de inicio de sesión, autenticación fuera de banda y otros métodos de conexión que no pueden ser víctimas del phishing.

Tecnologías contra la ingeniería social

La mayoría de las soluciones antimalware, de filtrado web y de correo electrónico contra el correo no deseado intentan minimizar los efectos de la ingeniería social con ordenadores. El software antimalware intenta detectar la ejecución de archivos maliciosos. Los programas de filtrado web tratan de identificar sitios web maliciosos cuando el navegador del visitante intenta cargar una página. Y las soluciones de correo electrónico contra el correo no deseado suelen filtrar los correos de ingeniería social. Sin embargo, la tecnología no siempre tiene un éxito completo, por lo que es preciso combinarla con la formación del usuario y otros métodos.

La ingeniería social es un método de hackeo que tiene mucho éxito. Algunos expertos en seguridad informática te dirán que no puedes hacer la suficiente formación para conseguir que todos los empleados estén atentos a las tácticas de ingeniería social. Se equivocan. Una combinación de una formación suficiente y las tecnologías correctas puede disminuir significativamente el riesgo de ingeniería social.

En el siguiente capítulo, se muestra el perfil del experto en ingeniería social Kevin Mitnick. Sus experiencias como hacker de ingeniería social lo han ayudado a defender mejor a sus clientes durante décadas.

5
Perfil: Kevin Mitnick

Cuando aparece el término hacker informático, todo el mundo piensa en Kevin Mitnick. En los 70, 80 y 90, Kevin Mitnick era el hacker. Mitnick utilizaba una combinación de ingeniería social y búsqueda de sistemas operativos de bajo nivel para llevar a cabo todo tipo de maniobras indignantes, aunque el daño general que causaba es discutible, especialmente si se compara con los ataques APT y ransomware mundiales de nuestros días.

Tanto él como sus explotaciones han servido de argumento para muchos libros y muchas películas y han generado una peculiar subcultura de excéntricas historias de hackers que se le atribuyen, pero que él nunca ha protagonizado. El Gobierno temía tanto a Mitnick que ha sido el único prisionero americano que no tenía permitido utilizar el teléfono mientras estuvo en la cárcel y permaneció en confinamiento solitario por miedo a que, con solo una palabra o un sonido, fuera capaz de lanzar un misil nuclear. Si alguna vez has visto una película en la cual el protagonista pronunciaba una palabra por teléfono e, inmediatamente después, ocurrían un montón de maldades cibernéticas, dicha escena surgió de la paranoia que existía alrededor de Mitnick.

He incluido a Mitnick como uno de los primeros del libro porque, a partir de esos años de daños cibernéticos, ha dedicado su vida a luchar contra los delitos informáticos y es uno de los pocos sombreros blancos de largo recorrido reformados en los que yo confío plenamente. Mitnick ha escrito varios libros sobre seguridad informática y, actualmente, trabaja para distintas empresas (como KnowBe4), cuenta con su propia firma de consultoría de seguridad (Mitnick Security Consulting), tiene una agenda de charlas más llena que cualquier otra persona que conozca, colabora con el programa de comedia y sátira política estadounidense The Colbert Report y ha tenido un cameo en la popular serie de televisión Alias. Las lecciones de Mitnick a la industria han tenido como resultado un fuerte reconocimiento del papel que juega la ingeniería social en el mundo del hackeo y del modo en que se debe combatir. Después de todo, si vas a detener a un criminal, no puede hacer ningún daño aprender de uno inteligente y reformado.

Le pregunté a Mitnick qué le había llevado a interesarse por el mundo del hackeo. Me contestó: «Desde niño me interesaba la magia. Me encantaba la magia. En la escuela, un niño me mostró algunos trucos con el teléfono, por ejemplo, cómo realizar llamadas de larga distancia, cómo localizar la dirección de alguien solo con su número de teléfono, cómo reenviar llamadas, etc. Iba a una cabina de teléfono, llamaba a alguien (la compañía de teléfonos), se hacía pasar por alguien y algo mágico pasaba. Esta fue mi primera experiencia con la ingeniería social. Para mí, fue como pura magia. Yo no sabía que esto era phreaking e ingeniería social. Solo sabía que era divertido y emocionante y más o menos empezó a apoderarse de mi vida. Esto es todo lo que hice. Me aburría en la escuela y, como me pasaba las noches haciendo phreaking, mis notas empezaron a verse afectadas».

Le pregunté qué pensaban sus padres de sus hackeos. Me contestó: «Bueno, al principio ellos no sabían nada. O como mucho pensaban que hacía cosas sospechosas con el teléfono. Mi madre pensaba: “¿qué problemas puede tener con el teléfono, además de molestar a la gente?”. No sospecharon nada hasta que mi madre recibió una carta oficial de AT&T informándola de que el servicio telefónico había sido inhabilitado. Se enfadó mucho. Piensa que todo esto ocurrió en los tiempos antes de la llegada de los teléfonos móviles. El teléfono de casa era tu única forma de comunicarte con otras personas. Le dije que se calmara y que yo lo arreglaría.

»Básicamente, realicé ingeniería social para que volviéramos a tener teléfono en casa. Primero, me inventé una nueva vivienda. Vivíamos en la Casa 13. Llamé al departamento comercial de la compañía telefónica haciéndome pasar por otra persona y me inventé la Casa 13B. Esperé unos días a que la nueva vivienda entrara en el sistema y, después, llamé al departamento de instalaciones para pedir que vinieran a instalar un nuevo teléfono en la Casa 13B. También fuí a una ferretería y compré una B para añadirla al número exterior de la casa. Llamé haciéndome pasar por un nuevo cliente llamado Jim Bond, de Inglaterra. Les di un número de teléfono de Inglaterra anterior real que encontré junto con otros datos de identificación, pues ya sabía que no serían capaces de comprobar una información del extranjero. Después, les pregunté si podía tomar un número personalizado y me dijeron que sí, y elegí un número que acababa en 007. Antes de terminar la conversación, pregunté si podía utilizar mi sobrenombre Jim o si tenía que utilizar mi nombre completo. Me dijeron que debía utilizar mi nombre legal y les dije que era James. Así, pues, me registré en AT&T como James Bond con un número de teléfono acabado en 007 y mi madre recuperó su teléfono. AT&T se enfadó cuando descubrió todo el engaño».

En ese momento de la entrevista, me di cuenta de que Mitnick no había mencionado nada sobre hackeo informático. Solo hablaba de los malos usos del teléfono, por lo que le pregunté cómo llegó a eso. Me contestó: «Había un chico en la escuela que sabía que yo hacía phreaking y pensó que quizás estaría interesado en una nueva clase de ciencias informáticas de nivel superior que se impartía en la escuela. Inicialmente, dije que no me interesaba pero el chico dijo: “¿Sabes? He oído que las compañías telefónicas se están metiendo en los ordenadores”. Y esto fue suficiente para mí. Tenía que aprender sobre esos ordenadores.

»Tuve que dirigirme al profesor de la clase, el sr. Kris, y preguntarle si podía apuntarme porque no cumplía ninguno de los requisitos necesarios (que, en ese momento, incluían matemáticas avanzadas y física) ni tampoco tenía las notas requeridas, puesto que habían empezado a resentirse por mi falta de sueño debido al phreaking. El sr. Kris no estaba seguro de dejarme acceder, por lo que le hice una demostración de phreaking diciéndole su número de teléfono no registrado y el de sus hijos. Dijo: “¡Esto es magia!” y me dejó asistir a clase.

»Nuestro primer programa asignado fue un Fortran para calcular números de Fibonacci, que yo encontré bastante aburrido. Fuí a la universidad local, Northridge, para intentar que me dejaran pasar más tiempo entre sus ordenadores. Allí tenían los mismos ordenadores y el mismo sistema operativo. Pero no conseguí más de 5 minutos, por lo que me dirigí al responsable del taller de informática y le pedí más tiempo. Me dijo que yo no era alumno de esa escuela y que no debería estar ahí, pero como percibió mi gran interés por los ordenadores, para animarme, me dio su cuenta de acceso personal y su contraseña para que practicara con ello. ¿Podéis creerlo? Así es como yo, en esos momentos pasaba los días entre ordenadores.

»Empecé aprendiendo sobre llamadas al sistema de bajo nivel. Era sorprendente que esto no me lo enseñaran en el instituto. En el instituto, todos compartíamos un módem de marcación telefónica con acoplador acústico. El módem siempre estaba encendido y la gente debía conectarse y desconectarse para acceder al terminal y al módem. Desarrollé un programa de bajo nivel que se mantenía activo en segundo plano y registraba todo cuanto se tecleaba, incluidos los nombres de acceso y las contraseñas.

»Cuando llegó el día en que los alumnos del sr. Kris tenían que mostrar cuántos números de Fibonacci habían calculado los programas asignados de la clase, yo no tenía nada. El sr. Kris me amonestó delante de toda la clase por cómo me había dejado acceder a su clase y se había arriesgado por mí y, llegado el momento, yo no tenía nada que mostrarle. Toda la clase me miraba. Yo le dije: “Bueno, he estado demasiado ocupado escribiendo un programa para identificar su contraseña... ¡y su contraseña es johnco!”. Me dijo: “¿Cómo lo has hecho?” Se lo expliqué, me felicitó y dijo ante toda la clase que yo era un genio de los ordenadores. No se enfadó en absoluto. Esta fue, seguramente, la primera mala lección de ética que aprendí».

Le pregunté a Mitnick qué deberían hacer los padres si intuyen que su hijo se dedica al hackeo malicioso. Y él me respondió: «Mostrarle cómo hackear legalmente. Canalizar sus intereses hacia oportunidades legales y éticas, como ir a conferencias sobre seguridad informática y participar en concursos del tipo “Atrapa la bandera” Los padres deben desafiar a sus hijos diciéndoles cosas como: “Crees que eres lo suficientemente bueno para participar en un concurso como el de Atrapa la bandera?” Los padres pueden aplicar ingeniería social al niño, y el niño tendrá la misma emoción y excitación, pero de una forma legal. Hoy mismo acabo de hackear legalmente una empresa y he sentido la misma emoción que sentía cuando no hacía cosas éticas y legales. Desearía haber tenido entonces las formas legales para hackear que existen actualmente. Me gustaría poder volver atrás y actuar de forma distinta. ¿Sabéis lo único que distingue el hackeo legal del ilegal? ¡Escribir un informe!».

Le pregunté a Mitnick, con su experiencia en ambos lados del muro, cómo se sentía ante el derecho del Gobierno de saberlo todo versus el derecho individual a la privacidad. Y dijo: «Creo que todos tenemos un enorme derecho a la privacidad. De hecho, mi último libro, The Art of Invisibility [El arte de la invisibilidad], trata sobre cómo se puede mantener la privacidad. Creo que es muy difícil mantenerse en privado ante entidades como la NSA o el Gobierno, con fondos ilimitados. Quiero decir que, si ellos no pueden romper tu encriptación, pueden utilizar simplemente uno de sus ataques de día cero y acceder a tu ordenador, y si no, comprar uno. Por 1,5 millones de dólares puedes comprar un día cero de Apple y por medio millón de dólares, uno de Android, entre otros. Si tienes el dinero y los recursos suficientes, tendrás la información que buscas. Como digo en The Art of Invisibility, creo que tengo una manera de que incluso funcione contra ellos, pero es muy difícil de llevar a cabo e involucrar a muchos elementos de un proceso OPSEC (seguridad operacional). Pero creo que se puede hacer de una manera que incluso la NSA o el Gobierno tendrían dificultades para parar. Yo entiendo la necesidad de un Gobierno de saber ciertas cosas, como en temas de terrorismo, pero es que ellos quieren saberlo todo de todos. Si te están vigilando, cambias tu comportamiento, lo que significa que tienes menos libertad. Yo creo que no se puede ser libre sin privacidad».

Acabé la entrevista recordando a Mitnick que ya habíamos coincidido brevemente en una conferencia sobre seguridad donde él iba a ser el ponente principal después de mi intervención. Al pasar por mi lado, se dio cuenta de que necesitaba un USB para poder incluir su presentación en el ordenador portátil del presentador situado en el escenario. Yo llevaba uno en el bolsillo y se lo ofrecí. Él lo tomó, pero, después de pensarlo durante unos segundos, cambió de opinión y dijo que no se fiaba de ningún USB que no fuera suyo. Algunas personas que estaban cerca se rieron de su paranoia. Después de todo, no puedes infectarte a través de un dispositivo USB —o eso es lo que creía la gente en esos momentos—. Lo que nadie sabía era que yo había descubierto cómo iniciar automáticamente cualquier programa desde un dispositivo portátil (mediante un truco con un archivo oculto denominado desktop.ini, que más tarde utilizó el programa malicioso Stuxnet), y por casualidad el USB tenía una versión de demostración de este ataque. Esto no significa que quisiera infectar de forma intencionada a Mitnick. Lo que ocurrió fue simplemente que estaba en todos los USB que tenía en ese momento y que yo le ofrecí uno de ellos cuando lo pidió.

La paranoia constante de Mitnick le salvó de mi ataque de día cero. Esto también sirvió para demostrar que es difícil engañar a un ingeniero social profesional que está en su mejor momento.

Para más información sobre Kevin Mitnick

Si deseas más información acerca de Kevin Mitnick, consulta estos recursos:

■ Sitio web de Kevin Mitnick: https://mitnicksecurity.com/

■ Ghost in the Wires

■ The Art of Invisibility

■ The Art of Deception

■ The Art of Intrusion

■ Kevin Mitnick Security Awareness Training, de KnowBe4: https://www.knowbe4.com/products/kevin-mitnick-security-awareness-training/

■ Slashdot Q&A, de Kevin Mitnick: https://news.slashdot.org/story/11/09/12/1234252/Kevin-Mitnick-Answers

6
Vulnerabilidades de software

Las vulnerabilidades de software son debilidades susceptibles (es decir, «errores») en el software, a menudo a partir de defectos explotables escritos por el desarrollador o inherentes al lenguaje de programación. No todos los errores de software son vulnerabilidades de seguridad. Para llegar a ser amenaza o riesgo, el error debe ser explotable por un atacante. La mayoría de los errores de software causan problemas de funcionamiento (que en muchas ocasiones el administrador ni siquiera llega a percibir) o incluso una interrupción fatal en el procesamiento, pero no pueden ser aprovechados por un atacante para obtener acceso no autorizado al sistema.

Las vulnerabilidades explotables del software son responsables de un amplio (no el más amplio) porcentaje de ataques en un periodo de tiempo determinado, a pesar de que otros métodos de hackeo (como los troyanos o la ingeniería social) suelen ser muy competitivos. Algunos expertos en seguridad informática piensan que la mayoría de los problemas de seguridad informática desaparecerían si todo el software estuviera libre de errores, aunque esto no es ni cierto ni posible. Sin embargo, aunque no sea la panacea, un código más seguro con menos vulnerabilidades eliminaría una categoría significativa de problemas de hackeo y haría que nuestro entorno informático fuera evidentemente más seguro.

Número de vulnerabilidades de software

Existen varias fuentes que permiten seguir las vulnerabilidades de software públicas, aunque los errores listados para cada una de ellas pueden variar significativamente. De media, cada año, los desarrolladores de software y buscadores de errores más importantes hacen públicas entre 5.000 y 6.000 nuevas vulnerabilidades. Esto significa unos 15 errores por día todos los días. El Common Vulnerabilities and Exposures (CVE), cuya dirección web es http://cve.mitre.org, y sus listas (http://cve.mitre.org/data/downloads/index.html) están considerados como un sitio independiente, de confianza e inclusivo para el informe y seguimiento de vulnerabilidades públicas. Muchos otros proveedores también siguen sus propias vulnerabilidades, así como todas las vulnerabilidades conocidas. Puedes comprobar todos los problemas del Security Intelligence Report de Microsoft (http://www.microsoft.com/sir) para obtener las últimas cifras conocidas, así como un buen análisis.

Evidentemente, estos son solo los errores que el público puede conocer. Muchos proveedores no anuncian públicamente todos los errores y otros no anuncian los errores encontrados por recursos internos o solucionados en versiones de preproducción. Aunque no hay manera de confirmarlo, la mayoría de los expertos piensan que el número «real» de errores es significativamente más alto que la cifra de los que se conocen públicamente.

NOTA El número de vulnerabilidades de software solo es una medida y no es la imagen completa de toda la seguridad de un programa o sistema. La única medida en la que se puede confiar es el nivel de daños de los cuales las vulnerabilidades de software son responsables. Podría darse el caso que el número de vulnerabilidades disminuyera al mismo tiempo que aumentara la cantidad de daños, aunque por lo general tener programas más seguros es mejor para todos.

¿Por qué las vulnerabilidades de software todavía son un gran problema?

Actualmente, los proveedores suelen parchear la mayoría de las vulnerabilidades críticas en cuestión de horas o días. Si esto es así, ¿por qué las vulnerabilidades de software todavía son un problema tan importante, especialmente cuando la mayoría de los proveedores tienen mecanismos de actualización automática para parchear más rápido? La respuesta es que una pequeña parte de los dispositivos informáticos se parchean de forma más lenta o, en un número de casos bastante importante, nunca se parchean. Y cada parche tiene la posibilidad de causar un problema operacional inesperado, lo que a veces causa más frustración en el usuario que el propio error.

El número total de vulnerabilidades es bastante abrumador y constante. Una parte significativa de la gestión del ordenador se dedica a preparar y aplicar parches. Es una increíble pérdida de tiempo, dinero y otros recursos que podrían destinarse a cosas más productivas. Incluso si tanto usuarios como administradores convirtieran el proceso de aplicar parches en una ciencia exacta, en el tiempo que pasa desde que el proveedor lanza el parche hasta que el usuario o administrador lo aplica, los hackers tienen la oportunidad de ganar contra un sistema determinado. Si yo soy un hacker paciente y persistente contra un objetivo concreto, simplemente tengo que esperar a que el proveedor anuncie un nuevo parche y utilizarlo para atacar a mi objetivo.

Cuando los proveedores lanzan un parche, tanto los sombreros blancos como los sombreros negros lo analizan de inmediato para localizar vulnerabilidades. Seguidamente, crean explotaciones que pueden aprovecharse del error. Existen decenas de empresas comerciales, unos cuantos servicios gratuitos y un número no identificado de hackers que hacen esto todos los días. Se pueden comprar y/o descargar escáneres de vulnerabilidades para analizar todos los dispositivos e informar acerca de las vulnerabilidades sin parchear. Estos escáneres de vulnerabilidades suelen tener miles y miles de explotaciones integradas. Existen en todo el mundo muchos sitios web de hackers con miles de explotaciones independientes que se pueden descargar para explotar una vulnerabilidad determinada. Una de las herramientas gratuitas más populares que utilizan tanto sombreros blancos como sombreros negros es Metasploit (https://www.metasploit.com/).

Defensas contra vulnerabilidades de software

La defensa número uno contra vulnerabilidades de software es una mejor formación de los desarrolladores de software y unos lenguajes de programación por defecto más seguros.

Ciclo de vida de desarrollo de seguridad

El proceso de intentar reducir el número de vulnerabilidades de software se conoce actualmente como ciclo de vida de desarrollo de seguridad (Security Development Lifecycle [SDL]). El SDL se centra en cada componente del ciclo de vida de un programa informático, desde su creación hasta el parcheado de nuevas vulnerabilidades detectadas, con el fin de crear software más seguro. Aunque no es un invento de Microsoft, Microsoft Corporation es probablemente quien ha trabajado más en este ámbito y quien ha lanzado más información y herramientas gratuitas (https://www.microsoft.com/sdl) que cualquier otra fuente. La falibilidad humana asegura que el código informático siempre tendrá errores explotables, pero, si seguimos el SDL, podemos tener menos (por el mismo número de líneas de código).

NOTA El Dr. Daniel J. Bernstein (https://es.wikipedia.org/wiki/Daniel_J._Bernstein) es un profesor de universidad que promueve y proporciona un código increíblemente seguro. Es el autor de un gran número de programas informáticos gratuitos y muy utilizados, como dbjdns y qmail, que tienen una cifra muy baja de errores. Incluso suele pagar de su bolsillo a localizadores de errores. Defiende avergonzar públicamente a los proveedores haciendo públicos sus errores antes de que tengan la oportunidad de analizar y parchear sus productos.

Lenguajes de programación más seguros

Unos programas más seguros no pueden ser una realidad sin un lenguaje de programación más seguro. Durante años, la mayoría de lenguajes de programación se han esforzado por crear versiones predeterminadas más seguras. Estos lenguajes intentan reducir o eliminar las causas comunes de las explotaciones. Cabe decir que han tenido bastante éxito y que los programas escritos con estos lenguajes son significativamente más difíciles de explotar que los que han sido creados mediante lenguajes menos seguros.

Análisis del programa y el código

Una vez que un programa ha sido escrito, debe ser siempre analizado en busca de errores conocidos y reconocibles. Esta tarea puede llevarse a cabo mediante análisis humanos o herramientas de software. El análisis humano suele ser el menos eficiente, detecta pocos errores por hora, pero puede localizar errores de explotación significativos que las herramientas no están codificadas para encontrar. Las herramientas de detección de errores normalmente se clasifican en analizadores estáticos y fuzzers. Los analizadores estáticos miran el código fuente (o los programas) en busca de errores de software conocidos en la codificación. Los fuzzers introducen datos inesperados en busca de vulnerabilidades en los programas en ejecución. Muchos de los poco conocidos cazadores de errores, incluyendo el Dr. Charlie Miller, descrito en el Capítulo 36, han confiado en el fuzzing para muchos de sus descubrimientos.

Sistemas operativos más seguros

La mayoría de los sistemas operativos no solo han sido codificados por programadores formados en el SDL que utilizan por defecto lenguajes de programación más seguros, sino que también incluyen defensas integradas contra los vectores de explotación más comunes. La mayoría de los sistemas operativos actuales más populares incluyen defensas de memoria especialmente diseñadas y protegen las áreas más críticas del sistema operativo. Algunos también incluyen software para evitar el desbordamiento de búfer, software antimalware y cortafuegos; todo ello ayuda a limitar errores explotables o sus consecuentes daños.

Protecciones de terceros y complementos del fabricante

Existen miles de programas capaces de defender un sistema informático contra vulnerabilidades de software desconocidas previamente con un mínimo de éxito. Algunos los ofrece el fabricante de forma gratuita o de pago y otros proceden de terceros. Los programas que prometen la detección y detención de nuevas explotaciones son muy comunes y, aunque no son nunca perfectos, pueden reducir significativamente el riesgo de nuevas amenazas. Uno de mis tipos favoritos de software de defensa son los denominados de control de aplicación o lista blanca. Estos programas no detienen la explotación inicial, sino que evitan o complican que los hackers o programas maliciosos provoquen daños adicionales.

El software perfecto no erradicará todos los males

Ninguna defensa puede superar un software que ha sido codificado de forma más segura con menos errores explotables desde el principio. Sin embargo, el software perfecto y sin errores es imposible y no acabaría con todo el hackeo aunque esto fuera posible. Desafortunadamente, las vulnerabilidades de software no son nuestro único problema. Los programas troyanos funcionan simplemente haciendo que el usuario ejecute un programa malicioso. Muchos hackers y programas maliciosos explotan las capacidades inherentes y, por otro lado, legítimas de datos, lenguajes de programación y otros componentes para hacer cosas malas. Y la ingeniería social puede llevar a cabo lo que el software no es capaz de hacer.

Aún así, nadie discute que unos programas más seguros no sean de gran ayuda. En los Capítulos 7 y 8 se presentan dos expertos que han dedicado sus vidas a perfeccionar software. El Capítulo 7 presenta a Michael Howard, quien popularizó prácticas de codificación más seguras, y el Capítulo 8 se centra en Gary McGraw, uno de los mejores buscadores de errores que existen.

7
Perfil: Michael Howard

Michael Howard es contagioso. Es un gran educador, un ponente enérgico y, después de aproximadamente 20 años, sigue tan apasionado de su especialización en seguridad informática, la codificación segura, como lo era en sus inicios. Resulta difícil estar con él más de unos minutos sin desear hacer el mundo más seguro en cada línea de código. Fue conocido a nivel mundial como coautor del libro Writing Secure Code (Escribir código seguro) junto a David LeBlanc, así como por haber sido una parte importante de la razón por la cual Microsoft se dedica ampliamente a escribir código más seguro. Howard, originario de Nueva Zelanda pero establecido actualmente en Austin, Texas, ha colaborado en la redacción de muchos libros sobre la escritura de código más seguro y es un bloguero activo.

NOTA David LeBlanc, coautor con Howard en Writing Secure Code, es otro especialista en seguridad con visión de futuro. Es el responsable de que Microsoft Office sea significativamente más seguro y ha creado un modelo de seguridad para navegadores que han acabado utilizando Google, Adobe y Microsoft.

Le pregunté a Howard cómo empezó en esto de la seguridad informática. Su respuesta fue la siguiente: «Estaba trabajando en las primeras versiones de Windows NT para Microsoft. Me dedicaba a tareas de bajo nivel como control de acceso, criptografía y GINA personalizadas (interfaces gráficas que solían ser la manera de iniciar sesión en Microsoft Windows y otros proveedores de autenticación). Esto realmente me permitió empezar a pensar en la seguridad como una característica más. Sobre el año 2000, estaba claro que las características de seguridad no hacen a un producto seguro, por lo que decidí que me tenía que centrar en funcionalidades seguras, que son una disciplina diferente».

Le pregunté cómo empezó el SDL en Microsoft. Me dijo: «Con el tiempo, varias prácticas relacionadas con la seguridad aprendidas por los equipos de SQL Server, Office, Windows y .NET Framework y otros evolucionaron hacia el ciclo de vida de desarrollo de seguridad (SDL). El SDL ayudó a popularizar el código seguro y el movimiento de diseño seguro y actualmente es la fuerza que dirige la mayor parte de las empresas que mejor protegen su software ».

Le pregunté si el SDL fue una pequeña mejora de algo que había leído o si lo había construido de la nada sin ninguna referencia previa. Me contestó: «Todos construimos sobre el trabajo de otros, pero la mayor parte del SDL surgió de acciones y aprendizaje. Lo que funciona se mantiene y lo que no funciona o no es completamente práctico se tira. A veces me pregunto si alguno de los modelos académicos ha sido probado en un entorno de producción alguna vez, con plazos, requisitos de desempeño, tiempo para sacarlo al mercado, aspectos económicos, requisitos de compatibilidad anteriores, etc.

»En ese momento, había una enorme escuela de pensamiento que creía que si se puede aumentar la calidad general del código también se aumentará directamente la seguridad del código. Pero yo aún no he visto ninguna evidencia empírica de ello. Puedes hacer un código SQL funcional que pase todas las pruebas de funcionalidad, pero podría estar plagado de vulnerabilidades de inyección de SQL. Si nunca has aprendido qué es la vulnerabilidad de inyección de SQL, todo cuanto verás será un código perfecto, que hace lo que se supone que tiene que hacer. Un sistema seguro solo hace lo que se supone que tiene que hacer y nada más, y esta es la “funcionalidad extra” que viene con la vulnerabilidad de inyección de SQL que lo hace inseguro».

Le pregunté cuál era su papel en Microsoft al adoptar las prácticas SDL. Me dijo: «Era una sinergia de muchas cosas distintas con las que tanto yo como otros estábamos involucrados. Empecé en el año 2001, cuando el equipo .NET daba un evento de “concienciación de seguridad” para analizar los problemas de seguridad existentes y los riesgos potenciales. Aprendimos mucho y se añadieron muchas defensas nuevas. Recuerdo que habíamos preparado camisetas especialmente para el evento con las fechas, y se produjo un gran temporal de nieve y tuvo que aplazarse. Fue muy irónico que, en un evento de código más seguro, apareciera en nuestras camisetas una fecha incorrecta. No obstante, lo que surgió de este evento fueron aprendizajes que nutrieron de algún modo el SDL. El libro de David y mío vio la luz e hizo que mucha gente pensara más en la seguridad del código. Microsoft fue atacada en 2001 por un elevado número de malware y de hackers. Los gusanos Code Red y Nimda fueron especialmente fuertes. Entonces, Bill Gates nos preguntó acerca de la naturaleza de las vulnerabilidades de software y por qué todavía existían. Yo fuí elegido como parte del equipo que se reunió con Bill Gates. Le entregué una copia de nuestro libro Writing Secure Code y, desde esa reunión, escribió su famoso memorando Trustworthy Computing. En el informe, Bill mencionaba nuestro libro, ¡el cual tuvo unas ventas estratosféricas! Acabé trabajando en la recientemente creada división Trustworthy Computing de Microsoft. Esto empezó un proceso de concienciación de seguridad adicional (también para Windows, SQL Server y muchos otros productos de Microsoft). El SDL los generó y actualizó todos, y los mejoró e hizo más eficientes. Y continúa actualizándose una vez al año».

Le pregunté si era cierto que él y Microsoft habían publicado más información y herramientas relacionadas con la codificación segura que otras empresas. Y me dijo: «De manera inequívoca y enfática, ¡sí! Pero lo que es más importante son las herramientas y las técnicas que utilizamos en nuestro entorno de producción, en millones de líneas de código de producción, cada día. No se trata de un ejercicio académico, sino que es lo que hace una de las empresas más grandes del mundo. Y nosotros lo compartimos prácticamente todo».

Le pregunté por qué, si los programadores de todo el mundo están mejor formados en problemas de seguridad informática, no se anuncian menos vulnerabilidades. Me contestó lo siguiente: «Bueno, seguramente hay más software con más líneas de código. Pero el verdadero problema es que los programadores todavía no están formados en codificación segura y no han entendido las amenazas básicas de seguridad. La enseñanza aún está muy atrasada en la mayoría de los casos. El otro día estaba revisando el programa de un curso de seguridad informática en la universidad y casi el 50 % del curso estaba centrado en amenazas de red de bajo nivel. No había formación en seguridad en la nube o codificación segura. Nuestras universidades todavía están formando a programadores sin muchas nociones de seguridad informática o codificación segura, que parece una broma si pensamos que estos, cuando se gradúen, crearán sistemas críticos conectados a Internet. Yo sigo buscando errores en códigos de otra gente. Cuando muestro un problema de corrupción de memoria o una vulnerabilidad de inyección SQL —algo muy básico y común—es como si hubiera hecho algo mágico o especial. Es tan difícil encontrar nuevos programadores que realmente entiendan los fundamentos de la seguridad informática que me emocionaré si el candidato como mínimo se preocupa por ello. Si el programador pone los ojos como platos cuando le hablo de problemas de seguridad informática, me siento muy feliz. Si al menos muestran interés, ya podemos enseñarles todo lo demás. Os sorprendería cómo a muchos no les preocupa este tema, y la principal razón de ello es porque todavía no se enseña. O se enseñan cosas incorrectas, como centrarse en seguridad de redes u otras pequeñeces. Las escuelas enseñan a los alumnos el funcionamiento detallado del algoritmo RSA, y no dedican el tiempo a enseñar por qué se debe utilizar, qué problemas resuelve y para qué es una buena solución. Saber cómo utilizar algo para resolver problemas de seguridad reales es mucho más importante que saber cómo funciona. Todos podemos memorizar un protocolo, pero necesitamos personas que conozcan los riesgos y piensen en soluciones. Algunos profesores y universidades lo están haciendo correctamente, como Matt Bishop de la Universidad de California, en Davis, y son los heroicos esfuerzos de Matt y otra gente lo que lo hacen posible. Él y el resto de profesores como él son los verdaderos héroes».

Le pregunté que, si la mayoría de las universidades no preparaban de forma adecuada a nuestros programadores en este ámbito, qué es lo que podía hacer un programador por su parte. Y me dijo: «Seguir aprendiendo. Yo tengo marcada en mi agenda una hora cada día que dice “Aprender”. Y leo/codifico/pruebo durante una hora algo que no conozco, cada día. Y lo he estado haciendo durante toda mi carrera. En segundo lugar, si no te estás formando en seguridad informática de un modo formal, hazlo tú mismo. Dirígete al CVE (http://cve.mitre.org/cve/), lee sobre los errores recientes, lee sobre ellos atentamente con todo detalle. Después, escribe el código que tiene la vulnerabilidad e imagínate cómo debería ser para prevenir esta vulnerabilidad, tanto a nivel técnico como de procesamiento. ¿Cómo ha ocurrido la vulnerabilidad y se ha situado en el código en primer lugar? Y, por último, utiliza todas las lecciones aprendidas para mantener esos mismos tipos de errores fuera del propio código».

Le pregunté qué podrían hacer la mayoría de las empresas para escribir código más seguro, además de seguir todos los consejos actuales del SDL y utilizar sus herramientas. La respuesta fue la siguiente: «Hacer que los programadores entiendan las amenazas reales, no solo la parte teórica. Y construir el proceso de seguridad en proceso de desarrollo, de forma que el código inseguro y malo no tenga cabida. En Microsoft, los llamamos Quality Gates. Un buen ejemplo (no de seguridad) es alguien que escribe código que asume que todas las direcciones IP tienen cuatro octetos. Esto significa que el código no funcionaría nunca en un entorno IPv6. Este código no puede ser enviado a nuestros repositorios de código porque una herramienta que se ejecuta automáticamente encontrará un problema y rechazará la entrada. Esto es lo que nosotros conocemos como Quality Gate. No obstante, por seguridad, lo puedes repetir en casos de inyección SQL, amenazas de seguridad de memorias y cualquier otra cosa que no quieras incluir en el código.

»Si tuviera que elegir unas cuantas sentencias básicas relacionadas con la seguridad, estas serían:

■ Los desarrolladores deben aprender a no confiar nunca en los datos de entrada y a validar los que son correctos, preferiblemente mediante una biblioteca revisada y probada correctamente. Si quieres que los datos tengan una longitud de solo 20 bytes, no permitas más de 20 bytes, si quieres que sea un número, comprueba que lo sea, etc.

■ Diseñadores/arquitectos/gestores de programas deben aprender a modelar amenazas y comprobar que las defensas correctas se encuentran en su lugar en el sistema.

■ Por último, los probadores necesitan probar que los desarrolladores se equivocan al crear o facilitar herramientas que generen información maliciosa y/o deformada. El objetivo es vencer las comprobaciones de los desarrolladores, ¡si es que tienen alguna!

»Existe mucho más en la seguridad de software que lo que he dicho, pero estas son, en mi opinión, las habilidades fundamentales relacionadas con la seguridad que todo ingeniero de software debería tener».

Para más información sobre Michael Howard

Si deseas más información sobre Michael Howard, consulta estos recursos:

■ Libros de Michael Howard

■ Blogs de Michael Howard: https://blogs.msdn.microsoft.com/michael_howard/

■ Michael Howard en Twitter: https://twitter.com/michael_howard

8
Perfil: Gary McGraw

Cuando llamé a Gary McGraw para entrevistarlo, me dijo que acababa de hablar con un monje católico que paseaba cerca de su propiedad en el río Shenandoah, en Virginia. En unos segundos, me estaba hablando de las complejidades de la seguridad informática. Este tipo de paradojas sobrenaturales han acompañado a McGraw durante toda su vida. Empezó programando su propio ordenador, un Apple II+, en 1981, cuando tenía 16 años. Terminó yendo a la universidad para obtener la licenciatura en filosofía y, por el camino, se convirtió en un músico de formación clásica. Incluso tocó en dos ocasiones en el Carnegie Hall. Actualmente, continúa siendo uno de los expertos en seguridad informática del mundo y le gusta cocinar, la jardinería y crear nuevos cócteles.

Le pregunté a McGraw cómo pasó de ser un estudiante de filosofía en la Universidad de Virginia a interesarse por la seguridad informática. Me dijo que le interesaba la filosofía de la mente, lo que le permitió realizar un curso denominado «Ordenadores, mente y cerebro» en la Universidad de Virginia, impartido por Paul Humphreys. Pensaba que las ideas que el profesor Humphreys enseñaba eran erróneas, pero empezó a pensar con más profundidad sobre la filosofía de la mente y la inteligencia artificial. Humphreys terminó aportando ideas de la industria y del ganador del Premio Pulitzer americano, el Dr. Douglas Hofstadter, durante la clase, y eso cambió toda su carrera. No realizó ningún curso de informática hasta la universidad, pero se enamoró de la programación en 1981, cuando era niño. Bajo la tutela de Hofstadter, en la Universidad de Indiana, obtuvo un doble doctorado en Ciencias del conocimiento e Informática. Incluso terminó escribiendo el Capítulo 10 del primer libro que se vendió en Amazon: el libro de Hofstadter titulado Fluid Concepts and Creative Analogies: Computer Models of the Fundamental Mechanisms of Thought [Conceptos fluidos y analogías creativas: modelos informáticos de los mecanismos fundamentales del pensamiento].

Cuando terminó la universidad, entró en una empresa de 7 personas que más tarde se convirtió en Cigital (https://www.cigital.com/). Cigital ganó una importante beca DARPA para investigación en seguridad informática y lo contrataron para trabajar en este proyecto. Cigital fue creciendo hasta los 500 empleados hasta que fue vendida a Synopsis en 2016. Actualmente, son 1.000 personas en la división de seguridad de software de la empresa más grande dedicada a mejorar software de un modo significativo.

Mi primer gran recuerdo del trabajo y el nombre de McGraw es cuando él y Ed Felten asumieron la seguridad del lenguaje de programación Java, escribieron un libro y detectaron decenas de vulnerabilidades de seguridad. En aquel momento, fue algo increíble, porque Sun Microsystems había hecho de Java supuestamente un lenguaje de programación muy seguro, pues sabían que estaría muy basado en la web y sería constantemente atacado por hackers. Java surgió en 1995 y Sun presumió desde sus inicios de que era un lenguaje de programación muy seguro. Lo habían construido algunos de los grandes magos de los lenguajes de programación, entre ellos, Guy Steele y Bill Joy. La mayoría de los expertos en seguridad informática se preguntaban si realmente era tan seguro como pensaban en Sun o si resultaría ser otra de las promesas de seguridad sobrevaloradas. Y resultó ser esto último. Tras algunas promesas iniciales, Java produjo algunas de las piezas de software más plagadas de errores del mundo, McGraw fue uno de los mejores en detectar vulnerabilidades de Java y él y Felten fueron el origen del análisis de Java para detectar errores de seguridad. En una conferencia, McGraw coincidió con el coautor de sus libros, Ed felten, y esta conferencia apareció en el primero de muchos otros libros. Muchos de los libros de McGraw se convirtieron en éxitos de ventas (uno de ellos, Exploiting Software, incluso llegó a ocupar el puesto 16 del ranking de ventas de Amazon, que es una gran cifra para cualquier libro de informática, y mucho más para uno de seguridad informática).

McGraw continuó pensando en seguridad del software y en dónde acudir para aprender a construir algo más seguro. Se preguntaba cómo el resto de nosotros, programadores «normales», íbamos a crear software seguro si los mejores magos (como Bill Joy y Guy Steele) no lo habían podido hacer adecuadamente. Se preguntaba qué iba mal en el proceso y por qué iba mal. Se dio cuenta de que todo el software y todos los programas tenían que ser diseñados y escritos desde cero con la seguridad en mente. Casi al mismo tiempo, se le ocurrió su Trinity of Trouble, que hablaba sobre por qué la seguridad informática seguía siendo interesante y complicada. Basicamente, si está en red, es compleja y extensible, siempre va a interesar desde un punto de vista de la seguridad y será difícil de proteger. Desafortunadamente, Java tenía estas tres características, y de qué manera, aunque su complejidad era probablemente el aspecto más difícil contra el cual luchar.

Después de escribir como coautor el libro Building Secure Software [Creando software seguro], en 1999, acabó visitando varias empresas, como Microsoft, donde Michael Howard, tratado en el Capítulo 7, trabajaba con Jason Garms en la muy reciente Secure Windows Initiative. Recuerda que todos los gestores de proyectos de Microsoft asistieron a su charla y que Microsoft estaba realmente preparada para la seguridad del software.

Después de otros muchos años trabajando en la seguridad del software en este sector (tanto mediante el desarrollo de servicios como de tecnología), McGraw terminó participando en la creación del Building Security in Maturity Model (BSIMM). Más de 100 grandes firmas utilizan hoy en día el BSIMM para medir, seguir y entender sus progresos en seguridad del software.

Le pregunté en qué se diferenciaban los modelos del SDL de Michael Howard y su BSIMM, si ambos intentan conseguir que el software sea más seguro. Me dijo: «El SDL es una metodología concreta, mientras que el BSIMM es una herramienta de medida que puede ser utilizada para medir, comparar y contrastar distintas metodologías como el SDL. El SDL de Microsoft es simplemente una metodología, pero es tan buena que decidieron redactarla y compartirla. Lo que hizo Michael Howard, a quien aprecio mucho, fue institucionalizar un enfoque para una organización muy grande con miles y miles de programadores. Él demostró que el software seguro puede realizarse a una escala extremadamente grande, lo cual era muy importante».

Como hago siempre con todas las personas tratadas con detalle en este libro, le pregunté a McGraw que cuál pensaba que era el mayor problema en seguridad informática. Su respuesta fue idéntica a la de Michael Howard, a quien había entrevistado previamente. Me dijo: «A pesar de tener una gran cantidad de recursos para crear y diseñar sistemas más seguros, la gente que crea y diseña sistemas todavía no sabe lo suficiente sobre seguridad. Aunque las universidades y las empresas comerciales de formación están haciendo un gran trabajo, el trabajo de muchas otras es insuficiente, y eso si es que están haciendo algo».

Él cree que la disciplina de seguridad informática está todavía bastante descuidada. Su libro favorito sobre seguridad y cómo construir cosas adecuadamente es el de Ross Anderson Security Engineering [Ingeniería de la seguridad]. Dice que le encanta, incluso más que sus 12 libros, «creo que es el mejor libro sobre seguridad del planeta».

McGraw tiene su podcast semanal denominado Silver Bullet Security (https://www.garymcgraw.com/technology/silver-bullet-podcast/), en el cual entrevista a expertos y personas que aportan ideas a la industria. Acaba de celebrar 10 años con 120 podcasts. Cuando revisé su lista de entrevistas, vi que muchos de los entrevistados eran los mismos que yo he tratado en este libro. Ama realmente la historia de la seguridad informática como yo y quiere seguir aprendiendo y compartiéndola. Una vez terminada nuestra entrevista, me imaginé a McGraw volviendo a pasear con su perro por el sendero junto al río que bordea su granja pensando en nuevos tipos de defectos de diseño de seguridad del software. Es un hombre del Renacimiento que será recordado en años venideros.

Para más información sobre Gary McGraw

Si deseas más información sobre Gary McGraw, consulta estos recursos:

■ Libros de Gary McGraw

■ Sitio web de Gary McGraw: https://www.garymcgraw.com/

■ Podcast Silver Bullet Security, de Gary McGraw: https://www.garymcgraw.com/technology/silver-bullet-podcast/

9
Malware

Cuando empecé a trabajar en seguridad informática, sobre 1987, lo primero que me llamó la atención fueron los programas maliciosos (malware). Acababan de aparecer los primeros virus informáticos (como el Elk Cloner, de Apple, y el Pakistani Brain), aunque troyanos y gusanos surgieron mucho antes. Los virus informáticos eran tan desconocidos y tan extraños que los principales medios de comunicación dijeron que eran falsos. Y esto fue hasta que fueron atacadas empresas enteras, antes de que Internet fuera Internet. Anteriormente, el malware informático se propagaba a través de los foros de noticias de acceso telefónico y de mano en mano, pues la gente copiaba el software de otros (tanto legal como ilegalmente). El malware todavía es uno de los métodos de hackeo más populares.

NOTA El primer fragmento de malware con el que fui «atacado» fue una bomba ansi. La víctima tenía que tener un archivo controlador llamado ansi.sys cargado en su ordenador (mediante el config.sys), configuración muy utilizada en los primeros días del PC de IBM compatible y el Disk Operating System (DOS).

Tipos de malware

Los tipos tradicionales de malware son los virus, los gusanos y los troyanos. Un virus informático es un programa autorreplicable que cuando se ejecuta busca otros programas (o, a veces, como en el caso de los virus de macro, datos) para infectarlos. Un gusano informático es un programa autorreplicable que normalmente no modifica otros programas o datos. Simplemente se pasea por dispositivos y redes utilizando sus propias instrucciones de codificación, muchas veces explotando una o más vulnerabilidades de software. Un troyano se disfraza de otro programa legítimo para engañar al usuario o al dispositivo para que lo ejecute. El malware actual suele ser una combinación de dos o más de estos tipos. Por ejemplo, puede empezar a propagarse como troyano para conseguir el punto de apoyo inicial y, después, utilizar su propio código para replicarse y seguir propagándose.

El malware puede ser bastante eficiente. Miles de distintos programas maliciosos han infectado con éxito redes enteras de todo el mundo en cuestión de horas. Cientos de programas maliciosos han infectado una parte importante de ordenadores conectados a Internet en un día. El récord de velocidad todavía pertenece al gusano SQL Slammer (https://es.wikipedia.org/wiki/SQL_Slammer), en 2003, que infectó a los servidores SQL más vulnerables conectados a Internet en unos 10 minutos. Se había lanzado un parche para ello 5 meses antes, pero nadie estuvo a tiempo de aplicarlo. Actualmente, la mayoría del malware son troyanos y requieren que un usuario inicie una acción (como seguir un vínculo web o abrir un archivo adjunto) para poner en marcha el programa malicioso, aunque puede ser que el dispositivo o usuario implicado no haya tenido nada que ver (accidentalmente) con la ejecución del programa. Esto depende de la situación del malware y de cómo se haya propagado.

Número de programas maliciosos

Hoy en día, existen literalmente miles de millones de programas maliciosos distintos en el mundo y cada año aparece un número inconmensurable de otros nuevos. La mayoría de malware son variantes ligeras y personalizadas derivadas de unos cuantos miles de programas básicos. Aún así, cada una de estas variantes puede ser detectada por programas antimalware, los cuales suelen utilizar una combinación de firmas digitales (un conjunto único de bytes para cada malware o familia de programas) y detección de comportamiento. Un programa antimalware debe ser capaz de escanear rápidamente miles de millones de archivos contra miles de millones de programas maliciosos y sin ralentizar de forma significativa el dispositivo en el cual se encuentra instalado. Resulta muy complicado e, incluso si se hace con el máximo grado de precisión, puede ser derrotado por un nuevo programa de malware con un solo byte modificado.

NOTA Los programas antimalware se denominan con mucha frecuencia programas antivirus, aunque detecten y eliminen múltiples tipos de malware, puesto que la mayoría de malware eran virus informáticos cuando este tipo de programas de escaneo se hizo tan popular.

Mayoritariamente criminal en su origen

Una de las mayores y más inquietantes tendencias del malware es su uso con propósitos criminales en nuestros días. Aproximadamente hasta 2005, la mayoría del malware estaba escrito por adolescentes y jóvenes para demostrar que podían escribir malware informático. Bastaba con que funcionara y se replicara. Indudablemente, había unos cuantos programas maliciosos que causaban daños de forma intencionada, pero la mayoría eran más molestos que peligrosos.

En la actualidad, casi todo el malware se crea con fines criminales directos. La mayor parte de los usuarios de malware intentan robar dinero de una manera o de otra, ya sea accediendo directamente a cuentas bancarias, o robando identidades y contraseñas. En nuestros días, el ransomware, que es un malware que cifra los datos y pide dinero para descifrarlos, es muy popular. Otro tipo de malware roba recursos de juegos o divisa electrónica o realiza intercambios de acciones no autorizados. El adware o software publicitario se infiltra en tu ordenador y te obliga a ver publicidad (o publicidad concreta) que a ti te gustaría no ver, o bien obliga a tu ordenador, de manera encubierta, a visitar otros sitios web específicos para aumentar las entradas por visitante y, así, generar ingresos por publicidad ilícitamente adquiridos. Hay malware que se utiliza para provocar ataques masivos de denegación de servicio distribuido (tratados en el Capítulo 28, «Ataques DDoS»). Lejos están los días en que los autores de la mayoría del malware eran chicos traviesos que imprimían bonitas frases en tu pantalla, reproducían Yankee Doodle Dandy por los altavoces o pedían ayudan para la «legalización de la marihuana» (como el virus Stoned boot). ¡Actualmente, el malware es profesional!

El creador de malware suele ser una persona, y otras lo compran y lo venden. A menudo, miles de ordenadores que son atacados por un determinado programa de malware son agrupados en lo que se conoce como botnets. Dichos botnets pueden ser comprados o alquilados con el fin de ser instruidos para atacar sitios determinados o realizar una acción a través de múltiples ubicaciones. Muchas veces, el malware que en un primer momento accede a un ordenador concreto se conoce como downloader. Este consigue el acceso inicial y modifica el sistema para asegurar el éxito de otro malware o de la participación de un hacker en un futuro. Seguidamente, descarga un nuevo programa de malware con nuevas instrucciones. Este proceso puede repetirse decenas de veces hasta que los eventuales programas y las instrucciones se descargan y ejecutan. De este modo, la mayoría de malware se mantiene actualizado e invisible para los productos antimalware. Los programas de malware se venden con soporte técnico 24/7 y garantías contra la detección, y sus desarrolladores reciben puntuaciones de satisfacción del cliente por parte de los compradores.

El malware es responsable de robos o daños por razón de miles de millones de dólares cada año. Todas las personas que se dedican a la seguridad informática que han estado luchando contra malware durante más de una década desearían que el único problema que tuviéramos fuera luchar contra las travesuras de unos chicos.

Defensas contra el malware

Existen varias defensas contra la explotación de malware, la mayoría de las cuales también son válidas para muchas otras formas de hackeo.

Software completamente parcheado

Un sistema parcheado por completo es mucho más difícil de explotar por parte del malware que los que no lo están. En la actualidad, hay sitios web atacados que tienen hospedados «kits de explotación» y, cuando un usuario los visita, el kit de explotación buscará una o más vulnerabilidades no parcheadas antes de que se intente engañar al usuario para que ejecute algún troyano. Si el sistema no está parcheado, normalmente el programa malicioso puede ser ejecutado en secreto sin que el usuario se entere de nada.

Formación

Es difícil que un programa malicioso ataque a un sistema completamente parcheado sin implicar al usuario. En los casos en que el malware o el kit de explotación no encuentren una vulnerabilidad no parcheada, tendrá que recurrir a algún tipo de truco de ingeniería social. Normalmente esto implica indicar al usuario que debe ejecutar o abrir algo para satisfacer algún elemento beneficioso. Formar a los usuarios acerca de las técnicas de ingeniería social más comunes es una excelente manera de reducir el éxito del malware.

Software antimalware

El software antimalware (con frecuencia denominado antivirus) es necesario en casi todos los sistemas informáticos. Incluso el mejor programa antimalware puede dejar pasar un programa malicioso, así como ningún programa es 100 % perfecto bloqueando todo el malware, pero ejecutar un sistema informático sin un programa de este tipo es como conducir con los frenos desgastados. Puedes salvarte por un tiempo, pero tarde o temprano el desastre acabará llegando. Al mismo tiempo, no te creas nunca a un proveedor de antivirus que presume de una detección del 100 % porque siempre miente.

Programas de control de aplicaciones

Los programas de control de aplicaciones (también conocidos como whitelisting o blacklisting) son perfectos para detener software malicioso, siempre que se utilice en modo de lista blanca, en el cual solo los programas predefinidos y autorizados pueden ejecutarse. Esto detiene la mayoría de antivirus, gusanos y troyanos. Los programas de control de aplicaciones pueden ser operativamente difíciles de implementar porque, por su propia naturaleza, cada programa y cada archivo ejecutable debe ser aprobado previamente para poder ejecutarse. Y no todos los tipos de malware o hackers pueden ser prevenidos, especialmente aquellos que utilizan programas legítimos integrados y herramientas de programación. Dicho esto, los programas de control de aplicaciones son una herramienta efectiva y están mejorando constantemente. Personalmente, creo que, para que un sistema pueda considerarse «muy seguro», este debe tener un programa de lista blanca definido y activo.

Barreras de seguridad

Los cortafuegos y otros tipos de barreras de seguridad locales y de red (como VLAN, routers y otros) son perfectos para evitar que el malware pueda explotar un dispositivo informático. La mayoría de los sistemas operativos vienen con cortafuegos locales integrados, pero gran parte de ellos no están configurados ni habilitados por defecto. Implementar un cortafuegos puede reducir considerablemente los riesgos maliciosos, especialmente si existen vulnerabilidades sin parchear. Los cortafuegos se tratarán con más detalle en el Capítulo 17, «Cortafuegos».

Ücretsiz ön izlemeyi tamamladınız.

₺610,59

Türler ve etiketler

Yaş sınırı:
0+
Hacim:
371 s. 2 illüstrasyon
ISBN:
9788426727411
Yayıncı:
Telif hakkı:
Bookwire
İndirme biçimi:

Benzer kitaplar