În timp ce securitatea cibernetică este adesea gândită în ceea ce privește bazele de date și arhitectura, o mare postură puternică de securitate se bazează pe elemente din domeniul dezvoltatorului front-end.

Pentru anumite vulnerabilități potențial devastatoare, cum ar fi Injecție SQL și Cross-Site Scripting (XSS), o interfață de utilizator bine considerată este prima linie de apărare.

Iată câteva domenii de concentrare pentru dezvoltatorii front-end care doresc să contribuie la lupta împotriva luptei bune.

Controlați introducerea utilizatorului

O întreagă lovitură de lucruri nebunesti se poate întâmpla atunci când dezvoltatorii construiesc un formular care nu reușește să controleze intrarea utilizatorului. Pentru a combate vulnerabilitățile cum ar fi injectarea, este important să validați sau să igienizați datele introduse de utilizator.

Puteți valida intrarea constrângând-o la valori cunoscute, cum ar fi folosind tipuri de intrare semantice sau atribute legate de validare în forme. Cadre precum Django ajuta, de asemenea, oferind tipuri de câmp în acest scop. Dezinfectarea datelor se poate face prin eliminarea sau înlocuirea caracterelor periculoase din punct de vedere contextual, cum ar fi folosirea unei liste albe sau scăparea datelor de intrare.

Deși este posibil să nu fie intuitiv, chiar și datele pe care un utilizator le trimite în propria zonă de pe un site ar trebui validate. Unul dintre cei mai rapizi virusuri care au proliferat a fost Vierme Samy pe MySpace (da, sunt bătrân), datorită codului pe care Samy Kamkar a reușit să-l injecteze în propria sa pagină de profil. Nu returnați direct nicio intrare pe site-ul dvs. fără validare sau igienizare completă.

Pentru câteva îndrumări suplimentare despre lupta împotriva atacurilor de injecție, consultați OWASP Injection Prevention Cheat Sheet.

Feriți-vă de câmpurile ascunse

Se adaugă type="hidden" este un mod atrăgător de convenabil de a ascunde date sensibile în pagini și formulare, dar, din păcate, nu este unul eficient.

Cu instrumente de genul ZapProxy și chiar instrumente de inspecție în browserele web simple, utilizatorii pot face clic cu ușurință pentru a dezvălui bucăți gustoase de informații invizibile.

Ascunderea casetelor de selectare poate fi un hack frumos pentru crearea de switch-uri numai CSS, dar câmpurile ascunse contribuie puțin la securitate.

Luați în considerare cu atenție câmpurile de completare automată

Atunci când un utilizator alege să vă ofere Informații de identificare personală (PII), ar trebui să fie o alegere conștientă. Câmpurile de completare automată pot fi convenabile – atât pentru utilizatori, cât și pentru atacatori. Exploatările care utilizează câmpuri ascunse pot recolta PII capturat anterior de un câmp de completare automată.

Mulți utilizatori nici măcar nu știu ce informații au stocat completarea automată a browserului lor. Utilizați aceste câmpuri cu moderare și dezactivați formularele completate automat pentru date deosebit de sensibile.

Este important să vă cântăriți și profilul de risc în raport cu compromisurile sale. Dacă proiectul tău trebuie să fie WCAG conform, dezactivarea completării automate vă poate întrerupe intrarea pentru diferite modalități. Pentru mai multe, vezi 1.3.5: Identificați scopul intrării în WCAG 2.1.

Păstrați erorile generice

Deși poate părea util să anunțați utilizatorii dacă există o bucată de date, este de asemenea foarte util pentru atacatori. Când aveți de-a face cu conturi, e-mailuri și PII, este cel mai sigur să greșiți (?) Din partea celor mai mici. În loc să returnați „Parola dvs. pentru acest cont este incorectă”, încercați feedbackul mai ambiguu „Informații de conectare incorecte” și evitați să dezvăluiți dacă numele de utilizator sau adresa de e-mail se află în sistem.

Pentru a fi mai util, oferiți un mod proeminent de a contacta un om în cazul în care ar apărea o eroare. Evitați să dezvăluiți informații care nu sunt necesare. Dacă nimic altceva, de dragul cerului, nu sugerați date care se potrivesc cu datele introduse de utilizator.

Fii un tip rău

Când luați în considerare securitatea, este util să faceți un pas înapoi, să observați informațiile afișate și să vă întrebați cum ar putea un atacator rău intenționat să le utilizeze. Joacă-l pe avocatul diavolului. Dacă un tip rău ar vedea această pagină, ce informații noi ar câștiga? Afișarea arată vreun PII?

Întrebați-vă dacă totul de pe pagină este de fapt necesar pentru un utilizator autentic. Dacă nu, redactați-l sau eliminați-l. Mai puțin este mai sigur.

Securitatea începe de la ușa din față

În aceste zile, există mult mai multe suprapuneri între codificare pe partea frontală și cea din spate. Pentru a crea o aplicație bine rotunjită și sigură, ajută la o înțelegere generală a modurilor în care atacatorii își pot pune piciorul în ușa din față.