A webhelyek és alkalmazások gyakran felhasználói hozzájárulást igényelnek, hogy teljes céljukat elérjék. Ha egy webhely lehetővé teszi a felhasználók számára az előfizetést, a felhasználóknak meg kell tudniuk adni az e-mail címüket. Az online vásárlás pedig nyilvánvalóan megköveteli a fizetési adatok megadását.
A felhasználói bevitel problémája azonban az, hogy lehetővé teszi a hacker számára, hogy rosszindulatú tartalmat írjon be, hogy megkísérelje a webhely vagy az alkalmazás rossz viselkedését becsapni. Az ez ellen való védelem érdekében minden felhasználói bevitelt kínáló rendszernek rendelkeznie kell a bemenet érvényesítésével.
Tehát mi az a bemeneti ellenőrzés, és hogyan működik?
Mi az a beviteli ellenőrzés?
A bemenet ellenőrzése a bemenetek elemzésének és az alkalmatlannak ítélt bemenetek letiltásának folyamata. A bemeneti ellenőrzés mögött meghúzódó gondolat az, hogy ha csak meghatározott feltételeknek megfelelő bemeneteket engedélyezünk, a támadó lehetetlenné teszi, hogy olyan bemenetet adjon meg, amelynek célja, hogy kárt okozzon a rendszerben.
A beviteli ellenőrzést minden olyan webhelyen vagy alkalmazásban alkalmazni kell, amely lehetővé teszi a felhasználói bevitelt. Még akkor is, ha egy webhely vagy alkalmazás nem tárol semmilyen bizalmas információt, az érvénytelen bevitel engedélyezése problémákat okozhat a felhasználói élményben.
Miért fontos a bemenet ellenőrzése?
A bemenet érvényesítése két okból is fontos, nevezetesen a felhasználói élmény és a biztonság miatt.
Felhasználói tapasztalat
A felhasználók gyakran érvénytelen bevitelt adnak meg, de nem azért, mert meg akarnak támadni egy webhelyet vagy alkalmazást, hanem azért, mert hibát követtek el. Előfordulhat, hogy a felhasználó hibásan ír le egy szót, vagy rossz információkat ad meg, például rossz mezőbe írja be felhasználónevét, vagy elavult jelszóval próbálkozik. Amikor ez megtörténik, a bemeneti érvényesítés segítségével tájékoztathatja a felhasználót a hibájáról, lehetővé téve a gyors kijavítását.
A beviteli ellenőrzés megakadályozza azokat a forgatókönyveket is, amikor a regisztrációk és az eladások elvesznek, mert a felhasználó nem kap tájékoztatást, és így azt hiszi, hogy a helyes bevitelt adta meg, holott nem.
Biztonság
A beviteli ellenőrzés számos támadást akadályoz meg, amelyek egy webhely vagy alkalmazás ellen hajthatók végre. Ezek a kibertámadások személyes adatok ellopását okozhatják, jogosulatlan hozzáférést tesznek lehetővé más összetevőkhöz, és/vagy megakadályozzák egy webhely/alkalmazás működését.
A bemeneti érvényesítés elmulasztása is könnyen észlelhető. A támadók automatizált programokat használhatnak arra, hogy tömegesen vigyenek be érvénytelen bevitelt a webhelyekre, és meghatározzák, hogyan reagálnak a webhelyek. Ezután manuális támadásokat indíthatnak minden olyan webhelyen, amely nem védett.
Ez azt jelenti, hogy a bemeneti ellenőrzés hiánya nem csak egy fontos sebezhetőség; ez egy sebezhetőség, amely gyakran megtalálható, és így gyakran feltöréseket okozhat.
Mik azok a beviteli ellenőrzési támadások?
Bemenetellenőrzési támadás minden olyan támadás, amely rosszindulatú bevitelt ad a felhasználói beviteli mezőbe. Számos különböző típusú bemenet-ellenőrző támadás létezik, amelyek különböző dolgokat próbálnak végrehajtani.
Puffer túlcsordulás
Puffertúlcsordulás akkor következik be, ha túl sok információ kerül a rendszerbe. Ha a bemeneti ellenőrzést nem használják, semmi sem akadályozza meg a támadót abban, hogy annyi információt adjon hozzá, amennyit akar. Ezt hívják a puffer túlcsordulási támadás. Ez a rendszer működésének leállását és/vagy az aktuálisan tárolt információk törlését okozhatja.
SQL Injekció
Az SQL-injektálás az SQL-lekérdezések beviteli mezőkhöz való hozzáadásának folyamata. Ez történhet úgy, hogy SQL-lekérdezést ad hozzá egy webes űrlaphoz, vagy SQL-lekérdezést fűz hozzá egy URL-hez. A cél az, hogy a rendszert rávegyék a lekérdezés végrehajtására. Az SQL-befecskendezés használható biztonságos adatok eléréséhez, valamint adatok módosításához vagy törléséhez. Ez azt jelenti, hogy a beviteli ellenőrzés különösen fontos minden olyan webhely vagy alkalmazás esetében, amely fontos információkat tárol.
Helyek közötti szkriptelés
A webhelyek közötti szkriptelés magában foglalja kód hozzáadása a felhasználói beviteli mezőkhöz. Ezt gyakran úgy hajtják végre, hogy egy jó hírű webhelyhez tartozó URL-cím végére kódot adnak. Az URL megosztható fórumokon vagy közösségi médián keresztül, és a kód akkor fut le, amikor az áldozat rákattint. Ez egy rosszindulatú weboldalt hoz létre, amely úgy tűnik, hogy a jó hírű webhelyen található.
Az ötlet az, hogy ha az áldozat megbízik a célwebhelyben, akkor megbíznia kell egy rosszindulatú weboldalban is, amely úgy tűnik, hogy ahhoz tartozik. A rosszindulatú weboldal úgy alakítható ki, hogy ellopja a billentyűleütéseket, átirányítson más oldalakra és/vagy elindítsa az automatikus letöltést.
A beviteli ellenőrzés végrehajtása
A bemenet érvényesítését nem nehéz megvalósítani. Egyszerűen csak ki kell találnia, hogy milyen szabályok szükségesek az érvénytelen bevitel megakadályozásához, majd hozzá kell adnia azokat a rendszerhez.
Írja be az összes adatbevitelt
Hozzon létre egy listát az összes lehetséges felhasználói bevitelről. Ehhez meg kell néznie az összes felhasználói űrlapot, és figyelembe kell vennie más típusú bevitelt, például az URL-paramétereket.
Szabályok létrehozása
Miután megvan az összes adatbevitel listája, létre kell hoznia szabályokat, amelyek megszabják, hogy mely bemenetek elfogadhatók. Íme néhány általános szabály, amelyeket be kell tartani.
- Whitelisting: Csak meghatározott karakterek bevitelét engedélyezi.
- Feketelista: bizonyos karakterek bevitelének megakadályozása.
- Formátum: Csak olyan bemeneteket engedélyez, amelyek megfelelnek egy adott formátumnak, azaz csak az e-mail címeket.
- Hossz: Csak egy bizonyos hosszúságú bevitelt engedélyez.
Végezze el a szabályokat
A szabályok végrehajtásához olyan kódot kell hozzáadnia a webhelyhez vagy alkalmazáshoz, amely elutasítja a szabályokat nem követő bevitelt. Az érvénytelen bemenetek által jelentett veszély miatt a rendszert tesztelni kell az éles indítás előtt.
Hozzon létre válaszokat
Feltéve, hogy azt szeretné, hogy a beviteli ellenőrzés is segítse a felhasználókat, olyan üzeneteket kell hozzáadnia, amelyek megmagyarázzák, miért hibás a bevitel, és mit kell helyette hozzáadni.
A bemenet ellenőrzése a legtöbb rendszernél követelmény
A bevitel érvényesítése fontos követelmény minden olyan webhely vagy alkalmazás esetében, amely lehetővé teszi a felhasználói bevitelt. A rendszerhez hozzáadott bemenet ellenőrzése nélkül a támadó számos technikát használhat feltörési célokra.
Ezek a technikák összeomolhatják a rendszert, megváltoztathatják azt és/vagy lehetővé teszik a személyes adatok elérését. A bemeneti ellenőrzés nélküli rendszerek a hackerek népszerű célpontjaivá válnak, és az interneten folyamatosan keresik őket.
Míg a beviteli ellenőrzést elsősorban biztonsági célokra használják, fontos szerepet játszik abban is, hogy értesítse a felhasználókat, ha valamit helytelenül adnak hozzá.