50
SCP T5 Ingenier´ ıa en Informática (2 ciclo) Información previa Introducción Software defectuoso no malicioso Software malicioso Virus Conclusiones Seguridad y Competencias Profesionales Tema 5: Seguridad de los programas Curso 2012–2013 Ingeniería en Informática (2 ciclo) Departamento de Ingeniería Informática Universidad de Cádiz Cádiz, 29 octubre 2012

Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Seguridad y Competencias ProfesionalesTema 5: Seguridad de los programas

Curso 2012–2013

Ingeniería en Informática (2◦ ciclo)

Departamento de Ingeniería InformáticaUniversidad de Cádiz

Cádiz, 29 octubre 2012

Page 2: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Índice

1 Información previa

2 Introducción

3 Software defectuoso no malicioso

4 Software malicioso

5 Virus

6 Conclusiones

Page 3: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Objetivos

El alumno debe ser capaz de:

ConocimientoConocer el proceso a través del cual un programa no maliciosofalla, y algunos de los tipos más comunes de vulnerabilidades.Enumerar los distintos códigos maliciosos y definir las distintasfases de actuación de los virus.

ComprensiónPrever el software malicioso, y tomar conciencia de laimportancia de pensar en aspectos de seguridad al desarrollar elsoftware.

AplicaciónResolver los problemas generados por el código malicioso y malescrito e implementar medidas contra ellos.

Page 4: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Bibliografía I

Anónimo.Maximum Security.SAMS, 4a ed., 2003.

Gómez Vieites, A.Enciclopedia de la Seguridad Informática.RA-MA, 2006.

Pfleeger Ch. P. & Pfleeger S. L.Security in Computing.Prentice Hall PTR, 3a ed., 2003.

Stallings, W.Fundamentos de Seguridad en Redes. Aplicaciones yestándares.Pearson, 2a ed., 2004.

Page 5: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Bibliografía II

Stallings, W.Cryptography and Network Security: Principles andPractice.Pearson, 5a ed., 2011.

Page 6: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Otros recursos I

Sitios web sobre virus y botnetshttp://alerta-antivirus.red.es

http://www.virustotal.com

http://www.f-secure.com/weblog/

http://www.f-secure.com/en_EMEA/security/security-lab/

http://ddanchev.blogspot.com/

http://www.research.ibm.com/antivirus/

http://www.securelist.com/

http://vmyths.com/

Page 7: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Otros recursos II

Sitios web sobre vulnerabilidadeshttp://cve.mitre.org

http://www.kb.cert.org/vuls

http://www.phrack.org

Page 8: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Introducción (I)

Tipos de amenazasFortuitaIntencionada:

Con intervención directaAutomática por código dañino

¿Por qué código dañino?ImpunidadImpactoPublicidadBeneficio económico

Page 9: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Introducción (II)

Características de los ataquesIndiscriminadosMasivosCiertos SOCiertas aplicacionesCiertos tipos de usuarios

Problema socialMal visto publicar y distribuir información sobre virusFalta de formación por parte de los profesionales

Page 10: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

¿Qué es un programa seguro?

Concepto de programa seguroAquel que consigue confidencialidad, disponibilidad e integridad.

Valoración de un programaEstudio del diseño del programaNúmero, naturaleza y tiempo de vida de lasvulnerabilidades y defectos

Notas sobre terminologíaDefecto Código que está “mal”Error Estado interno no válidoFallo Efecto visible (el programa “no va”)

Page 11: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Programas erróneos no maliciososUn programa legal puede causar daños

RazonesMala programaciónDeficiente organización de los recursosNo comprobación de funcionamiento

EfectosDaños sobre datos, software o hardwareFacilitar las intrusiones (vulnerabilidades)Fuga de información

Page 12: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejemplo: desbordamientos de búfer (I)

ConceptoLa aplicación usa una zona de memoria limitada contiguapara almacenar información que lee del usuarioNo comprueba que la información que da el usuario cabeen dicha área, sobreescribiendo otras partes de memoria

