17/01/2019

blog (1)

Com protegir les teves aplicacions contra atacs cibernètics

Protegir les teves aplicacions de ciberatacs implica millorar els problemes de seguretat durant el cicle de vida del lliurament de l’aplicació construint sistemes ràpids, flexibles i segurs.

El desenvolupament d’un programari modern ha de contenir un codi que compleixi amb els requisits funcionals del client. Aquest codi ha de caracteritzar-se per la seva rapidesa i flexibilitat per a permetre l’evolució de les demandes IT, però sempre conservant l’estabilitat i fiabilitat.

D’aquesta manera, és necessari dissenyar una interfície fàcil d’utilitzar, optimitzar la base de dades i, sovint, configurar i mantenir un flux de lliurament. Però abans de res hem de tenir en compte la seguretat, ja que, no volem construir un sistema amb vulnerabilitats de seguretat.

Així, seguretat i rendiment són dos conceptes bàsics que tot desenvolupador hauria de tenir en ment a l’hora de dissenyar aplicacions. El problema que se solen trobar és que els requisits de seguretat acostumen a ser vagues i la proliferació d’amenaces s’estan incrementant, però identificar aquestes amenaces requereixen temps i diners.

Seguretat en el desenvolupament d’aplicacions web

A continuació assenyalarem les àrees comunes d’una aplicació web quant als riscos de seguretat que els desenvolupadors han de tenir en compte proporcionant una orientació sobre com s’hauria d’abordar cada risc.

Confiança

Abans de res és important no confiar en la integritat de la sol·licitud provinent del navegador de l’usuari i tampoc confiar que els serveis upstream han netejat les nostres dades.

La connexió entre el navegador de l’usuari i la nostra aplicació pot ser alterada i els serveis i magatzems de dades dels quals depenem també poden haver estat vulnerats.

En definitiva, és necessari identificar les vulnerabilitats i abordar les amenaces que vagin sorgint.

Rebuig d’entrada de formulari inesperat

Els formularis HTML semblen ser capaços de controlar l’entrada, però proporcionant o no el formulari, la nostra escala de confiança en la seguretat és pràcticament nul·la encara que la connexió estigui protegida per HTTPS.

L’usuari podria modificar el marcat molt fàcilment abans d’enviar-lo o usar una aplicació de línia de comandos per a enviar dades inesperades. És a dir, un usuari innocent podria estar enviant de forma involuntària una versió modificada d’un formulari des d’un lloc web hostil. Però per a garantir la integritat de les dades entrants la validació ha de manejar-se en el servidor.

Ens podem enfrontar-nos a un problema de seguretat si es depèn de la lògica de l’aplicació i de la codificació de sortida, ja que pot implicar un comportament inesperat, pèrdua de dades i fins i tot un atacant podria trobar una forma de trencar els límits de les dades d’entrada en codi executable.

La validació de dades

La validació d’entrada o validació de dades és un test que es realitza per a qualsevol entrada proporcionada per un usuari o aplicació. La validació d’entrada evita que les dades no aptes entrin en un sistema d’informació. A vegades és difícil detectar un usuari malintencionat que intenta atacar el software, per la qual cosa, les aplicacions han de verificar i validar totes les entrades ingressades en un sistema.

A través de la validació de dades aconseguim evitar que aquests produeixin resultats inesperats, per exemple, violacions de la lògica empresarial, desencadenament d’errors o la presa de control dels recursos per part d’un atacant o fins i tot la presa de control de l’aplicació en si. L’entrada que s’avalua en el servidor com a codi executable o com una consulta de base de dades o que s’executa en el client com a HTML Javascript és particularment perillosa.

Els desenvolupadors sovint creen aplicacions amb almenys alguna validació d’entrada bàsica. Malgrat això, un desenvolupador pot minimitzar el perill de les entrades no de confiança per a evitar efectes no desitjats en el codi de l’aplicació.

Codificar sortida HTML

A més de limitar les dades que arriben a una aplicació, els desenvolupadors d’aplicacions web han de prestar molta atenció a les dades de sortida. Una aplicació web moderna generalment té un marcat HTML bàsic per a l’estructura del document, CSS per a l’estil del document, Javascript per a la lògica de l’aplicació i contingut generat per l’usuari que pot ser qualsevol d’aquestes coses.

Altres tècniques per a reduir la violació de seguretat

No hem d’oblidar que, també existeixen algunes tècniques bàsiques que els desenvolupadors podrien i haurien d’usar per a reduir les possibilitats d’una violació de la seguretat:

  • Precaucions i advertiments
  • Paràmetres d’enllaç per a consultes de base de dades
  • Protecció de les dades en trànsit
  • Sol·licita contrasenyes segures als teus usuaris amb ús d’algorisme criptogràfic
  • Autenticar usuaris de forma segura
  • Protegir les sessions dels usuaris
  • Autoritzar accions

A més d’aquests consells per al desenvolupament d’aplicacions web és convenient integrar una estratègia de seguretat per a protegir-se contra atacs DDoS, Application Layer i els atacs de DNS.

New call-to-action

Encara estàs despert?

Nosaltres també. Posa't en contacte amb nosaltres i t'ajudarem en el que necessitis.
Contáctanos