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
- Fehér a beviteli mezőket sorolja fel
- 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 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
- Fehér lista beviteli mezők
- 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
- 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.
- 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.
- 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
- 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.
- Soha ne tegye ki hitelesítő adatait az URL-ekben vagy a Naplókban.
- 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:
- Végezze el a hozzáférés-ellenőrzést.
- Kerülje az objektum hivatkozások feltárását az URL-ekben.
- 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
- Felhatalmazza a felhasználó jelenlétét érzékeny műveletek végrehajtása közben.
- 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
- 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.
- 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
- Erős alkalmazásarchitektúra, amely jó elkülönítést és biztonságot nyújt az alkatrészek között.
- Az alapértelmezett felhasználónevek és jelszavak módosítása.
- 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
- 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.
- 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
- A támadó észreveszi, hogy az URL a "/ user / getaccounts" szerepkört jelöli. "/ Admin / getaccounts" néven módosítja.
- 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
- Végezzen erős hozzáférés-ellenőrzést.
- A hitelesítési és engedélyezési politikáknak szerepalapúnak kell lenniük.
- 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
- Engedélyezze a biztonságos HTTP-t, és érvényesítse a hitelesítő adatok átvitelét csak HTTPS-en keresztül.
- 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
- 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.
- 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