Svetainėms ir programoms dažnai reikia naudotojo įvesties, kad būtų įvykdytas visas jų tikslas. Jei svetainė leidžia vartotojams prenumeruoti, vartotojai turi turėti galimybę pateikti savo el. pašto adresą. O perkant internetu, be abejo, reikia įvesti mokėjimo duomenis.
Tačiau vartotojo įvesties problema yra ta, kad ji taip pat leidžia įsilaužėliams įvesti ką nors kenksmingo, bandant apgauti svetainę ar programą, kad ji netinkamai elgtųsi. Siekiant apsisaugoti nuo to, bet kuri sistema, siūlanti vartotojo įvestį, turi turėti įvesties patvirtinimą.
Taigi, kas yra įvesties patvirtinimas ir kaip jis veikia?
Kas yra įvesties patvirtinimas?
Įvesties patvirtinimas yra įvesties analizės ir netinkamų laikomų įvesties uždraudimo procesas. Įvesties patvirtinimo idėja yra ta, kad leidžiant tik tam tikrus kriterijus atitinkančias įvestis, užpuolikas tampa neįmanomas įvesties, skirtos pakenkti sistemai.
Įvesties patvirtinimas turėtų būti naudojamas bet kurioje svetainėje ar programoje, kurioje naudotojas gali įvesti duomenis. Net jei svetainėje ar programoje nesaugoma jokia konfidenciali informacija, leidžiant įvesti neteisingus duomenis gali kilti problemų dėl naudotojo patirties.
Kodėl įvesties patvirtinimas yra svarbus?
Įvesties patvirtinimas svarbus dėl dviejų priežasčių, būtent naudotojo patirties ir saugumo.
Vartotojo patirtis
Vartotojai dažnai įveda neteisingą įvestį ne todėl, kad bando užpulti svetainę ar programą, o todėl, kad padarė klaidą. Naudotojas gali neteisingai parašyti žodį arba pateikti neteisingą informaciją, pvz., įvesti savo vartotojo vardą netinkamame laukelyje arba bandyti naudoti pasenusį slaptažodį. Kai taip nutinka, įvesties patvirtinimas gali būti naudojamas informuoti vartotoją apie klaidą, leidžiančią greitai ją ištaisyti.
Įvesties patvirtinimas taip pat apsaugo nuo scenarijų, kai registracija ir pardavimas prarandamas, nes vartotojas nėra informuotas ir mano, kad buvo pateikta teisinga įvestis, o ne.
Saugumas
Įvesties patvirtinimas apsaugo nuo daugybės atakų, kurios gali būti įvykdytos prieš svetainę ar programą. Šios kibernetinės atakos gali sukelti asmeninės informacijos vagystę, leisti neteisėtai pasiekti kitus komponentus ir (arba) neleisti veikti svetainei / programai.
Įvesties patvirtinimo praleidimą taip pat lengva aptikti. Užpuolikai gali naudoti automatizuotas programas, kad masiškai įvestų netinkamas įvestis svetainėse ir nustatytų, kaip svetainės reaguoja. Tada jie gali rankiniu būdu pradėti atakas prieš bet kurias svetaines, kurios nėra apsaugotos.
Tai reiškia, kad įvesties patvirtinimo trūkumas yra ne tik svarbus pažeidžiamumas; tai pažeidžiamumas, kuris dažnai randamas ir todėl dažnai gali sukelti įsilaužimų.
Kas yra įvesties patvirtinimo atakos?
Įvesties tikrinimo ataka yra bet kokia ataka, kurios metu į vartotojo įvesties lauką įtraukiama kenkėjiška įvestis. Yra daugybė skirtingų įvesties tikrinimo atakų tipų, kuriomis bandoma atlikti skirtingus veiksmus.
Buferio perpildymas
Buferio perpildymas įvyksta, kai į sistemą įtraukiama per daug informacijos. Jei įvesties patvirtinimas nenaudojamas, niekas netrukdo užpuolikui pridėti tiek informacijos, kiek nori. Tai vadinama a buferio perpildymo ataka. Dėl to sistema gali nustoti veikti ir (arba) ištrinti šiuo metu saugomą informaciją.
SQL įpurškimas
SQL injekcija yra SQL užklausų įtraukimo į įvesties laukus procesas. Tai gali būti SQL užklausos pridėjimas prie žiniatinklio formos arba SQL užklausos pridėjimas prie URL. Tikslas yra apgauti sistemą, kad ji įvykdytų užklausą. SQL injekcija gali būti naudojama norint pasiekti saugius duomenis ir keisti arba ištrinti duomenis. Tai reiškia, kad įvesties patvirtinimas yra ypač svarbus bet kuriai svetainei ar programai, kurioje saugoma svarbi informacija.
Scenarijus tarp svetainių
Kelių svetainių scenarijų kūrimas apima kodo įtraukimas į vartotojo įvesties laukus. Tai dažnai atliekama pridedant kodą patikimai svetainei priklausančio URL pabaigoje. URL gali būti bendrinamas forumuose ar socialiniuose tinkluose, o kodas paleidžiamas, kai auka jį spusteli. Taip sukuriamas kenkėjiškas tinklalapis, kuris atrodo priglobtas patikimoje svetainėje.
Idėja yra tokia, kad jei auka pasitiki tiksline svetaine, ji taip pat turėtų pasitikėti kenkėjišku tinklalapiu, kuris, atrodo, priklauso jai. Kenkėjiškas tinklalapis gali būti sukurtas taip, kad pavogtų klavišų paspaudimus, nukreiptų į kitus puslapius ir (arba) pradėtų automatinį atsisiuntimą.
Kaip įdiegti įvesties patvirtinimą
Įvesties patvirtinimą nėra sunku įgyvendinti. Jums tiesiog reikia išsiaiškinti, kokių taisyklių reikia, kad būtų išvengta neteisingos įvesties, ir tada įtraukti jas į sistemą.
Parašykite visus duomenų įvestis
Sukurkite visų galimų vartotojo įvestų sąrašą. Tam reikės peržiūrėti visas vartotojo formas ir apsvarstyti kitus įvesties tipus, pvz., URL parametrus.
Sukurti taisykles
Kai turėsite visų įvestų duomenų sąrašą, turėtumėte sukurti taisykles, kurios nurodytų, kokie įvesties duomenys yra priimtini. Štai keletas bendrų taisyklių, kurias reikia įgyvendinti.
- Įtraukimas į baltąjį sąrašą: leiskite įvesti tik konkrečius simbolius.
- Įtraukimas į juodąjį sąrašą: neleiskite įvesti konkrečių simbolių.
- Formatas: leisti tik įvestis, kurios atitinka tam tikrą formatą, t. y. leisti tik el. pašto adresus.
- Ilgis: leisti įvestis tik iki tam tikro ilgio.
Įgyvendinti taisykles
Norėdami įgyvendinti taisykles, turėsite pridėti kodą prie svetainės ar programos, kuri atmeta bet kokią įvestį, kuri jų nesilaiko. Dėl netinkamų įėjimų keliamos grėsmės sistema turi būti išbandyta prieš pradedant veikti.
Kurti atsakymus
Darant prielaidą, kad norite, kad įvesties patvirtinimas taip pat padėtų vartotojams, turėtumėte pridėti pranešimų, kuriuose paaiškinama, kodėl įvestis neteisinga, ir ką reikėtų pridėti vietoje to.
Įvesties patvirtinimas yra daugelio sistemų reikalavimas
Įvesties patvirtinimas yra svarbus reikalavimas bet kuriai svetainei ar programai, kuri leidžia naudotojui įvesti. Nevaldydamas, kokia įvestis pridedama prie sistemos, užpuolikas turi daugybę metodų, kuriuos gali naudoti įsilaužimo tikslais.
Šie metodai gali sugadinti sistemą, ją pakeisti ir (arba) leisti pasiekti privačią informaciją. Sistemos be įvesties patvirtinimo tampa populiariais įsilaužėlių taikiniais ir jų nuolat ieškoma internete.
Nors įvesties patvirtinimas pirmiausia naudojamas saugumo sumetimais, jis taip pat atlieka svarbų vaidmenį informuojant vartotojus, kai jie ką nors prideda neteisingai.