Seguridad [virus]

Preview only show first 6 pages with water mark for full document please download

Transcript

Seguridad [Virus] ´ ´ M. en C. Sergio Luis Perez Perez UAM C UAJIMALPA , M E´ XICO, D. F. Trimestre 13-P ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 1 / 30 Posibles ataques a un sistema Posibles ataques a un sistema I Un ataque a un sistema consiste en encontrar las ˜ al sistema u vulnerabilidades del sistema para causar algun ´ dano ´ obtener algun ´ tipo de informacion. Un ataque puede ser realizado por una entidad que se encuentra dentro del mismo sistema o bien por alguien externo. Un ataque desde adentro generalmente es realizado por un ´ en el sistema. cracker que ha iniciado sesion ´ Este puede consistir en atacar otras cuentas y generar codigo malicioso. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 2 / 30 Posibles ataques a un sistema Posibles ataques a un sistema II ´ comunmente Un ataque desde afuera ocurre mas si el equipo se ´ encuentra conectado a la red. ´ El objetivo es transmitir cierto codigo y hacer que se ejecute en el equipo atacado. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 3 / 30 Posibles ataques a un sistema Posibles ataques a un sistema III Ejemplos de ataques desde adentro del sistema Caballos de Troya. ´ de inicio de sesion. ´ Falsificacion ´ Bombas de logica. Trampas. Desbordamiento del bufer. ´ Ataques contra la seguridad. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 4 / 30 Posibles ataques a un sistema Posibles ataques a un sistema IV Ejemplos de ataques desde adentro del sistema ˜ Virus acompanantes. Virus de programa ejecutable. Virus residentes en la memoria. Virus de sector de arranque. Virus de macros. ´ Virus de codigo fuente. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 5 / 30 Ataques desde adentro del sistema Caballos de troya Caballos de troya I ´ Un caballo de Troya o troyano es un codigo fuente aparentemente ´ inofensivo pero que al ejecutarlo puede realizar una funcion inesperada o indeseable. Las funciones indeseables podr´ıan consistir en modificar, borrar o cifrar los archivos del usuario. ´ segura El cracker podr´ıa copiar los archivos en alguna ubicacion ´ antes de recuperarlos v´ıa correo electronico o FTP. Para lograr que se ejecute un caballo de Troya generalmente se crean programas que se hacen pasar por software gratuito. Cuando el usuario que lo descargo lo instala y lo ejecuta, el programa podra´ realizar todas las acciones que el usuario puede. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 6 / 30 Ataques desde adentro del sistema Caballos de troya Caballos de troya II ¿Como funciona este tipo de ataque? I 1 ˜ a la v´ıctima para que ejecute el programa Una forma de enganar es ubicarlo en algun ´ directorio de los establecidos por la variable de entorno $PATH. echo $PATH /usr/lib64/qt-3.3/bin:/usr/kerberos/bin:/usr/local/bin:/bin: /usr/bin:/home/profesores/sergio/bin 2 3 Cuando el usuario ejecuta algun ´ programa, el sistema primero averigua si se encuentra en /usr/lib64/qt-3.3/bin, si no, luego ´ busca en /usr/kerberos/bin, etcetera. ´ sera´ exitoso si la ruta del troyano es la primera Este ataque solo ocurrencia de tal programa. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 7 / 30 Ataques desde adentro del sistema Caballos de troya Caballos de troya III ¿Como funciona este tipo de ataque? II 1 ´ es instalar un programa cuyo nombre sea parecido, Otra opcion por ejemplo LS (as´ı con mayusculas). ´ 2 El programa mostrara´ un mensaje de que LS no existe pero no sin antes haber realizado su trabajo. 3 El uso de programas basados en errores comunes de tecleo es la mejor forma de crear caballos de Troya. 4 ´ es poner el programa con el mismo nombre en algun Otra opcion ´ ´ directorio del usuario al que se ataco. 5 ´ del Luego podr´ıa realizar alguna actividad para llamar la atencion superusuario. 6 ¿Que podr´ıa hacer el superusuario? ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 8 / 30 Ataques desde adentro del sistema ´ de inicio de sesion ´ Falsificacion ´ de inicio de sesion ´ Falsificacion En este ataque, un usuario crea un programa que clona la vista ´ de una estacion ´ de trabajo. del inicio de sesion El atacante deja el programa activo y cuando algun ´ usuario llega ´ trata de iniciar sesion ´ de manera normal. a dicha estacion El programa inhabilita el eco para la parte donde el usuario ˜ introduce su contrasena. Una vez que el usuario solicita acceso el programa guarda el ˜ en algun usuario y la contrasena ´ archivo y cierra su shell. Esta es una manera de obtener multiples parejas de ´ ˜ usuario-contrasena. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 9 / 30 Ataques desde adentro del sistema ´ Bombas de logica ´ Bombas de logica ´ ´ por un Una bomba de logica es un programa creado tambien empleado de una empresa. ´ ˜ y se Es un programa que periodicamente solicita una contrasena ´ activa en el momento que esta no es proporcionada. ´ creen que pronto La crean los empleados que por alguna razon podr´ıan ser despedidos. ´ pueden ser quienes entraron a la empresa con la Tambien finalidad de realizar algun ´ tipo de espionaje. En el primer caso el objetivo es ser recontratado y en el segundo ´ de la empresa. hacer mal uso de la informacion ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 10 / 30 Ataques desde adentro del sistema Trampas Trampas ´ Se produce cuando un programador inserta codigo en un programa que representa una vulnerabilidad en su seguridad. Cuando el programa es un software o sistema de cierto ´ fabricante, entonces el programador podra´ obtener informacion de cualquiera que use dicho producto. ´ ¿Como se efectua ´ este ataque? ´ ´ en una base de ¿Como realizarlo si los usuarios se almacenaran datos? ´ ¿Como se puede evitar? ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 11 / 30 Ataques desde adentro del sistema Desbordamiento del bufer ´ Desbordamiento del bufer ´ ´ sencillos de realizar desde C/C++ Este tipo de ataques son mas int indice = 200; debido a que no verifican cosas como: char nombre[128] nombre[indice] = 0; Lo cual accede a una localidad de memoria posicionada 72 bytes fuera del arreglo nombre. Este ataque se vuelve efectivo si se logra que el apuntador de un programa apunte a una localidad de memoria que hemos sobre-escrito en alguna parte. ´ de retorno de un Por ejemplo si sobre-escribimos la direccion ´ programa en ejecucion. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 12 / 30 Ataques desde adentro del sistema Ataques contra la seguridad Ataques contra la seguridad Para probar la seguridad de un sistema generalmente se contrata gente que trate de introducirse a dicho sistema. Algunos ataques comunes pueden ser: ´ Solicitar paginas de memoria, espacio de disco o cintas y leerlas. Probar llamadas al sistema. ´ pero matarlos antes de que terminen las Intentar inicios de sesion verificaciones. Buscar manuales que digan que es lo que no se debe de hacer. Convencer a los programadores del sistema de hacer cosas indebidas. Convencer al personal “vulnerable” que use el sistema de proporcionar sus credenciales. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 13 / 30 Ataques desde afuera del sistema Ataques desde afuera del sistema I ´ Este ataque consiste en transmitir cierto codigo por la red hacia ´ una computadora objetivo, con la finalidad de que el codigo se ˜ ejecute y cause danos. ´ comun Lo mas ´ es realizar estos ataques mediante virus, gusanos, ´ ´ y applets. codigo movil Un virus es un programa que puede reproducirse anexando su ´ codigo a otro programa. El modo en general de operar de los virus es el siguiente: 1 Se crea el virus. 2 ´ que pueda resultar interesante para los Se crea una aplicacion usuarios. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 14 / 30 Ataques desde afuera del sistema Ataques desde afuera del sistema II 3 Se esconde el virus en el programa. 4 Se publica el programa en la red. 5 Los usuarios descargan e instalan el programa. 6 ´ El virus se propaga cada que los usuarios ejecutan la aplicacion. 7 ´ de los archivos de usuario El virus comienza la infeccion paulatinamente. 8 ´ de un cierto tiempo y varios archivos infectados, el virus Despues cumple su objetivo. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 15 / 30 Ataques desde afuera del sistema ˜ Virus acompanantes ˜ Virus acompanantes I ´ se ejecuta y no se propaga. Este tipo de virus solo Este virus se implanta como parte de un programa utilizado comunmente por los usuarios. ´ No se modifica el archivo original sino que es replicado. ´ de hacer lo que debe, Cada que se ejecuta el programa, ademas el virus es ejecutado. Ejemplo: 1 2 3 Se crea un virus llamado Notepad.exe. Cuando se implanta, el nombre del original Notepad.exe es cambiado a Notepad2.exe. Cuando se ejecuta se solicita el programa Notepad se ejecuta primero el virus y luego Notepad2.exe. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 16 / 30 Ataques desde afuera del sistema Virus de programa ejecutable Virus de programa ejecutable I Este tipo de virus puede infectar varios programas ejecutables. ´ se encuentran los siguientes: En este clasificacion 1 Virus de sobrescritura. 2 ´ Virus parasitos. 3 Virus de cavidades. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 17 / 30 Ataques desde afuera del sistema Virus de programa ejecutable Virus de programa ejecutable II Virus de sobrescritura ´ Este tipo de virus simplemente substituye su codigo con el de algun ´ ejecutable. Cada que se ejecuta sobrescribe parte de los archivos del usuario. ´ faciles ´ Son los mas de detectar. Consisten de programas cortos que recorren todos los directorios e infectan algunos archivos. ´ se pueden especificar que no se cambie Para ocultar la infeccion ´ ni el tamano ˜ del archivo. la fecha de ultima modificacion ´ ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 18 / 30 Ataques desde afuera del sistema Virus de programa ejecutable Virus de programa ejecutable III Virus de cavidades Este tipo de virus se almacena en los espacios no utilizados de los sectores de un programa. En windows todos los sectores son multiplos de 512 bytes. ´ ˜ podra´ anadirse ˜ Si el virus es muy pequeno sin problema al programa sin modificar su espacio en disco. “Un virus oculto es un virus feliz” ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 19 / 30 Ataques desde afuera del sistema Virus de programa ejecutable Virus de programa ejecutable IV ´ Virus parasitos Este tipo de virus se anexa a los programas y les permite funcionar de manera normal. Se pueden anexar al principio, al final o en la parte intermedia de un programa. Su forma de operar es como sigue: El virus copia el programa original en la RAM. ´ donde se desee anexar el Entonces, dependiendo de la posicion virus, se escribe la copia del virus seguida del programa original, o bien la del programa original seguida del virus. Se reasignan las nuevas direcciones virtuales para que se ejecuten los programas. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 20 / 30 Ataques desde afuera del sistema Virus residentes en la memoria Virus residentes en la memoria Es un virus que permanece en memoria todo el tiempo. Este tipo de virus se activa cada vez que se ejecuta un programa. ´ de realizar la infeccion, ´ este virus continua a la espera Despues ´ de otro programa. de la ejecucion Cada vez que la memoria pierde su contenido, al apagarse o reiniciarse, suelen realizar cambios en el sistema para volver a cargarse una vez que arranque nuevamente el sistema. La ventaja de este tipo de virus es que no requiere realizar actividades masivas sobre el disco. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 21 / 30 Ataques desde afuera del sistema Virus de sector de arranque Virus de sector de arranque I Es un virus que se encarga de sobrescribir el registro de arranque maestro (MBR: Master Boot Record) o sector de arranque. Su forma de operar es como sigue: El virus almacena el sector de arranque original en otra parte del disco. Se almacena en la parte correspondiente al sector de arranque. El virus actua ´ antes de que se inicie el sistema operativo. El virus se suele cargar en memoria y apoderarse de las llamadas al sistema mediante la sobrescritura de los vectores de ´ interrupcion. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 22 / 30 Ataques desde afuera del sistema Virus de sector de arranque Virus de sector de arranque II Este tipo de virus son los que dan origen a los residentes en memoria. ´ puede almacenarse simulando ser un sector Tambien defectuosos impidiendo que lo borren. Una forma de detectarlos es la siguiente: Cuando la computadora no puede lanzar el sistema operativo. Cuando la computadora recibe errores de disco. Cuando se experimentan problemas con la memoria o con la ´ de programas. congelacion ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 23 / 30 Ataques desde afuera del sistema ´ Virus de codigo fuente ´ Virus de codigo fuente I ´ Este tipo de virus busca codigos fuente y los modifica. ´ portable. Son el tipo de virus mas ´ Requieren de cierta habilidad para analizar la sintaxis del codigo. Su forma de operar es como sigue: Se implantan las librer´ıas que contienen al virus. ´ en el que se Se buscan los archivos del lenguaje de programacion encuentra escrito el virus. Se modifican las cabeceras para hacer una llamada a los archivos donde se encuentran las funciones del virus. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 24 / 30 Ataques desde afuera del sistema ´ Virus de codigo fuente ´ Virus de codigo fuente II ´ Se buscan ciertos lugares espec´ıficos del codigo para colocar las llamadas a las funciones del virus. ´ Si el programa es recompilado, cuando se ejecute, este ejecutara´ el virus. Los lugares apropiados para ubicarse son: ´ normal. Justo antes de que el programa inicie su ejecucion En las funciones que se encuentran dentro del programa, ya sea al principio o al final de ellas. ´ normal. Justo antes de que el programa termine su ejecucion ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 25 / 30 ´ Tecnicas de antivirus ´ Tecnicas de antivirus I ´ Las tecnicas de antivirus permiten a los usuarios convencionales detectar si su sistema ha sido infectado por algun ´ virus. ˜ ıas que se encargan de proveer software Existen varias compan´ que ayude a los usuarios de computadoras en esta tarea. ´ de un antivirus es prevenir, detectar y remover cierto La funcion malware de un sistema. ´ Existen tres tecnicas generales para detectar virus. Exploradores de virus. Verificadores de integridad. Verificadores de comportamiento. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 26 / 30 ´ Tecnicas de antivirus ´ Tecnicas de antivirus II Exploradores de virus I Generalmente generan un programa que no hace nada, llamado ˜ programa senuelo. Si el virus infecta el programa, entonces el antivirus podra´ obtener una copia del virus en su forma original. ´ Cuando el virus es nuevo, este es introducido en una base de datos de virus conocidos, cuando no es nuevo simplemente se recupera la forma de atacarlo. Cuando el programa antivirus es instalado por primera vez suele examinar los archivos de la computadora buscando virus que se encuentren en su base de datos. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 27 / 30 ´ Tecnicas de antivirus ´ Tecnicas de antivirus III Exploradores de virus II ´ Tal analisis se suele realizar mediante busquedas difusas. ´ El problema de las busquedas difusas es que pueden generar ´ falsas alarmas. La ventaja de tener una gran cantidad de virus conocidos en la ´ criterios para encontrar virus. base de datos es que se tienen mas ´ se incrementa el numero La desventaja es que tambien de falsas ´ alarmas. ´ verifican la fecha de ultima Algunos exploradores solo ´ ´ de los archivos desde su ultima ´ modificacion exploracion. ´ ´ La forma de algunos virus de evitar ser detectados es cifrandose. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 28 / 30 ´ Tecnicas de antivirus ´ Tecnicas de antivirus IV Verificadores de integridad Este tipo de programas primero busca si hay archivos infectados en el sistema. ´ calcula la suma de verificacion ´ para cada uno de los Despues archivos ejecutables. La siguiente vez que se ejecute, si alguna suma no coincide, entonces se considera que el ejecutable esta´ infectado. Sin embargo un virus podr´ıa intentar modificar tal archivo o incluso eliminarlo. Si es eliminado entonces seguramente hay virus, y para evitar modificarlo lo recomendable es cifrarlo. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 29 / 30 ´ Tecnicas de antivirus ´ Tecnicas de antivirus V Verificadores de comportamiento Cuando se ejecuta un programa, el antivirus registra todas sus llamadas al sistema. Si el antivrus detecta comportamiento inusual, como que un programa quiera escribir en el sector de arranque, entonces el antivirus lo trata de evitar. ´ detecta cosas como la sobrescritura de ejecutables, a Tambien menos que lo haga un compilador. Cuando el virus y el antivirus residen en la memoria, estos buscan eliminarse uno al otro. ´ Sergio Luis Perez (UAM C UAJIMALPA) Seguridad 30 / 30