SERIE....Las 6 peores ideas sobre seguridad informática (II)

Posted by renegarcia on 29 Noviembre, 2007 22:12

Las 6 peores ideas sobre seguridad informítica (II)

#3) Penetrar y parchear

Hay un viejo dicho que reza: No puedes hacer una pulsera de seda a partir de la oreja de una cerda . Es verdad excepto si acabas usando tanta seda para parchear la oreja de la cerda que la reemplazas completamente. Desafortunadamente, cuando un software repleto de errores se corrige casi siempre se corrige añadiendo nuevo código, en lugar de quitar los antiguos trozos de la oreja de la cerda.

 

Penetrar y parchear es una idea estúpida que se podrí­a expresar perfectamente en el lenguaje de programación BASIC:

10 GOSUB BUSCAR_AGUJEROS 20 IF AGUJERO_ENCONTRADO = FALSE THEN GOTO 50 30 GOSUB CORREGIR_AGUJERO 40 GOTO 10 50 GOSUB AUTOCONGRATULARSE 60 GOSUB SER_HACKEADO_EVENTUALMENTE 70 GOTO 10

En otras palabras, atacas tu firewall/software/sitioweb/lo que sea desde fuera, identificas un fallo en él, lo corriges y luego vuelves a buscar. Haciendo esto no mejoras la calidad del código a largo plazo aunque Dirección pueda agradecer la aparente brillantez de dicha estrategia a corto plazo. En otras palabras, el problema con Penetrar y parchear es que no hace mejorar la arquitectura de tu código/implementación/sistema; por el contrario lo único que hace es conseguir que sea mís duro a base de probar y fallar. El artí­culo de Richard Fenyman s Personal Observations on the Reliability of the Space Shuttle era lectura obligada para todos los ingenieros de software que he contratado. Contení­a ideas bien explicadas y profundizaba acerca de las expectaciones sobre dependencia del software y cómo se alcanzaba en sistemas complejos. En resumen, su significado para los programadores es: Excepto en el caso de que tu sistema esté pensado para ser hackeado no deberí­a ser hackeable.

Penetrar y Parchear estí por todas partes y es la idea estúpida que lidera la moda actual (activa desde hace cerca de 10 años) de anuncio de vulnerabilidades y actualizaciones a través de parches. Según los investigadores de vulnerabilidades estín ayudando a la comunidad encontrando agujeros de seguridad en el software y estín corrigiéndolos antes de que los hackers los encuentren y los exploten. Según las empresas estín haciendo lo correcto publicando lo antes posible parches para adelantarse a los hackers y a sus intentos de explotar dichos agujeros de seguridad. Ambos grupos estín comportíndose de forma estúpida ya que si las empresas estuvieran escribiendo código que estuviese diseñado para ser seguro y dependiente entonces el trabajo de investigación de vulnerabilidades serí­a una tarea tediosa y poco gratificante!

Permí­teme decirlo de otra forma: si Penetrar y Parchear fuera efectivo ya habrí­amos dejado de encontrar agujeros de seguridad en Internet Explorer a estas alturas. ¿Cómo ha ido? ¿2 o 3 vulnerabilidades al mes durante 10 años? Si nos fijamos en aplicaciones diseñadas para trabajar en Internet podemos ver que hay un número de ellas que contí­nuamente tienen problemas de seguridad. Y a la vez, también hay un número de aplicaciones bien pensadas desde el principio como Qmail, Postfix, etc que han sido diseñadas de tal forma que el número de bugs que han aparecido para dichas aplicaciones ha sido í­nfimo. La misma lógica se aplica a tests de penetración . Conozco redes que han sido testeadas en busca de agujeros de seguridad y que han sido hackeadas y hechas trizas rutinariamente. Esto ocurre porque su arquitectura (o sus prícticas de seguridad) estín tan fundamentalmente equivocado que ninguna cantidad de parches van a mantener a los hackers fuera. Tan solo quitan a Dirección y a los auditores de seguridad de encima de los administradores de redes.

También conozco redes para las que es literalmente inútil hacer tests de penetración ya que han sido diseñadas desde el principio para ser permeables solo en ciertas direcciones y solo para cierto trífico destinado a unos servidores especí­ficos configurados a propósito y que ejecutan software especialmente seguro. Lanzar tests de penetración para bugs de Apache contra un servidor que corre bajo un código personalizado en C ejecutado en una porción aislada de un sistema embedido es completamente inútil. Por esto, Penetrar y Parchear no tiene sentido ya que sabes que o bien vas a encontrar infinidad de bugs o bien sabes que es imposible encontrar nada comprensible.

Un claro sí­ntoma de que tienes un caso de Penetrar y Parchear es cuando te das cuenta de que tu sistema es vulnerable al bug de la semana . Eso quiere decir que te has puesto en una situación en la que cada vez que los hackers inventan un nuevo arma automíticamente eres vulnerable. ¿No suena estúpido? Tu software y tus sistemas deberí­an ser seguros por diseño y deberí­an haber sido diseñados para controlar fallos desde el principio.

#4) Hackear es Guay

Una de las mejoras formas de deshacerse de las cucarachas de tu cocina es esparcir migas de pan debajo de las encimeras, ¿verdad? ¡No! Es una idea estúpida. Una de las mejores formas de desalentar el hacking en Internet es darles a los hackers acciones, comprar los libros que escriben sobre exploits, tomar clases sobre kung fu de hacking extremo y pagarles decenas de miles de euros para hacer tests de penetración contra tus sistemas, ¿verdad? ¡No! Hackear es guay es una idea estúpida.

En la época en la que yo estaba aprendiendo a andar, Donn Parker investigó los aspectos de comportamiento de hackear y la seguridad informítica. Nadie lo podrí­a decir mís claro que él: La informítica a distancia libera a los criminales de su requerimiento histórico de estar próximos a sus crí­menes. El anonimato y la libertad de no enfrentarse directamente a su ví­ctima han incrementado emocionalmente las posibilidades de cometer un crimen; por ejemplo, la ví­ctima sólo fue un ordenador inanimado, no una persona real ni una empresa. Las personas tí­midas podrí­an volverse criminales. La proliferación de sistemas y modos de proceder idénticos y la automatización de los negocios hicieron posible e incrementario las economí­as de automatizar crí­menes y construir poderosas herramientas criminales y scripts con gran facilidad.

Oculto en la observación de Parker estí el hecho de que hackear es un problema social. No es en absoluto un problema tecnológico. Las personas tí­midas podrí­an volverse criminales. Internet ha dado un espacio completamente nuevo a las personalidades poco sociables. La cuarta cosa mís estúpida que los practicantes de seguridad informítica pueden hacer es alentar a los hackers poniéndolos en un pedestal. Los medios de comunicación toman parte directamente en esta macabra idea al mostrar a los hackers como jóvenes genios o brillantes tecnólogos - por supuesto, si eres un periodista de la CNN, cualquiera que pueda instalar Linux entra dentro de la categorí­a de brillante tecnólogo . Me resulta interesante comparar las reacciones de la sociedad hacia los hackers como jóvenes genios y contra los spammers como artistas de baja categorí­a . En realidad me agrada ver cómo spammers, phishers y otros farsantes estín adoptando a los hackers y a sus técnicas ya que de esta manera se invertirí la vista de la sociedad hacia los hackers mejor que de cualquier otra forma.

Si eres un practicante de seguridad, enseñarte a tí­ mismo cómo hackear forma parte también de la estúpida idea de Hackear es Guay . Piénsalo: aprender cómo usar un montón de exploits y cómo usarlos significa que estís invirtiendo tiempo en aprender a usar un montón de herramientas y técnicas que van a estar desfasadas tan pronto como todo el mundo se haya protegido contra ese fallo en concreto. Significa que has hecho que una parte de tus conocimientos sean dependientes de Penetrar y Parchear y que vas a tener que formar parte de una carrera si no quieres que tus conocimientos queden obsoletos. ¿No serí­a mís lógico aprender cómo diseñar sistemas seguros que estén construí­dos a prueba de hacks que aprender cómo identificar sistemas de seguridad estúpidos?

Mi predicción es que la idea de que Hackear es Guay estarí muerta en los próximos 10 años. Me gusta fantasear con la idea de que serí reemplazada por la idea opuesta Una Buena Ingenierí­a es Guay pero hasta el momento no tiene visos de ocurrir.

Information and Links

Join the fray by commenting, tracking what others have to say, or linking to it from your blog.