Миллиард күлкі шабуыл жасайды - Billion laughs attack

Жылы компьютердің қауіпсіздігі, а миллиард күлкі шабуыл жасайды түрі болып табылады қызмет көрсетуден бас тарту (DoS) шабуылы бағытталған талдаушылар туралы XML құжаттар.[1]

Ол сондай-ақ XML бомбасы немесе экспоненциалды нысанды кеңейтуге шабуыл ретінде.[2]

Егжей

Мысал шабуыл 10 объектіні анықтаудан тұрады, олардың әрқайсысы алдыңғы бірліктің 10-нан тұрады деп белгіленеді, және құжат бір объектке дейін кеңейетін ең үлкен нысанның бір данасынан тұрады. миллиард бірінші ұйымның көшірмелері.

Жиі келтірілген мысалда бірінші субъект болып табылады жіп "қатты күлу «, сондықтан» миллиард күледі «деген атау пайда болды. Сол кезде бұл осалдық туралы бірінші рет хабарланған болатын компьютер жады «lol» жолының миллиард данасы XML-ді талдауға болатыннан асып түсуі мүмкін.

Шабуылдың бастапқы формасы арнайы XML талдаушыларына бағытталған болса да, бұл термин ұқсас тақырыптарға да қатысты болуы мүмкін.[1]

Мәселе туралы алғаш рет 2002 жылы хабарланған,[3] бірақ 2008 жылдан бастап кеңінен қарастырыла бастады.[4]

Шабуылдың мұндай түріне қарсы қорғаныс, егер құжаттың жоғалуы қолайлы болса, жеке талдаушыға бөлінген жадты жабуды немесе объектілерді олардың мазмұны (және шамасында) пайдалану керек болған кезде ғана символдық түрде қарауды және оларды жалқау кеңейтуді қамтиды.

Код мысалы

<?xml нұсқа ="1.0"?> лолз [  қатты күлу «қатты күлу»>  лолз (#PCDATA)>  lol1 «& lol; & lol; & lol; & lol; & lol; & lol; & lol; & lol; & lol; & lol;»>  lol2 «& lol1; & lol1; & lol1; & lol1; & lol1; & lol1; & lol1; & lol1; & lol1; & lol1; & lol1;»>  lol3 «& lol2; & lol2; & lol2; & lol2; & lol2; & lol2; & lol2; & lol2; & lol2; & lol2; & lol2;»>  lol4 «& lol3; & lol3; & lol3; & lol3; & lol3; & lol3; & lol3; & lol3; & lol3; & lol3;»>  lol5 «& lol4; & lol4; & lol4; & lol4; & lol4; & lol4; & lol4; & lol4; & lol4; & lol4;»>  lol6 «& lol5; & lol5; & lol5; & lol5; & lol5; & lol5; & lol5; & lol5; & lol5; & lol5;»>  lol7 «& lol6; & lol6; & lol6; & lol6; & lol6; & lol6; & lol6; & lol6; & lol6; & lol6;»>  lol8 «& lol7; & lol7; & lol7; & lol7; & lol7; & lol7; & lol7; & lol7; & lol7; & lol7;»>  lol9 «& lol8; & lol8; & lol8; & lol8; & lol8; & lol8; & lol8; & lol8; & lol8; & lol8;»>]>>& lol9;>

XML талдаушысы осы құжатты жүктегенде, оның құрамында «& lol9;» мәтіні бар бір «lolz» түбірлік элементі бар екенін көреді. Алайда, «& lol9;» - «& lol8;» бар жолға дейін кеңейтілетін анықталған нысан. жіптер. Әрбір «& lol8;» жол - онға дейін кеңейтілетін анықталған нысан. жіптер және т.б. Нысанның барлық кеңеюі өңделгеннен кейін, бұл шағын (<1 КБ) XML блогы 10-дан тұрады9 = миллиард «лол», 3-ті алады гигабайт жады.[5]

Вариациялар

Жоғарыда сипатталған миллиард күлкі шабуылын алады экспоненциалды кеңістік мөлшері. The квадраттық үрлеу вариацияның себептері квадраттық өсу қоймадағы талаптарды ескере отырып, үлкен нысанды қайта-қайта қайталап, қатты ұялаған нысандарды анықтайтын қарсы шаралардан аулақ болыңыз.[6] (Қараңыз есептеу күрделілігі теориясы әр түрлі өсу кластарын салыстыру үшін.)

«Миллиард күледі» шабуылы кез-келген сілтеме болуы мүмкін кез келген файл форматы үшін болуы керек, мысалы ЯМЛ бомба:

а: & a [«қатты күлу»,«қатты күлу»,«қатты күлу»,«қатты күлу»,«қатты күлу»,«қатты күлу»,«қатты күлу»,«қатты күлу»,«қатты күлу»]б: & b [* а,* а,* а,* а,* а,* а,* а,* а,* а]c: & c [* б,* б,* б,* б,* б,* б,* б,* б,* б]г.: & d [* c,* c,* c,* c,* c,* c,* c,* c,* c]e: & e [* д,* д,* д,* д,* д,* д,* д,* д,* д]f: & f [* е,* е,* е,* е,* е,* е,* е,* е,* е]ж: & g [* f,* f,* f,* f,* f,* f,* f,* f,* f]сағ: & с [* ж,* ж,* ж,* ж,* ж,* ж,* ж,* ж,* ж]мен: & мен [* с,* с,* с,* с,* с,* с,* с,* с,* с]

Сияқты кәсіпорындағы бағдарламалық жасақтама Кубернет осы шабуылдан зардап шекті.[7] Осы себепті, сілтемелерге жол бермейтін файл пішімдері көбінесе сенімсіз көздерден алынған мәліметтерге артықшылық береді.[8][тексеру сәтсіз аяқталды ]

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ а б Гарольд, Эллиотт Русти (27 мамыр 2005). «Кеңес: қауіпсіз өңдеу үшін SAX талдағыштарын теңшеу». IBM developerWorks. Архивтелген түпнұсқа 2011 жылғы 4 наурызда. Алынған 4 наурыз 2011.
  2. ^ Салливан, Брайан (қараша 2009). «Қызметтік шабуылдар мен қорғаныстардан XML бас тарту». MSDN журналы. Microsoft корпорациясы. Алынған 2011-05-31.
  3. ^ «SecurityFocus». 2002-12-16. Алынған 2015-07-03.
  4. ^ «CVE-2003-1564». Жалпы осалдықтар мен әсер ету. MITER корпорациясы. 2003-02-02. Алынған 2011-06-01.
  5. ^ Брайан Салливан. «Қызметтік шабуылдар мен қорғаныстардан XML бас тарту». Алынған 2011-12-21.
  6. ^ https://docs.python.org/2/library/xml.html#xml-vulnerabilities
  7. ^ https://github.com/kubernetes/kubernetes/issues/83253
  8. ^ http://www.cio.com/article/3082084/web-development/xml-is-toast-long-live-json.html