ConsecuenciasEn el mejor caso, el programa se cierraEn el peor caso, el atacante consigue ejecutar códigoarbitrario con los privilegios del programa

Page 13: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejemplo: desbordamientos de búfer (II)

MedidasConcienciación y diseño y pruebas exhaustivosEntre otras técnicas de prueba, fuzz testing:

Técnica de prueba de software de caja negra que consisteen encontrar bugs automáticamente, inyectando datossemialeatorios a un programa.Permite encontrar fallos de implementación software y, sies posible, identificarlos.http://pages.cs.wisc.edu/~bart/fuzz/http://video.google.com/videoplay?docid=6509883355867972121Fuzzers (programas): VoIPer, KiF, WSFuzzer. . .

Ejemplo desarrolladoPhrack.org: “Smashing the Stack for Fun and Profit”http://www.phrack.org/issues.html?id=14&issue=49

Page 14: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejemplo: desbordamientos de búfer (III)Otro ejemplo

/* Escapes all newlines in the input string,replacing them with "\n".*/

/* Requires: p != NULL; p is a valid ’\0’-terminated string */

void escape(char *p){

while (*p != ’\0’)switch (*p){

case ’\n’:memcpy(p+2, p+1, strlen(p));*p++ = ’\\’; *p++ = ’n’;break;

default:p++;

}}

Fuente: Stallings, W. Cryptography and Network Security: Principles and Practice

Page 15: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejemplos recientes de vulnerabilidades

Provenientes de los desarrolladoresProductos de Mozilla: http://www.mozilla.org/security/known-vulnerabilities

Microsoft Windows Vista:http://seclists.org/fulldisclosure/2009/Sep/39

Provenientes de los distribuidoresOpenSSL y Debian: http://www.links.org/?p=327

Catálogo de tipos conocidosCWE: http://cwe.mitre.org

Page 16: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejercicios

Ejercicio 5.1En grupos, localizar en el CWE 4 tipos de vulnerabilidad al azar,identificando:

Resumen de en qué consisteCómo se podría mitigar o evitarAl menos 1 programa comercial que la sufra o la hayasufrido

Page 17: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Código malicioso (I)

Algunos tiposPuertas traserasBombas lógicasCaballos de TroyaBacterias o conejosMalscript en webs infectadas o vulnerables (XSS, CSRF)Virus

Soporte

Pueden (o no) necesitar un programa anfitrión.

Reproducción

Pueden (o no) reproducirse.

Page 18: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Código malicioso (II)Taxonomía parcial del código malicioso

Cód. malicioso

Necesita anfitrión

Trampas

Bombas lógicas

Caballos de Troya

Virus

IndependienteGusano

Zombi

Se reproducen

Page 19: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Trampas o puertas traseras

ConceptoEntrada secreta a un programa o sistema informático sin pasarpor los procedimientos establecidos.

ActivaciónSecuencias especiales de entradaSe activa desde un usuario en particularSecuencia improbable de acontecimientos

MedidasDesarrollo de programas: código abierto, desarrollocolaborativo, etc.Actualización del software

Page 20: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Bombas lógicas

ConceptoProgramas que ejecutan órdenes destructivas al producirse unacondición en el sistema.

Algunas condicionesUna determinada fechaUn determinado valor en un registroUna petición de interrupción

UsosControlar a los clientes en sus pagosProgramas gratuitos durante un tiempoVenganzas

Page 21: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Caballos de Troya

ConceptoPrograma o procedimiento de órdenes aparentemente útil, conuna funcionalidad visible al usuario (incluso como antivirus) yotra oculta y dañina.

UsosLlevar a cabo funciones a usuarios no autorizadosDestrucción de datos

Page 22: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Camaleones

ConceptoSustituyen a la pantalla de entrada tradicional en sistemasmultiusuario (GDM y KDM en GNU/Linux), interceptando suscredenciales.

