index.html (2869B)
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 <title>¿Existe una yihad contra C/C++?</title> 7 <link rel="icon" type="image/png" href="/favicon.png" /> 8 <link rel="stylesheet" type="text/css" href="../article.css" /> 9 </head> 10 <body> 11 <header> 12 <p class="title">¿Existe una yihad contra C/C++?</p> 13 <p class="date">3 de septiembre de 2024 • fjbalon</p> 14 </header> 15 <p>El 19 de julio de 2024 se produjo uno de los mayores fallos informáticos de la historia. No fue un ciberataque per se, sino un fallo provocado por una actualización defectuosa de software de CrowdStrike, una empresa de ciberseguridad que mantiene una herramienta llamada Falcon Sensor. Uno de los archivos de configuración que liberaron con la actualización llevaba un error que provocaba BSOD (pantallazo azul) en los ordenadores afectados, provocando a aproximadamente 8,5 millones de dispositivos Windows.</p> 16 <p>Esto provocó caos global durante horas: aerolíneas caídas, hospitales, bancos, servicios de emergencia, medios de comunicación, etcétera.</p> 17 <p>Siendo más concreto, al parecer, el error venía de un mal puntero a memoria en el código C++. Al principio parecía que el error se relacionaba con una desreferencia de un puntero NULL, después, parece que el programa leía punteros de una tabla en bucle, y algunos no eran válidos, provocando el error. Probablemente la causa del mal puntero venía de un archivo de configuración con entradas sin inicializar, como decía. No entraré en más detalle técnico preciso.</p> 18 <p>Sea como fuera, parece obvio que el causante del problema fue un puntero a memoria. Ahora, sin afán de ser conspiranoico, ¿no parece curioso que ocurra esto tan solo unos meses después de que la Oficina de su Director Nacional de Ciberseguridad (ONCD) de la Casa Blanca hiciera público un llamamiento a la industria del software para promover lenguajes memory-safe? ¿y que posteriormente haya eliminado la publicación? Desde luego, tranquilizador no es.</p> 19 <p>Básicamente, la Casa Blanca exhorta a dejar de utilizar lenguajes que no garanticen la seguridad de la memoria (mediante punteros) como C o C++, y recomiendan el uso de otros lenguajes que sí la garanticen como Rust, Python, Java, C#, Go…</p> 20 <p>Es un intento de "ilegalización" positiva (en el sentido de derecho, no moral) de C y C++ por parte del gobierno de EEUU.</p> 21 <p>También la NSA, que para nada es sospechosa de buscar "inseguridad por diseño", ha desaconsejado el uso de C/C++ por el mismo motivo.</p> 22 <p>Seguramente haya sido una enorme casualidad que, en el mismo curso, instituciones de gobierno de EEUU desaconsejen programas no memory-safe, y ocurra un fallo a escala global provocado por un fallo de puntero a memoria.</p> 23 </body> 24 </html>