Este documento resume 7 pecados comunes en el desarrollo web y seguridad de aplicaciones móviles. Describe inyección SQL, fallos de autenticación, cross-site scripting (XSS), referencias directas a objetos, configuraciones defectuosas, protección insuficiente del transporte (TLS) y vulnerabilidades de inclusión y revelación de archivos locales (LFI y LFD). Para cada problema, explica cómo pueden explotarlos los atacantes y ofrece consejos sobre cómo prevenirlos mediante la validación de entradas, listas blancas, mape
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...Internet Security Auditors
En el marco de las conferencias FIST en 2005, ofrecimos la presentación "Inseguridad de los sistemas de autenticación en Aplicaciones Web", donde se pone al descubierto las deficiencias y ataques más habituales que sufren los sistemas de autenticación, principalmente en aplicaciones web.
Inseguridad de los sistemas de autenticacion en aplicaciones web. Conferencia...Internet Security Auditors
En el marco de las conferencias FIST en 2005, ofrecimos la presentación "Inseguridad de los sistemas de autenticación en Aplicaciones Web", donde se pone al descubierto las deficiencias y ataques más habituales que sufren los sistemas de autenticación, principalmente en aplicaciones web.
Nuestros administrador de sistemas y experto en seguridad nos habla de las buenas prácticas en la gestión de servidores, los ataques más comunes en Internet y las posibles soluciones a estas amenazas. Abordamos soluciones prácticas de diferente nivel (empezando por las más sencillas) para la protección de servidores evitando que usuarios malintencionados tengan acceso a este. ¡Aprende a proteger tu servidor!
Más info: http://www.nominalia.com/server/serverded.html
En esta diapositva , podemos encontrar el concepto de la ciberseguirdad y la definiciones de los diferentes mallware y asi como lo ataques mas conocidos y de mayor impacto en la sociedad.
Hackers en los sistemas de las administraciones públicasSEINHE
La charla expone las debilidades más frecuentes en las administrciones públicas que son aprovechadas por los atacantes para acceder a información sensible de las mismas y posibles soluciones.
Esta es una ponencia divulgativa que preparó Florencio Cano, de SEINHE, para presentar en el congreso anual que ISACA Valencia organiza en esta ciudad.
Guía técnica de Pruebas y Evaluación de Seguridad de la Información
Recomendaciones del NIST Publicación 800-115 - Resumen referente a evaluaciones de un Test de Penetración.
En esta charla veremos las vulnerabilidades de la lista OWASP top ten de 2017 y como evitarlas en NodeJS. Además también veremos buenas prácticas para segurizar nuestras apis utilizando JWT y JWKS.
Video: https://www.youtube.com/watch?v=bMwgLaDyD1w
Nuestros administrador de sistemas y experto en seguridad nos habla de las buenas prácticas en la gestión de servidores, los ataques más comunes en Internet y las posibles soluciones a estas amenazas. Abordamos soluciones prácticas de diferente nivel (empezando por las más sencillas) para la protección de servidores evitando que usuarios malintencionados tengan acceso a este. ¡Aprende a proteger tu servidor!
Más info: http://www.nominalia.com/server/serverded.html
En esta diapositva , podemos encontrar el concepto de la ciberseguirdad y la definiciones de los diferentes mallware y asi como lo ataques mas conocidos y de mayor impacto en la sociedad.
Hackers en los sistemas de las administraciones públicasSEINHE
La charla expone las debilidades más frecuentes en las administrciones públicas que son aprovechadas por los atacantes para acceder a información sensible de las mismas y posibles soluciones.
Esta es una ponencia divulgativa que preparó Florencio Cano, de SEINHE, para presentar en el congreso anual que ISACA Valencia organiza en esta ciudad.
Guía técnica de Pruebas y Evaluación de Seguridad de la Información
Recomendaciones del NIST Publicación 800-115 - Resumen referente a evaluaciones de un Test de Penetración.
En esta charla veremos las vulnerabilidades de la lista OWASP top ten de 2017 y como evitarlas en NodeJS. Además también veremos buenas prácticas para segurizar nuestras apis utilizando JWT y JWKS.
Video: https://www.youtube.com/watch?v=bMwgLaDyD1w
Introducción al OWASP Top 10 - Los diez riesgos mas importantes en aplicaciones web
- Es un documento EDUCATIVO.
- Es GRATUITO.
- DESCRIBE los riesgos más críticos en aplicaciones Web
Para cada riesgo, aporta:
- Descripción del mismo
- Escenario de ejemplo de un ataque
- Pautas para verificar si nuestra aplicación es vulnerable
- Recomendaciones para prevenir dicho riesgo
Cuando una aplicación web contiene vulnerabilidades, es hora de llamar a la caballería; pero, si nosotros somos los desarrolladores, nosotros somos la caballería, somos quienes debemos resolver las vulnerabilidades y entregar aplicaciones confiables. La lista OWASP Top 10 2013 es un proyecto que tiene el objetivo de que los desarrolladores tomemos conciencia de la seguridad en las aplicaciones al identificar los principales riesgos que enfrentan las organizaciones. El entender cómo ocurren las vulnerabilidades más comúnmente encontradas nos ayudará a mejorar nuestros hábitos al desarrollar aplicaciones.
[Flisol2011] Seguridad en el Desarrollo de Aplicaciones Web PHP7th_Sign
presentación utilizada en la plática de Seguridad en el Desarrollo de Aplicaciones Web PHP impartida por Jesus Reyna e Iván Rico en el flisol 2011 Mty NL México
La presentación hace referencia a los ataques más comunes sobre las aplicaciones Web. La idea principal es concientizar a los desarrolladores/administradores, para que tengan en cuenta a qué amenazas y riesgos de seguridad están expuestas sus aplicaciones. Es importante señalar que existen más ataques, los cuales no figuran en la presentación
El Estado de la Seguridad de IBM i en 2020HelpSystems
Durante 17 años, el Estudio de Seguridad de IBM i ha proporcionado información útil acerca de cómo organizaciones en todo el mundo protegen sus sistemas Power (IBM i, AS/400, iSeries, etc.). En este webinar grabado presentamos en exclusiva los resultados del estudio y analizamos qué se espera del futuro de la Seguridad de esta plataforma. Además, damos tips útiles para identificar y priorizar las vulnerabilidades y errores más frecuentes, para evitar una filtración de datos.
Vea este webinar grabado y obtenga información sobre:
Comandos y controles de acceso a la red
Controles de Seguridad a nivel de servidor
Usuarios que pueden acceder a su información privilegiada
Perfiles y Seguridad de contraseñas
Protección anti-virus y malware
Estrategias para auditorías de sistema
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0...Telefónica
Índice del libro "Big Data: Tecnologías para arquitecturas Data-Centric" de 0xWord escrito por Ibón Reinoso ( https://mypublicinbox.com/IBhone ) con Prólogo de Chema Alonso ( https://mypublicinbox.com/ChemaAlonso ). Puedes comprarlo aquí: https://0xword.com/es/libros/233-big-data-tecnologias-para-arquitecturas-data-centric.html
Inteligencia Artificial y Ciberseguridad.pdfEmilio Casbas
Recopilación de los puntos más interesantes de diversas presentaciones, desde los visionarios conceptos de Alan Turing, pasando por la paradoja de Hans Moravec y la descripcion de Singularidad de Max Tegmark, hasta los innovadores avances de ChatGPT, y de cómo la IA está transformando la seguridad digital y protegiendo nuestras vidas.
Es un diagrama para La asistencia técnica o apoyo técnico es brindada por las compañías para que sus clientes puedan hacer uso de sus productos o servicios de la manera en que fueron puestos a la venta.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Actualmente, y debido al desarrollo tecnológico de campos como la informática y la electrónica, la mayoría de las bases de datos están en formato digital, siendo este un componente electrónico, por tanto se ha desarrollado y se ofrece un amplio rango de soluciones al problema del almacenamiento de datos.
(PROYECTO) Límites entre el Arte, los Medios de Comunicación y la Informáticavazquezgarciajesusma
En este proyecto de investigación nos adentraremos en el fascinante mundo de la intersección entre el arte y los medios de comunicación en el campo de la informática.
La rápida evolución de la tecnología ha llevado a una fusión cada vez más estrecha entre el arte y los medios digitales, generando nuevas formas de expresión y comunicación.
Continuando con el desarrollo de nuestro proyecto haremos uso del método inductivo porque organizamos nuestra investigación a la particular a lo general. El diseño metodológico del trabajo es no experimental y transversal ya que no existe manipulación deliberada de las variables ni de la situación, si no que se observa los fundamental y como se dan en su contestó natural para después analizarlos.
El diseño es transversal porque los datos se recolectan en un solo momento y su propósito es describir variables y analizar su interrelación, solo se desea saber la incidencia y el valor de uno o más variables, el diseño será descriptivo porque se requiere establecer relación entre dos o más de estás.
Mediante una encuesta recopilamos la información de este proyecto los alumnos tengan conocimiento de la evolución del arte y los medios de comunicación en la información y su importancia para la institución.
Alan Turing Vida o biografía resumida como presentación
Los 7 pecados del Desarrollo Web
1. ACK Security
Group
LOS 7 PECADOS DEL DESARROLO WEB
&
TENTACIÓN DEL USUARIOS EN APLICACIONES MOVILES
2. Ing. Elvin Vidal Mollinedo Mencia
¿Quien sºoy?
“Profesional de seguridad
+ 9 años de experiencia en desarrollo seguro e infraestructura de telecomunicaciones,
manejando de normativas CISA(COBIT), SOX(Ley Sarbanes Oxley), pentesting web,
pentesting WI FI y electronica (hardware libre)”
emollinedo@it-rational.com
www.it-rational.com
3. Pecado I: Inyección
Una inyección ocurre cuando los datos no
validados (ni confiables) son enviados a un
interprete como parte de un comando o consulta.
Los datos hostiles del atacante pueden engañar al
interprete, ejecutar comandos, o acceder datos
no autorizados
El atacante puede:
- Descargar BD completas
- Añadir o eliminar información a la BD
- Ejecutar comandos de SO
- Comprometer la BD o el servidor
4. Solicitud numérica (cliente)
http://www.foo.bar/ver_productos.XXX?id= 1 or 1=1
Aplicación (servidor)
select * from productos where prod_id = X
Solicitud alfanumérica (cliente)
http://www.foo.bar/ver_productos.XXX?nombre= nada’ or ‘a’=‘a
Aplicación (servidor)
select * from productos where prod_nombre = ‘ X’
5. Inyecciones
INICIO DE SESION
Usuario:
Password:
Ingresar
admin'--
no importa
Código que genera el Query
sql = “SELECT * FROM usuarios
WHERE usuario = ‘” + usuario +
“’ and clave = ‘” + clave + “’”
Así se interpreta el query por el motor de BD
SELECT * FROM usuarios WHERE
usuario = ‘admin’--’ and clave
= ‘no importa’
Este es un ejemplo de la vida real de un sitio que recibía pagos por tarjeta de crédito.
Si alguien se pregunta si esto tan grave puede ser real pues...
6. Inyección
INICIO DE SESION
Usuario:
Password:
Ingresar
’UNION/**/..
no importa
Código que genera el Query
sql = “SELECT * FROM usuarios
WHERE usuario = ‘” + usuario +
“’ and clave = ‘” + clave + “’”
Así se interpreta el query por el motor de BD
SELECT * FROM usuarios WHERE
usuario = ‘’ UNION SELECT
CAST(usuario as int),version(),1,1,1
FROM usuarios
WHERE usuario > ‘a’--’ and
clave = ‘no importa’
Este es un ejemplo de la vida real de un sitio que recibía pagos por tarjeta de crédito.
'UNION/**/SELECT/**/
CAST(usuario/**/as/**/int),
Version(),1,1,1/**/
FROM/**/usuarios/**/
WHERE/**/usuario/**/>/**/‘a
'--
7. OS Command Injection (OSi)
Ejecución de comandos con información brindada por el “usuario”
https://misitioinseguro.com/generarpdf.php?nombre=miinfo;
cat /etc/passwd > /var/www/passwd
Así se interpreta el comando al ejecutarse
generarpdf reporte.html miinfo;
cat /etc/passwd > /var/www/passwd.pdf
El comando generarpdf genera un archivo PDF a partir de una platilla html
Adicionalmente con el comando cat genera el archivo passwd.pdf en la raíz del sitio a partir del archivo
passwd (Contraseñas)
Por fortuna para el atacante el archivo passwd.pdf puede ser
descargado desde:
https://misitioinseguro.com/passwd.pdf
8. Prevención y remediación
1. SQLi
•Consultas parametrizadas
•Procedimientos almacenados
•Validación de entradas "* ‘ , ; : & % “ -( ) / < > + "
2. OS Command Injection
•Listas blancas
•Validación de Entradas
3. Consejos comunes para hardening
•No utilizar el SA en su aplicación
•Cuenta de sistema operativo con permisos limitados
Todas las validaciones se deben realizar
en ambos lados: cliente y servidor
9. Pecado II: Fallo de autenticación
Ocurre cuando usuarios anónimos intentan acceder a
cuentas de usuarios válidos del sistema, cuando usuarios
validos intentan obtener mayores privilegios de los reales o
intentan “disfrazar” o eliminar acciones dentro del sistema
10. Sesiones
1.Para mantener el estado de la sesión se provee un identificador (Session_ID o Token) que es compartido entre el
usuario y la aplicación web
2.Los atacantes pueden ejecutar dos tipos de Session Hijacking (secuestro de sesión):
Orientados: el atacante impersonaliza a un usuario específico y privilegiado
Genérico: impersonaliza a un usuario genérico del cual desconoce sus accesos
Nombre de la Sesión de las aplicaciones
PHP --> PHPSESSID
J2EE --> JSESSIONID
ColdFusion --> CFID y CFTOKEN
ASP --> ASPSESSIONID
ASP.NET --> ASP.NET_SessionId
11. Sesiones
La sesión no debe tener información sensible (o debe estar cifrada) y debe ser almacenada en el servidor
Podría (no deseable) contener dirección IP, User-Agent, e-mail, nombre de usuario, rol, privilegio, preferencias
del usuario, último acceso, timeouts, etc.
Credenciales y Sesiones
No enviar información sensible en el URL
http://example.com/accion; jsessionid=2P0OC2JDPXM0OQSNDLPSKHCJUN2JV?parametro=valor
No almacenar información sensible en Cookies
Cookie: User=Juanito
Cookie: Password=123
13. Como evitar la Perdida de
Autenticación y Gestión de Sesiones
Verificar la arquitectura
Autenticación debería ser simple, centralizada y estandarizada
Utilizar el gestor desesiones estándar provisto por el servidor de aplicaciones – no inventar uno
propio!
Estar seguro que SSL protege tanto las credenciales como las sesiones de usuario todo el
tiempo
Verificar la implementación
No utilizar solamente análisis automático
Verificar el certificado SSL
Examinar todas las funciones relacionadas a autenticación
Verificar que “cierre de sesión” efectivamente destruya la sesión
Utilizar OWASP’s WebScarab para testear la implementación
14. Pecado III
XSS (Cross Site Scripting)
Cross Site Scripting (XSS): ejecución de scripts y comandos no
deseados a través de aplicaciones web, explotando la confianza del
usuario
Se originan por la validación incorrecta de variables que permiten
ejecutar scripts en campos de entrada
El atacante inyecta código malicioso (HTML y scripts) que son
ejecutados en el entorno del navegador del cliente afectado
15. XSS (Cross Site Scripting)
Mediante el control del navegador del usuario es posible
realizar ataques de:
Robo de sesión e identidad, mediante la
manipulación de las cookies
Phishing, mediante la modificación de la interface normal del
sitio
Redirección a sitios dañinos
Existen tres tipo de XSS:
Reflejados/No almacenados
Almacenados
DOM-XSS
16. XSS 1
2
3
Atacante establece una trampa - actualiza perfil
Victima visualiza la página – accede al perfil
Aplicación con
vulnerabilidad
Script silenciosamente envia la sesion de la victima al atacante
17. Como evitar Fallas de XSS
No incluir entradas suministradas por el usuario en la página de salida
Recomendación Principal: Codificar todos los datos de entrada en la página de salida (Utilizar OWASP’s
ESAPI para dicha tarea):
http://www.owasp.org/index.php/ESAPI
Siempre efectuar una validación ‘positiva’ de todas las entradas realizadas por el usuario
Definir políticas de Content Security Policy (W3C) (HTML5)
18. Pecado IV
Referencia directa a objetos
Una referencia directa a objetos ocurre cuando un
desarrollador expone una referencia a un objeto de
implementación interno, tal como un fichero, directorio, o
base de datos.Sin un chequeo de control de acceso u otra
protección, los atacantes pueden manipular estas
referencias para acceder datos no autorizados.
19. Referencia directa a objetos
Atacante identifica su número de
cuenta
6065
?acct=6065
Lo modifica a un número parecido
?acct=6066
Atacante visualiza los datos de la
cuenta de la víctima
20. Como evitar Referencias Directas
Inseguras a Objetos
Eliminar la referencia directa a objetos
Reemplazarla con un valor temporal de mapeo (ej. 1, 2, 3)
ESAPI proporciona soporte para mapeos numéricos y aleatorios
Validar la referencia directa al objeto
Verificar que el valor del parámetro se encuentra adecuadamente formateado
Verificar que el usuario se encuentra autorizado a acceder el objeto determinado
Restricciones en los parámetros funcionan muy bien!
Access
Reference
Map
http://app?file=Report123.xls
http://app?file=1
http://app?id=9182374
http://aoo?id=7d3J93
Report123.xls
Acct:9182374
21. Pecado V
Configuración defectuosa
Una buena seguridad requiere tener definida e implementada una
configuración segura para la aplicación, marcos de trabajo, servidor
de aplicación, servidor web, base de datos, y plataforma. Todas estas
configuraciones deben ser definidas, implementadas, y mantenidas ya
que por lo general no son seguras por defecto. Esto incluye mantener
todo el software actualizado, incluidas las librerías de código utilizadas
por la aplicación.
22. Configuraciones inseguras
Se requiere un proceso concertado, repetible y replicable, para desarrollar y mantener una
correcta configuración de seguridad de la aplicación.
Ejemplos:
• Plataformas vulnerables sin los últimos parches de seguridad
• Configuraciones iniciales o funciones innecesarias activadas
• Usuarios de sistema operativo o bases de datos con permisos excesivos
23. Prevenir configuraciones inseguras
Los programas de auditoría de seguridad son por lo general buenos
para abarcar grandes cantidades de pruebas para detectar la falta
de parches de seguridad así como la existencia de configuraciones
por defecto, la verificación manual posteriormente será una
responsabilidad muy importante por parte del profesional de
seguridad.
24. Pecado VI
Protección Insuficiente en la capa de
Transporte
Las aplicaciones frecuentemente fallan al autenticar, cifrar, y
proteger la confidencialidad e integridad de tráfico de red
sensible. Cuando esto ocurre, es debido a la utilización de
algoritmos débiles, certificados expirados, inválidos, o
sencillamente no utilizados correctamente.
25. Protección Insuficiente en la capa de
Transporte (TLS)
Se utiliza SSL para proteger todo el tráfico relacionado con la
autenticación? (Contra ataques MiTM)
Se utiliza SSL para todos los recursos de páginas y servicios privados?
Se debe evitar el acceso SSL únicamente a determinados recursos de una página ya que
esto provoca advertencias en el navegador y puede exponer el identificador de sesión de
los usuarios.
Sólo se soportan algoritmos considerados fuertes.
Todas las cookies de sesión tienen el atributo “secure” activado.
El certificado debe ser legítimo y estar configurado correctamente
para este servidor. Un usuario acostumbrado a lidiar con mensajes de error en su sitio perderá
la desconfianza a un sitio falso con las mismas características
27. Pecado VII
LFI y LFD
Vulnerabilidades que se hacen presentes cuando se permite que el usuario incluya
archivos en la aplicación
Local File Inclusion (LFI): inclusión de archivos locales, donde se encuentre el sitio
web vulnerable
Local File Disclousure (LFD): permite la descarga de archivos en codigo fuente
directo.
28. Evitar LFD y LFI
UrlScan por defecto bloquea: exe, bat, cmd, com, htw, ida, idq, htr, idc, printer, ini,
pol, dat, etc.
Validar extenciones mediante un lista blanca
En PHP se puede utilizar Mod_Security y/o Suhosin
Todas las validaciones se deben validar en ambos lados: cliente y servidor