10 A webbiztonság leggyakoribb biztonsági rései

Tartalomjegyzék:

Anonim

Az OWASP vagy az Open Web Security Project egy non-profit jótékonysági szervezet, amely a szoftverek és a webalkalmazások biztonságának javítására összpontosít.

A szervezet közzéteszi a legnépszerűbb webes biztonsági rések listáját a különféle biztonsági szervezetek adatai alapján.

A webes biztonsági réseket a kihasználhatóság, a detektálhatóság és a szoftverekre gyakorolt ​​hatás függvényében prioritásként kezeljük.

  • Kihasználhatóság -

    Mi szükséges a biztonsági rés kihasználásához? A legnagyobb kihasználhatóság, ha a támadáshoz csak webböngészőre van szükség, és a legalacsonyabb a fejlett programozás és eszközök.

  • Detektálhatóság -

    Mennyire könnyű felismerni a fenyegetést? A legmagasabb az URL-ben, az űrlapon vagy a hibaüzenetben megjelenített információ, a legalacsonyabb pedig a forráskód.

  • Hatás vagy kár -

    Mennyi kárt okozhat, ha a biztonsági rést feltárják vagy megtámadják? A legmagasabb a teljes rendszer összeomlása, a legalacsonyabb pedig a semmi.

Az OWASP Top 10 fő célja a fejlesztők, tervezők, menedzserek, építészek és szervezetek oktatása a legfontosabb biztonsági résekről.

Az OWASP Top 10 szerinti 10 legfontosabb biztonsági rés:

  • SQL injekció
  • Cross Site Scripting
  • Megszakadt hitelesítés és munkamenet-kezelés
  • Nem biztonságos közvetlen objektum hivatkozások
  • A webhelyek közötti hamisítás kérése
  • Biztonsági hibás konfiguráció
  • Nem biztonságos kriptográfiai tárolás
  • Az URL-hozzáférés korlátozásának elmulasztása
  • Nem megfelelő szállítási réteg védelem
  • Érvénytelen átirányítások és továbbítások

SQL injekció

Leírás

Az injekció olyan biztonsági rés, amely lehetővé teszi a támadók számára, hogy a felhasználó által megadott adatok manipulálásával módosítsák a háttér-SQL utasításokat.

Az injekció akkor következik be, amikor a felhasználói adatbevitelt a parancs vagy a lekérdezés részeként tolmácsnak küldik, és a tolmácsot nem szándékos parancsok végrehajtására csalja, és hozzáférést biztosít az illetéktelen adatokhoz.

Az SQL parancs, amely webalkalmazás által végrehajtva a háttér-adatbázist is felfedheti.

Következmény

  • A támadó rosszindulatú tartalmat juttathat a sebezhető mezőkbe.
  • Az érzékeny adatok, például a felhasználói nevek, a jelszavak stb. Elolvashatók az adatbázisból.
  • Az adatbázis adatai módosíthatók (Beszúrás / Frissítés / Törlés).
  • Az adminisztrációs műveletek végrehajthatók az adatbázisban

Kiszolgáltatott objektumok

  • Beviteli mezők
  • Az adatbázissal kölcsönhatásban lévő URL-ek.

Példák:

  • SQL injekció a bejelentkezési oldalon

Jelentkezés az alkalmazásba érvényes hitelesítő adatok nélkül.

Érvényes felhasználónév és jelszó nem érhető el.

Teszt URL: http://demo.testfire.net/default.aspx

Felhasználónév: sjones

Jelszó: 1 = 1 'vagy pass123

SQL-lekérdezés, amelyet az alábbiak szerint hoztak létre és küldtek Tolmácsnak

SELECT * FROM Users WHERE Felhasználói_név = sjones ÉS Jelszó = 1 = 1 'vagy pass123;

Ajánlások

  1. Fehér a beviteli mezőket sorolja fel
  2. Kerülje a támadók számára hasznos hibaüzenetek megjelenítését.

Cross Site Scripting

Leírás

A Cross Site Scripting rövid időn belül XSS néven is ismert.

Az XSS biztonsági rései olyan oldalba ágyazott szkripteket céloznak meg, amelyeket az ügyféloldalon, azaz a felhasználói böngészőben hajtanak végre, nem pedig a szerver oldalon. Ezek a hibák akkor fordulhatnak elő, amikor az alkalmazás megbízhatatlan adatokat vesz fel, és megfelelő ellenőrzés nélkül elküldi a webböngészőbe.

