Ing. Edgar Enrique Ruiz García Departamento de Sistemas Facultad de Ingeniería Seguridad en Redes Ing. Edgar Enrique Ruiz García Comunicaciones y Redes
Comunicaciones y Redes Agenda Principio y Objetivos de la Seguridad Usuarios y Permisos en SO Unix/Like Principios de comunicación de redes en TCP/IP Análisis de tráfico Análisis de vulnerabilidades Ataques a los servicios Firewalls Comunicaciones y Redes
Principios Seguridad Informática Servicios Objetivos Integridad Disponibilidad Confidencialidad Autenticación Autorización No Repudio Auditabilidad Comunicaciones y Redes
Grupos y Usuarios (Linux) GNU/Linux es un sistema Multiusuario Un grupo facilita el proceso de compartir archivos entre usuarios Por omisión al crear un usuario se crea un grupo predeterminado (Grupo de Registro) Un grupo puede contener tantos usuarios como se necesite Comunicaciones y Redes
Grupos y Usuarios (Linux) Cada usuario y grupo tiene asociado un UID y un GID respectivamente. El Usuario administrador del sistema es root El UID de root es 0 al igual que el GID Únicamente root puede crear cuentas de usuario. Una cuenta de usuario tiene asociado un shell y puede tener asignado un directorio personal Con autenticación local la contraseña se almacena cifrada Comunicaciones y Redes
Grupos y Usuarios (Linux) El archivo donde se almacena la información del usuario es /etc/passwd El archivo /etc/passwd solo puede ser modificado por root Se puede crear un usuario root alterno cambiando el UID o GID de un usuario normal (preferible UID y GID) La contraseña se almacena en el archivo /etc/shadow Comunicaciones y Redes
Grupos y Usuarios (Linux) Estructura del archivo /etc/passwd Usuario:pwd:UID:GID:comentario:directorio_personal:shell root:x:0:0:root:/root:/bin/bash redes:x:1:1:usuario:/home/usuario:/bin/bash Comunicaciones y Redes
Grupos y Usuarios (Linux) Estructura del archivo /etc/shadow Usuario root:$1$6oesw52M$E1cmx0EjgiIiMp8B/:12055:0:99999:7::: Contraseña Cifrada Comunicaciones y Redes
Comunicaciones y Redes Permisos Permisos PERMISO SIMBOLO ARCHIVO DIRECTORIO Read r Permite mostrar y copiar Se puede ver el contenido con ls Write w Se puede modificar el contenido Se puede agregar y borrar archivos Execute x Se puede ejecutar el archivo Permite el acceso al directorio Comunicaciones y Redes
Comunicaciones y Redes Permisos Organización de los permisos rwxrwxrwx Comunicaciones y Redes
Comunicaciones y Redes Permisos Cada conjunto de permisos se representa con un símbolo octal El cambio de permisos se realiza con el comando chmod chmod permisos archivo chmod 755 index.html chmod a-rwx,u+rw ~/prueba Comunicaciones y Redes
Comunicaciones y Redes Permisos Otros permisos SUID (s): aplica a archivos ejecutables(x) y establece que el propietario del proceso será quien lo crea no quien lo lanza. (Observe los permisos de /usr/bin/passwd), el valor numérico es 4 para UID o 2 para GID. Sticky (t): Aplica a directorios y evita que en caso de tener permiso de escritura se pueda eliminar archivos o directorios que no sean del mismo propietario, el valor numérico es 1 Comunicaciones y Redes
Comunicaciones y Redes Permisos Atributos de los archivos i : (immutable) No se puede modificar ni eliminar el archivo a- (append) solo puede adicionar datos nuevos al archivo s- (Secure Deletion) Cuando se borra un archivo se sobreescriben los bloques con ceros Los attributos se pueden ver con el comando lsattr y se pueden cambiar con chattr Comunicaciones y Redes
Ataques a los servicios Secuestro de Sesión TCP Denegación de servicios distribuida SQL Injection Cross-Site Scripting (XSS) Phishing Nueva Generación de Phishing mediante XSS Comunicaciones y Redes
Comunicaciones y Redes Session Hijacking Qué es un secuestro de sesión ? Tomar el control SIN AUTORIZACIÓN de una sesión establecida entre un cliente y un servidor Comunicaciones y Redes
Session Hijacking (Telnet) Ejemplo ARP Cliente Víctima IP: 10.0.0.3 MAC: Y MAC de 10.0.0.1 es X Servidor Víctima IP: 10.0.0.1 MAC: X MAC de 10.0.0.3 es Y 3WHS MAC de 10.0.0.3 es A MAC de 10.0.0.1 es B Suplanta al Cliente MAC Spoofing IP Spoofing Suplanta al Servidor Atacante IP: 10.0.0.4 MAC: Z ARP (MAC de 10.0.0.1 es B) ARP (MAC de 10.0.0.3 es A) Echo Request (10.0.0.1 a 10.0.0.3) Echo Request (10.0.0.3 a 10.0.0.1) Echo Replay (10.0.0.3 a 10.0.0.1) Echo Replay (10.0.0.1 a 10.0.0.3 Comunicaciones y Redes
Comunicaciones y Redes Session Hijacking Cómo proteger la red? Crear dominios de colisión y broadcast Utilizar VLANs Buscar NICs que estén en modo promiscuo No utilizar protocolos inseguros como telnet Buena gestión de red Definir, implantar y controlar políticas de uso de la red. Comunicaciones y Redes
Denegación de servicio Distribuida DDoS Procura evitar que los usuarios legítimos NO tengan acceso a los servicios de la red Ataque contra el objetivo de Disponibilidad de los Servicios Ejemplo Comunicaciones y Redes
Denegación de servicios DDos Attacker Intermediary Victim Tomado de Computer Networks Lab - DDoS Projects [2] Comunicaciones y Redes
Denegación de servicios DDos TCP Syn Flood Tomado de Computer Networks Lab - DDoS Projects [2] Comunicaciones y Redes
Denegación de servicios DDos ICMP Flood Victim host ICMP echo replies ? Spoofed ICMP echo requests Tomado de Computer Networks Lab - DDoS Projects [2] Comunicaciones y Redes
Denegación de servicios DDos Como proteger los sistemas Monitorear las conexiones activas Monitorear el tráfico de la red Instalar actualizaciones a Sistemas operativos y Aplicaciones Controlar el IP spoofing Buscar troyanos en los equipos de nuestra red Cooperación. Entender que nuestros equipos pueden ser utilizados para vulnerar otro sistema. Comunicaciones y Redes
Comunicaciones y Redes SQL Injection Técnica de violación de una aplicación web con base en datos del usuario utilizados en instrucciones SQL[6] Comunicaciones y Redes
Comunicaciones y Redes SQL Injection Ejemplo Ejemplo tomado de: ”SQL Injection, are your web applications vulnerables” [6] Comunicaciones y Redes
Comunicaciones y Redes SQL Injection Ejemplo Ejemplo tomado de: ”SQL Injection, are your web applications vulnerables” [6] Comunicaciones y Redes
Comunicaciones y Redes SQL Injection Limitar el número de caracteres válidos No confiar en los datos de usuario. Buenas prácticas de programación Someter las aplicaciones a pruebas orientadas a detectar este tipo de vulnerabilidad. Comunicaciones y Redes
Cross-Site Scripting Qué es el XSS Violación de una aplicación web con base en la manipulación de los parámetros de entrada. Los parámetros pueden permitir la inyección de código HTML o Scripts (JavaScript/VBScript/ActiveX) para ser ejecutado en el cliente Comunicaciones y Redes
Comunicaciones y Redes Ejemplo de XSS Comunicaciones y Redes
Cross-Site Scripting Cómo Evitarlo ? Buenas Prácticas de programación NUNCA Confíe en los datos de los usuarios Realice Filtrado (Validación) de los datos de usuario Incluir en el plan de pruebas consideraciones de seguridad orientadas a evitar el XSS (Piense como Hacker) Comunicaciones y Redes
Comunicaciones y Redes Ingeniería Social Qué es? Análisis y manipulación de personas para obtener información, así como para llevarlas a realizar acciones que en situaciones normales no harían. Técnica Hacker que mediante el engaño pretende obtener información sensible Comunicaciones y Redes
Comunicaciones y Redes Ingeniería Social Herramientas para hacer Ingeniería Social Teléfono Documentos en el sitio de trabajo La Basura Reuniones Sociales Principalmente la buena fe de las personas y su deseo de colaborar Copyright © 2004 by Mitnick Security Consulting, LLC Comunicaciones y Redes
Comunicaciones y Redes Ingeniería Social Autoridad tono de voz intimidante Se da a conocer entre sus victimas con altos ejecutivos de la empresa Carisma Se gana a las personas con adulaciones Dialoga sobre temas comunes. Ofrece ayuda no solicitada ni necesaria. Generalmente funciona con personas que son discriminadas dentro de la organización Comunicaciones y Redes
Comunicaciones y Redes Phishing Qué es ???? Se refiere a la suplantación de un sitio web y hacer creer a los usuarios que están conectados con el servicio autentico Comúnmente utilizado para robar información sensible de los usuarios Utiliza mecanismos de Ingeniería Social para lograr el cometido Trata de ser controlado por Anti-Phishing Working Group http://www.antiphishing.org/ El pharming explota vulnerabilidades de los DNS para redireccionar tráfico a destinos distintos del original Comunicaciones y Redes
Comunicaciones y Redes Phishing Ejemplo Comunicaciones y Redes
Comunicaciones y Redes Phishing Ejemplo Comunicaciones y Redes
Comunicaciones y Redes Phishing Ejemplo Comunicaciones y Redes
Phishing Cómo Evitarlo? Sospeche de cualquier correo que solicite información sensible Confíe prudentemente en el DNS y escriba directamente el URL del sitio al que desea ingresar. No olvide la existencia del pharming Aplicar los parches de seguridad apropiados y a tiempo a los navegadores, mantener un antivirus actualizado Reporte emails y Sitios Maliciosos a Anti-phishing Working Group http://www.antiphishing.org/ o haga forward del mail enviado a reportphishing@antiphishing.com Revise regularmente sus cuentas para verificar que todas las transacciones son autenticas Comunicaciones y Redes
Comunicaciones y Redes Phishing con XSS Qué es? Nueva Generación de Phishing El URL utilizado es el de la entidad a suplantar Evita que el usuario sospeche de un sitio ya que el certificado digital aparece como autentico. Comunicaciones y Redes
Phishing con XSS Ejemplo de sitio vulnerable Comunicaciones y Redes
Phishing con XSS Ejemplo de sitio vulnerable Comunicaciones y Redes
Comunicaciones y Redes Referencias [1] Dhanjani, Nitesh “Hackers en Linux y Unix”, Mc Graw Hill, 2004 [2] Modai,Ori “Technion – Computer Networks Lab - DDoS Projects”, http://www-comnet.technion.ac.il [3] Robert l. Ziegler, Firewalls Linux, Prentice Hall, 2000 [4] Chris Shiflett ,Foiling Cross-Site Attacks, 14 Oct 2003, http://shiflett.org/articles/foiling-cross-site-attacks [5] Bernardo Quintero, Nueva Generación de Phishing, Hispasec, 26 de mayo de 2005, http://unaaldia.hispasec.com/2005/05/nueva-generacion-de-phishing-rompe.html, último acceso mayo 2013. [6] SPI Labs,SQL Injection, are your web applications vulnerables?,2002, http://www.defcon.org/images/defcon-10/dc-10-presentations/dc10-spett-sqlinjection/dc10-spett-sqlinjection.pdf, , último acceso mayo 2013 Comunicaciones y Redes