Documente Academic
Documente Profesional
Documente Cultură
Nota de aceptacin
Aprobado por el Comit de Grado en
cumplimiento con los requisitos
exigidos por la Universidad Nacional
Abierta y a Distancia UNAD para
optar el ttulo de Especialista en
Seguridad Informtica.
______________________________
Jurado
______________________________
Jurado
AGRADECIMIENTOS
Dedicado a Dios quien es mi gua y protector, a mi esposo, a mis hijas con todo
mi amor por su apoyo y por haber soportado mi ausencia durante este tiempo y a
mis compaeros de trabajo quienes me alentaron a seguir adelante.
TABLA DE CONTENIDO
Pg.
INTRODUCCIN
RESUMEN
12
14
1.
1.1.
1.2.
1.3.
1.4.
1.5.
1.5.1.
1.5.2.
15
16
16
16
16
17
17
17
2.
2.1.
18
18
19
19
20
20
22
23
24
26
28
29
30
31
31
33
34
36
36
37
37
38
38
LISTA DE FIGURAS
Pag.
Figura 1-
18
Figura 2-
21
Figura 3-
23
29
34
35
Figura 7-
35
Figura 8Figura 9-
36
39
Figura 10-
81
Figura 11-
82
Figura 12-
83
ANEXOS
Pag.
ANEXO A-
ANEXO B:
94
98
10
GLOSARIO
APLICACIN WEB: informacin o herramientas a las que un cliente puede
acceder utilizando un servidor web y una conexin a internet, todo esto por
intermedio de un navegador.
DOMINIO: Es el nombre de fcil recordacin que se le da a una pgina web, en
lugar de memorizar el nmero de la direccin IP.
FRAMEWORK: Entorno o ambiente de trabajo para desarrolladores que de
acuerdo con el lenguaje, integra componentes que proporcionan el fcil desarrollo
de las aplicaciones.
HIPERTEXTO: Documento interactivo de lectura que contiene hipervnculos a
otras partes del mismo documento.
HOSTING: Espacio que sirve de hospedaje el sitio web.
HTML (Hyper Text Markup Language o Lenguaje de marcas de hipertexto),
lenguaje empleado para el desarrollo de pginas de Internet. Est compuesto por
una serie de etiquetas que definen el contenido y la apariencia de una pgina web
HTTP (Hyper Text Tranfer Protocol), protocolo que emplean los computadores
para conectarse con el servidor web y hacer su peticin, cuando el servidor
responde, la conexin termina.
INTERFAZ: Es la parte visual de una aplicacin web interactiva o dinmica; es la
comunicacin entre el usuario y la mquina.
PGINA WEB: Informacin como texto, sonido, videos, enlaces, y que est
disponible y a la que se accede a travs de la www.
11
12
INTRODUCCIN
Es innegable la arremetida de las tecnologas de la informacin y la
comunicaciones en todos los entornos tanto empresariales como personales;
identificar lo que tenemos, como protegerlos y prepararnos para defendernos, es
tarea que se debe planificar desde el momento que se adquieren aparatos
electrnicos y se utilizan para agilizar nuestro vertiginoso estado de vida.
El activo ms importante que poseen tanto las organizaciones como las personas
a ttulo personal, es la informacin, es por esto que diariamente se gastan millones
de pesos invirtindole a la seguridad de estos activos y en general a los Sistemas
de Informacin, adems de investigacin acerca de las mejores tcnicas que
existen y que aseguren, ms all de la seguridad fsica, la informacin que hoy en
da se almacena en la nube.
Innumerables empresas se han dedicado a la investigacin de las diferentes
formas de ataque a los sistemas de informacin, la manera de defenderse,
atacarlos o simplemente a evitarlos, unas con infraestructura fsica, otras virtuales,
gratuitas o con algn costo, el todo es que hay una amplia gama para escoger
cul es la que ofrece mejores beneficios para la proteccin de los usuarios como
lo es mejorar la competitividad y por ende su imagen corporativa, optimizacin de
los recursos e inversin tecnolgica, reduccin de costos en daos, proteccin y
continuidad en el negocio entre otros.
Desde el primer momento en que se decide crear una aplicacin web, se debe
tener presente la proteccin y para ello se hace necesaria la documentacin
acerca de los ltimos ataques producidos, la manera como fueron creados y la
forma de prevenirlos; estos pueden atacar desde una base de datos, como la
configuracin de los servicios, el sistema operativo, los accesos a sistemas o
mdulos relacionados, entre otras. Sin embargo, muchas de ellas pueden
prevenirse escribiendo cdigo fuente seguro y protegido contra amenazas
potenciales
El Vivero del Software es un lugar ubicado en la ciudad de Medelln en donde
germina, se incentiva y se fortalece el talento de los jvenes estudiantes de Media
Tcnica en Desarrollo del software de las instituciones educativas del Municipio de
Medelln. Es aqu donde se revela la necesidad de incluir las buenas prcticas
desde el momento mismo de la concepcin de la idea de la creacin de una
13
pgina Web por los estudiantes que comienzan en el mundo del desarrollo del
software.
Observando la poca informacin que tienen los estudiantes acerca de la seguridad
en el momento de la enseanza aprendizaje de las aplicaciones Web, se pens
en la creacin de una gua de buenas prcticas de seguridad en Aplicaciones
WEB desde la elaboracin de software en su etapa incipiente para que sean
adoptadas por los estudiantes de Media Tcnica en Desarrollo del software de las
instituciones educativas del Municipio de Medelln con el propsito de que a futuro
se vea reflejado el trabajo responsable de un desarrollador de aplicaciones web y
que finalmente se traduzca en buenos resultados y personal calificado.
En la actualidad, existen publicaciones que permiten formar un criterio amplio
sobre el tema, algunas que indican cules seran las mejores prcticas bsicas
sobre lo que se debe considerar en el proceso de desarrollo, se propone la
definicin de mejores prcticas como los primeros pasos durante la formacin de
programadores para crear hbitos de construccin de software seguro.
Para el proyecto, The Open Web Application Security Project (OWASP, 2014),
OWASP (la comunidad libre y abierta sobre seguridad en aplicaciones) es muy
importante la informacin que alberga acerca del desarrollo de las aplicaciones
Web, contiene informacin desde el momento de la creacin de la pgina Web,
muestra informacin de cmo se crean las vulnerabilidades desde el momento
mismo de la programacin, las formas de contrarrestarlas, escaneo, ejemplos,
prevenciones y soluciones en caso de dao por intrusin. Se mencionan
igualmente otras pginas que ofrecen informacin gratuita y que son igualmente
pginas serias y bien respaldadas.
14
RESUMEN
El siguiente trabajo recopila informacin acerca de lo que significa la seguridad en
el desarrollo de aplicaciones Web, y pretende crear una gua en la que los
estudiantes de la media tcnica de las instituciones educativas puedan apoyarse
con documentacin seria y responsable ofrecida por personas especializadas,
dedicadas al estudio de las vulnerabilidades, ataques, y las diferentes formas que
existen para prevenirlos o para defenderse en caso de ataque.
Se dan a conocer las vulnerabilidades ms conocidas de acuerdo con estudios
especializados en el tema por empresas con dedicacin exclusiva, con cdigo
abierto y gratuita para las personas que quieran acceder a sus pginas; se
muestran adems, algunas herramientas de escaneo que pueden ayudar a
solucionar algunos problemas relacionados con la seguridad, como tambin
pginas de internet y algunas direcciones que pueden dar solucin o esclarecer en
algunos casos, errores o temas en los que no se posee mucho conocimiento y
ejemplos de casos conocidos.
Esta gua solo pretende encaminar al estudiante hacia soluciones que puedan
ayudarle a desarrollar una aplicacin web segura, no es el caso de copiar o
mostrar como propio lo que ya ha sido escrito y resuelto por otros, es
precisamente llevarlos hacia las pginas que han sido escritas con anterioridad y a
las que se puede acceder confiadamente con la informacin adecuada.
PALABRAS CLAVE: Seguridad. Aplicaciones WEB. Gua. Media Tcnica.
Vulnerabilidades. Ataques. Herramientas. Internet. Cdigo abierto. Escaneo.
15
16
1.2.
JUSTIFICACIN.
17
pgina Web por los estudiantes que comienzan en el mundo del desarrollo del
software.
1.5.
OBJETIVOS
18
Cada vez que miramos en nuestro entorno, vemos la cantidad de tecnologa que
existe, en la comunicacin, los juegos, la televisin, la telefona, en fin, cada
negocio, cada casa y particularmente cada persona cuenta con un dispositivo que
le permite comunicarse y estar informado de manera inmediata. Nuestro activo
principal, tanto personal como de empresas es la informacin que se genera ante
cualquier uso de la tecnologa, y todo esto generalmente queda guardado en
nuestros aparatos electrnicos.
El Ministerio de las Tic e Ipsos Napolen Franco presentaron un estudio de
consumo digital en donde revela que en una muestra realizada en octubre de
2012, de 1005 encuestas realizadas:
el 80% de los encuestados usa Internet y que el mayor incremento del uso
de la red se dio en los estratos 1 y 2, con un crecimiento del 17% en
comparacin al uso que le daban en 2010. Tambin se observa que el 54%
de los colombianos que usan Internet, lo hacen todos los das y pasan en
promedio 2,6 horas navegando (MINTIC, 2012)
Figura 1: Estadstica Acceso a Internet
19
20
2.2.
21
Dar la bienvenida a los cambios. Se capturan los cambios para que el cliente
tenga una ventaja competitiva.
22
La gente del negocio y los desarrolladores deben trabajar juntos a lo largo del
proyecto.
2.3.
23
Para los estudiantes de Media tcnica de las instituciones educativas del Municipio
de Medelln, sta tecnologa puede ser adoptada una vez se involucren de lleno
con desarrollo de software robustos
2.4.
PROYECTO INFORMTICO
2.5.
Existe tanta literatura como medios para obtener los diferentes tips que hacen
que un proyecto informtico sea reconocido como buen proyecto, porque
cumplen con los lineamientos especficos que lo hacen sobresalir de los dems
proyectos y porque culminan satisfaciendo las necesidades por los que fueron
creados (Castro, 2009). Aqu nombro algunos de ellos:
Lo primero que se debe hacer es un acercamiento con el cliente para saber
sus necesidades, expectativas, requerimientos y viabilidad de su peticin.
Una vez se tenga reconocido el proyecto y lo que se va a hacer, se debe
empezar con la planificacin del trabajo en general, hacer un bosquejo de los
resultados y hacrselo saber al cliente para poner en marcha el proyecto; de
ah en adelante se debe tener en cuenta lo que sigue:
Involucrar al cliente en el desarrollo del proyecto. Hacer partcipe al cliente de
la evolucin del proyecto y sobretodo en la fase de requerimientos, con esto
se garantiza que lo que se hace es lo que quiere el cliente.
Valorar la importancia del sistema a implementar. El cliente debe tener claro
que lo que se est haciendo ser para beneficio de su empresa por tanto
debe instruir a sus empleados acerca de la importancia de poner en
funcionamiento el proyecto finalizado.
Concientizar al cliente y sobre todo a los empleados de que el proyecto en
mencin es un apoyo a la gestin de los empleados y que en ningn
momento sustituir al empleado quien es el responsable y decide qu, cundo
y cmo realizar el trabajo.
Tener siempre presente los objetivos del negocio.
25
LA SEGURIDAD EN INFORMTICA
que lo pueda atacar, empezando por los activos fsicos con los cuales se crea y
adelantan las labores diarias, y siguiendo con la informacin generada que
finalmente se convierte en el reflejo del buen nombre de la empresa (Ascencio
Mendoza & Moreno Patio, 2011).
El Riesgo es la identificacin de las vulnerabilidades medidas mediante la
probabilidad de que ocurra un suceso y los posibles daos que ocasionara en el
desarrollo de la empresa, es all donde toma parte la seguridad informtica
buscando mecanismos de defensa y proteccin.
Es de vital importancia dirigir la proteccin de los activos hacia los objetivos
fundamentales de la seguridad como son la integridad, la disponibilidad y la
confidencialidad.
La Integridad, garantiza que los datos permanezcan exactos y que no puedan
ser borrados o modificados por personas no autorizadas, La firma digital es uno de
los mecanismos fundamentales para conservar la integridad en la informacin 1.
La Disponibilidad asegura que la informacin se encuentre al alcance de los que
la necesiten y que estn autorizadas, para ello existen los permisos que se
otorgan a los usuarios, de lectura, de escritura y de ejecucin 2..
La Confidencialidad asegura que la informacin est resguardada y que solo sea
accesible para las personas que cuentan con la autorizacin necesaria para
utilizarla, para la confidencialidad es importante el cifrado de la informacin
relevante3.
Estos tres objetivos podran ser ms eficaces si a cada usuario que haga uso de la
informacin de la empresa se le diera permiso y tuviera que autenticarse al
momento de ingreso, esto como parte de la seguridad y para que se pueda
identificar el tipo de operaciones que realiza y la clase de informacin pueda
manipular en un caso dado. Igualmente se debe tener el control de los
movimientos que se presenten con el sistema realizando registros y auditoras,
1 Ibid, Pag 18
2 Ibid, Pag 18
3 Ibid, Pag 17
28
esto garantiza el no repudio (verificacin que una transaccin cualquiera que sea
su naturaleza haya sido entregada y recibida) (Seguridad Informtica, 2013)
Todo caso de seguridad en la empresa es de orden primordial toda vez que no
solamente existe ataques desde el exterior, sino que dentro de las mismas
compaas existen empleados que pueden afectar la informacin ya sea de forma
involuntaria o voluntaria y que pueden poner en riesgo la estabilidad de la
compaa.
2.7.
29
CRIPTOGRAFA
30
Permitir que la informacin solo sea accedida por las personas autorizadas.
Solo pueda ser modificada por las personas que tengan los permisos para
hacerlo.
Fuga de informacin.
31
EN
LA
Son muchas las compaas que ofrecen informacin gratuita para los
desarrolladores de aplicaciones WEB, son especializadas en estos temas y llevan
mucho tiempo dedicadas a la investigacin y a la forma de combatir los diferentes
ataques producidos a las aplicaciones web. Su nico propsito es hacer de la
informtica un medio seguro y libre de ataques, aunque esto sea una tarea casi
que imposible dada la creciente proliferacin de delincuentes informticos.
La UNAM-CERT (http://www.cert.org.mx/index.html) es tambin un equipo serio
que da respuesta a incidentes de seguridad informtica liderado por la Universidad
Nacional Autnoma de Mxico, que se encarga de proveer el servicio de respuesta
a incidentes de seguridad a sitios que han sido vctimas, a la alerta mediante la
publicacin de las vulnerabilidades encontradas y a la investigacin en pro de la
mejora respecto de la seguridad de los sitios web. En su pgina
(http://www.seguridad.unam.mx/vulnerabilidadesDB/) ofrece un estudio detallado
de las vulnerabilidades encontradas en el desarrollo de las pginas web desde el
2005 a marzo de 2016, los ataques realizados y la manera de combatirlos.
El OBSERVATORIO TECNOLGICO, liderado por el Ministerio de Educacin,
Cultura y Deporte del Gobierno de Espaa, es un espacio colaborativo para el
profesorado basado en la observacin de la tecnologa informtica y que ofrece
informacin tecnolgica a nivel de software y hardware, adems de la seguridad
informtica, mecanismos de seguridad, vulnerabilidades, polticas etc.
http://recursostic.educacion.es/observatorio/web/es/component/content/article/104
0-introduccion-a-la-seguridad-informatica?start=3
IBM Bluemix es un entorno de plataforma como servicio desarrollado por IBM que
soporta varios lenguajes de programacin y servicios con metodologa
colaborativa en donde se puede crear, aportar y utilizar entre otras, aplicaciones
34
en
la
nube.
En
su
pgina
http://www.ibm.com/developerworks/ssa/rational/library/desktop-mobileapplication-security-design/ ofrece informacin acerca de la seguridad en las
aplicaciones Web y toma como referencia el proyecto OWASP para informar
acerca de las vulnerabilidades, algunos ejemplos de ellas y la forma de prevenir
los ataques y de combatirlos.
OWASP es un proyecto abierto de seguridad en aplicaciones Web, dedicado a
ofrecer alternativas para la confiabilidad desde su desarrollo hasta el
mantenimiento. Ofrece herramientas, documentos, foros etc. de forma gratuita y
abierto para personas que deseen aportar conocimientos en estas reas y de igual
manera
alimentarse
de
la
informacin
especializada.
https://www.owasp.org/index.php/Main_Page
2.10. ARQUITECTURA PARA EL DESARROLLO DE APLICACIONES WEB.
Web es un sitio dentro de internet que ha sido creada para contener informacin a
la que puede acceder desde un motor de bsqueda con un tema especfico,
permitiendo a los usuarios obtener informacin rpidamente con una gama amplia
de alternativas de uso.
Figura 5: Arquitectura de una aplicacin WEB
Fuente: http://www.n4designlab.com.mx/blog/index.php/119-aspectos-basicos-de-lasaplicaciones-web
35
Las aplicaciones web en sus inicios solo eran pginas estticas y tenan la
siguiente arquitectura:
Fuente: Tahuiton J.(2011) Arquitectura de software para aplicaciones Web. Pag. 69,
disponible en: http://delta.cs.cinvestav.mx/~pmalvarez/tesis-tahuiton.pdf
36
Fuente: Tahuiton J.(2011) Arquitectura de software para aplicaciones Web. Pag. 70,
disponible en: http://delta.cs.cinvestav.mx/~pmalvarez/tesis-tahuiton.pdf
Un cliente realiza una peticin desde un buscador, esta peticin viaja usando una
conexin de red usando el protocolo HTTP y llega hasta un servidor web que se
encarga de buscar entre su sistema de archivos la solicitud y entrega la respuesta
correspondiente, una vez entregada la solicitud, se rompe el proceso.
Tomado de http://blog.norihost.com/
Tener claro para que necesitas registrar un hosting (Para mostrar un blog
personal, para publicar la imagen de una empresa y sus productos o para
manejar un nicho de mercado).
Tener en cuenta el tamao y el uso que queramos darle a nuestra pgina web.
37
38
2.10.1. Clase de servidores Web: Existen varias clases de servidores Web, los que son
gratuitos, y los de costo (compartidos, revendedor, virtuales, dedicados y de
colocacin) (SuperHosting, 2015)
Gratuitos: son los que ofrecen servicio de alojamiento sin ningn costo o
privacidad pero que se sostiene a partir de la publicidad contratada por
terceros para que se ofrece en las pginas alojadas, es muy limitado en
espacio, trfico y calidad del servicio.
Compartido: Es un servicio econmico que permite alojar clientes de varios
sitios diferentes, su rendimiento es bueno para pginas sencillas de pequeas
y medianas empresas.
Revendedor: Espacio usado por grandes usuarios que venden este servicio a
pequeos usuarios.
Virtuales: Usado por empresas de diseo y programacin web por el control
de un computador no compartido mediante el uso de una mquina virtual.
Dedicados: Servicio en el cual un cliente compra o alquila toda la mquina y
as obtiene el control total y su administracin mediante un webmaster que
vigile el buen funcionamiento; su costo es considerablemente alto.
Colocacin: Alquiler o venta de un espacio fsico en un centro de datos, solo
se le suministra la corriente elctrica y la conexin a internet, lo dems lo pone
el cliente.
2.10.2. Diferencia entre servidores gratuitos y los que tienen costo: Los servidores
Web gratuitos son los que ofrecen servicio de alojamiento sin ningn costo pero
que se sostiene a partir de la publicidad que se ofrece en las pginas alojadas,
mientras que los Servidores Web con costo ofrecen mayores niveles de seguridad,
mayores utilidades, mayor capacidad de memoria, mayor amplitud de almacenaje
y soporte.
39
2.13. DOMINIO:
El dominio es el nombre alfanumrico que se le dar a la pgina, (es aconsejable
que el nombre que se escoja sea de fcil recordacin y que tenga alguna relacin
con la actividad o sector econmico de la empresa), adems de la identificacin o
direccin del equipo que est conectado a internet (Web-Gdl.com, 2014).
El Sistema de nombres de dominio o DNS sirve para encontrar una pgina
mediante trminos fciles (http://elcorazon.com) de identificar pues en caso
contrario nos tocara introducir una direccin IP muy larga y complicada para ser
memorizada como (http://209.85.195.104), que en algunos casos son utilizados
por varios dominios.
Figura 9: Partes del dominio
Investigaciones de vanguardia.
41
Listas de correo
cdigo, hay varias herramientas que ofrecen este servicio en internet en forma
gratuita (las gratuitas son muy limitadas) en tal caso se podra optar por
opciones con algn costo que ofrecen ms variedad (Hipertextual, 2013). Se
mencionan algunas como:
Mockflow: Herramienta que permite crear borradores de pginas web hacer
un prototipo en varias plataformas como Android, iPhone, WordPress, Joomla,
es fcil de manejar con elementos que arrastran y pegan de acuerdo con el
diseo de pgina conveniente.
GuideGuide: Es una extensin de Photoshop, es una herramienta que facilita
el diseo web de una manera fcil e intuitiva.
Lyervault: Herramienta para la gestin de un proyecto de manera colaborativa
ya que guarda y sincroniza cualquier cambio que se haga desde cualquier
dispositivo.
Invision: Herramienta que convierte los diseos en prototipos interactivos y
permite el trabajo colaborativo con el que se puede visualizar el proyecto antes
de comenzar con el desarrollo.
Proto.io: Es una plataforma de creacin de prototipos de aplicaciones en
dispositivos mviles de fcil manejo con solo arrastrar y soltar y no requiere de
codificacin.
Sublime text: Editor de texto y de cdigo fuente multiplataforma, escrito en C+
+ y Python para os plugins, fue creado para facilitar la programacin con una
interfaz oscura y una amplia gama de colores para la sintaxis.
Conocimientos de Lenguaje de programacin HTML (o Leguaje de etiquetas)
HTML es un lenguaje en donde se crean estructuras de documentos
escribiendo mediante cdigo, lo que se quiere que se muestre en pantalla y se
emplea para desarrollar pginas web. Se compone de etiquetas que permiten
al navegador interpretarla y entregarlas de manera amigable al usuario
(Alvarez, 2012).
43
44
45
46
47
3.
3.1.
METODOLOGA
TIPO DE INVESTIGACIN
MTODO:
ETAPAS DE LA INVESTIGACIN.
49
4. RESULTADOS
Como resultado del trabajo se presenta la siguiente gua de buenas prcticas para
el desarrollo de aplicaciones web seguras, orientada a la formacin de
programadores, la cual ser utilizada por los estudiantes de la media tcnica en
desarrollo de software de las instituciones educativas de la ciudad de Medelln.
4.1 GUA DE BUENAS PRCTICAS
APLICACIONES WEB SEGURAS
PARA LA CONSTRUCCIN DE
herramienta que se ejecuta en internet y por tanto todos los datos archivos, o
historial de navegacin, quedan guardados en la web. Generalmente son
accedidas directamente (online) y no necesitan instalarse en el computador para
realizar su trabajo, un ejemplo de ello son Yahoo, Gmail o Microsoft Outlook, que
son programas que guardan la informacin en la nube y pueden ser accedidos
desde cualquier computador o dispositivo mvil en cualquier parte del mundo
(Ecured, 2016).
Las aplicaciones web nos ofrecen muchas ventajas como su gratuidad o sea que
se puede obtener una aplicacin que sirva para un fin especfico de manera
gratuita y no necesita descargarse en el computador para poder ejecutarla.
Otras de sus bondades es la accesibilidad ya que como su informacin queda
guardada en la nube, se puede ingresar a ella en cualquier momento y lugar,
igualmente se puede trabajar en ellas de manera simultnea entre varios usuarios.
4.3.
El auge que han tenido en los ltimos aos las TIC (Tecnologas de la Informacin
y la Comunicacin) ha hecho que no solamente las empresas se beneficien de
ellas por la necesidad en sus transacciones casi que inmediatas y la urgencia en
las comunicaciones giles y efectivas, sino que ha ingresado a los hogares
obligando a las personas a hacer uso de ellas no solamente utilizando la parte
transaccional sino utilizndolas como mtodo de investigacin y hasta de diversin
y esparcimiento.
Es as como cada da se inventan nuevos plataformas, sistemas operativos,
programas, aplicaciones etc. que son el resultado de grandes investigaciones que
permiten suplir en gran parte las necesidades de los usuarios y que hacen al
mundo entero partcipe del uso de las tecnologas.
Las aplicaciones web son programas informticos que se realizan a travs de un
computador y que son accedidas por la web por medio de una red como internet o
intranet o sea que no necesitan ser descargadas y se puede acceder a ellas desde
cualquier lugar y en mltiples plataformas (Martnez, sf).
Existen muchsimas metodologas para el desarrollo de aplicaciones web, la
variedad de estas metodologas depende de los requerimientos. Igualmente
existen tcnicas de modelado conceptual tradicional, mtodos de diseo
51
Etapa de anlisis
Etapa de diseo
Etapa de codificacin,
Etapa de Pruebas
Etapa de instalacin
52
contraseas impropias.
Medidas insuficientes de proteccin en las redes.
de
procedimientos,
54
Actualizaciones peridicas.
Monitoreo constantes e improvisados en hardware y software.
Usar tecnologas protectoras (Antivirus, Firewall, antispyware, llaves de
proteccin de software, eliminador de huellas de internet, monitoreador de
puertos, etc.)
Escoger un buen hosting con costo porque ofrecen mayor seguridad, soporte,
capacidad, garantas, rendimiento velocidad etc.
56
4.3.3. Etapa de diseo: Propuesta firmada como aceptada, adelanto en dinero, material,
esquemas de diseo o planos del programador, es la manifestacin de la
estructura de la aplicacin.
En esta etapa se elaboran los modelos de interaccin con el usuario, en donde se
expone la solucin a las necesidades expuestas del cliente. En esta etapa se
define que la aplicacin sea comprensible, fcil de usar, clara, accesible, amigable
y que el usuario finalmente logre los objetivos por el cul fue creada la aplicacin;
es la parte primordial en donde se materializan y plasman, la creacin de la
aplicacin web. (Arencibia Cobas, y otros, 2012)
Pasos a seguir
Asegurar la usabilidad, cerciorndose que el usuario obtenga el mnimo de
errores cometidos durante la realizacin de una tarea.
Elaboracin del esquema conceptual: objetos de dominio, relaciones e
interacciones (clases, relaciones y subsistemas).
Elaboracin de diagramas de flujo de cada proceso.
Asegurar la accesibilidad, garantizando el mnimo de posibilidades de fracaso
en el acceso, ofreciendo entre otros el ancho de banda ptimo para la
conexin.
Construir una interfaz
armnicamente creados.
amigable
grata
visualmente,
con
espacios
Asegurar que el diseo debe estar evaluado constantemente por usuarios con
el fin de corregir errores en la marcha.
Determinar un balance entre lo que puede ofrecer el cliente y lo que quiere el
usuario.
57
58
59
60
Cmo prevenirlos.
9 Ibid, Pag. 7
61
62
Forma de prevenirlos;
10 Ibid, pag. 8
63
64
Forma de prevenirlos
Separar los datos no confiables basados en HTML del contenido activo del
navegador, para ello OWASP ofrece algunos de trucos o cheat Sheets
para aplicar las tcnicas en las rutinas de programacin de una aplicacin
WEB. En la siguiente pgina encontraremos las tcnicas de prevencin:
(Ver
la
Gua
de
buenas
prcticas
disponible
en
liliseguridadinformtica.webnode.es
Etapa
de
codificacin/
Vulnerabilidades/ A3-Secuencia de comandos en sitios cruzados XSS) .
11 Ibid, pag. 9
65
66
12 Ibid, pag 10
67
13 Ibid, pag 11
68
69
Realice pruebas de proxies con un rol privilegiado y luego con un rol menos
privilegiado.
Como prevenirlos:
El acceso debe ser restringido y negar el acceso por defecto con permisos
especfico a cada funcionalidad.
72
En esta pgina se ofrece una gua con la que se asegura que el usuario
autenticado tiene los privilegios adecuados para acceder a los recursos de
acuerdo con el rol correspondiente. (Ver la Gua de buenas prcticas
disponible en liliseguridadinformtica.webnode.es Etapa de codificacin/
Vulnerabilidades/ A-7 Ausencia de control de acceso a las funciones).
16 Ibid, pag. 14
73
Como prevenirlos:
74
en
liliseguridadinformtica.webnode.es
Etapa
de
codificacin/
Vulnerabilidades/ A-8 Falsificacin de peticiones en sitios cruzados (CSRF).
17 Ibid Pag. 15
75
Como prevenirlos:
Como prevenirlos:
78
79
4.4.
80
en liliseguridadinformtica.webnode.es
Lista de preguntas frecuentes con sus respuestas (en Ingls), (Ver la Gua de
buenas prcticas disponible en liliseguridadinformtica.webnode.es Otros).
OWASP Top 10-213 Los diez riesgos o vulnerabilidades ms crticas en
Aplicaciones Web, Es un documento en donde se relacionan los riesgos y
vulnerabilidades ms crticas de las aplicaciones Web, explicando que son,
como prevenirlas, ejemplos y referencias bibliogrficas para documentarse.
(Ver
la
Gua
de
buenas
prcticas
disponible
en
liliseguridadinformtica.webnode.es Otros).
4.5.
81
4.5.2.
4.6.
84
85
Lista de directorios
html desde afuera proteccin CSRF
Cdigo fuente divulgacin
Credenciales de usuario se envan en texto claro
Cookie de sesin sin httponly pabelln conjunto
Enlaces rotos
86
atacante con acceso local podra obtener la contrasea sin cifrar de la cach del
navegador.
Esta vulnerabilidad afecta a /chat/operator/login.php.
Descubierto por: Crawler.
Detalles de ataque
Tipo de contrasea de entrada llamado contrasea del formulario denominado
smallLogin con la accin /chat/operator/login.php ha permitido autocompletado.
Cabeceras HTTP Ver
Peticin
GET /chat/operator/login.php HTTP / 1.1
Pragma: no-cache
Referer: http://www.expresopalmira.com.co/chat/operator/index.php
Acunetix-Aspecto: habilitado
Acunetix-Aspecto-Contrasea: 082119f75623eb7abd7bf357698ff66c
Acunetix-Aspecto-Consultas: filelist; aspectalerts
Cookie: PHPSESSID = bf16m8s0qvqk0oe8epd5keh4v2; WEBIM_UserID =
1447379402.425132558182; webim_locale = sp
Anfitrin: www.expresopalmira.com.co
Conexin: Keep-alive
Accept-Encoding: gzip, desinfla
User-Agent: Mozilla / 5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64;
Trident / 5.0)
Aceptar: */*
Respuesta
HTTP / 1.1 200 OK
X-Powered-By: PHP / 4.5.42
Expira: Lun, 26 de julio 1997 05:00:00 GMT
Cache-Control: no-store, no-cache, que hay que revalidar
Pragma: no-cache
Content-Type: text / html; charset = UTF-8
Content-Length: 3137
Vary: Accept-Encoding
Fecha: viernes, 13 de noviembre 2015 01:50:14 GMT
Accept-Ranges: bytes
Servidor: LiteSpeed
Estricto-Transporte-Security: max-age = 31536000
Connection: close
Ver respuesta HTML
Lanzar el ataque con alerta de HTTP Editor Retest (s) Tomar nota de esta alerta
como un falso positivo
El impacto de esta vulnerabilidad
Posible divulgacin de informacin sensible
87
Content-Length: 3137
Vary: Accept-Encoding
Fecha: viernes, 13 de noviembre 2015 01:50:14 GMT
Accept-Ranges: bytes
Servidor: LiteSpeed
Estricto-Transporte-Security: max-age = 31536000
Connection: close
Ver respuesta HTML
Lanzar el ataque con alerta de HTTP Editor Retest (s) Tomar nota de esta alerta
como un falso positivo
El impacto de esta vulnerabilidad
Posible divulgacin de informacin sensible
Cmo corregir esta vulnerabilidad
El autocompletado contrasea debe ser desactivado en aplicaciones sensibles.
Para desactivar la funcin de autocompletar, usted puede usar un cdigo similar al
siguiente:
<INPUT TYPE = Autocompletar "contrasea" = "off">
89
5.
CONCLUSIONES Y RECOMENDACIONES
90
6.
BIBLIOGRAFA
92
Culturacion. (sf). Cmo escoger un servidor para alojar mi sitio web? Obtenido de
http://culturacion.com/como-escoger-un-servidor-para-alojar-mi-sitio-web/
Diz, C. C. (sf). OWASP, Desarrollo Seguro Principios y Buenas Practicas.
Obtenido de
https://www.owasp.org/images/9/93/Desarrollo_Seguro_Principios_y_Buena
s_Pr%C3%A1cticas..pdf
Digital, G. (febrero de 2009). Gobierno de Costa Rica. Obtenido de Guia para el
desarrollo de sitios Web 2.0:
http://www.academia.edu/5852253/Gobierno_de_Gu
%C3%ADa_para_el_Desarrollo_de_Sitios_Web_2.0_SI_IT_TI_IO_OS_S_
W_WE_EB_B_2_2._.0_0_Tabla_de_Contenidos
Ecured. (2016). Aplicacin Web. Obtenido de http://www.ecured.cu/Aplicaci
%C3%B3n_web
ESET LATINOAMRICA. (2014). Tendencias 2014: El desafo de la privacidad en
Internet. Obtenido de http://www.esetla.com/pdf/tendencias_2014_el_desafio_de_la_privacidad_en_internet.pdf
FEAPS, C. (octubre de 2007). Calidad FEAPS. Obtenido de Buenas Prcticas
FEAPS:
http://www.feapsmurcia.org/feaps/FeapsDocumentos.NSF/08db27d07184be
50c125746400284778/84163cd187586d72c1256ffd003e699f/
$FILE/queesBBPP.pdf
Gonzalez, E. (sf). HTML Un lenguaje de programacin? Ejemplo concepto
lenguaje de etiquetas vs programacin. Obtenido de
http://aprenderaprogramar.com/index.php?
option=com_content&view=article&id=439:html-iun-lenguaje-deprogramacion-ejemplo-concepto-lenguaje-de-etiquetas-vs-programacioncu00705b&catid=69:tutorial-basico-programador-web-html-desdecero&Itemid=192
Hipertextual. (2013). Los 10 mejores editores de texto para desarrolladores.
Obtenido de http://hipertextual.com/archivo/2013/10/mejores-editores-detexto-para-desarrolladores
Instituto Mar de Cortes. (sf).
http://www.institutomardecortes.edu.mx/pubs/metodologia_web.pdf.
94
Obtenido de
http://www.institutomardecortes.edu.mx/pubs/metodologia_web.pdf
Lazalde, A. (2012). Criptografa: herramientas esenciales para una informtica
privada y annima. Obtenido de http://hipertextual.com/2012/11/criptografiaherramientas
Lpez, B. (abril de 2015). Cmo elegir un buen hosting web Lo que necesitas
saber. Obtenido de http://www.hostingatope.com/como-elegir-buen-hostingweb/
Martnez, J. M. (sf). Metodologas para el desarrollo de aplicaciones Web.
Obtenido de http://es.slideshare.net/JosafatMtz/metodologias-para-eldesarrollo-de-aplicacones-web?next_slideshow=1
Microsoft - Developer Network. (2007). Procedimientos de seguridad bsicos para
aplicaciones Web. Obtenido de Procedimientos de seguridad bsicos para
aplicaciones Web
Microsoft TechNet. (sf). Respuesta a incidentes de seguridad de TI. Obtenido de
https://technet.microsoft.com/es-es/library/cc700825.aspx
MINTIC. (2012). Encuesta de consumo digital en 2012. Obtenido de
http://www.mintic.gov.co/portal/604/w3-article-1629.html
Nashelil. (2014). Los mejores editores de imgenes en linea. Obtenido de
http://hipertextual.com/archivo/2014/11/mejores-editores-imagenes-linea/
OWASP. (2013). Los diez riesgos ms crticos en aplicaciones Web. Obtenido de
https://www.owasp.org/images/5/5f/OWASP_Top_10_-_2013_Final_-_Espa
%C3%B1ol.pdf
OWASP. (11 de Noviembre de 2014). SOBRE OWASP. Obtenido de
https://www.owasp.org/index.php/Sobre_OWASP
OWASP. (sf). Obtenido de https://www.owasp.org/
Pereyra. (2008). Metodologia para Creacin de Aplicaciones Web. Obtenido de
http://es.slideshare.net/Yaraher/metodologia-para-creacin-de-aplicacionesweb
Seguridad Informtica. (2013). Objetivos de la seguridad informtica. Obtenido de
https://infosegur.wordpress.com/tag/no-repudio/
95
Silva, D., & Mercerat, B. (sf). Construyendo aplicaciones web con una metodologa
de diseo. Obtenido de http://ldc.usb.ve/~abianc/electivas/OOHDM.pdf
SuperHosting. (2015). Que es un hosting o alojamiento web. Obtenido de
http://www.superhosting.cl/faqs/que-es-un-hosting-o-alojamiento-web.html
Symantec Norton Secured. (2014). Informe sobre las amenazas pa la seguridad
de los sitios web (Edicin 2014). Obtenido de
https://www.certisur.com/sites/default/files/docs/symantec-wstr-2014cala.pdf
Tapiero, L. M. (2013). PROTOTIPO DE UNA APLICACIN WEB PARA LA
GESTIN EN EL PROCESO DE TRABAJOS DE GRADO DE LA
FACULTAD DE INGENIERA DE LA UNIVERSIDAD EAN. Obtenido de
http://repository.ean.edu.co/bitstream/handle/10882/3916/GaravitoLeidy201
3.pdf?sequence=5
UNAM-CERT Coordinacion de seguridad de la Informacin. (octubre de 2013).
Mejores prcticas de seguridad en aplicaciones web. Obtenido de
http://www.seguridad.unam.mx/noticia/?noti=1405
UNAM-CERT. (sf). Vulnerabilidades en windows HTTP Services que posra
permitir la ejecucin remota de cdigo. Obtenido de
http://www.seguridad.unam.mx/vulnerabilidadesDB/?vulne=5714
Universidad de Valencia. (sf). Estudio de la criptografa. Obtenido de
http://www.uv.es/sto/cursos/seguridad.java/html/sjava-3.html
Web-Gdl.com. (2014). Qu es un dominio? Obtenido de http://webgdl.com/servicios/dominios/que-es-un-dominio/
Werner, J. L. (2010). OBSERVATORIO TECNOLGICO - GOBIERNO DE
ESPAA. Obtenido de Consejos para minimizar los riesgos en la
navegacin por Internet.:
http://recursostic.educacion.es/observatorio/web/en/listado-monograficos?
start=4
96
7.
ANEXOS
97
OBSERVACION
ES
SI
NO
SI
OBSERVACION
NO ES
98
SI
OBSERVACION
NO ES
99
SI
OBSERVACION
NO ES
SI
OBSERVACION
NO ES
ETAPA DE INSTALACIN
PREGUNTA
SI
Tiene listo el programa para entregarlo
instalado y funcionando?
Tiene el documento listo para la firma de
recibido a satisfaccin?
ETAPA DE MANTENIMIENTO
PREGUNTA
Tiene estipulada las condiciones para el
mantenimiento de la aplicacin?
Tiene un documento firmado en donde conste
el tiempo de actualizaciones?
100
SI
OBSERVACION
NO ES
OBSERVACION
NO ES
101
102