A támadók az XSS segítségével rosszindulatú szkripteket hajthatnak végre a felhasználókon, ebben az esetben az áldozatok böngészői. Mivel a böngésző nem tudja, hogy a parancsfájl megbízható-e vagy sem, a parancsfájl végrehajtásra kerül, és a támadó eltérítheti a munkamenet-sütiket, megronthatja a webhelyeket, vagy átirányíthatja a felhasználót egy nem kívánt és rosszindulatú webhelyekre.

Az XSS olyan támadás, amely lehetővé teszi a támadó számára, hogy futtassa a szkripteket az áldozat böngészőjében.

Következmény:

  • Ezt a biztonsági rést kihasználva a támadó szkripteket fecskendezhet az alkalmazásba, munkamenet-cookie-kat lophat, webhelyeket ronthat, és kártékony programokat futtathat az áldozat gépein.

Kiszolgáltatott objektumok

  • Beviteli mezők
  • URL-ek

Példák

1. http://www.vulnerablesite.com/home?" < script > alert (" xss" )script >

A fenti szkript böngészőben történő futtatásakor üzenetmező jelenik meg, ha a webhely sebezhető az XSS-nek.

A komolyabb támadást akkor lehet végrehajtani, ha a támadó munkamenet sütit akar megjeleníteni vagy tárolni.

2. http://demo.testfire.net/search.aspx?txtSearch > http://google.com width = 500 magasság 500>

A fenti szkript futtatásakor a böngésző egy láthatatlan keretet tölt be, amely a http://google.com címre mutat .

A támadást súlyosbíthatja egy rosszindulatú parancsfájl futtatása a böngészőben.

Ajánlások

  1. Fehér lista beviteli mezők
  2. Input Output kódolás

Megszakadt hitelesítés és munkamenet-kezelés

Leírás

A webhelyek általában minden érvényes munkamenethez létrehoznak egy munkamenet-cookie-t és a munkamenet-azonosítót, és ezek a cookie-k olyan érzékeny adatokat tartalmaznak, mint a felhasználónév, a jelszó stb. legyen egy új süti.

Ha a cookie-kat nem érvénytelenítik, a bizalmas adatok léteznek a rendszerben. Például egy nyilvános számítógépet (Cyber ​​Cafe) használó felhasználó, a sérülékeny webhely cookie-jai a rendszeren ülnek és egy támadónak vannak kitéve. A támadó egy idő után ugyanazt a nyilvános számítógépet használja, a bizalmas adatok sérülnek.

Ugyanígy a nyilvános számítógépet használó felhasználó a bejelentkezés helyett hirtelen bezárja a böngészőt. A támadó ugyanazt a rendszert használja, amikor ugyanazon a sebezhető helyen böngészik, az áldozat előző munkamenete megnyílik. A támadó bármit megtehet, profilprofilok, hitelkártya-információk stb. Ellopása révén.

Ellenőrizni kell a hitelesítés és a munkamenet-kezelés erejét. A kulcsokat, a munkamenet tokeneket és a sütiket megfelelően kell végrehajtani, a jelszavak sérelme nélkül.

Kiszolgáltatott objektumok

  • Az URL-en elérhető munkamenet-azonosítók munkamenet-javítási támadáshoz vezethetnek.
  • A munkamenet-azonosítók ugyanazok a kijelentkezés és a bejelentkezés előtt és után.
  • A munkamenet időkorlátjai nincsenek megfelelően végrehajtva.
  • Az alkalmazás minden új munkamenethez ugyanazt a munkamenet-azonosítót rendeli.
  • Az alkalmazás hitelesített részeit SSL védi, a jelszavakat kivonatolt vagy titkosított formátumban tárolják.
  • A munkamenetet alacsony jogosultsággal rendelkező felhasználó használhatja fel újra.

Következmény

  • A biztonsági rés kihasználásával a támadó eltérítheti a munkamenetet, illetéktelen hozzáférést nyerhet a rendszerhez, amely lehetővé teszi a jogosulatlan információk nyilvánosságra hozatalát és módosítását.
  • A munkamenetek ellopott cookie-k vagy az XSS használatával fejleszthetők.

