SlideShare una empresa de Scribd logo
1 de 3
Descargar para leer sin conexión
Seguridad en Sitios Web
No confíes en el Usuario
Carlos R. Soriano López
Escuela de Computación, Facultad de Ingeniería
Universidad Don Bosco
Soyapango, San Salvador, El Salvador
csoriano@sorianocarlos.com

Abstract—Este artículo presenta cómo las vulnerabilidades
pueden ser detectadas y explotadas del lado del usuario sin tener
acceso físico al servidor que aloja el Sitio o Sistema Web.
Keywords—Seguridad;Web;Usuario

I.

INTRODUCCIÓN

En la era de la información y de las “comodidades en línea”
la personas con acceso a internet tienden a buscar información,
entretenerse, comunicarse y hasta realizar transacciones
financieras en “La Red de redes”. Por esta razón las empresas
y cualquier persona que desee ganar dinero por internet debe
tener presencia en esta a través de sitios web para
promocionarse u ofrecer servicios en línea a sus clientes a
través de portales para acceder a esta audiencia masiva. Pero
hay que tomar precauciones y medidas de seguridad en nuestro
“fron-end” en internet ya que el visitante no siempre tiene
propósitos benignos.
II.

ó modificar la información directamente a la base de datos que
usa el sistema/sitio.
B. Exploits
Exploit (del inglés to exploit, „explotar‟ o „aprovechar‟) es
una pieza de software, fragmento de datos o secuencia de
comandos y/o acciones, utilizada con el fin de aprovechar una
vulnerabilidad de seguridad de un sistema de información para
conseguir un comportamiento no deseado del mismo[1].
Este ataque es mucho más fácil cuando se usa un CMS o
sistemas Open Source o en los que se tiene acceso al código
fuente, ya que es posible usar ingeniería inversa ver las fallas
que pueda tener; agregando que existe una amplia base de
datos donde explican las vulnerabilidades específicas de estos.
Igualmente la “prueba y error” al inducir mal funcionamientos
en el sistema y detectar las vulnerabilidades similar al método
XSS a ciegas.

EL PUNTO DE VISTA DE NUESTRO ATACANTE

A. ¿Qué obtiene al vulnerar el sitio/sistema?
Los atacantes pueden tener distintos propósitos como: (1)
Obtener información sensible de la empresa o usuario, (2)
dañar la imagen del sitio/empresa (3) e inclusive por diversión
o reconocimiento.
B. ¿Cómo vulnera mi seguridad?
La forma en que los atacantes vulneran nuestra seguridad
pueden ser tan simples como (1) enviar información sin
encriptar, (2) no tomar en cuenta los valores por defecto en las
entradas del usuario ó (3) no validar que la entrada del usuario
sea un valor permitido.
III.

MÉTODOS DE ATAQUE COMUNES

La mayoría de ataques pueden ser realizados por personas
con conocimientos medios de informática, aunque actualmente
existen herramientas automatizadas que permiten a cualquier
usuario con conocimientos básicos realizarlo.
Es importante tener conocimiento de estos métodos de
ataques para poder prevenirlos:
A. SQL Injection(SLQi)
Consiste en la inyección de código SQL en la información
que envía el usuario hacia el servidor logrando obtener, insertar

