La interrelación entre complejidad y seguridad (parte l)

En esta edición no.5 de nuestro whitepaper mensual, vamos a hacer un ensayo sobre la situación actual referente a la ciberseguridad, con énfasis en la del software (lo que en inglés denominan “AppSec”).


Si usted hace 30 ó 40 años atrás programó en lenguaje ensamblador para un microprocesador como el 6502, estaba en una situación bastante más favorable que cualquier otra persona que hiciera lo mismo programando en lenguaje de máquina o utilizando opcodes. A su vez, otras personas que tuvieran acceso a programar en lenguajes como BASIC, disfrutaban de una experiencia más productiva (en términos de tiempo) y menos dolorosa (en términos de complejidad) pero quizá menos potente (en términos de performance) ó poderosa (en términos de control directo del hardware) que hacerlo en lenguaje ensamblador. La creación de un lenguaje como BASIC implica agregar capas de abstracción entre el programador (humano) y la máquina, con la finalidad de reducir la complejidad de interactuar directamente con la tecnología subyacente. La palabra clave es abstracción de la complejidad; todo para que el programador se beneficie de una aparente simplificación. Esto a un costo, como todo en la vida: Una sintaxis de programación simple implica mayor popularidad de la tecnología entre los programadores y los usuarios de sus creaciones (programas ó aplicaciones). A mejores programas creados para esa tecnología, más se impulsan sus ventas (it’s the software, stupid). Mientras que el costo para un programador (en forma de menos control sobre el hardware y un poco menos de rendimiento al ejecutar su programa) - represente una mayor productividad y un mejor time-to-market de sus productos, todo está bien.

Regresando a tiempos modernos: hoy en día sería casi impensable plantearnos programar un navegador web en lenguaje ensamblador, mucho menos un conjunto de aplicaciones como Word o Excel. También resulta prácticamente ridículo pensar en crear un portal web utilizando Perl y CGI-BIN . O peor, desarrollar un front-end con JavaScript puro sin emplear algo como JQuery o Bootstrap. Estamos empezando a ver un patrón: necesidades del mercado de crear software más rápido, simplificación de interacción con la tecnología para reducir la barrera de entrada para nuevos programadores, creación de más capas de abstracción para lograr estos fines. En fin: Evolución. ¿Están de acuerdo?.


Si deseas leer esta publicación completa dale clic al botón:

Previous
Previous

Disipando 8 conceptos erróneos sobre las pruebas de penetración

Next
Next

Espionaje Comercial