Példák

  1. A légitársaság foglalási alkalmazás támogatja az URL átírását, a munkamenet-azonosítókat az URL-be helyezi:

    http://Examples.com/sale/saleitems;jsessionid=2P0OC2oJM0DPXSNQPLME34SERTBG/dest=Maldives (Jegyek eladása Maldív-szigetekre)

    A webhely hitelesített felhasználója tájékoztatni szeretné barátait az eladásról, és e-mailt küld. A barátok megkapják a munkamenet azonosítóját, és felhasználhatják őket jogosulatlan módosításokra, vagy visszaélhetnek a mentett hitelkártya adatokkal.

  2. Egy alkalmazás kiszolgáltatott az XSS-nek, amely révén a támadó hozzáférhet a munkamenet-azonosítóhoz, és felhasználható a munkamenet eltérítésére.
  3. Az alkalmazások időtúllépése nincs megfelelően beállítva. A felhasználó nyilvános számítógépet használ, és bejelentkezés és bezárás helyett bezárja a böngészőt. A támadó valamivel később ugyanazt a böngészőt használja, és a munkamenet hitelesítésre kerül.

Ajánlások

  1. Az összes hitelesítési és munkamenet-kezelési követelményt az OWASP alkalmazásbiztonsági ellenőrzési szabványnak megfelelően kell meghatározni.
  2. Soha ne tegye ki hitelesítő adatait az URL-ekben vagy a Naplókban.
  3. Erős erőfeszítéseket kell tenni az XSS hibák elkerülésére, amelyek felhasználhatók a munkamenet-azonosítók ellopására.

Nem biztonságos közvetlen objektum hivatkozások

Leírás

Akkor fordul elő, amikor a fejlesztő egy belső megvalósítási objektumra, például egy fájlra, könyvtárra vagy adatbázis-kulcsra mutat hivatkozást az URL-ben vagy a FORM paraméterként. A támadó ezeket az információkat felhasználhatja más objektumok elérésére, és jövőbeli támadást hozhat létre az illetéktelen adatok eléréséhez.

Következmény

  • A biztonsági rés használatával a támadó hozzáférhet illetéktelen belső objektumokhoz, módosíthatja az adatokat vagy veszélyeztetheti az alkalmazást.

Kiszolgáltatott objektumok

  • Az URL-ben.

Példák:

A "userid" megváltoztatása a következő URL-ben megtámadhatja a támadót a többi felhasználó adataival.

http://www.vulnerablesite.com/userid=123 Módosítva: http://www.vulnerablesite.com/userid=124

A támadó a felhasználói azonosító értékének megváltoztatásával megtekinthet más információkat.

Ajánlások:

  1. Végezze el a hozzáférés-ellenőrzést.
  2. Kerülje az objektum hivatkozások feltárását az URL-ekben.
  3. Ellenőrizze az összes referenciaobjektum jogosultságát.

A webhelyek közötti hamisítás kérése

Leírás

Cross site Request hamisítás egy hamis kérelem érkezett a cross site-ról.

A CSRF-támadás olyan támadás, amely akkor következik be, amikor egy rosszindulatú webhely, e-mail vagy program a felhasználó böngészőjében nem kívánt műveletet hajt végre egy megbízható webhelyen, amelyhez a felhasználó jelenleg hitelesítve van.

A CSRF-támadás arra kényszeríti a bejelentkezett áldozat böngészőjét, hogy hamisított HTTP-kérést küldjön el, beleértve az áldozat munkamenetének cookie-ját és minden más automatikusan hozzáadott hitelesítési információt egy sebezhető webalkalmazáshoz.

A támadó egy linket küld az áldozatnak, amikor a felhasználó az eredeti weboldalra bejelentkezve rákattint az URL-re, az adatokat ellopják a webhelyről.

Következmény

  • A biztonsági rés támadóként történő használata megváltoztathatja a felhasználói profil adatait, megváltoztathatja az állapotát, új felhasználót hozhat létre rendszergazda nevében stb.

Kiszolgáltatott objektumok

  • Felhasználói profil oldal
  • Felhasználói fiók űrlapok
  • Üzleti tranzakció oldal

Példák

Az áldozatot érvényes hitelesítő adatok felhasználásával bejelentkezik a bank weboldalára. Leveleket kap egy támadótól: "Kérjük, kattintson ide, hogy adományozzon 1 dollárt az okozáshoz."

Amikor az áldozat rákattint, érvényes kérelem jön létre, amely 1 dollárt adományoz egy adott számlára.

http://www.vulnerablebank.com/transfer.do?account=cause&amount=1

A támadó rögzíti ezt a kérést, és a kérés alatt létrehozza, és beágyazza az "Ügyet támogatom" gombba.

http://www.vulnerablebank.com/transfer.do?account=Attacker&amount=1000

Mivel a munkamenet hitelesített, és a kérés a bank weboldalán keresztül érkezik, a szerver 1000 dollárt utal át a támadónak.

Ajánlást

  1. Felhatalmazza a felhasználó jelenlétét érzékeny műveletek végrehajtása közben.
  2. Végezzen olyan mechanizmusokat, mint a CAPTCHA, az újhitelesítés és az egyedi kérési tokenek.

Biztonsági hibás konfiguráció

Leírás

Meg kell határoznia és telepítenie kell az alkalmazás, a keretrendszer, az alkalmazáskiszolgáló, a webkiszolgáló, az adatbázis-kiszolgáló és a platform biztonsági beállításait. Ha ezek megfelelően vannak konfigurálva, a támadó jogosulatlanul hozzáférhet az érzékeny adatokhoz vagy funkciókhoz.

Néha az ilyen hibák a rendszer teljes kompromisszumát eredményezik. A szoftver naprakészen tartása szintén jó biztonság.

Következmény

  • Ezt a biztonsági rést kihasználva a támadó felsorolhatja az alapul szolgáló technológiai és alkalmazáskiszolgáló verzióadatokat, adatbázis-információkat, és információkat szerezhet az alkalmazásról néhány további támadás megvalósításához.

Sebezhető tárgyak

  • URL
  • Űrlapmezők
  • Beviteli mezők

Példák

  1. Az alkalmazáskiszolgáló adminisztrációs konzolja automatikusan települ és nem kerül eltávolításra. Az alapértelmezett fiókok nem változnak. A támadó alapértelmezett jelszavakkal jelentkezhet be, és jogosulatlan hozzáférést kaphat.
  2. A címtárak listázása nincs letiltva a szerveren. Az Attacker felfedezi és egyszerűen felsorolhatja a könyvtárakat, hogy bármilyen fájlt megtalálhasson.

Ajánlások

  1. Erős alkalmazásarchitektúra, amely jó elkülönítést és biztonságot nyújt az alkatrészek között.
  2. Az alapértelmezett felhasználónevek és jelszavak módosítása.
  3. Tiltsa le a könyvtárlistákat és hajtsa végre a hozzáférés-ellenőrzéseket.

Nem biztonságos kriptográfiai tárolás

Leírás

A bizonytalan kriptográfiai tárolás gyakori biztonsági rés, amely akkor áll fenn, ha a bizalmas adatokat nem biztonságosan tárolják.

A felhasználói adatok, a profiladatok, az egészségügyi adatok, a hitelkártya-információk stb. A webhely érzékeny adatai alá tartoznak.

Ezeket az adatokat az alkalmazás adatbázisában tároljuk. Ha ezeket az adatokat nem megfelelő módon tárolják titkosítás vagy hash * nélkül, akkor sebezhetővé válnak a támadók számára.

(* A hashelés a karakterláncok átalakítása rövidebb, rögzített hosszúságú karakterláncokká vagy kulcsokká. A karakterlánc visszafejtéséhez a kulcs kialakításához használt algoritmusnak elérhetőnek kell lennie.)

Következmény

  • A biztonsági rés használatával a támadó ellophat, módosíthat ilyen gyengén védett adatokat személyazonosság-lopás, hitelkártya-csalás vagy egyéb bűncselekmények elkövetése érdekében.

Sebezhető tárgyak

  • Alkalmazás adatbázis.

Példák

Az egyik banki alkalmazásban a jelszóadatbázis sótlan kivonatokat * használ mindenki jelszavainak tárolására. Az SQL injekciós hiba lehetővé teszi a támadó számára a jelszófájl lekérését. Az összes sótalan hasht egy pillanat alatt durván kényszeríteni lehet, míg a sózott jelszavak évezredekbe telnek.

