auditoria-de-codigo

Auditoría de código: algo necesario pero que nunca hacemos (parte 1)

A lo largo de varias publicaciones, vamos a adentrarnos en el mundo de la auditoría de código para ver lo importante que es tener cierto control de lo que se hace para poder construir nuestro software de la forma más segura posible.

Una pequeña (bueno, no tanto) introducción

En el mundo de la seguridad de la información, como en todo, hay ciertos elementos más importantes que otros y que impactan de lleno sobre la posibilidad o no de que algo ocurra.

El usuario es un actor principal dentro de este mundo. Lo que yo llamo la “constante de inutilidad” (capacidad para cometer errores con los que decir “joer, qué inútil soy!”) de las personas es un factor vital para la seguridad global de un sistema, ya que si ponemos cientos de medidas pero el usuario publica la contraseña maestra en Facebook, estamos perdidos…

Todos tenemos un torpe en nuestro interior que nos empuja a cometer fallos, a despistarnos, a relajarnos y a dejar pasar cosas de forma inconsciente y (más a menudo de lo esperado) totalmente consciente.

Esto mismo se puede llevar al mundo del desarrollo de software. Cada vez que nos ponemos el mono de desarrolladores y comenzamos a picar código, podemos cometer una serie de errores o seguir patrones “desaconsejables” que pueden hacer que nuestro resultado sea totalmente vulnerable.

La evolución del código fuente

A lo largo de las últimas décadas, el desarrollo de software ha crecido exponencialmente. El uso de nuevas tecnologías en un mundo cada vez más conectado ha creado una gran dependencia de software que gestione y coordine todo.

Cuando comencé en esto de la informática, me dedicaba a escribir en BASIC programas de decenas de líneas, incluso me atrevía a hacer cosas con cientos de líneas que luego grababa en cinta.

Hoy en día, cualquier desarrollo sencillo se nos va a los miles y crece de forma increíble si hablamos de grandes funcionalidades. Mira, por ejemplo, cómo van creciendo las cifras conforme hablamos de software (loc = lines of code):

100.000 loc

Photoshop 1.0

2.500.000 loc

Windows 3.1

9.500.000 loc

Firefox 38

40.000.000 loc

Windows 7

61.000.000 loc

Facebook

 

¿Y esto en qué nos afecta?

Lógicamente, cuanto mayor es algo que hacemos, más probabilidad de fallo hay en su interior. Este tipo de soluciones software se desarrollan por grandes equipos de personas que cuentan con peculiaridades, manías y constantes de inutilidad diferentes.

En este escenario aparecen siempre fallos, problemas, descuidos que harán que ese software sea vulnerable, poniendo en peligro a la organización, empresa o usuario que lo utiliza.

Ahorra mientras solucionas

Generalmente se suele ver “desde arriba” que los procesos de auditoría de código son una pérdida de tiempo y que si surge un fallo, ya se arreglará. La verdad es más cruda, arreglar fallos se vuelve más y más caro cuanto más avanza el desarrollo.

Solucionar, mitigar o eliminar posibilidades de fallo es sencillo y barato en el momento del diseño. Hacerlo cuando hay varios millones de líneas y cientos de usuarios haciendo uso del software se puede volver inmensamente complejo y costoso.

Entonces la pregunta que surge es directa, ¿cuándo se debe hacer una auditoría de código? El momento óptimo ocurre cuando estamos alrededor del 70% del desarrollo de cada versión funcional y sobre un proyecto que podamos compilar.

¡Pero mucho ojo!, hay que buscar equilibrio entre el desarrollo y el auditor, el objetivo es mejorar, no entorpecer.

¿Manos a la obra?

En esta entrada sólo queríamos hacer una introducción al proceso de auditoría de código para ir avanzando en las siguientes entradas. Si te parece interesante lo que hemos empezado a contar, no dudes en pasarte por aquí para entrar en detalle.

¡Te esperamos!

Cristóbal Espinosa
Últimas entradas de Cristóbal Espinosa (ver todo)
319 comentarios
  1. Mauricio Ailsworth
    Mauricio Ailsworth Dice:

    I’ve seen other bloggers have more than one image per post, but the templates blogspot only allows one image per post. Does anyone know the .html or is there something else I have to do to get multiple images?.

  2. fitspresso get
    fitspresso get Dice:

    Please let me know if you’re looking for a author for your site.
    You have some really great posts and I think
    I would be a good asset. If you ever want to take some of the load off, I’d absolutely
    love to write some material for your blog in exchange for a link back to mine.
    Please blast me an e-mail if interested. Regards!

    My blog :: fitspresso get

  3. fitspresso website
    fitspresso website Dice:

    Hello just wanted to give you a quick heads up. The text in your content
    seem to be running off the screen in Ie. I’m not sure if this is a format issue or something to do with web browser compatibility but I thought I’d post to let you know.
    The style and design look great though! Hope you get
    the problem fixed soon. Cheers

    My homepage … fitspresso website

  4. eurotogel
    eurotogel Dice:

    paito hk malam
    Hey there! This post could not be written any better! Reading through
    this post reminds me of my good old room mate!
    He always kept talking about this. I will forward this post to him.
    Pretty sure he will have a good read. Thank you
    for sharing!

  5. slot
    slot Dice:

    cara jp kakek merah cara jp kakek merah cara jp kakek merah
    Hi there! Do you know if they make any plugins to assist with SEO?
    I’m trying to get my blog to rank for some targeted keywords but
    I’m not seeing very good success. If you know of any please share.
    Appreciate it!

  6. Buy Vyvanse 50 mg Capsule Online
    Buy Vyvanse 50 mg Capsule Online Dice:

    Greetings from Colorado! I’m bored to death at work so I decided to
    check out your site on my iphone during lunch break.
    I love the info you present here and can’t wait to take a look when I get home.
    I’m amazed at how fast your blog loaded on my phone .. I’m not even using WIFI, just
    3G .. Anyways, wonderful blog!

  7. pktoto
    pktoto Dice:

    I do consider all of the concepts you have presented
    in your post. They’re very convincing and will certainly work.
    Still, the posts are very short for novices. May you please lengthen them a
    bit from subsequent time? Thank you for the post.

Dejar un comentario

¿Quieres unirte a la conversación?
Siéntete libre de contribuir!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *