How to prevent XML external entity attacks
Some of the ways to prevent XML External Entity attacks, according to OWASP, are:
Whenever possible, use less complex data formats ,such as JSON, and avoid serialization of sensitive data.
Patch or upgrade all XML processors and libraries in use by the application or on the underlying operating system.
Use dependency checkers (update SOAP to SOAP 1.2 or higher).
Disable XML external entity and DTD processing in all XML parsers in the application, as per the OWASP Cheat Sheet ‘XXE Prevention.’
Implement positive (“allowlisting”) server-side input validation, filtering, or sanitization to prevent hostile data within XML documents, headers, or nodes.
Verify that XML or XSL file upload functionality validates incoming XML using XSD validation or similar.
SAST tools can help detect XXE in source code – although manual code review is the best alternative in large, complex applications with many integrations.
If these controls are not possible, consider using:
Virtual patching
API security gateways
Web Application Firewalls (WAFs) to detect, monitor, and block XXE attacks
Ma'lumotlar ta'sirini qanday oldini olish mumkin OWASP ma'lumotlariga ko'ra, ma'lumotlar ta'sirini oldini olishning ba'zi usullari: Ilova tomonidan qayta ishlangan, saqlanadigan yoki uzatiladigan ma'lumotlarni tasniflang. Maxfiylik qonunlari, tartibga soluvchi talablar yoki biznes ehtiyojlariga muvofiq qaysi maʼlumotlar nozikligini aniqlang. Tasniflash bo'yicha boshqarish vositalarini qo'llang. Maxfiy ma'lumotlarni keraksiz saqlamang. Uni imkon qadar tezroq tashlang yoki PCI DSS-ga mos keladigan tokenizatsiya yoki hatto kesishdan foydalaning. Saqlanmagan ma'lumotlarni o'g'irlab bo'lmaydi. Dam olish paytida barcha maxfiy ma'lumotlarni shifrlaganingizga ishonch hosil qiling. Eng yangi va kuchli standart algoritmlar, protokollar va kalitlar mavjudligini ta'minlash; to'g'ri kalit boshqaruvidan foydalaning. Tranzitdagi barcha ma'lumotlarni xavfsiz protokollar, masalan, mukammal oldinga siljish (PFS) shifrlari, server tomonidan shifr ustuvorligi va xavfsiz parametrlar bilan shifrlang. HTTP qat'iy transport xavfsizligi (HSTS) kabi direktivalar yordamida shifrlashni amalga oshiring. Nozik ma'lumotlarni o'z ichiga olgan javoblar uchun keshlashni o'chiring. Argon2, scrypt, bcrypt yoki PBKDF2 kabi ish omili (kechikish omili) bilan kuchli moslashuvchan va tuzlangan xeshlash funksiyalaridan foydalangan holda parollarni saqlang. Konfiguratsiya va sozlamalarning samaradorligini mustaqil ravishda tekshiring. XML tashqi ob'ektlari (XXE) Vikipediyaga ko'ra, XML tashqi ob'ektiga hujum - bu XML kiritishni tahlil qiluvchi dasturga qarshi hujum turi. Ushbu hujum tashqi ob'ektga havolani o'z ichiga olgan XML kiritish zaif sozlangan XML tahlilchisi tomonidan ishlov berilganda sodir bo'ladi. Aksariyat XML tahlilchilari sukut bo'yicha XXE hujumlariga zaifdir. Shuning uchun dasturda ushbu zaiflikka ega bo'lmasligini ta'minlash uchun javobgarlik asosan ishlab chiquvchiga yuklanadi. XML tashqi ob'ekt hujum vektorlari nima? OWASP Top 10 ga ko'ra, XML tashqi ob'ektlari (XXE) asosiy hujum vektorlari quyidagilardan foydalanishni o'z ichiga oladi: Zararli aktyorlar XML yuklashi yoki XML hujjatiga dushmanlik mazmunini kiritishi mumkin bo'lsa, zaif XML protsessorlari Zaif kod Zaif qaramliklar Zaif integratsiya XML tashqi ob'ekt hujumlarini qanday oldini olish mumkin OWASP ma'lumotlariga ko'ra, XML tashqi ob'ekt hujumlarini oldini olishning ba'zi usullari: Iloji bo'lsa, JSON kabi kamroq murakkab ma'lumotlar formatlaridan foydalaning va maxfiy ma'lumotlarni ketma-ketlashtirishdan saqlaning. Ilova tomonidan yoki asosiy operatsion tizimda foydalaniladigan barcha XML protsessorlari va kutubxonalarini tuzatish yoki yangilash. Tobelik tekshiruvlaridan foydalaning (SOAPni SOAP 1.2 yoki undan yuqori versiyaga yangilang). OWASP Cheat Sheet "XXE Prevention" ga binoan ilovadagi barcha XML tahlilchilarida XML tashqi ob'ekti va DTD ishlovini o'chirib qo'ying. XML hujjatlari, sarlavhalari yoki tugunlari ichida zararli ma'lumotlarni oldini olish uchun server tomonidan ijobiy ("ruxsat berilgan ro'yxat") kiritishni tekshirish, filtrlash yoki tozalashni amalga oshiring. XML yoki XSL faylni yuklash funksiyasi kiruvchi XMLni XSD tekshiruvi yoki shunga oʻxshash tarzda tekshirishini tasdiqlang. SAST vositalari manba kodida XXE ni aniqlashga yordam beradi - garchi qo'lda kodni ko'rib chiqish ko'plab integratsiyalarga ega bo'lgan katta, murakkab ilovalarda eng yaxshi alternativ hisoblanadi. Agar ushbu nazoratni amalga oshirish imkoni bo'lmasa, quyidagilardan foydalanishni o'ylab ko'ring: Virtual tuzatish API xavfsizlik shlyuzlari XXE hujumlarini aniqlash, kuzatish va blokirovka qilish uchun veb-ilovalar xavfsizlik devorlari (WAF).
Do'stlaringiz bilan baham: |