(* Sótlan hashok - a só egy véletlenszerű adat, amely az eredeti adatokhoz csatolva van. A só a hash előtt csatolva van a jelszóhoz

Ajánlások

  1. Biztosítsa a megfelelő erős szabványos algoritmusokat. Ne hozzon létre saját kriptográfiai algoritmusokat. Csak jóváhagyott nyilvános algoritmusokat használjon, mint például AES, RSA nyilvános kulcsú titkosítás és SHA-256 stb.
  2. Győződjön meg róla, hogy a külső biztonsági másolatok titkosítva vannak, de a kulcsokat külön kezelik és biztonsági másolatot készítenek.

Az URL-hozzáférés korlátozásának elmulasztása

Leírás

A webalkalmazások ellenőrzik az URL-hozzáférési jogokat a védett linkek és gombok renderelése előtt. Az alkalmazásoknak minden egyes oldal elérésekor hasonló hozzáférés-ellenőrzési ellenőrzéseket kell végrehajtaniuk.

Az alkalmazások többségében a kiváltságos oldalak, helyek és erőforrások nem jelennek meg a privilegizált felhasználók számára.

Intelligens tippeléssel a támadó hozzáférhet a privilégiumoldalakhoz. A támadó hozzáférhet bizalmas oldalakhoz, meghívhatja a funkciókat és megtekintheti a bizalmas információkat.

Következmény

  • A biztonsági rés használatával a támadó hozzáférhet az illetéktelen URL-ekhez, anélkül, hogy bejelentkezne az alkalmazásba, és kihasználja a biztonsági rést. A támadó hozzáférhet bizalmas oldalakhoz, meghívhatja a funkciókat és megtekintheti a bizalmas információkat.

Sebezhető objektumok:

  • URL-ek

Példák

  1. A támadó észreveszi, hogy az URL a "/ user / getaccounts" szerepkört jelöli. "/ Admin / getaccounts" néven módosítja.
  2. A támadó szerepkört fűzhet az URL-hez.

A http://www.vulnerablsite.com a következő címen módosítható: http://www.vulnerablite.com/admin

Ajánlások

  1. Végezzen erős hozzáférés-ellenőrzést.
  2. A hitelesítési és engedélyezési politikáknak szerepalapúnak kell lenniük.
  3. Korlátozza a nem kívánt URL-ekhez való hozzáférést.

Nem megfelelő szállítási réteg védelem

Leírás

A felhasználó (kliens) és a szerver (alkalmazás) közötti információcserével foglalkozik. Az alkalmazások gyakran érzékeny információkat, például hitelesítési részleteket, hitelkártya-információkat és munkamenet-tokent továbbítanak egy hálózaton keresztül.

Gyenge algoritmusok használatával, lejárt vagy érvénytelen tanúsítványok használatával, vagy az SSL használatával a kommunikáció nem megbízható felhasználóknak lesz kitéve, ami veszélyeztetheti a webalkalmazásokat és ellophat érzékeny információkat.

Következmény

  • Ezt a webes biztonsági rést kihasználva a támadó szimatolhatja a felhasználó jogos hitelesítő adatait és hozzáférést szerezhet az alkalmazáshoz.
  • Lophat hitelkártya-információkat.

Sebezhető tárgyak

  • A hálózaton keresztül küldött adatok.

Ajánlások

  1. Engedélyezze a biztonságos HTTP-t, és érvényesítse a hitelesítő adatok átvitelét csak HTTPS-en keresztül.
  2. Győződjön meg arról, hogy a tanúsítványa érvényes és nem jár le.

Példák:

1. Az SSL-t nem használó alkalmazások, a támadók egyszerűen figyelemmel kísérik a hálózati forgalmat és megfigyelik az áldozat munkamenetének hitelesített cookie-jait. A támadó ellophatja azt a sütit, és végrehajthatja a Középen-ember támadást.

Érvénytelen átirányítások és továbbítások

Leírás

A webalkalmazás kevés módszerrel irányítja át és továbbítja a felhasználókat más oldalakra a rendeltetésüknek megfelelően.

Ha más oldalakra történő átirányítás során nincs megfelelő ellenőrzés, a támadók igénybe vehetik ezt, és átirányíthatják az áldozatokat adathalász vagy rosszindulatú programok webhelyeire, vagy továbbíthatják a jogosulatlan oldalakat.

Következmény

  • A támadó olyan URL-t küldhet a felhasználónak, amely valódi URL-t tartalmaz, kódolt rosszindulatú URL-hez csatolva. A felhasználó, ha csak látja a támadó elküldött URL-jének valódi részét, böngészhet benne, és áldozattá válhat.

Példák

1. http://www.vulnerablesite.com/login.aspx?redirectURL=ownsite.com

Módosítva erre:

http://www.vulnerablesite.com/login.aspx?redirectURL=evilsite.com

Ajánlások

  1. Egyszerűen kerülje az átirányítások és továbbítások használatát az alkalmazásban. Ha használják, ne vonja be a felhasználói paraméterek használatát a rendeltetési hely kiszámításához.
  2. Ha a célparamétereket nem lehet elkerülni, ellenőrizze, hogy a megadott érték érvényes-e és engedélyezett-e a felhasználó számára.

A cikket Prasanthi Eati írta