C. Robo de Cookies
Una forma de suplantar la identidad o tener acceso de otra
persona en un sitio o plataforma web es usando las cookies de
ese usuario y usarlas como nuestras; así el servidor nos
identificará como el usuario al que se le obtuvo la cookie (el
impacto puede ser muy grande si se suplanta al administrador
del sitio).
Para lograr robar las cookies se pueden usar varios métodos
entre los cuales están: (1) acceso a la PC del usuario, (2) usar
técnicas de “spoofing” para interceptar el tráfico de la red y
obtener las cookies, (3) usar técnicas de XSS para obtener las
cookies remotamente; entre otras.
D. Cross-Site Scripting (XSS)
XSS, del inglés Cross-site scripting es un tipo de
inseguridad informática o agujero de seguridad típico de las
aplicaciones Web, que permite a una tercera parte inyectar en
páginas web vistas por el usuario código JavaScript o en otro
lenguaje script similar (ej: VBScript), evitando medidas de
control. [2].
Existen 3 métodos de XSS:
1) Indirecto: se logra al cambiar parámetros en cualquier
dato que pueda ser manipulable por el usuario como y
sea usado por la aplicación web: (1) campos ocultos
en formularios, (2) campos de entrada en formularios,
(3) parámetros visibles en la URL (método GET), (4)
valores de las cookies ó cualquier valor que se
transfiera para realizar una acción .
2) Directo: consiste en inyectar código malicioso en la
página que se muestra y lograr manipular la
aplicación y obtener los datos que el atacante crea
relevantes como cookies, IP, etcétera.
3) A ciegas: el atacante lo único que puede observar es el
comportamiento de la aplicación a partir del ensayo
“prueba y error” variando parámetros y consultas.
E. Ingeniería Social
La Ingeniería social es una de las herramientas más eficaces
para lograr romper la seguridad; siendo esta usada por el
Maestro de la Ingeniería Social Kevin Mitnick para irrumpir
en sistemas “altamente seguros” los cuales dieron suficiente
material para libros y producciones cinematográficas de
ficción.
Esta técnica mas allá de las técnicas que puedan ser
aplicables a Hardware y Software para vulnerar la seguridad
considera el punto humano como fallo y la posibilidad que
interprete de manera errónea o incumpla las políticas de
Seguridad. Manipular a la persona que nos atiende por el
teléfono quien también tiene ciertos “privilegios” de
información para poder “ayudarnos” e igualmente con la
recepcionista en el edificio donde están los servidores puede
brindarles una gran cantidad de información y accesos sin
necesidad de tener “grandes conocimientos técnicos”.

IV.

ESTÁNDARES INTERNACIONALES QUE DAN SOPORTE A

V.

BUENAS PRÁCTICAS PARA EVITAR Y DETECTAR
VULNERABILIDADES

A. Encriptar Información Sensible
Se debe encriptar la transmisión y almacenamiento de
cualquier información que comprometa la seguridad de una
persona o de una empresa minimizando el impacto de cualquier
intrusión al obtener datos “indescifrables”. Estos datos no
deben ser recuperables, sino mas bien comparar el hash
almacenado con el hash del dato que se desea verificar .
B. Mantener el Software y Hardware actualizados
Una vez detectadas vulnerabilidades se deben de crear
parches o versiones corregidas las cuales deben de ser
implementadas tan pronto hayan sido aprobadas como
estables. Estas vulnerabilidades generalmente son detectadas
por “personas ajenas” los cuales son los que ayudan a
acrecentar las bases de datos públicas de Exploits.
C. Mantener fuera del área de acceso público que
comprometan la seguridad y privacidad
Varios directorios y archivos deben mantenerse fuera del
alcance de los visitantes, como puede ser el directorio de
almacenamiento de archivos subidos ya que pueden subir una
Shell (script que permite ejecutar comandos y sentencias) que
permita manipular en cierta forma el servidor (si es necesario
tener una zona de subidas de archivos, el usuario podrá tener
acceso a este descargándolo evitando la ejecución del archivo),
el archivo de configuración que contiene las credenciales de
acceso a la base de datos u otra API necesaria para el
funcionamiento del sitio.

LA SEGURIDAD

Existen varios estándares y marcos de trabajo que ayudan a
una correcta implementación de buenas prácticas y controles
que permiten asegurar la información, la cual es el principal
activo en Internet.
En este artículo mencionaremos solamente uno:
A. ISO/IEC 27002
Anteriormente se denominaba ISO/IEC 17799 publicada en
1995 pero luego de varias revisiones se lanzó en el 2000 como
ISO/IEC 27002 .
ISO/IEC 17799 proporciona recomendaciones de las
mejores prácticas en la gestión de la seguridad de la
información a todos los interesados y responsables en iniciar,
implantar o mantener sistemas de gestión de la seguridad de la
información. La seguridad de la información se define en el
estándar como "la preservación de la confidencialidad
(asegurando que sólo quienes estén autorizados pueden acceder
a la información), integridad (asegurando que la información y
sus métodos de proceso son exactos y completos) y
disponibilidad (asegurando que los usuarios autorizados tienen
acceso a la información y a sus activos asociados cuando lo
requieran)" [3].

D. Validar los datos ingresados por el usuario
”No confíes en el usuario”; es una buena práctica validar
las entradas del usuario, los valores por defecto que toma una
variable al dejarla en blanco, verificar que no esté ingresando
código malicioso (XSS); no necesariamente porque pueda ser
un posible atacante sino para evitar inconsistencia de datos o
los famosos “missing values” que no aportan nada a la
información y carecen de sentido para el fin que fueron
creados. Una buena forma de validar estas entradas es usando
expresiones regulares y agregando un “slash” ( / ) cuando sea
detectado código ejecutable dejando este inoperable.

