Míg a kiberbiztonságra gyakran az adatbázisok és az architektúra vonatkozásában gondolnak, az erős biztonsági testtartás nagy része a front-end fejlesztő tartományának elemeire támaszkodik.
Bizonyos potenciálisan pusztító sebezhetőségek, például az SQL injekció és a Cross-Site Scripting (XSS) esetében a megfontolt felhasználói felület az első védelmi vonal.
Íme néhány olyan terület a front-end fejlesztők számára, akik segíteni akarnak a jó küzdelemben.
A felhasználói bemenet vezérlése
Őrült dolgok történhetnek, amikor a fejlesztők olyan űrlapot készítenek, amely nem tudja ellenőrizni a felhasználói inputokat. Az olyan sebezhetőségek leküzdése érdekében, mint az injekció, fontos a felhasználói adatok validálása vagy megtisztítása.
A bevitelt úgy érvényesítheti, hogy ismert értékekre korlátozza azt, például szemantikus bemeneti típusok vagy érvényesítéssel kapcsolatos attribútumok használatával az űrlapokban. A Django-hoz hasonló keretrendszerek szintén segítenek, ha terepi típusokat nyújtanak erre a célra. Az adatok megtisztítása a kontextus szempontjából veszélyes karakterek eltávolításával vagy cseréjével történhet, például fehér lista használatával vagy a bemeneti adatok elhagyásával.
Lehet, hogy nem intuitív, de még azokat az adatokat is ellenőrizni kell, amelyeket a felhasználó a saját területére nyújt be egy webhelyen. Az egyik leggyorsabban terjedő vírus a Samy féreg volt a MySpace-en (igen, öreg vagyok), köszönhetően a kódnak, amelyet Samy Kamkar be tudott fecskendezni a saját profiloldalára. Ne küldjön közvetlenül semmilyen információt a webhelyére alapos érvényesítés vagy fertőtlenítés nélkül.
Az injekciós támadások leküzdésével kapcsolatos további útmutatásért lásd az OWASP injekció-megelőzési csalólapot.
Óvakodjon a rejtett mezőktől
A hozzáadás type="hidden"
csábítóan kényelmes módszer a bizalmas adatok elrejtésére az oldalakon és az űrlapokban, de sajnos nem hatékony.
Olyan eszközökkel, mint a ZapProxy, sőt a sima webböngészőben található ellenőrző eszközökkel is, a felhasználók könnyedén rákattinthatnak, hogy felfedjék a láthatatlan információk finom darabjait.
A jelölőnégyzetek elrejtése szép hack lehet a CSS-kapcsolók létrehozásához, de a rejtett mezők nemigen járulnak hozzá a biztonsághoz.
Gondosan fontolja meg az automatikus kitöltési mezőket
Amikor a felhasználó úgy dönt, hogy megadja Önnek személyazonosításra alkalmas adatait (PII), annak tudatos választásnak kell lennie. Az űrlapmezők automatikus kitöltése kényelmes lehet - mind a felhasználók, mind a támadók számára. A rejtett mezők használatával az automatikus kitöltési mezők által korábban elfogott PII-k gyűjthetők be.
Sok felhasználó nem is tudja, hogy a böngésző automatikus kitöltése milyen információkat tárolt. Használja ezeket a mezőket takarékosan, és különösen kényes adatok esetén tiltsa le az automatikus kitöltési űrlapokat.
Fontos, hogy a kockázati profilját is mérlegelje annak kompromisszumaival. Ha a projektnek WCAG-kompatibilisnek kell lennie, akkor az automatikus kiegészítés letiltása megszakíthatja a bemenetet különböző módokhoz. További információ: 1.3.5: A bemeneti cél meghatározása a WCAG 2.1-ben.
Tartsa a hibákat általánosnak
Bár hasznosnak tűnhet tájékoztatni a felhasználókat arról, hogy létezik-e egy adat, a támadók számára is nagyon hasznos. Fiókok, e-mailek és személyazonosító adatok kezelése során a legbiztonságosabb a kevesebb oldalon tévedni (?). Ahelyett, hogy a „Jelszó ehhez a fiókhoz helytelen” lenne a válasz, próbálkozzon a kétértelműbb visszajelzéssel: „Helytelen bejelentkezési adatok”, és kerülje el, hogy kiderüljön, a felhasználónév vagy az e-mail szerepel-e a rendszerben.
Annak érdekében, hogy nagyobb segítséget nyújtson, adjon meg egy jól látható módot az emberekkel való kapcsolatfelvételre, ha hiba merülne fel. Kerülje el a nem szükséges információk felfedését. Ha semmi más, az ég szerelmére, ne javasoljon olyan adatokat, amelyek szorosan illeszkednek a felhasználói bevitelhez.
Legyél rosszfiú
A biztonság mérlegelésekor hasznos visszalépni, megfigyelni a megjelenő információkat, és feltenni a kérdést magának, hogy egy rosszindulatú támadó hogyan tudná hasznosítani azokat. Játssz ördög szószólóját. Ha egy rossz fiú meglátja ezt az oldalt, milyen új információkat szereznének? A nézet mutat PII-t?
Kérdezd meg magadtól, hogy az oldalon szereplő mindenre valóban szükség van-e egy valódi felhasználó számára. Ha nem, akkor módosítsa vagy távolítsa el. A kevesebb biztonságosabb.
A biztonság a bejárati ajtónál kezdődik
Manapság sokkal több átfedés van az elülső és a hátsó rész kódolása között. Egy átfogó és biztonságos alkalmazás létrehozása segít átfogó megértésben arról, hogy a támadók hogyan tudják betenni a bejárati ajtót.