Cómo detectar malware en un disco duro desde cero

1

Me pregunto cómo detectar un virus o malware o cualquier cosa que exista en un disco duro (estoy pensando en discos duros externos). Hacer una búsqueda rápida llevó a estos que no están muy relacionados:

Esto está más cerca de lo que estoy hablando:

Estados de Quora:

  

Depende del malware. El cambio de formato eliminará la mayoría de los programas maliciosos, pero hay excepciones. Simplemente asegúrese de eliminar la partición de recuperación e instálela desde medios buenos conocidos ... Algunos programas maliciosos pueden modificar el BIOS u otras partes de la computadora que sobrevivan al reformateo del disco duro. Este tipo de malware es raro porque es específico del hardware.

Para esta pregunta no estoy interesado en virus sin disco duro , solo en los HDD (para discos duros externos, sólo para mantener la pregunta no demasiado amplia). No entiendo bien cómo funcionan los discos duros, aparte de que utilizan material magnético para almacenar los datos.

En la programación (solo soy un programador, no mucho de seguridad), solo pienso "almaceno archivos en el disco duro". Algunos de esos archivos pueden ser "archivos ejecutables". Pero si no ejecuta esos archivos, no obtendrá un virus (ignorando otras formas de virus fuera de los HDD aquí). Si do ejecuta el archivo y "tiene un virus", no veo cómo apagar y encender su computadora simplemente no detendrá la ejecución del programa. Sé que hay demonios de inicio, así que tal vez sería un demonio de inicio, pero si solo miras ps ax , asumiría que verías el proceso en la lista. Pero esto solo demuestra que no sé mucho sobre cómo funcionan los virus. No relacionado directamente con la pregunta, solo quería agregar algo de contexto a la pregunta principal.

Entonces, la pregunta principal es, ¿cómo verificar si hay un virus en el disco duro? Más generalmente, cómo comprobar que puede haber algún software o malware instalado en el disco duro. Preguntándose qué debe hacerse a nivel de herramienta / software independiente (es decir, a nivel teórico). El conocimiento de algunas herramientas estándar también sería útil en cierto sentido, podría facilitar su comprensión con el ejemplo.

Básicamente, mi conocimiento está limitado a "solo escriba ps ax y verifique los procesos". Pero tal vez el virus no aparece en la lista o cambia su nombre. Además, este es solo un comando de Unix, no sé si hay algo más que hacer. Tal vez pueda escanear manualmente el contenido del disco y buscar alguna característica de algún tipo. O no lo sé, eso es lo que me pregunto.

Por "desde cero" en el título, quiero decir, sin confiar en alguna herramienta como "solo ejecuta el software antivirus X". ¿Qué pasaría si simplemente escribiera algún código C o algún ensamblado, preguntándose a ese nivel (no necesariamente implementaciones específicas) para qué escribiría el código para resolver el problema?

    
pregunta Lance Pollard 22.11.2018 - 10:47
fuente

2 respuestas

1

A nivel teórico, primero debe comparar el diseño de la electrónica del dispositivo con el esquema previsto (probablemente no tenga) u otra versión válida conocida de exactamente la misma unidad. Si difiere, averigüe qué difiere y cuáles son las consecuencias. ¿Hay alguna nueva parte "inteligente" como un microcontrolador? ¿A qué está conectado?

Luego, echa un vistazo a todos los componentes electrónicos programables allí y descarga el código binario allí. (utilizando JTAG, SPI, lo que necesite).

Luego, compara este código binario con la versión en buen estado (que probablemente no tenga) o versiones descargadas de versiones en buen estado de esta unidad.

Luego, analiza exactamente las diferencias al desensamblar el código y entender lo que hace. ¿Es solo una corrección / actualización del fabricante o un código malicioso?

Puede consultar en este blog para ver algunas fotografías bonitas y una descripción de cómo funciona el cambio del firmware de la unidad.

Si determinó que el hardware y el firmware no han sido alterados, puede continuar con los datos en la unidad.

Los datos en la unidad no se ejecutan a menos que UEFI / BIOS / ... o el sistema operativo lo hagan.

Así que primero necesitas revisar el gestor de arranque allí. ¿La unidad contiene un gestor de arranque? si es así, vea si es un gestor de arranque conocido (por ejemplo, WindowsBootloader, default grub, ...). Si no, desmonte el código y analícelo.

Si está seguro de que el hardware, el firmware y el cargador de arranque no son maliciosos, la única forma de ejecutar el código sería su sistema operativo.

Averigüe si su sistema operativo carga y ejecuta automáticamente el código de las unidades conectadas (no debería) y, de ser así, desde dónde exactamente. Vea si hay código en estas ubicaciones en su disco. Analízalo.

Si llegó hasta aquí, no hay ningún código malicioso en la unidad que se ejecuta automáticamente. Por supuesto, todavía podría haber código malicioso que no se ejecute automáticamente.

    
respondido por el Josef 22.11.2018 - 12:26
fuente
0

Su principal problema parece ser que confía en ps ax . Es decir, usted ingresa las dos palabras y asume que se ejecutan según lo previsto. Con malware ejecutando este supuesto es defectuoso.

En la práctica, la respuesta es: no ejecutes nada en ese disco duro en ese momento. Póngalo en un alojamiento USB y conéctelo a un sistema que no esté en buen estado y que no comience a ejecutar automáticamente el contenido desde el almacenamiento USB. Para mayor seguridad, en Linux puede montar el dsk como noexec .

Ahora puede inspeccionar todos los bits accesibles a malware ordinario. Sin embargo, todavía existe el riesgo de que los actores a nivel estatal hayan reemplazado el propio firmware del disco. Pero si está lidiando con ese nivel de amenazas, no debería hacer este tipo de preguntas.

    
respondido por el MSalters 22.11.2018 - 10:55
fuente

Lea otras preguntas en las etiquetas