E. Registrar los accesos y acciones del usuario
Es necesario tener datos relevantes para lograr detectar
vulnerabilidades en una etapa temprana, detectar anomalías en
el comportamiento de un usuario y/o aplicación y para un
análisis forense en el caso que haya sido explotada
comprometiendo el Sistema.
F. Mostrar únicamente información relevante de las
tecnologías usadas
Hay cierta información irrelevante para el usuario como:
(1) CMS usado, (2) Tipo de Servidor, (3) Versión del Servidor
Web, etc. ; pero también hay información que necesitaría saber
para darle tranquilidad el certificados SSL y la empresa que lo
valida. El atacante al tener esta información es capaz de buscar
en las bases de datos de Exploits para la versión
correspondiente y vulnerar la seguridad; por eso no es
recomendable mostrar información que el usuario no necesite
para usar el sitio/sistema, pero sí hay que tener en cuenta por
tema de licenciamientos y reconocimientos de autor por ello
hay que buscar la solución más óptima a esta problemática.

VI.

CONCLUSIONES

El usuario/visitante es la razón por la cual se tienen
servicios en la web y se debe ofrecerle una experiencia óptima
y darle tranquilidad haciéndole saber que su información está
segura y no será malversada; y como organización se tiene el
compromiso de cumplirlo eliminando las vulnerabilidades del
sistema.

REFERENCIAS
G. Realizar Test de Penetración
Es una buena práctica realizar regularmente ataques “con
permiso” para determinar las vulnerabilidades que presenta
nuestro sitio/sistema.
Existen suites de software especializadas para este fin que
son utilizadas por expertos en seguridad informática e inclusive
por los mismos atacantes.

[1]

[2]

[3]

Exploit. (2013, 23 de septiembre). Wikipedia, La enciclopedia libre.
Fecha
de
consulta:
18:12,
octubre
01,
2013
desde
http://es.wikipedia.org/w/index.php?title=Exploit&oldid=70119389.
Cross-site scripting. (2013, 7 de marzo). Wikipedia, La enciclopedia
libre. Fecha de consulta: 19:37, octubre 01, 2013 desde
http://es.wikipedia.org/w/index.php?title=Crosssite_scripting&oldid=64415763.
ISO/IEC 27002. (2013, 10 de septiembre). Wikipedia, La enciclopedia
libre. Fecha de consulta: 20:01, octubre 10, 2013 desde
http://es.wikipedia.org/w/index.php?title=ISO/IEC_27002&oldid=69536
706.

Más contenido relacionado

La actualidad más candente

Investigacion seguridad
Investigacion seguridadInvestigacion seguridad
Investigacion seguridad
Miguel Angel
 

La actualidad más candente (15)

RamsonCloud O365: Paga por tus mensajes de correo en Office 365
RamsonCloud O365: Paga por tus mensajes de correo en Office 365RamsonCloud O365: Paga por tus mensajes de correo en Office 365
RamsonCloud O365: Paga por tus mensajes de correo en Office 365
 
Tic protección de datos y equipos
Tic protección de datos y equiposTic protección de datos y equipos
Tic protección de datos y equipos
 
Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1Cer tuy capacitaciones2011_v1
Cer tuy capacitaciones2011_v1
 
Android Security
Android SecurityAndroid Security
Android Security
 
Seguridad informática y de ti
Seguridad informática y de tiSeguridad informática y de ti
Seguridad informática y de ti
 
Informatica
InformaticaInformatica
Informatica
 
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
OpenSouthCode '18 - OWASP Top 10 (2017) [2018-June-01]
 
Seguridad en dispositivos móviles
Seguridad en dispositivos móvilesSeguridad en dispositivos móviles
Seguridad en dispositivos móviles
 
Riesgos de la informacion electronica
Riesgos de la informacion electronicaRiesgos de la informacion electronica
Riesgos de la informacion electronica
 
Seguridad En Internet
Seguridad En InternetSeguridad En Internet
Seguridad En Internet
 
Owasp proyecto
Owasp proyectoOwasp proyecto
Owasp proyecto
 
Investigacion seguridad
Investigacion seguridadInvestigacion seguridad
Investigacion seguridad
 
