Az API-k a webalkalmazásnál is kitettebbek, mert nincs mögöttük felület, ami korlátozná a használatot. Jogosultság, korlátozás, verziókezelés.
Az API-k biztonsága azért külön téma, mert hiányzik az a védőréteg, amit a felhasználói felület jelent. Egy webalkalmazásnál a felület korlátozza, mit lehet kérni; egy API-nál a kliens bármit küldhet, bármilyen sorrendben.
A leggyakoribb és legsúlyosabb hiba. Az API ellenőrzi a tokent, de nem ellenőrzi, hogy az adott felhasználó jogosult-e a kért objektumra.
GET /api/orders/8842 visszaadja a rendelést, akkor is, ha az valaki másé. Ez automatizált eszközzel nem található meg, mert a kérés technikailag helyes.
Amit tenni kell: minden objektum-hozzáférésnél szerveroldali jogosultság-ellenőrzés. Ne a kliens által küldött azonosítóban bízzon, hanem a tokenből származó identitásban.
Az API a teljes objektumot visszaadja, a kliens pedig csak egy részét jeleníti meg. A többi ott van a válaszban, és bárki megnézheti.
Tipikus eset: a felhasználói profil végpontja visszaadja a jelszó-hasht, a belső azonosítókat vagy más felhasználók adatait.
Amit tenni kell: a válasz explicit összeállítása, mezőnként. Ne a teljes adatbázis-objektumot sorosítsa.
Ha nincs korlátozás, egy végpont brute force támadásra, adatgyűjtésre vagy szolgáltatásmegtagadásra használható. A bejelentkezési és a jelszó-visszaállítási végpont a legérzékenyebb.
Amit tenni kell: korlátozás felhasználónként és IP-címenként, eltérő küszöbbel a különböző végpontokon.
Az API elfogadja a kliens által küldött összes mezőt, és beírja az objektumba. A támadó hozzáad egy "role": "admin" mezőt, és megkapja.
Amit tenni kell: engedélyezőlista a módosítható mezőkre. Ami nincs kifejezetten engedélyezve, azt figyelmen kívül kell hagyni.
Az /api/v1 mellé jött a v2, de a v1 továbbra is fut, mert néhány kliens még használja. A régi verzióban ott vannak a régi hibák.
Amit tenni kell: verzió-leltár, kivezetési terv, és a nem használt verziók lekapcsolása. A hozzáférési naplóból kiderül, tényleg használja-e még valaki.
Rövid élettartam. A hozzáférési token élettartama legyen rövid, és frissítő tokennel megújítható. A soha le nem járó token elveszettként is működik.
Hatókör-korlátozás. A token csak arra jogosítson, amire a kliensnek szüksége van, ne mindenre.
Ne az URL-ben. A tokent fejlécben kell küldeni, mert az URL a naplókban és a hivatkozókban is megjelenik.
Visszavonhatóság. Kell egy mód a token azonnali érvénytelenítésére kompromittálódás esetén.
Az IT biztonsági szolgáltatásaink és a penetrációs tesztelés is kiterjed az API-rétegre.
Az OWASP Top 10 legfontosabb tételei érthetően: jogosultsági hibák, injektálás, hitelesítés. Mit tesztel…
Professzionális penetrációs tesztelés, biztonsági auditok és SOC szolgáltatások az ARLITECH-től, fedezze…
Nem kell teljes DevSecOps program. Melyik öt lépés adja a legnagyobb védelmet a fejlesztési folyamatban,…
Szakértőink szívesen átbeszélik, mit jelent mindez az Ön szervezetének környezetében.