SC.Programacion Se pueden detectar cambios de hardware en los equipos - ProfesorPonce (Reparador Tecnico PC)

Breaking

Profesional Review Magazine

jueves, 21 de noviembre de 2019

SC.Programacion Se pueden detectar cambios de hardware en los equipos


Consulta

Es posible crear un programa que bloquee el uso de un equipo cuando se detectan cambios en el hadware?


Por ejemplo: se puede bloquear la ejecucución de un equipo al que le fue retirado un modulo de memoria RAM?

Respuesta

Si es posible.

El sistema operativo cuenta con diferentes consolas de comandos.

Una de ellas, es la consola WMIC.

En la consola WMIC contamos con comandos que devuelven mucha información, incluyendo configuraciones de hardware.

Los comandos de la consola WMIC pueden llamarse también desde cualquier lenguaje de alto nivel.

Para crear un programa que detecte el hardware del sistema, los programadores podemos crear aplicaciones que usen comandos WMIC.

El procedimiento es el siguiente:

1) Desde el lenguaje de alto nivel se ejecuta una llamada a la consola wmic parametrizada para generar un volcado de datos a un txt. Para eso la llamada a WMIC debe redirigir la salida al txt. En realidad debe ser un archivo ASCII que puede tener cualquier extensión. Hay que parametrizar el llamado a la consola de comandos para que no abra una ventana y la llamada sea inadvertida para el usuario del equipo.

2) Una vez ejecutado el comando WMIC, el programa debe abrir el archivo ASCII que contiene los parámetros extraidos por wmic y realizar una búsqueda por análisis sintáctico para detectar los parámetros y sus valores (una instruccion simple como INSTR puede servir, según el lenguaje de alto nivel que se esté usando). Después de la lectura y extracción de parámetros, se destruye el archivo ASCII con un comando kill.

3) En el programa hay de crear un algoritmo para la toma de decisión (algo simple como un IF-Then-Else puede servir)

4) Se determina el resultado que dispara el shutdown del equipo y se programa una llamada a consola para ejecutarlo (sin apertura de ventana para que sea sigiloso)

5) Se compila el ejecutable y se instálalo en el sistema a controlar.

6) Se programa una declaración en el registro (HKLM-Software-Microsoft-Windows-CurrentVersion-Run para todos los usuarios o en HKCU para un solo usuario)

De ese modo se ejecutará en cada encendido y verificará los parámetros que el programador haya decidido (por ejemplo: cambio de cantidad de RAM)

Este es un procedimiento sencillo que puede ser violado por un operador con mínimos conocimientos del sistema operativo. Por eso los programadores usamos otros métodos de ejecución que no son tan obvios (hay varios de ellos) desde otras claves del registro o desde aplicaciones encubiertas. Le doy una pista: se crea una dll con el algoritmo encapsulado dentro de una función, se ubica la dll en un lugar no tan obvio dentro del sistema de archivos y desde una clave del registro de autoejecución (hay muchas) se corre la función de la dll con rundll32)

Estas son técnicas estándars para protección de ejecuciones empleadas en videojuegos, programas de seguridad, virus, antivirus, etc....

 

 
Links de Interés:

 
 
Servicio de consultas técnicas gratuito

Servicio Técnico en Sistemas, Redes y CiberSeguridad
Márketing en Internet y Redes Sociales

Su Aula Virtual en Internet
Su Taller en Internet
Su empresa en Internet

No hay comentarios:

Publicar un comentario