Exposicion univ simon_bolivar
Exposicion univ simon_bolivarExposicion univ simon_bolivar
Exposicion univ simon_bolivar
 
Web Browser Fingerprinting
Web Browser FingerprintingWeb Browser Fingerprinting
Web Browser Fingerprinting
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 

Similar a Seguridad en la web no confíes en el usuario

Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
dianapaolalozano
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
guest498e8b
 
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
dianapaolalozano
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
dianapaolalozano
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
dianapaolalozano
 
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
S E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O SS E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O S
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
dianapaolalozano
 
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
guest498e8b
 
Seguridad en un sistemas distribuidos
Seguridad en un sistemas distribuidosSeguridad en un sistemas distribuidos
Seguridad en un sistemas distribuidos
guest498e8b
 
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
S E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O SS E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O S
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
dianapaolalozano
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridad
Jorge García
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
JamFaVelasco
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
William Suárez
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
guestb40a1b0
 

Similar a Seguridad en la web no confíes en el usuario (20)

Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
S E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O SS E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O S
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
 
Seguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas DistribuidosSeguridad En Un Sistemas Distribuidos
Seguridad En Un Sistemas Distribuidos
 
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
C:\Documents And Settings\Regis Y Control\Mis Documentos\Seguridad En Un Sist...
 
Seguridad en un sistemas distribuidos
Seguridad en un sistemas distribuidosSeguridad en un sistemas distribuidos
Seguridad en un sistemas distribuidos
 
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
S E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O SS E G U R I D A D  E N  U N  S I S T E M A S  D I S T R I B U I D O S
S E G U R I D A D E N U N S I S T E M A S D I S T R I B U I D O S
 
LA CIBERSEGURIDAD informática y definición
LA CIBERSEGURIDAD informática y definiciónLA CIBERSEGURIDAD informática y definición
LA CIBERSEGURIDAD informática y definición
 
Reporte de seguridad
Reporte de seguridadReporte de seguridad
Reporte de seguridad
 
Terminos claves
Terminos clavesTerminos claves
Terminos claves
 
Seguridad informatica
Seguridad informaticaSeguridad informatica
Seguridad informatica
 
Hacking ético
Hacking éticoHacking ético
Hacking ético
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Seguridad En Base De Datos
Seguridad En Base De DatosSeguridad En Base De Datos
Seguridad En Base De Datos
 
Temas owasp
Temas owaspTemas owasp
Temas owasp
 

