Publicado hace 2 años por --672554-- a edwardsnowden.substack.com

Estamos en medio de la mayor crisis de seguridad informática en la historia de la informática. La gente que crea el software detrás de cada dispositivo de cierta importancia -la gente que crea Apple, Google, Microsoft, una amalgama de fabricantes miserables de chips que quieren vender cosas, no arreglarlas, y los bien intencionados desarrolladores de Linux que quieren arreglar cosas, no venderlas- están todos contentos de escribir código en lenguajes de programación que sabemos que son inseguros.

Comentarios

d

#1 joer, lo has puesto muy interesante.

Voy, voy.

d

#14 Muy bueno también. Y creo que más claro.

La cosa va a peor, está claro.

D

#1 Es brutal y esclarecedor. Gracias por el envío

senador

#1 Lo que viene siendo un "sacurdirse las pulgas" pero a nivel planetario. No pinta bien, la verdad.

D

Ojalá que se popularice Rust pronto y C/C++ quede para el legacy o sistemas en los que la seguridad no es importante.

D

#4 aunque eso sucediera, los "bugs" importantes son intencionados (backdoors)

D

#5 El tema es que si dejas un error internacionado de gestión de memoria en Rust con la intención de explotarlo después, el compilador no te va a dejar compilar.

Asi que complica bastante las cosas si, por ejemplo, alguien quisiera meter alguna mierda de esas en Linux.

Ferk

#4 Me parece una pena que tras desarrollar Rust desde Mozilla para mejorar Firefox, el ratio de uso de Firefox siga bajando y en cambio Chrome (que el propio artículo menciona que 70% de sus problemas se relacionan con el uso de memoria) y sus forks sigan expandiendose.

D

#8 Pinta mal para Mozilla, por suerte parece que el lenguaje saldrá adelante con todo el apoyo que esta recibiendo.

De hecho, el propio Google está pagando a un desarrollador para que se meta Rust como segundo lenguaje en el kernel.

T

#4 Disculpa por adelantado, pero veo mucho evangelista de Rust y es que no soporto los señoros que sueltan qué tan buen o qué tan mal es un lenguaje sin dar siquiera un mínimo de detalle. Tanto es así que le estoy cogiendo asco -al lenguaje ojo, y eso que me parece fantástico-. C++ evoluciona bastante rápido, y los memory leaks son historia desde C++11 con los smart pointers. 10 años, que se dice poco.

Otra cosa es que los programadores no entiendan el modelo de memoria de C++, lo cual es culpa del lenguaje (poca broma con esto) porque en fin, buena suerte cuando tengas que:
- Distinguir una referencia de todo lo demás
- Entender qué elementos se pueden pasar a un contenedor de la STL
- Entender qué es el ownership de un puntero
- Sin mencionar concurrencia y paralelismo, que entonces me da la risa

Y el problema también es que -por lo general- quien empezó a programar en C++98 no se va a empapar las plantillas variádicas de C++11 o las maravillosas lambdas, no te digo ya el folding de C++17 o cualquier novedad de C++20. Una pena, porque las novedades del lenguaje son en términos generales una barbaridad.

En general creo que C++ es bastante más polivalente que Rust, pero bastante menos seguro por el gran esfuerzo que supone entender una mínima parte de su modelo de memoria. Los entes del comité ISO de C++ simplemente asumen que el programador sabe lo que hace, y así ha pasado, que la gente intenta sobrevivir a su jefe día sí día también, y parche sobre parche se hace un remierdo.

Es que me hace gracia que han pasado 10 años desde C++11, lo que decía de los smart pointers, y todavía C++ sigue siendo considerado un pozo de problemas de este tipo. En fin.

Aun así, siendo el monstruo que es, a poco que el comité en su torre de marfil tenga a bien quitar la retrocompatibilidad (equivale al "ojalá" de tu comentario :P), es posible que no tenga nada que envidiarle a la seguridad de Rust.

PD: Perdona si te molesté en el primer párrafo, pero quería escribir sobre mi libro

saqueador

#22 Tu mismo lanzas las preguntas y te contestas un párrafo después. C++ es demasiado polivalente, para que fuera seguro tendría que impedir que se pudiera programar de manera insegura.

T

#24 Da gusto leer comentarios como este. Muchas gracias

Como habrás podido adivinar, me gano la vida picando para C++ y he saltado lol pero es porque el lenguaje va evolucionando hacia algo que me temo no será nunca igual a lo que ofrece Rust por lo que tú comentas, pero sí que hay margen de mejora hacia lo que Rust propone y a ello van con cada nuevo estándar. El problema es que los fallos del pasado siguen ahí disponibles para cualquiera, de ahí que lo de eliminar retrocompatibilidad sea algo prioritario (en mi opinión).

Leeré el libro que me sugieres. Aprender Rust -y quizá Kotlin- es algo que tengo pendiente desde hace tiempo. De Rust hasta ahora solo he leído poco código. No lo entiendo pero se lee fabuloso.

D

#25 Gracias a ti también, ya que me has animado a aprender un poco de C++ moderno también, aunque sea de forma comparada mientras voy aprendiendo Rust ("Así es como se resuelve en C++ vs Rust y estos son los trade-offs". La verdad es que hay muchos proyectos en C++ que me gustaría entender mejor, como PyTorch.

Kotlin parece una mejora considerable con respecto a Java, también lo tengo en el punto de mira, quizá algún día... Dentro de la JVM, otra sorpresa para mi ha sido al tener un poco de exposición a Scala y ver que no está nada mal (me pasaba un poco como a ti, que estaba harto de lo evangelistas de ese lenguaje lol).

vviccio

#12 Igual que Arabia Saudí pero todos compramos su petróleo y les reimos las gracias.

D

#15 Claro que no, Arabia Saudí siendo una dictadura hará por ejemplo que se mueva tu coche, no como china que sin libertad de expresión y ejecutando o encarcelando periodistas quiere por ejemplo mover la información en tu casa, lo que le pedimos en Occidente/democracias es que respete los Derechos Humanos

vviccio

#16 Y nos pone en una posición de servidumbre para que hagamos lo que no debemos. Como aquel capítulo de los SImpon's donde el señor Burns regala fajos de billetes a Homer para que haga cosas indignas.

vviccio

Las barreras de EEUU a los productos 5G chinos es porque los ladrones piensan que todos son de su misma condición.

D

#9 Lo peor es que seguramente en eso lleven razón, que todos son de su condición

D

#9 China es una Dictadura sin Derechos humanos y esas cosas, te suenan los puntos sociales o que todos los medios de comunicación del país sean propiedad del gobierno?, detalles sin importancia nimiedades.

D

Mi teléfono también tiene 3 micros ocultos? Pues vaya

g

Evolución tecnológica S XXI... de la obsolescencia programada a la inseguridad programada... 😡

MisturaFina

Bonito resumen de la industria vs codigo libre. Y sin embargo seguimos pagando por basura industrial

e

#17 Diría que no tiene nada que ver con el código libre. Más que nada se queja de la inseguridad de los lenguajes de programación.