SG36
49 CIBERSEGURIDAD además del hecho de que el software y programas son actores vivos en continua evolución con una generación de vul- nerabilidades en continuo crecimiento y donde se detecta una interactividad con el exterior (redes, satélites, nubes, etc.) infectados o no, con usuarios, con otras entidades, etc. No podemos sacar una instantánea (de que es ciberseguro) y afirmar que, de la evaluación de vulnerabilidades, auditorías, pentest, etc., de un sistema/ subsistema apto en un instante de tiempo seguirá siendo ciberseguro hasta el próximo año. Existen nume- rosas vulnerabilidades en todo CPS. La arquitectura de un CPS se compone de bloques funcionales como: el sistema físico en sí, los sensores (los ‘ciberata- ques poltergeist/AMpLe’ consisten en volver ciegos o confundir a vehículos (u otras entidades: fábricas, IoT, etc.) de varios modos, bien con malware que cambie los datos generados por los sensores o bien enviando desde el exterior señales acústicas o electro- magnéticas a los sensores del vehículo para que crea que no hay obstáculos donde los hay o detecte obstáculos donde no los hay), los actuadores, la red de comunicaciones y los contro- ladores distribuidos. En este entorno tan complejo y con tantas interacciones, las vulnerabili- dades-fallos están presentes (y crecen y campan a sus aires) en cada uno de los bloques funcionales además de la interactividad de los propios usuarios, el entorno o entidades IA que dan soporte en tiempo real a las capacidades del CPS. Las acciones- operaciones y la orquestación que se llevan a cabo en el CPS generan conti- nuamente vulnerabilidades causantes de impactos y daños irreversibles. El certificar cada bloque funcional por separado no asegura que el CPS en su conjunto sea de confianza ya que existen numerosas interacciones impredecibles entre bloques (vía actualizaciones FOTA, SOTA, personas, redes externas, satélites, IA, etc.), las redes son entes vivos y los usuarios transmiten información con mayor o menor protección, existen fallos humanos, técnicos, se añaden cada día nuevos elementos a la red que aumentan la superficie de ciberataque/ vulnerabilidades y la propagación- actuación-veredicto final puede ser una quimera a medio plazo. Algunas de las vulnerabilidades software más peligrosas según el ranking CWE (Common Weakness Enumeration) del 2021 de Mitre (2021 CWE Top 25) son: Escritura fuera de los límites (esta vulnerabilidad CWE-787 -con puntua- ción de peligrosidad de 65,93- es del tipo ‘corrupción de memoria’, escribe datos de manera que puede conducir a la explotación de datos, ejecución de código o a un accidente de memoria. Esta vulnerabilidad puede transformar la aritmética que controla el índice de la posición de memoria para que este fuera de los límites del buffer). Lectura fuera de los límites (esta vulnerabilidad CWE-125 -con puntuación de peligrosi- dad de 24,9- permite que el malware se entere de todos los datos sensibles exis- tentes en otras posiciones dememoria y ayuda a crear un accidente. Este tipo de accidentes ocurre cuando el código se entera de diferentes cantidades de datos y después asume que existe un guarda que impide la operación de lectura, como un NULL en un string). Neutralización inadecuada de la entrada durante la generación de la páginaWeb XSS (Cross-Site-Scripting). (El malware puede aprovecharse de esta vulnera- bilidad CWE-79 -con puntuación de peligrosidad de 46,84- para ejecutar sus propios scripts en el sistema obje- tivo. Sucede normalmente: siempre que una APP incluye datos inseguros en una página Web nueva sin la vali- dación adecuada o bien siempre que una página Web existente se actualice con datos suministrados por el usuario utilizando una API del navegador Web que puede crear HTML o JavaScript. Existen tres clases de XSS: tipo-0 (XSS basado en DOM), tipo-1 (XSS reflejado no persistente), tipo-2 (XSS almacenado persistente). Los malware utilizan diver- sos métodos para codificar la porción maliciosadel ciberataque como codificar URL o Unicode y hace la petición no sospechosa). Validación incorrecta de las entradas (esta vulnerabilidad CWE- 20 -con puntuación de peligrosidad de 20,47- obtiene la entrada o datos sin el OK de que la entrada tiene las propie- dades que se necesitan en el proceso que afirma que los datos son seguros y precisos. La validación deficiente de la entrada posibilita entradas peligro- sas de modo que acepta entradas no seguras para su procesado dentro del código). Neutralización incorrecta de los elementos especiales utilizados en un comando de sistema operativo -OS Command Injection- (esta vulnerabilidad CWE-78 -conpuntuacióndepeligrosidad de 19,55- ensambla cada parte de un comando de OS que se está utilizando externamente y fue influenciadopor una entrada de un elemento anterior. Pero no compensa ni contrabalancea inco- rrectamente los elementos específicos que pudieron transformar el comando OS designado). Neutralización incorrecta de los elementos especiales utilizados en un comando SQL -SQL Injection- (esta vulnerabilidadCWE-89 -con puntuación de peligrosidadde 19,54- puede utilizarse para alterar la lógica de la query SQL al objeto de saltarse las comprobaciones de seguridad o para insertar sentencias adicionales quemodifiquen la base de datos, posiblemente incluyendo la eje- cución de comandos del sistema. Esta vulnerabilidad depende del hecho que SQL no hace una distinción real entre los planos de control y de datos. Sin un control adecuado en las entradas del usuario, la query generada puede causar que las entradas se interpreten como SQL en vez de datos ordinarios de usuario). Utilizar y después libre (esta vulnerabilidad CWE-416 -con puntua- ción de peligrosidad de 16,83- ofrece la capacidad de ‘cascar’ un programa utili- zando valores noesperados oejecutando código arbitrario. Esta vulnerabilidad tiene dos circunstancias solapadas: situaciones de error y otros eventos no comunes y al liberar la memoria crea confusión sobre que parte del
RkJQdWJsaXNoZXIy Njg1MjYx