UsosRobo de credenciales

Page 23: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejercicios

Ejercicio 5.2En grupos, localizar dos ejemplos de cada uno de estos tipos desoftware malicioso, explicando de forma resumida sufuncionamiento:

TrampaBomba lógicaCaballo de TroyaCamaleón

Page 24: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Bacterias o conejos

ConceptoPrograma que se reproduce indefinidamente.

Funcionamiento1 Se copia a sí mismo una y otra vez2 Ocupa toda la memoria principal y/o secundaria y causa

denegación de servicio

Casos conocidos y medidas

Fork-bombs: :(){:|:&};: (¡cuidado!)Como videojuego: Core War(http://en.wikipedia.org/wiki/Core_War)Medida: imponer límites de uso máximo de recursos

Page 25: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Zombi o BotLa botnet Conficker tenía cerca de 10 millones de máquinas

ConceptoPrograma que obedece a un centro de control remoto, comoparte de una botnet. Éstas suelen ser controladas pororganizaciones criminales y vendidas a atacantes.

Algunos usosAtaques de denegación de servicioCorreo no solicitado (spam)Intermediarios ante servidor web con contenido malicioso(fast-flux)

MedidasPasivas: usar sólo software fiable y actualizadoActivas: honeynets

Page 26: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

XSS: Cross-Site Scripting (I)

ConceptoCódigo ejecutable embebido en una página web por unatacante, que es ejecutado en la máquina de un cliente quevisita dicho sitio.

XSS no persistenteNo se almacena en el sitio webEl código aparece debido a una petición especialmenteconstruida (enlace proporcionado en correo, p.ej.)

XSS persistenteEl código se almacena en la web, y se ejecuta a visitantesnormalesSe puede decir que la web ha sido “infectada”

Page 27: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

XSS: Cross-Site Scripting (II)

UsosRobo de cookies (contraseñas, sesiones, etc.)Modificación de los contenidos mostradosDar confianza al usuario para que permita otros ataques

Medidas en el servidorFiltrado y validación de la entrada recibidaUso de formatos de entrada menos potentes (Markdown)

Medidas en el clienteUtilizar efectivamente los mecanismos de “zonas deseguridad” (Internet Explorer)Desactivar JavaScript por completo o de forma selectiva(Firefox: NoScript)

Page 28: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

CSRF: Cross-Site Request Forgery

ConceptoEl usuario ha iniciado sesión en el servicio que queremosatacarA través de contenido HTML específico en una web propiao vulnerable, aprovechamos su sesión para realizar otrasacciones

Algunas medidas más

Comprobar la cabecera HTTP Referrer (falseable)Hacer que se envíen identificadores secretos específicos acada usuario para cada petición legítima (soluciónadoptada en algunos frameworks web, como Django)Autenticar no las sesiones, sino las transacciones

Page 29: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Virus

ConceptoCódigo ejecutable que infecta otros programas para propagarse,y que al activarse realiza algún tipo de acción no autorizada(normalmente dañina).

Basado enTroyanos y bombas lógicasTécnica de reproducción de bacterias

Objetivo: su difusiónAfectan a los sistemas más populares y vulnerablesSon de acción retardada, para mejorar su propagación

Page 30: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Tipos de virus (I)

CompañíaCrea un fichero con igual nombre pero con una extensiónde mayor prioridad (como f.com frente a f.exe)Comunes en MS-DOS, aún factibles en ciertos entornosIntenta que se ejecute este fichero en vez del originalEs fácil de eliminar borrando dicho fichero dañino

Correo electrónicoSe propaga al abrir el correo, sin leer el fichero adjuntoEl virus se envía a todas las direcciones de la agendaPuede producir daños locales

Page 31: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Tipos de virus (II)

MacrosSe introduce el código en una macro asociada a undocumentoEscritos en lenguaje de alto nivel: hay virus de macrosmultiplataformaEs fácil detectarlo y eliminarlo

Proceso de infección1 El fichero llega al sistema (correo, pendrive, etc.)2 Usuario abre el documento3 Usuario desencadena la acción que activa la macro4 Macro puede infectar plantillas (Normal.dot en Word)

Page 32: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Tipos de virus (III)

GusanosAprovechan vulnerabilidades en servicios de red parapropagarseDespués se pueden comportar como virus, troyano,spyware, etc.

CaracterísticasFueron los primeros en burlar las protecciones de formaautomática, borrar su rastroSu objetivo no es destruir pero pueden hacer mucho dañoSu construcción exige un buen conocimiento de lossistemas en red

Page 33: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Tipos de virus (IV)

Fases de actuación de un gusano1 Buscar un fallo e instalar el programa de penetración2 Cargar el resto del gusano3 Buscar vías de comunicación y explorar el sistema para

buscar información4 Extraer pistas y claves para propagarse a otros sistemas

Page 34: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Tipos de acciones de un virus (I)

Contaminadores del Master Boot Record1 Localizar sectores libres en disco para almacenar MBR2 Leer el MBR y guardar el contenido en dichos sectores3 Marcar estos sectores como erróneos4 Grabar en MBR el lanzador, que llama al antiguo MBR

Contaminadores de la BIOSPrácticamente indetectables, aunque normalmenteretirables con algún ajuste de la placa baseCorrompe BIOS:http://www.f-secure.com/v-descs/emperor.shtml

Infecta BIOS:http://www.coresecurity.com/files/attachments/Persistent_BIOS_Infection_CanSecWest09.pdf

Page 35: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Tipos de acciones de un virus (II)

Contaminadores de ficheros de órdenesInfectan command.com, /bin/sh, guiones de procesamiento delotes, etc.

Contaminadores de ficheros ejecutablesSe adaptan bien a cualquier formato de fichero. Pueden afectara sistemas multiusuario y a sus copias de seguridad.

MultipropósitoMezclan los anteriores vectores de ataque.

Page 36: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Llegada e instalaciónEl virus llega al sistema

Vías de entradaFichero, correo electrónico, gusano, MBR, macro, etc.

Instalación en algún punto del ejecutable originalAñadidura al finalInserción en zonas no utilizadas o segmentos de datosReordenación para que invoque a una rutina en otro sitioSustitución del ejecutable por el virus

Page 37: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

ActivaciónEl virus se activa por primera vez

Paso a período de latenciaTras activarse, estará en período de latencia hasta que semanifieste

TiposAcción directa Al iniciar la ejecución de un ejecutable infectadoResidentes Se mantienen en memoria, interceptando

acciones del sistema, y pueden sobrevivir areinicios (los falsean)

Page 38: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

OcultamientoEl virus evita ser descubierto y eliminado

Algunas técnicasDispersión Deja sólo una pequeña parte en el huéspedCompresión Comprime el fichero y lo sitúa en el espacio

libreCamuflaje Oculta los síntomas del virusSobrepasamiento Evita las vacunasAutocifrado Se cifra, evitando búsquedas heurísticasPolimorfismo Cambia de forma al propagarse, suele darse

en autocifradosBlindaje Dificulta su desensamblado

Page 39: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Reproducción o propagación

ObjetivosPropagación a otros sistemasDuplicar esfuerzos en la consecución de algún fin

Pasos1 Búsqueda de uno o varios programas huésped sanos2 Recomposición de las partes del programa3 Infección del huésped

Page 40: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Manifestación

Acciones realizablesFormatear discosBorrar o sustituir ficherosAtacar elementos programables de hardwareBorrar o dañar la información del directorio de discoAtacar la confidencialidad del sistemaInstalación de puertas traseras o rootkits

Page 41: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejemplo de virus (I)Estructura

program V :={ goto main;

1234567;

subroutine infect-executable:={loop:file := get-random-executable-file;if (first-line-of-file = 1234567)

then goto loopelse prepend V to file; }

subroutine do-damage :={whatever damage is to be done}

subroutine trigger-pulled :={return true if some condition holds}

main: main-program :={infect-executable;if trigger-pulled then do-damage;goto next;}

next:}

Page 42: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejemplo de virus (II)Compresión de virus

Fuente: Stallings, W. Cryptography and Network Security: Principles and Practice

Page 43: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejemplo de virus (III)Compresión de virus

program CV :={

goto main;01234567;

subroutine infect-executable :={loop:

file := get-random-executable-file;if (first-line-of-file = 01234567) then goto loop;(1) comprimir fichero;(2) añadir CV al fichero;

}

main: main-program :={

if ask-permission then infect-executable;(3) descomprimir el resto del fichero;(4) ejecutar el fichero descomprimido;

}}

Page 44: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Utilidades contra el software malicioso (I)

Comprobadores de integridadVerifican si algún fichero ha sido cambiadoinadvertidamenteNo buscan virus, sólo huellas de ataques

VacunasMuchos antivirus incluyen unaResidentes en memoria, parecidas a un virusInterceptan llamadas y detectan la presencia de virusPueden producir falsos negativos y positivos

Page 45: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Utilidades contra el software malicioso (II)

AntivirusRastrean un soporte, localizando y eliminando virusExisten tanto para uso personal como para servidores decorreo (ClamAV)

Método de desarrolloConocer la existencia de un nuevo virus y aislarlo.Localizar una secuencia de código característica.Generar una rutina que lo detecte.

Page 46: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Prevención

MedidasRealizar periódicamente copias de seguridadNo usar copias piratas de programasActivar los dispositivos de protección física en los discosTrabajar con privilegios de usuario normalNo arrancar con discos no originalesActivar las medidas de seguridad de las aplicaciones macroConocer los nuevos códigos malignosTener antivirusDifundir la necesidad de protección contra malware

Page 47: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Diagnóstico

SíntomasEl ordenador funciona lento y se bloqueaAlgunos programas no pueden ejecutarseAumento de los sectores ocultos y menos RAM libreCambios en los atributos de los ficheros y aparición deficheros con el mismo nombreExcesiva actividad en los discosSistema de arranque cambiado y aviso del antivirusWord nos pide guardar cambios que no hemos realizadoPuertos TCP/IP a la escucha cuyo servicio no está claro

Page 48: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Desinfección

Pasos1 Apagar el ordenador2 Arrancarlo con una copia limpia3 Utilizar una copia limpia de antivirus y ejecutarlos uno a

uno para detectar el tipo4 Limpiar todos los ficheros del disco duro5 Limpiar todos los soportes externos6 Restaurar programas, mejor a partir de copias de seguridad7 Avisar del tipo de virus a otros usuarios que hayan tenido

relación con nosotros

Page 49: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Ejercicios

Ejercicio 5.3En grupos, localizar en el Security Lab de F-Secure informaciónsobre 4 virus, identificando:

Vía de entradaMecanismos de activaciónMecanismos de propagaciónTécnicas de ocultaciónAcciones que realiza

Page 50: Seguridad y Competencias Profesionales Tema 5: Seguridad de … · 2012-10-29 · SCPT5 Ingenier´ıaen Informática (2 ciclo) Información previa Introducción Software defectuoso

SCP T5

Ingenierıa enInformática(2◦ ciclo)

Informaciónprevia

Introducción

Softwaredefectuosono malicioso

Softwaremalicioso

Virus

Conclusiones

Conclusiones

El código malicioso puede producir graves daños ennuestros recursos informáticosEl código mal escrito facilita el trabajo de losdesarrolladores de código malicioso, o produce dañosDebemos tomar medidas preventivas y saber qué hacer encada casoTener en cuenta que cada vez hay más aplicacionestransparentes al usuarioEl intercambio de información directa o vía web favoreceeste malLas medidas no suponen un gasto elevado