Annex de seguretat al contracte de desenvolupament

De Seguretat
Dreceres ràpides: navegació, cerca
DownloadIcon.png Download file
Fitxer / Paquet: Contracte de desenvolupament segur
Status: Stable
Version: 1.4
Last date: 11/07/2011
User: Francesc Rovirosa
File: Media:Annex_contracte_seguretat_desenvolupaments.pdf‎

Introducció:

Aquest annex està pensat per ajudar als desenvolupadors de software i al seus clients a l'hora de negociar i capturar termes importants contractuals i condicions relacionades amb la seguretat dels programes desenvolupats o adquirits.

Aquest annex serà afegit als contractes de desenvolupament de software. Els termes seran negociables, en la idea que caldrà que siguin discutits entre client i desenvolupadors.

Annex al contracte:

Aquest annex estableix el compromís d'acord entre el Client (d'ara en endavant Universitat Oberta de Catalunya UOC) i el Desenvolupador (d'ara en endavant PROVEIDOR123 Software Inc. PROVEIDOR123). UOC i PROVEIDOR123 acorden per aquest contracte vinculant maximitzar la seguretat del software de l'aplicació (d'ara en endavant APP123) d'acord amb els següents termes.

Filosofia:

Aquest annex està destinat a clarificar els drets i obligacions relacionades amb la seguretat de les relacions comercials de totes les parts involucrades en el desenvolupament de APP123. Al més alt nivell, les parts acorden que:

  • Les decisions de seguretat estaran basades en el risc: Les decisions de seguretat es prendran conjuntament entre la UOC i PROVEIDOR123 basant-se en una alta comprensió del risc que pot tenir APP123.
  • Les activitats dedicades a la seguretat estaran balancejades: Els esforços dedicats a la seguretat de APP123 estaran fortament distribuïts al llarg de tot el cicle de vida del desenvolupament.
  • S'integraran les activitats dedicades a la seguretat: Totes les activitats i la documentació generada aquí caldrà que s'integri en el cicle de vida de desenvolupament del software de PROVEIDOR123 i no podran en cap cas esser separades de la resta del projecte. Res en aquest annex implica qualsevol desenvolupament especial de software.
  • Podran aparèixer vulnerabilitats: Aquest annex assumeix que tot software té errors i que alguns d'aquests poden crear incidents de seguretat. Tant UOC com PROVEIDOR123 s'esforçaran en identificar les vulnerabilitats amb la major celeritat possible durant el cicle de vida de APP123.
  • La seguretat de la informació serà completament revelada: Tota informació relacionada amb la seguretat de la informació de APP123, serà compartida entre la UOC i PROVEIDOR123 de forma immediata i completa. El proveïdor especificarà quins aspectes de la seguretat relacionada amb el desenvolupament pensa no complir.
  • Només es requereix aquella documentació que sigui útil en aspectes de seguretat: La documentació de seguretat no han de ser extensa en excés en ordre a clarificar, descriure el disseny de la seguretat, el risc, l'anàlisi i els incidents.

Activitats del cicle de vida de APP123:

  • Comprensió del risc: La UOC i PROVEIDOR123 acorden treballar de manera conjunta per comprendre i documentar els riscs que poden afectar a APP123. Aquest esforç s'enfocarà a identificar possibles vulnerabilitats que afectin als actius i les funcionalitats de APP123. Caldrà considerar cadascun dels punts, funcionalitats i casos d'ús definits en la part dels requeriments de APP123.
  • Requeriments: Basant-se en el risc, la UOC i PROVEIDOR123 acorden treballar de manera conjunta per definir uns requeriments de seguretat com a part de les especificacions del software a desenvolupar. Cadascun dels punts enumerats en la secció de requeriments d'aquest annex caldrà ser discutit i avaluat conjuntament per la UOC i PROVEIDOR123. Aquests requeriments hauran de ser satisfets en la seva totalitat per APP123.
  • Disseny: PROVEIDOR123 acorda proporcionar una documentació que expliqui de forma clara el disseny que s'implementa per assolir els requeriments de seguretat. Aquest disseny explicarà de forma clara si el suport als requeriments de seguretat provenen del software desenvolupat a APP123, de software de terceres parts o de la plataforma en la que s'implementa el desenvolupament o d'una combinació entre ells.
  • Implementació: PROVEIDOR123 acorda proporcionar i seguir un conjunt de bones pràctiques de programació. Aquestes guies indicaran com s'ha de formatar el codi, com s'ha d'estructurar i comentar. Tanmateix el codi podrà ser revisat per alguna persona responsable de l'execució del projecte de la UOC que validarà els requeriments de seguretat i les guies de programació abans de que el codi de APP123 sigui considerat preparat per test a les instal·lacions de la UOC.
  • Seguretat de l'anàlisi i proves: PROVEIDOR123 acorda proporcionar i seguir un pla de proves de seguretat el qual definirà la aproximació que s'hagi fet a cadascun dels requeriments de seguretat. El nivell del rigor d'aquesta activitat ha d'estar considerada i detallada en el pla del projecte. PROVEIDOR123 executarà el pla de proves de seguretat i proporcionarà els resultats a la UOC.
  • Desplegament segur: PROVEIDOR123 acorda proporcionar les guies per configurar APP123 de manera segura, ben documentades, de tal manera que cobreixin tots els requeriments especificat en el pla de projecte. PROVEIDOR123 inclourà en aquesta guia una completa descripció de les dependencies de la plataforma suportada, incloent-hi el sistema operatiu, el servidor web i el servidor d'aplicacions i com aquests hauran de ser configurats per complir amb els requeriments de seguretat. PROVEIDOR123 acorda que la configuració per defecte de APP123 que lliurarà a la UOC serà segura.

Àrees de seguretat

PROVEIDOR123 acorda que les següents àrees seran considerades durant la comprensió del risc i les activitats de definició dels requeriments de APP123.

  • Validació i codificació: El conjunt de requeriments que especifiquen les regles per canonicalitzar, validar i codificar cada entrada de APP123, tant des dels usuaris, sistema de fitxers, directoris o sistemes externs. La regla per defecte serà que totes les entrades són invàlides a menys que compleixin una determinada especificació que ho permeti. Addicionalment, els requeriments de APP123 especificaran l'acció a emprendre quan es rebi una entrada no vàlida. Específicament, APP123 no serà susceptible a injecció, desbordament (overflow), manipulació (tampering) i d'altres atacs de corrupció d'entada de dades.
  • Autenticació i gestió de la sessió: Els requeriments de APP123 especificaran com les credencials d'autenticació i els identificadors de sessió es protegeixen en tot el seu cicle de vida. S'inclouran els requeriments referits a l'encapçalament d'aquest paràgraf de totes les funcions relacionades, incloent-hi la pèrdua de contrasenya, els canvis de contrasenya, els recordatoris de contrasenya, la desconnexió i la possibilitat de l'ús de múltiples connexions simultànies (logins).
  • Control d'accés: Els requeriments de APP123 inclouran una descripció detallada de tots els rols i perfils usats (grups, privilegis, autoritzacions) en l'aplicació. Els requeriments hauran també d'indicar tot el conjunt d'actius i funcionalitats proporcionades per APP123. Els requeriments hauran d'explicar completa i exactament els drets d'accés a cadascun dels actius i funcions de l'aplicació per cadascun dels rols. Es suggereix construir una matriu de control per explicar el format d'aquestes regles.
  • Manipulació i gestió d'errors: Els requeriments de APP123 caldrà que detallin com es gestionen els errors de l'aplicació durant el procés de funcionament de la mateixa. S'entén que en algunes funcionalitats es tindrà més cura en el tractament d'errors, sobre tot les que tinguin més incidència en l'usuari final, mentre que d'altres pot ser que acabin en la finalització del procés immediatament.
  • Logging: Dins dels requeriments caldrà que s'especifiquin quins esdeveniments són rellevants per la seguretat i les connexions de l'aplicació, com ara els atacs detectats, els intents fallits d'accés i els intents de guanyar privilegis. Els requeriments també especificaran quin tipus d'informació es guarda para cadascun dels esdeveniments generats, incloent-hi la data, la descripció de l'esdeveniment, detalls de l'aplicació i d'altra informació forense d'utilitat.
  • Connexió a sistemes externs: Els requeriments especificaran com es tracta la autenticació cap a sistemes externs a l'aplicació APP123, com ara les bases de dades, directoris i serveis web. Totes les credencials necessàries per a la comunicació amb aquests sistemes que s'emmagatzemin en fitxers de configuració ho faran de forma protegida.
  • Encriptació: Els requeriments de APP123 especificaran quines dades han de ser xifrades, com s'han xifrat i com es manipularan els certificats y d'altres credencials. Les especificacions es referiran sempre a un algorisme estàndard d'alguna biblioteca abastament provada i utilitzada.
  • Disponibilitat: Els requeriments hauran d'especificar com es protegirà APP123 dels atacs de denegació de servei. Englobant els atacs sobre el bloqueig d'autenticació, esgotament de les connexions i en general d'altres atacs d'exhauriment de recursos.

Personal i organització.

  • Arquitecte de seguretat: PROVEIDOR123 assignarà responsabilitats en matèria de seguretat a un recurs, que passarà a ser l'arquitecte de seguretat del projecte. Aquest certificarà la seguretat de cada lliurament.
  • Formació en seguretat: PROVEIDOR123 serà responsable d'assegurar que tots els membres de l'equip de desenvolupament estan capacitats en les tècniques de desenvolupament segur.

Biblioteques, frameworks d'aplicació i productes.

  • Divulgació: PROVEIDOR123 farà públic el software de terceres parts usat en el desenvolupament de APP123, incloent-hi les llibreries, frameworks, components i d'altres productes, siguin comercials, lliures, en codi obert o en codi tancat.
  • Avaluació: PROVEIDOR123 realitzarà els esforços raonables per assegurar que tot el software de terceres parts usat en APP123, compleix els termes d'aquest annex. Si les llibreries tenen vulnerabilitats publicades en el moment de la signatura del contracte, PROVEIDOR123 es comprometrà a canviar-les per la versió que no presenti vulnerabilitats o per un altre producte que ofereixi majors garanties de seguretat sempre i quan sigui compatible amb el projecte.

Revisions de seguretat

  • Dret a la revisió: La UOC té dret a revisar el codi per descobrir fallades de seguretat. PROVEIDOR123 acorda proporcionar un suport raonable posteriorment a la data de lliurament i durant el període de garantia.
  • Cobertura de les revisions: Les revisions de seguretat inclouran tots els aspectes relacionats amb la distribució de APP123, incloent-hi el codi desenvolupat, els components, productes i la configuració del sistema.
  • Àmbit de la revisió: Com a mínim, la revisió abastarà tots els requeriments de seguretat i recerca de d'altres vulnerabilitats. L'examen pot incloure una combinació d'escanejos de vulnerabilitats, tests de penetració, anàlisi del codi font, revisions per terceres parts i revisió del codi.
  • Problemes de seguretat descoberts: Seran reportats tant per la UOC com PROVEIDOR123. Totes aquestes qüestions seran rastrejades i solucionades tal i com s'especifica en la secció Gestió dels Problemes de Seguretat d'aquest annex.

Gestió dels problemes de seguretat

  • Identificació: PROVEIDOR123 farà un seguiment de tots els problemes de seguretat descoberts durant tot el cicle de vida de APP123, disseny, execució, assajos, desplegament i garantia. El risc associat a cada problema de seguretat serà avaluat, documentat i informat a la UOC tan ràpid com sigui possible després del seu descobriment.
  • Protecció: PROVEIDOR123 protegirà adequadament la informació relativa a qüestions relacionades amb la seguretat i la documentació associada, per ajudar a que quedin exposades al mínim les possibles vulnerabilitats de APP123.

Fiabilitat

  • Fiabilitat: PROVEIDOR123 oferirà un "paquet de certificació" que constarà de tota la documentació de seguretat creada al llarg del procés de desenvolupament. Aquest paquet establirà que els requeriments de seguretat, disseny, implementació i els resultats de les proves van ser degudament complimentats i que totes les qüestions de seguretat es van resoldre adequadament.
  • Certificació: PROVEIDOR123 certificarà que APP123 compleix amb els requeriments de seguretat, que en el desenvolupament s'han realitzat totes les activitats relacionades amb la seguretat i que tots els problemes de seguretat identificats s'han documentat i resolt. Qualsevol excepció a la Certificació de APP123 estarà plenament documentat en el lliurament.
  • Lliure de codi maliciós: PROVEIDOR123 garanteix que APP123 no conté cap codi que no sigui compatible amb els requeriments de APP123 i debilita la seguretat de l'aplicació, inclosos els virus, cucs, bombes de temps, portes secretes, troians, ous de Pasqua i totes les demés formes conegudes de codi maliciós.

Acceptació de la seguretat i garantia

  • Acceptació: El software APP123 no es considerarà acceptat fins que el "Paquet de Certificació" estigui complet i totes les qüestions de seguretat s'hagin resolt.
  • Investigació dels problemes de seguretat: Després de l'acceptació, si es descobreixen problemes de seguretat o existeix una sospita raonable, PROVEIDOR123 ajudarà a la UOC a dur una investigació per determinar la naturalesa de la qüestió. Els fets es consideraran una novetat.
  • Qüestions de seguretat noves: PROVEIDOR123 i la UOC acorden dins l'àmbit d'aplicació, que hi haurà un esforç necessari per a resoldre els nous problemes de seguretat i negociaran de bona fe un acord per a realitzar les tasques necessàries per corregir-los.


Exemple de lliurament del Paquet de Certificació:

Aquest exemple està basat en un projecte fictici i per tant no suposa la existència del mateix. Qualsevol ressemblança amb qualsevol altre programari existent és pura coincidència.

Tipus de programari

Manteniment de les dades personals i bancàries de clients (MANTCLI). Evidentment aquí aniria una descripció lleugera del propòsit de l'aplicació que s'enten s'ha definit amb precisió i detall a l'anàlisi orgànic.

Comprensió del risc

El PROVEÏDOR i la UOC entenen que MANTCLI gestionarà dades de molt alt valor per la UOC:

  1. Dades de caràcter personal catalogades com de nivell ALT segons la LOPD.
  2. Dades bancàries regulades com a confidencials segons la LSSI
  3. Targetes de crèdit regulades a la definició PCI-DSS

El PROVEÏDOR i la UOC entenen que MANTCLI és una aplicació capaç de cridar l'atenció a usuaris malintencionats que puguin intentar robar les dades per el seu benefici personal i per tant acorden reforçar la seguretat de l'aplicació.

El PROVEÏDOR designa a la següent persona de l'equip de treball com a interlocutor i responsable d'assegurar les tasques de seguretat de l'aplicació: John Doe.

Requeriments

  1. Protecció del sistema d'accessos administratius a les dades
    • El sistema d'accessos a la interfície administrativa estarà desacoblat del programari principal, de tal manera que el compromís o les vulnerabilitats detectades en qualsevol d'ells no afecti a l'altre.
    • El sistema no accepta l'ús de contrasenyes febles. Les condicions de generació i ús d'aquestes contrasenyes s'han especificat i aprovat a l'anàlisi.
  2. Protecció de les dades personals
    • El sistema aplica la protecció habitual a la UOC de la DB de dades personals. Veure document d'anàlisi funcional.
    • El sistema no emmagatzema en els registres de log cap dada addicional que no ha estat considerada com necessària per revisar la traçabilitat de les accions i les transaccions. Totes aquestes dades han estat definides a l'anàlisi funcional.
    • El sistema esborra tots els fitxers temporals que s'han creat durant el funcionament normal de l'aplicació.
    • El sistema s'ha provat en l'entorn de desenvolupament i test amb dades fictícies.
    • S'ha definit i especificat una sèrie de perfils d'administració que són els únics que poden accedir a les dades personals. S'han definit perfils especials d'administració per accedir a les dades catalogades com de nivell ALT. Veure anàlisi orgànic.
    • El sistema ha definit un sistema de copies de seguretat de les dades personals de la DB i tots els fitxers emmagatzemats.
    • El sistema ha comunicat als Serveis Jurídics la creació del nou fitxer de dades personals, per a la seva comunicació a l'Agència (Estatal i Autonòmica) de Protecció de Dades.
  3. Protecció de les dades bancàries
    • El sistema ha definit un sistema de xifrat per l'emmagatzemament de les dades bancàries i les targetes de crèdit. Veure anàlisi funcional.
    • El sistema ha definit un mecanisme de custòdia de les claus de xifrat. Veure anàlisi funcional.
    • El sistema ha definit una sèrie de perfils d'administració que són els únics que poden accedir a les dades de les targetes de crèdit. S'han definit perfils de seguretat per la visualització i la modificació de les dades bancàries i les targetes de crèdit. Veure l'anàlisi orgànic.
    • El sistema ha definit un sistema de copies de seguretat de les dades bancàries i de les targetes de crèdit, de la DB i tots els fitxers emmagatzemats.

Disseny de les solucions de seguretat

  1. Relatives a la validació i codificació (aquí estan posades una sèrie de característiques generals que només tenen sentit tant en quant siguin parts funcionals de l'aplicació. Es a dir, si l'aplicació NO permet fer un upload de fitxers no té sentit incloure un sistema de validació antivirus).
    • MANTCLI valida totes les dades introduïdes per els usuaris de l'aplicació, comprovant que totes pertanyen al tipus de dades esperats per paràmetre. S'ha comprovat que l'aplicació MANTCLI rebutja aquelles peticions que no compleixen amb els requeriments especificats en la fase d'anàlisi.
    • MANTCLI valida la longitud de les cadenes de dades que li arriben per paràmetre. S'ha comprovat que MANTCLI rebutja totes les peticions que no compleixen amb els requeriments especificats en la fase d'anàlisi.
    • MANTCLI utilitza la codificació (UTF-8, ISO-8859-1, UTF-16, etc .... que correspongui) i valida que totes les dades rebudes i emmagatzemades estan codificades en la codificació que s'ha establert en la fase d'anàlisi.
    • MANTCLI utilitza un sistema d'aplanament dels caràcters basat en la codificació (HTML4 Entity References, pex ...) i evita la inclusió de codi HTML.
    • MANTCLI valida (o elimina) qualsevol porció de codi ECMA Script, VBSCript, o qualsevol forma d'scripting vàlida en HTML4/5 de les entrades d'usuari i els paràmetres esperats per l'aplicació.
    • MANTCLI utilitza un sistema de filtre de protecció d'antivirus en general per evitar la inclusió de fitxers infectats en el sistema de fitxers de la UOC.
  2. Relatives a l'autenticació i gestió de la sessió
    • MANTCLI utilitza un sistema d'autenticació basat en l'enviament per una canal segur (SSL / TLS) de dos paràmetres (o tres o els que siguin) en la forma lògica d'usuari i contrasenya.
    • MANTCLI no permet que les contrasenyes tinguin una longitud menor de 8 caràcters (per exemple) i han de complir les regles especificades en el disseny funcional de l'aplicació.
    • MANTCLI utilitza un sistema de ticketing de credencials i gestió de la sessió basat en Cookies (per exemple). Dins l'anàlisi funcional s'ha definit la configuració del TTL de la sessió.
    • MANTCLI utilitza un sistema de securització de la generació del token de sessió basat en l'algorisme conegut i aprovat (MD5, SHA-225, SHA-256, Tiger, Whirlpool, .... etc el que sigui). S'ha comprovat la no repetibilitat i predictibilitat del token de sessió amb un factor de 1032 (o el que sigui) d'acord amb l'especificat a l'anàlisi funcional.
  3. Relatives al control d'accés
    • MANTCLI envia per un canal segur SSL / TLS totes aquelles peticions que contenen dades qualificades com de nivell (alt, mig, baix) d'acord amb l'especificat a l'anàlisi funcional.
    • MANTCLI utilitza un sistema de perfils basat en (ACL, tuples, grups, herència, etc ...) tal com queda descrit a l'anàlisi funcional. El sistema de perfils és (estàtic, dinàmic) existint un usuari Super-Administrador (o no) amb unes credencials que queden sota la custòdia de UOC i que s'han canviat en el moment del lliurament de MANTCLI.
    • Dins el lliurament de l'aplicació s'ha fet entrega de la matriu on s'especifica les relacions entre Perfils / Grups – Serveis i funcionalitats que es poden executar en els mateixos. Per a més informació es pot descarregar el fitxer (X:\------\bla\bla\acl.doc, http://blabla.uoc.edu/-----/bla.html, o el que sigui).
    • MANTCLI guarda un registre dels accessos dels usuaris i dels administradors a la mateixa aplicació, Així com de les transaccions realitzades per aquests. El format del registre d'esdeveniments s'ha especificat en l'anàlisi funcional.
  4. Relatives a la manipulació i gestió d'errors
    • MANTCLI mostra pantalles genèriques d'error (o amb una codificació interna) i no revela en cap moment dades sensibles del sistema que puguin ser aprofitades per un atacant. El format d'aquestes i la codificació dels errors està definit a l'anàlisi funcional.
    • MANTCLI disposa d'un sistema genèric de captura d'errors i excepcions. S'ha comprovat que en cap cas es mostra informació rellevant en la propagació dels errors o de les excepcions. S'ha comprovat en que en el cas que es produeixin errors molt greus l'aplicació MANTCLI finalitza la seva execució.
    • MANTCLI registra els errors i les excepcions generades en els registres de log en el format acordat a l'anàlisi funcional.
  5. Relatives al registre d'esdeveniments (logging)
    • MANTCLI te definits quins són els esdeveniments rellevants a la seguretat de l'aplicació i les dades dins l'anàlisi funcional.
    • MANTCLI registra totes les transaccions fetes sobre la base de dades BDCLI. A l'anàlisi funcional s'han definit els requeriments i format dels registres de LOG que permeten assegurar el no repudi dels registres.
    • MANTCLI registra tots els intents d'atac a l'aplicació, els intents fallits d'accés i els intents d'escalada de privilegis. El format del registre de log s'ha definit a l'anàlisi funcional però s'assegura que sempre serà possible identificar almenys la IP d'origen de la petició que ha generat aquesta alerta i d'altra informació forense d'utilitat.
  6. Relatives a la connexió amb sistemes externs (bases de dades, serveis web, serveis SOA, directoris, etc ...)
    • MANTCLI utilitza un sistema d'autenticació basat en (usuari / contrasenya, certificats, etc ...) sobre un canal segur (o no segur) cap als següents sistemes externs: base de dades Oracle 10.x, MySQL 5.x, aplicació BLABLA, etc ... La manera i forma en que es realitza l'autenticació queda definida a l'anàlisi funcional.
    • MANTCLI gestiona l'emmagatzemament de les contrasenyes de connexió a sistemes externs de la següent forma (emmagatzemades en servidors de llicència, directoris LDAP, fitxers de configuració amb xifrat, etc ...). Les especificacions i el model de xifrat s'han definit a l'anàlisi funcional.
    • MANTCLI utilitza les següents llibreries de terceres parts per accedir a la connexió amb d'altres sistemes (només si s'escau): enumerat de les llibreries de codi, fabricant i la seva versió. En el moment del lliurament del codi a la UOC s'assegura que aquestes llibreries estan exemptes d'errors i no existeixen vulnerabilitats publicades de les mateixes.
  7. Relatives al xifrat de les dades (només si s'escau i les dades són considerades per llei de nivell alt o la tipologia de les mateixes ho necessari, vg. contrasenyes).
    • MANTCLI emmagatzema de forma xifrada les següents dades: enumerat de les dades.
    • MANTCLI utilitza el següent sistema de xifrat: descripció del sistema de xifrat de les dades, que pot ser diferent segons la tipologia de les mateixes, pex. per les contrasenyes és millor tenir només el hash de la mateixa, però per dades bancàries caldrà tenir algorismes de xifrat asimètric perquè no calgui intervenció de l'usuari. En qualsevol cas serà l'anàlisi funcional el que definirà quin és el nivell de xifrat, el tipus d'aquest i les dades a les que cal aplicar-ho. Preferiblement s'utilitzaran algorismes estàndard o llibreries de codi obert amplament provades i utilitzades.
    • MANTCLI emmagatzema els certificats (si s'escau) de la següent forma: es descriu el lloc i la manera que estan emmagatzemats. A més s'especifica qui o quines persones tenen accés al magatzem de certificats i quin o quins codis d'administració poden accedir als mateixos i que a més coneixen la contrasenya (si s'escau) dels certificats. Tot això està definit a l'anàlisi orgànic.
  8. Relatives a la disponibilitat de l'aplicació
    • MANTCLI disposa del següent sistema de protecció davant un possible atac de denegació de serveis (DOS o DDOS): aquí s'especificarà que es delega la confiança en un cert dispositiu de xarxa o que s'incorporen els següents mecanismes de protecció: blackholing (redireccionament a null de tot el tràfic adreçat via DNS a una IP) o sinkholing (ídem però redireccionant el tràfic per analitzar-lo), clean pipes (passar tot el tràfic per un centre de neteja via proxy que separi el tràfic bo del dolent). Tot això està definit (si s'escau) a l'anàlisi funcional.
    • MANTCLI disposa d'un sistema de protecció de trencament de contrasenyes, davant atacs de força bruta, seguint el següent sistema: bloqueig d'usuaris al cap d'un cert nombre d'intents, retard intencionat progressiu de la resposta, llistes negres de bloqueig d'adreces IP, CAPTCHA, etc ... El mecanisme s'ha definit a l'anàlisi funcional.
    • MANTCLI disposa d'un sistema de prevenció per timeout d'aquelles peticions que poden col·lapsar el sistema. MANTCLI disposa d'un sistema de fils d'execució que afegeixen un temps màxim per la resposta, de tal manera que una vegada exhaurit el temps màxim s'alliberen els recursos i la memòria i es retorna el control al sistema principal proporcionant (si cal) un missatge d'error. MANTCLI deixa un registre de log amb la descripció del problema per un posterior anàlisi forense. Tots aquests aspectes han estat descrits a l'anàlisi funcional.

Proves de seguretat i bitàcola

Sobre l'autenticació

  1. S'han fet proves d'introduir a ma contrasenyes curtes o febles que no compleixen els requeriments i s'ha comprovat que les proves de restricció per requeriments han funcionat correctament.
  2. S'ha comprovat que no es poden realitzar peticions d'autenticació si no provenen d'un canal segur.
  3. S'han realitzat una bateria de N peticions d'atac de força bruta al servei d'autenticació. S'ha comprovat que l'aplicació protegeix l'atac de força bruta però té una penalització en el rendiment i pateix d'un exhauriment dels recursos. S'han realitzat les següents modificacions al codi per mitigar aquest aspecte: ..........
  4. S'han realitzat proves de desconnexió per inactivitat i s'ha comprovat que les sessions i les credencials de l'aplicació queden expirades o invalidades. Si no fos així, es descriuran quins aspectes del codi s'han modificat.

Sobre l'autorització

Sobre la validació

.........

  1. Etc ... Seguirà així per cadascun dels aspectes relatats en el Disseny de les solucions de seguretat, amb concordança amb les Guies de Desenvolupament Segur.


Francesc Rovirosa 12:31, 11 juliol 2011 (CEST)