lenguajes de programacion

¿Cuáles son los lenguajes de programación más seguros?

En el Módulo 4 de C1b3rWall Academy 2021 nos adentramos en los lenguajes de programación. Bruno Chenoll Matienzo es Ingeniero Informático por la Universidad de Granada. Participó en competiciones Capture the Flag y plataformas de hacking como HackTheBox. Además, fue Red Teamer para el banco Santander y actualmente es desarrollador backend con Python y PostgreSQL. Participa en C1b3rWall con la conferencia titulada “Oxidando a la ciberseguridad”.

El objetivo de su ponencia es concienciar acerca de los inconvenientes que supone utilizar un lenguaje de programación no seguro y exponer alternativas seguras.

Por qué los lenguajes programación clásicos no son seguros

Hablando de lenguajes de bajo nivel, uno seguro es aquel que, en tiempo de compilación, se encarga de verificar que el programador no ha cometido ningún error en cuanto al manejo de memoria. En lenguajes de alto nivel la memoria es administrada automáticamente por recolectores de basura, entonces… ¿si utilizamos lenguajes de alto nivel estamos creando programas seguros?

Ejemplo de lenguaje seguro: Rust

Rust es un lenguaje de bajo nivel que compila a código máquina como C. ¿Cómo consigue entonces Rust asegurar un manejo de memoria seguro? La respuesta es sencilla: con un método llamado “borrow checker”. Este método mantiene el seguimiento de cada variable y hace las comprobaciones que haría un experto en ciberseguridad para comprobar si hay errores en memoria como “use after free”, “stack overflow”, “double free”, “heap overflow” o “null pointers dereferences”. Todas estas comprobacciones las hace en tiempo de compilación, siendo muy complicado que un programa compile con fallas de manejo de memoria.

Hay que tener en cuenta que la curva de aprendizaje en Rust es muy elevada, cuesta mucho aprender a coger maestría, aunque, una vez hecho esto, la productividad se dispara. El ecosistema es muy nuevo, faltan paquetes testeados y maduros en cuanto a tiempo y testing, además, los tiempos de compilación son elevados (debido en parte al borrow checker).

Hay varias empresas y servicios que utilizan Rust: Discord, Amazon, Facebook, Cloudflare, Microsoft, NPM, Figma, Coursera, Dropbox…

Los lenguajes de programación son todo un mundo por descubrir. Bruno nos explica cuales son los más seguros y cómo podemos implementarlos de forma eficiente. Podéis matricularos gratis aquí y conocer más sobre este tema.

Podéis leer el artículo completo en News 365.


Juan Manuel Corchado

Catedrático, Área de Ciencias de la Computación e Inteligencia Artificial, Departamento de Informática y Automática de la Universidad de Salamanca.


REDES SOCIALES:

Contenidos: Noixion.TVWDiarium.com – e4YOU – Másteres – CyberCamp

Científicas: ORCIDScholarResearch GateWeb of Science

Únete a otros 18,8K suscriptores