Seguridad en la web no confíes en el usuario

  • 1. Seguridad en Sitios Web No confíes en el Usuario Carlos R. Soriano López Escuela de Computación, Facultad de Ingeniería Universidad Don Bosco Soyapango, San Salvador, El Salvador csoriano@sorianocarlos.com Abstract—Este artículo presenta cómo las vulnerabilidades pueden ser detectadas y explotadas del lado del usuario sin tener acceso físico al servidor que aloja el Sitio o Sistema Web. Keywords—Seguridad;Web;Usuario I. INTRODUCCIÓN En la era de la información y de las “comodidades en línea” la personas con acceso a internet tienden a buscar información, entretenerse, comunicarse y hasta realizar transacciones financieras en “La Red de redes”. Por esta razón las empresas y cualquier persona que desee ganar dinero por internet debe tener presencia en esta a través de sitios web para promocionarse u ofrecer servicios en línea a sus clientes a través de portales para acceder a esta audiencia masiva. Pero hay que tomar precauciones y medidas de seguridad en nuestro “fron-end” en internet ya que el visitante no siempre tiene propósitos benignos. II. ó modificar la información directamente a la base de datos que usa el sistema/sitio. B. Exploits Exploit (del inglés to exploit, „explotar‟ o „aprovechar‟) es una pieza de software, fragmento de datos o secuencia de comandos y/o acciones, utilizada con el fin de aprovechar una vulnerabilidad de seguridad de un sistema de información para conseguir un comportamiento no deseado del mismo[1]. Este ataque es mucho más fácil cuando se usa un CMS o sistemas Open Source o en los que se tiene acceso al código fuente, ya que es posible usar ingeniería inversa ver las fallas que pueda tener; agregando que existe una amplia base de datos donde explican las vulnerabilidades específicas de estos. Igualmente la “prueba y error” al inducir mal funcionamientos en el sistema y detectar las vulnerabilidades similar al método XSS a ciegas. EL PUNTO DE VISTA DE NUESTRO ATACANTE A. ¿Qué obtiene al vulnerar el sitio/sistema? Los atacantes pueden tener distintos propósitos como: (1) Obtener información sensible de la empresa o usuario, (2) dañar la imagen del sitio/empresa (3) e inclusive por diversión o reconocimiento. B. ¿Cómo vulnera mi seguridad? La forma en que los atacantes vulneran nuestra seguridad pueden ser tan simples como (1) enviar información sin encriptar, (2) no tomar en cuenta los valores por defecto en las entradas del usuario ó (3) no validar que la entrada del usuario sea un valor permitido. III. MÉTODOS DE ATAQUE COMUNES La mayoría de ataques pueden ser realizados por personas con conocimientos medios de informática, aunque actualmente existen herramientas automatizadas que permiten a cualquier usuario con conocimientos básicos realizarlo. Es importante tener conocimiento de estos métodos de ataques para poder prevenirlos: A. SQL Injection(SLQi) Consiste en la inyección de código SQL en la información que envía el usuario hacia el servidor logrando obtener, insertar C. Robo de Cookies Una forma de suplantar la identidad o tener acceso de otra persona en un sitio o plataforma web es usando las cookies de ese usuario y usarlas como nuestras; así el servidor nos identificará como el usuario al que se le obtuvo la cookie (el impacto puede ser muy grande si se suplanta al administrador del sitio). Para lograr robar las cookies se pueden usar varios métodos entre los cuales están: (1) acceso a la PC del usuario, (2) usar técnicas de “spoofing” para interceptar el tráfico de la red y obtener las cookies, (3) usar técnicas de XSS para obtener las cookies remotamente; entre otras. D. Cross-Site Scripting (XSS) XSS, del inglés Cross-site scripting es un tipo de inseguridad informática o agujero de seguridad típico de las aplicaciones Web, que permite a una tercera parte inyectar en páginas web vistas por el usuario código JavaScript o en otro lenguaje script similar (ej: VBScript), evitando medidas de control. [2]. Existen 3 métodos de XSS: 1) Indirecto: se logra al cambiar parámetros en cualquier dato que pueda ser manipulable por el usuario como y sea usado por la aplicación web: (1) campos ocultos
  • 2. en formularios, (2) campos de entrada en formularios, (3) parámetros visibles en la URL (método GET), (4) valores de las cookies ó cualquier valor que se transfiera para realizar una acción . 2) Directo: consiste en inyectar código malicioso en la página que se muestra y lograr manipular la aplicación y obtener los datos que el atacante crea relevantes como cookies, IP, etcétera. 3) A ciegas: el atacante lo único que puede observar es el comportamiento de la aplicación a partir del ensayo “prueba y error” variando parámetros y consultas. E. Ingeniería Social La Ingeniería social es una de las herramientas más eficaces para lograr romper la seguridad; siendo esta usada por el Maestro de la Ingeniería Social Kevin Mitnick para irrumpir en sistemas “altamente seguros” los cuales dieron suficiente material para libros y producciones cinematográficas de ficción. Esta técnica mas allá de las técnicas que puedan ser aplicables a Hardware y Software para vulnerar la seguridad considera el punto humano como fallo y la posibilidad que interprete de manera errónea o incumpla las políticas de Seguridad. Manipular a la persona que nos atiende por el teléfono quien también tiene ciertos “privilegios” de información para poder “ayudarnos” e igualmente con la recepcionista en el edificio donde están los servidores puede brindarles una gran cantidad de información y accesos sin necesidad de tener “grandes conocimientos técnicos”. IV. ESTÁNDARES INTERNACIONALES QUE DAN SOPORTE A V. BUENAS PRÁCTICAS PARA EVITAR Y DETECTAR VULNERABILIDADES A. Encriptar Información Sensible Se debe encriptar la transmisión y almacenamiento de cualquier información que comprometa la seguridad de una persona o de una empresa minimizando el impacto de cualquier intrusión al obtener datos “indescifrables”. Estos datos no deben ser recuperables, sino mas bien comparar el hash almacenado con el hash del dato que se desea verificar . B. Mantener el Software y Hardware actualizados Una vez detectadas vulnerabilidades se deben de crear parches o versiones corregidas las cuales deben de ser implementadas tan pronto hayan sido aprobadas como estables. Estas vulnerabilidades generalmente son detectadas por “personas ajenas” los cuales son los que ayudan a acrecentar las bases de datos públicas de Exploits. C. Mantener fuera del área de acceso público que comprometan la seguridad y privacidad Varios directorios y archivos deben mantenerse fuera del alcance de los visitantes, como puede ser el directorio de almacenamiento de archivos subidos ya que pueden subir una Shell (script que permite ejecutar comandos y sentencias) que permita manipular en cierta forma el servidor (si es necesario tener una zona de subidas de archivos, el usuario podrá tener acceso a este descargándolo evitando la ejecución del archivo), el archivo de configuración que contiene las credenciales de acceso a la base de datos u otra API necesaria para el funcionamiento del sitio. LA SEGURIDAD Existen varios estándares y marcos de trabajo que ayudan a una correcta implementación de buenas prácticas y controles que permiten asegurar la información, la cual es el principal activo en Internet. En este artículo mencionaremos solamente uno: A. ISO/IEC 27002 Anteriormente se denominaba ISO/IEC 17799 publicada en 1995 pero luego de varias revisiones se lanzó en el 2000 como ISO/IEC 27002 . ISO/IEC 17799 proporciona recomendaciones de las mejores prácticas en la gestión de la seguridad de la información a todos los interesados y responsables en iniciar, implantar o mantener sistemas de gestión de la seguridad de la información. La seguridad de la información se define en el estándar como "la preservación de la confidencialidad (asegurando que sólo quienes estén autorizados pueden acceder a la información), integridad (asegurando que la información y sus métodos de proceso son exactos y completos) y disponibilidad (asegurando que los usuarios autorizados tienen acceso a la información y a sus activos asociados cuando lo requieran)" [3]. D. Validar los datos ingresados por el usuario ”No confíes en el usuario”; es una buena práctica validar las entradas del usuario, los valores por defecto que toma una variable al dejarla en blanco, verificar que no esté ingresando código malicioso (XSS); no necesariamente porque pueda ser un posible atacante sino para evitar inconsistencia de datos o los famosos “missing values” que no aportan nada a la información y carecen de sentido para el fin que fueron creados. Una buena forma de validar estas entradas es usando expresiones regulares y agregando un “slash” ( / ) cuando sea detectado código ejecutable dejando este inoperable. E. Registrar los accesos y acciones del usuario Es necesario tener datos relevantes para lograr detectar vulnerabilidades en una etapa temprana, detectar anomalías en el comportamiento de un usuario y/o aplicación y para un análisis forense en el caso que haya sido explotada comprometiendo el Sistema.
  • 3. F. Mostrar únicamente información relevante de las tecnologías usadas Hay cierta información irrelevante para el usuario como: (1) CMS usado, (2) Tipo de Servidor, (3) Versión del Servidor Web, etc. ; pero también hay información que necesitaría saber para darle tranquilidad el certificados SSL y la empresa que lo valida. El atacante al tener esta información es capaz de buscar en las bases de datos de Exploits para la versión correspondiente y vulnerar la seguridad; por eso no es recomendable mostrar información que el usuario no necesite para usar el sitio/sistema, pero sí hay que tener en cuenta por tema de licenciamientos y reconocimientos de autor por ello hay que buscar la solución más óptima a esta problemática. VI. CONCLUSIONES El usuario/visitante es la razón por la cual se tienen servicios en la web y se debe ofrecerle una experiencia óptima y darle tranquilidad haciéndole saber que su información está segura y no será malversada; y como organización se tiene el compromiso de cumplirlo eliminando las vulnerabilidades del sistema. REFERENCIAS G. Realizar Test de Penetración Es una buena práctica realizar regularmente ataques “con permiso” para determinar las vulnerabilidades que presenta nuestro sitio/sistema. Existen suites de software especializadas para este fin que son utilizadas por expertos en seguridad informática e inclusive por los mismos atacantes. [1] [2] [3] Exploit. (2013, 23 de septiembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 18:12, octubre 01, 2013 desde http://es.wikipedia.org/w/index.php?title=Exploit&oldid=70119389. Cross-site scripting. (2013, 7 de marzo). Wikipedia, La enciclopedia libre. Fecha de consulta: 19:37, octubre 01, 2013 desde http://es.wikipedia.org/w/index.php?title=Crosssite_scripting&oldid=64415763. ISO/IEC 27002. (2013, 10 de septiembre). Wikipedia, La enciclopedia libre. Fecha de consulta: 20:01, octubre 10, 2013 desde http://es.wikipedia.org/w/index.php?title=ISO/IEC_27002&oldid=69536 706.