Ensamblador - ¿Debo temer más a los viruses en ASM?

   
Vista:

¿Debo temer más a los viruses en ASM?

Publicado por Corones (4 intervenciones) el 21/07/2008 00:49:40
Hola!
Tengo unas duditas que me inquietan:
Son más "contagiosos" los viruses de ASM?Me imagino que a ellos también se los tiene que ejecutar uno para que se activen y si no,no pueden actuar,verdad o sí pueden?
¿Tienes que ser un programador en ASM para poder proteger te debidamente?
Para toda la diversidad de un sistema operativo sería complicado,desde luego,pero tal vez es posible proteger a pocos archivos especiales contra modificación,no?Digo,hacer algo radical e ingenioso para que no les cambie ni Mitnick.Algo como me imagino deshabilitar por defecto a todas las interrupciones de software y dejar solo a las de hardware ya que sólo yo accedo a mi PC fisicamente,pero no sé si esto se puede hacer para sólo algúnas de las interupciones o para todas y nos quedamos sin SO :S
Gracias y hasta otra!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:¿Debo temer más a los viruses en ASM?

Publicado por m0skit0 (10 intervenciones) el 24/07/2008 11:25:07
Jejeje, veo que estás hecho un lío con el ensamblador. Todos los viruses están en ensamblador, a la vez que todos los programas están en ensamblador, y en última instancia en lenguaje máquina. Todo lo que ejecuta un ordenador son ceros y unos directamente traducibles a ensamblador.

Efectivamente, un virus necesita ser ejecutado, sino sólo es un número. Y no, no puedes desactivar las interrupciones software simplemente porque no se pueden desactivar y son impresicindibles para casi todos los sistemas operativos.

¿Quién quisiera encontrar un software "inhackeable"? Pues todo el mundo. Pero eso no existe ni existirá mientras el hombre sea un ser imperfecto.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Debo temer más a los viruses en ASM?

Publicado por Corones (4 intervenciones) el 24/07/2008 19:55:30
Hola!
Tienes razón.Pero como has tardado un poco en responder,resolví una de mis dudas y llegue a otra:
Si uno es capaz de escribuir un virus en ensamblador y en un lenguaje de alto nivel,preferiría al ASM porque es el que menos pesada aplicación va a crear.Por no decir que otros lenguajes de alto nivel no pueden cosas que puede ASM.

La duda que me ha salido es-los viruses que esperan una fecha concreta para liberar su carga maliciosa¿han sido ejecutados una vez y nadie se dió cuenta o es que la misma fecha les puede ejecutar.Tienes razón estoy hecho un lio :S

Qué pena que poquitos quedan que se interesan por ASM-claro,es que como obliga pensar mucho:(
Adios!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Debo temer más a los viruses en ASM?

Publicado por m0skit0a (10 intervenciones) el 28/07/2008 08:38:21
Perdona por las tardanzas :P

Sí, efectivamente, los que esperan una fecha para hacer sus fechorías ya fueron ejecutados con anterioridad a ésta. También es posible que sea un programa aparentemente inocuo el que después active el virus propiamente dicho.

En cuanto a la diferencia entre ASM y alto nivel tienes razón. Sin embargo, hay cosas muy tediosas de programar en ensamblador y mucho más fáciles de hacer en alto nivel, como llamadas al sistema y demás. Todo depende del tipo de virus y del ocultamiento que pretenda tener.

Quedan pocos, es cierto, pero el ASM es inmortal debido a que todos los procesadores al fin y al cabo ejecutan sus instrucciones. Los demás lenguajes están destinados a ser sustituídos por otros y así sucesivamente, pero el ensamblador lleva casi desde la invención de los procesadores. Un saludo, y a pensar.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Debo temer más a los viruses en ASM?

Publicado por Corones (4 intervenciones) el 28/07/2008 14:28:34
Hola!
Una dudita:
Dicen que lo mejor para limpiar los virus es reinstalar el SO.Pero bien,si el virus ha infectado archivos o ha modificado algunas de las INT,no sé si reinstalar el SO limpia a fondo.Total que luego volveré a abrir la carpeta del porno:P
Últimamente la curiosidad me llevó a muchos sitios de "hacking"(lo encomillo para hacer la diferencia entre hacking y hacking,sabiendo bien que un foro no es un sitio donde los hackers verdaderos se reunirían) y veo que mi windows no va bien como antes.Tampoco me importa demasiado-es mi pc para sacrificar,pero en todo caso parece que voy reinstalar el SO para alargar le un poco más la vida:)

Respecto a lo que ASM es tedioso-es cierto.Pero creo que la gente se asusta demasiado sin motivo y se refugia en los lenguajes de alto nivel.En mi opiñon es como aprender un lenguaje extranjero que cuanto más lo masticas,menos te cuesta y llega un momento en que lo dominas casi como el lenguaje materno.Y lo de que se escribe mucho,eso tampoco es una escuza de abandonar un lenguaje,ya que siempre puedes marcar un parrafo en el ensamblador y compiar lo y pegar lo más adelante en el programa objeto.Hasta copiando y pegando ya no asustan tanto ni los PIC.Copias,pegas y retocas sólo lo que tiene que retocar se.

Pero bueno es mi humilde opiñon de un principiante y puede que sea equivocado:)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Debo temer más a los viruses en ASM?

