DISEÑOS MATEMÁTICOS PARA BLINDAR PROGRAMAS Y EQUIPO DE CÓMPUTO
Los virus entran en las computadoras, dispositivos móviles y tabletas y pueden dañar por completo el equipo o estar programados para sustraer información privada y hacer un uso indebido de ella.
Este tipo de software y hardware maliciosos va en aumento—2015 fue el año en el que más ciberataques se han producido con 304 millones, de acuerdo con Panda Security— por lo que la necesidad de blindar a los programas y equipos para garantizar su uso han llevado a crear objetos matemáticos llamados covering arrays para probar la calidad de los componentes de software y hardware con el menor número de pruebas posibles y mayor cobertura de la prueba antes de que salgan a la venta.
José Torres Jiménez, investigador del Centro de Investigación y de Estudios Avanzados (Cinvestav) unidad Tamaulipas, ha trabajado por más de una década en la creación de covering arrays para el diseño óptimo de experimentos, ya que pueden construirse funciones relacionadas con criptografía, seguridad, corrección y detección de errores en software y hardware.
“Hacer pruebas exhaustivas de todas las posibles entradas y validar todas las posibles salidas de un programa o de un equipo es imposible porque demandaría muchos años. Con el uso de los covering arrays se garantiza un conjunto mínimo de pruebas pero con la máxima probabilidad de descubrir un virus troyano o la mala funcionalidad de un componente de hardware o software”, dijo.
Al día de hoy no solo es peligroso navegar por la web o abrir un correo electrónico que contenga un virus que permita al atacante tener acceso remoto del dispositivo, también cada vez existen más componentes de hardware como microprocesadores con errores. “Si el hardware que se compra, bajo cierta secuencia de instrucciones o de entradas abre un puerto, entonces alguien puede sacar toda la información de la computadora personal y toda la privacidad e información financiera queda expuesta”, señaló Torres Jiménez.
El doctor en ciencias de la computación ha desarrollado covering arrays para diversas compañías, como International Security Business Austria (SBA), localizada en Viena, Austria, con la idea de crear casos de prueba para detectar virus troyanos en hardware porque, en el caso de algunos de sus componentes, cuando salen de la fábrica en el camino pueden ser reemplazados y modificar sus circuitos, dejándolos vulnerables.
También colaboró con Svam International, una compañía de desarrollo de software que tiene sedes en India, Estados Unidos y México. “Estaban interesados en que les desarrollara un programa para la generación de casos de prueba con los cuales ellos pudieran mejorar la calidad de sus productos, para ello se firmó un convenio, se hizo el desarrollo y se dio la transferencia. El resultado fue un generador de casos de prueba llamado svamCA.C, este programa ya está en uso desde hace unos cinco años en la empresa y les ha permitido mejorar la calidad de sus productos de software”.
Su trabajo y las transferencias que ha realizado son de acceso abierto y están disponibles para la comunidad. “Hay un repositorio de covering arrays en el Cinvestav-Tamaulipas con los mejores diseños combinatorios accesibles para descarga, y hay otra página que aglutina a nivel mundial los mejores resultados que se encuentra en la Universidad Estatal de Arizona y ahí están registrados gran parte de los diseños experimentales que tenemos, los cuales están reconocidos como los mejores a nivel mundial”, informó.
El objetivo siempre es construir mejores covering arrays, más pequeños, porque entre más pequeños sean pueden hacer pruebas en menor tiempo, con menos dinero y eso redunda en ventajas económicas; para ello, el integrante de la Academia Mexicana de Ciencias utiliza cómputo paralelo ya sea en arquitecturas multi-core o multi-CPU (unidades de procesamiento central) y multi-GTU. En el Cinvestav se cuenta con el equipo necesario para construir los objetos combinatorios, se tienen más de 10 000 CPU-cores y más de 300 000 GPU-cores (los dos centros de supercómputo son Abacus y Xihhcoatl). Hay diversos métodos matemáticos para construirlos como campos finitos, teoría de grupos, entre otros.
Desarrolladores de covering arrays
Esta área en el mundo cuenta con contados expertos, José Torres Jiménez indicó que no son más de 50 especialistas. La mayoría se encuentran en Estados Unidos, Nueva Zelanda, Japón, China y Austria. “Aquí en México el grupo que he integrado es el que está trabajando en covering arrays en todo el país”. Ha formado a diez maestros en ciencias y dos doctores especializados en covering arrays.
El investigador adscrito al área de Inteligencia Computacional y Optimización Avanzada destacó que en cuanto a países de América Latina involucrados, en Colombia ya se desarrollan estos objetos matemáticos y se han establecido alianzas con su grupo de trabajo.
“Allá estamos armando un grupo sólido de desarrollo en el departamento del Cauca, donde se encuentra un conglomerado de empresas dedicadas a creación y mejora de software que se llama Parque Soft, actualmente soy co-asesor de dos estudiantes de maestría y dos de licenciatura en la Universidad del Cauca, institución con la que estamos desarrollando un producto de software que va a ser utilizado por varias empresas de ese parque”.