Você está na página 1de 39

Estudios:

Ingeniero en Sistemas (Universidad Galileo en Guatemala)


Maestra en Direccin y Produccin de Sistemas (Universidad Europea de Madrid)
Maestra en Administracin de Empresas (Escuela de Alta Direccin y Administracin (EADA))
Considerando Doctorado..
Certificaciones en Seguridad Informtica:
GPEN
GIAC Penetration Tester
CISM
Certified Information Security Manager
CISSP
Certified Information Systems Security Professional
CISA
Certified Information Security Auditor
CEH
Certified Ethical Hacker
CHFI
Computer Hacking Forensic Investigator
MSCE 2003 : Security
Microsoft Certified Engineer specialized in Security
CEPT
Certified Expert Penetration Tester
ISO 27001 Lead Auditor
Security+

Sera que
realmente hackean
bancos ?

Sera que es fcil


encontrar una
vulnerabilidad
Web?

Google Hacking:

DEMO

Cual es el mayor
problema del desarrollo ?

Requerimientos

Diseo

Implementacin

Verificacin

SDLC
Software Development Life Cycle
Solucin:
Incorporar seguridad en cada fase del Desarrollo.

Produccin

SSDLC
Secure Software Development Life Cycle
1.
2.
3.

Cursos en lnea:
Cursos presenciales:
Sistema interno de
eLearning

Entrenamie
nto

1.
2.
3.
4.

Requerimien
tos

Plantilla de modelos de amenazas.


Listado de controles de seguridad.
Plantilla de requerimientos tcnicos.
Documento integral del diseo de la
solucin.

Diseo

1.
2.
3.
4.
5.

Implementa
cin

Plantilla de checklist de documentacin.


Herramienta de anlisis Dinmico.
Herramienta de anlisis Esttico.
Herramienta de anlisis Vulnerabilidades.
1.
Herramienta de anlisis Bastionado.

Verificacin

Produccin

Sistema interno de gestin


de cambios.

Mejora

Proceso y Tecnologa
Educacin

Proceso

1.
2.

3.

Plantilla de toma de
requerimientos de negocio.
Plantilla de requerimientos
de seguridad en base a la
clasificacin de informacin.
Listado de lineamientos de
seguridad.

1.
2.
3.

Bitcora de accesos de
comunicaciones.
Bitcora de entrega de
plataforma.
Herramienta de SCA.

1.
2.
3.

Pentest Externo.
Escaneo de vulnerabilidades
externo.
Escaneo de vulnerabilidades Web.

SCOPE

Autenticacin:
Responde a la pregunta:

Quien es usted?

Antes que un acceso es provisto.

Autorizacin:
Responde a la pregunta:

A que tiene usted permiso?

Usualmente se utiliza RBAC en base a roles y perfiles de


usuario.

Auditoria:
Responde a la pregunta:

Que sucedi ?

Se asegura que todos los cambios o acciones estn


documentadas y/o registradas.

Gestin de sesiones:
Responde a la pregunta:

Como aseguro la trazabilidad de mi usuario ?

Se asegura que todo el ciclo de vida de la sesin se gestione


correctamente (Inicio, expiracin, modificacin)

Excepciones:
Responde a la pregunta:

Como reporto un error en el sistema ?

Se asegura que todo error dentro del sistema (Esperado y No


Esperado) se disee y despliegue de manera correcta.

Configuracin:
Responde a la pregunta:

Como aseguro mi plataforma ?

Se asegura que todo sistema sea Bastionado antes de


colocarse en produccin.

En Resumen:
Si yo contesto todas estas preguntas cuando DISEO mi
aplicacin, estar validando la seguridad desde el inicio de la
aplicacin.
1.
2.
3.
4.
5.
6.

Quien es usted?
A que tiene usted permiso?
Que sucedi ?
Como aseguro la trazabilidad de mi usuario ?
Como reporto un error en el sistema ?
Como aseguro mi plataforma ?

Existen 4 metodologas generales de desarrollo:

1.
2.
3.
4.

Espiral
Iterativa
Cascada
gil

Unit Testing

Es un mtodo de pruebas de software por el cual se pruebas las unidades individuales


de cdigo fuente, conjuntos de uno o ms mdulos del sistema. Estos se ponen a
prueba para determinar si son aptos y funcionales. (Esqueletos de clases y
funciones).

Unit Testing
[Test]
public void PressEquals_AddingTwoPlusTwo_ReturnsFour()
{
// Arrange
decimal value1 = 2m;
decimal value2 = 2m;
decimal expected = 4m;
var calculator = new Calculator();
// Act
calculator.Enter(value1);
calculator.PressPlus();
calculator.Enter(value2);
calculator.PressEquals();
decimal actual = calculator.Display;
// Assert
Assert.AreEqual(expected, actual,
"When adding {0} + {1}, expected {2} but found {3}.", value1, value2, expected, actual);
}

SCRUM

Es una metodologa de desarrollo gil de software iterativo e incremental para


la gestin de desarrollo de productos.
Iteraciones llamadas sprints.
Cada iteracin dura entre 1-6 semanas. (3 usualmente).
Revisin diaria de (Que hice ayer, Que hago hoy, Que impedimentos tengo).
3 Actores (Dueo del producto, Scrum Master, Equipo Tcnico).
La idea general es automatizacin y agilizacin de la entrega del producto.
Prioriza funcionalidades brindndolas de primero como entregas.

SOCRATIC - Preguntas
STRIDE / DREAD

STRIDE
( Spoofing / Tampering / Repudiation / Information Disclosure / DoS / Elevation of Priviledge)

DREAD
( Discoverability / Reproducibility / Exploitability / Affected Users / Damage Potencial)

FHM Basada en Pentesting


SIX SIGMA Basada en Calidad
CMMI Modelo de madurez
OSSTMM Basada en mltiples pruebas de seguridad
OCTAVE Generacin de escenarios de riesgo
OPENSAMM Basada en objetivos de seguridad
MICROSOFT SSDLC Cascada con RA basada en plantillas de MS

Explota

Amenazas
Protegen
contra

Vulnerabilidades
Afecta a

Aumenta
Aumenta
Disminuye

Riesgo

Salvaguardas

Activos
Aumenta

Satisfecho
por

Indica

Requisitos de
seguridad

Tiene

Valor de activos

El riesgo se puede:

1.
2.
3.
4.

Mitigar
Transferir
Evitar
Aceptar

Use Case Abuso de Plataforma

Subject Object Matrix


Matriz de objetos / funciones y perfiles

Diagramas de Secuencia

Top Ten - Moviles


1

M1: Weak Server Side Controls

M2: Insecure Data Storage


M3: Insufficient Transport Layer
Protection
M4: Unintended Data Leakage
M5: Poor Authorization and
Authentication
M6: Broken Cryptography
M7: Client Side Injection
M8: Security Decisions Via
Untrusted Inputs
M9: Improper Session Handling
M10: Lack of Binary Protections

3
4
5
6
7
8
9
10
38

Controles bajos en el servidor - Web Services


Almacenamiento inseguro de datos dentro del movil.
Cache.
No usar certificados digitales.
Utilizarlos pero no ver CA.
filtracin de informacin en mviles
Bajo nivel de autenticacin y autorizacin
Carencia de cifrado.
inyeccin de datos en apps - SQL - XSS dentro del App.
Decisiones de seguridad en entradas no validadas.
Ej. Skype Call.
manejo de sesiones no apropiadas - tokens
falta de proteccin en binarios - ipa / apk

Ing. Camilo Fernandez


cfernandez@develsecurity.com

Você também pode gostar