Publicado por m0skit0 (10 intervenciones) el 28/07/2008 15:14:49
El unico sitio donde se almacena información que no se pierde al apagar el PC son los dispositivos de almacenamiento y la CMOS de la BIOS. Si el virus no está allí, no está en ningún lugar ya. Está claro que si dejas particiones sin formatear y el virus se encuentra en ellas, seguirá estando. Pero ya no infectará al sistema operativo a menos que lo ejecutes de nuevo. También podría colarse en el sector de arranque de los discos y de allí es difícil sacarlo. Si necesitas limpiar 100% un disco, te aconsejo rellenarlo a bajo nivel con ceros y a hacer gárgaras cualquier cosa que hubiera. Agur virus y todo. Te lo deja como nuevo.

En cuanto a lo del ensamblador, sigo diciendo lo mismo: cada oveja con su pareja. Cada tipo de lenguaje se usa para una cosa y está hecho para eso. Si quieres tirarte 10 días programando (y depurando, que es lo más tedioso) algo en ensamblador que costaría 2 horas en C, pues hala, a sudar. No es malo, es simplemente inútil. Por mucho ensamblador que sepa alguien, los errores de logica son muy difíciles de corregir. En alto nivel no tanto. Un saludo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Debo temer más a los viruses en ASM?

Publicado por Corones (4 intervenciones) el 31/07/2008 04:39:10
Gracias!
Ya os dejo
:P
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Debo temer más a los viruses en ASM?

Publicado por ASTRO MUERTO (1 intervención) el 05/11/2008 11:40:42
Sí. Con ASM puedes hacer lo que se te antoje. Los virus no tienen un único modo de actuar, de estar residentes, o de infectar; tienen muchas formas de hacerlo, y eso va a depender estrictamente de la creatividad del programador.
Además lo que caracteriza a un virus es su capacidad para contagiar a otros programas o archivos ejecutables. Técnicamente hablando, cuando un programa es compilado se transforma en código de máquina, y lo que hace un virus es trasladar su código de máquina dentro del código de máquina de otro programa, modificándolo para que en lugar de ejecutarse el programa, se ejecute primero el virus, entregándole luego éste el control al programa que lo hospeda.
En otras palabras:

VIRUS = 111111
PROGRAMA SIN INFECTAR = 222222
PROGRAMA INFECTADO = 222222111111

Claramente, algo como esto no puede ser programado en un lenguaje de alto nivel, como Visual Basic, simplemente porque desde un lenguaje de alto nivel, es imposible hacer referencias al propio código del programa una vez que éste está compilado y corriendo.
Un virus necesita tener acceso a su propio código de máquina en el momento de infectar, para duplicarlo y escribirlo en el programa que va a ser infectado.
Cada programa infectado aloja y ejecuta el virus generándose nuevas infecciones tras ser ejecutado.

El motivo por el cual los lenguajes de alto nivel se quedan cortos a la hora de programar un virus, es que dichos lenguajes, están orientados hacia lo práctico. Por ejemplo: ¿Por qué querría un programa tener acceso a su propio código de máquina? Claramente eso es inútil para el fin hacia cual están orientados los enguajes de programación de alto nivel; pero claro, con ASM (y lenguajes de bajo nivel) manejas las interrupciones (en DOS) y las APIS (en windows) de forma directa, pudiendo hacer cosas como las que necesita hacer un virus.

Las cargas de los virus informáticos no se basan simplemente en comprobación de fechas y cosas semejantes. También dependen de la creatividad del programador, así como también de su nivel y conocimiento del sistema operativo que desea infectar.

Por ejemplo, la carga de un virus puede ser:

-mostrar un mensaje.
-cambiar nombres de archivos y/o directorios y/o eliminarlos.
-resetear el sistema opeativo.
-mostrar efectos gráficos.
-Bloquear el teclado.
-Modificar el mapa del teclado.
-Imprimir algo si es que hay una impresora conectada.
-Emitir sonidos.
-Todo lo que al programador se le pueda ocurrir.

O simplemente, un virus, puede no llevar carga alguna, estando tan bien diseñado que el usuario jamás note que está infectado. Un virus bien diseñado no tiene por qué estropear el sistema operativo. Es más, no causará mayor efecto que el simple hecho de replicarse de forma invisible para el usuario.

La creatividad también tiene un papel importante en las infecciones. Existen varios modos de infectar:

-Infección de sobreescritura: Simplemente el virus se copia encima del programa infectado, dejando inútil al programa que, al ejecutarlo, sólo correrá el virus y más nada.
-Infección por agregado: Esto quiere decir que el virus se adhiere en algún lugar del programa infectado, no alterando su buen funcionamiento.
-Infección por suplantación: El virus hará una copia del programa que va a infectar y se copiará en lugar del programa. Cuando el usuario crea por ejemplo que está ejecutando la calculadora, estará en realidad ejecutando el virus, el cual, una vez finalizada su taréa, ejecutará la copia original de la calculadora dando la impresión de que nada ha pasado. El usuario podrá usar sus programas normalmente.

Espero que te haya quedado más claro lo que es un virus. De todos modos en internet existe mucha información al respecto. Saludos.

PD: El que un virus sea peligroso o no, depende estrictamente de la creatividad y del grado de maldad del programador y, por irónico que parezca, también puede depender de que tan mal programador sea. Por ejemplo, si se programa un virus de una forma poco elegante, podrá fallar en algunas ocasiones lo cual provocará errores en los programas infectados e incluso en el sistema operativo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:¿Debo temer más a los viruses en ASM?

Publicado por Jalex hd (1 intervención) el 13/11/2014 15:43:12
VIRUS = 111111
PROGRAMA SIN INFECTAR = 222222
PROGRAMA INFECTADO = 222222111111
Como puedo hacer este virus en ensamblador?????No tengo ideaa. Me podrian ayudar con un ejemplo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar