Аудити амнияти платформаи абрии MCS

Аудити амнияти платформаи абрии MCS
Шабакаи SkyShip аз ҷониби SeerLight

Сохтани ҳама гуна хидматҳо ҳатман кори доимӣ оид ба амниятро дар бар мегирад. Амният як раванди муттасилест, ки таҳлил ва такмили амнияти маҳсулот, мониторинги хабарҳо дар бораи осебпазириҳо ва ғайраро дар бар мегирад. Аз ҷумла аудитҳо. Аудитҳо ҳам дар дохили хона ва ҳам аз ҷониби коршиносони беруна гузаронида мешаванд, ки онҳо метавонанд ба бехатарӣ ба таври куллӣ кӯмак расонанд, зеро онҳо ба лоиҳа ғарқ нашудаанд ва ақли кушода доранд.

Мақола дар бораи ин назари дақиқтарини коршиносони беруна, ки ба дастаи Mail.ru Cloud Solutions (MCS) дар санҷиши хидмати абрӣ кӯмак кардаанд ва дар бораи он чизе, ки онҳо пайдо кардаанд. Ҳамчун "қувваи беруна", MCS ширкати Digital Security-ро интихоб кард, ки бо таҷрибаи баланди худ дар доираҳои амнияти иттилоотӣ маъруф аст. Ва дар ин мақола мо баъзе осебпазириҳои ҷолиберо, ки дар доираи аудити беруна пайдо шудаанд, таҳлил хоҳем кард - то шумо ҳангоми эҷоди хидмати абрии худ аз ҳамон рейк канорагирӣ кунед.

Тавсифи маҳсулот

Mail.ru Cloud Solutions (MCS) платформа барои сохтани инфрасохтори маҷозӣ дар абр аст. Он IaaS, PaaS ва як бозори тасвирҳои омодаи барномаҳоро барои таҳиягарон дар бар мегирад. Бо назардошти меъмории MCS, зарур буд, ки бехатарии маҳсулотро дар самтҳои зерин тафтиш кунед:

  • ҳифзи инфрасохтори муҳити виртуализатсия: гипервизорҳо, масир, деворҳо;
  • ҳифзи инфрасохтори виртуалии муштариён: ҷудошавӣ аз ҳамдигар, аз ҷумла шабака, шабакаҳои хусусӣ дар SDN;
  • OpenStack ва ҷузъҳои кушодаи он;
  • S3 тарҳи худамон;
  • IAM: лоиҳаҳои бисёриҷорадор бо намунаи ибрат;
  • Биниш (биниши компютерӣ): APIҳо ва осебпазириҳо ҳангоми кор бо тасвирҳо;
  • интерфейси веб ва ҳамлаҳои классикии веб;
  • осебпазирии ҷузъҳои PaaS;
  • API аз ҳама ҷузъҳо.

Шояд ин ҳама чизест, ки барои таърихи минбаъда муҳим аст.

Чй гуна кор ба чо оварда шуд ва барои чй лозим буд?

Аудити амният ба муайян кардани осебпазирӣ ва хатогиҳои конфигуратсия нигаронида шудааст, ки метавонад боиси ихроҷи маълумоти шахсӣ, тағир додани маълумоти ҳассос ё халалдор шудани дастрасии хидмат гардад.

Дар давоми кор, ки ба ҳисоби миёна 1-2 моҳ давом мекунад, аудиторҳо амали ҳамлагарони эҳтимолиро такрор мекунанд ва осебпазириро дар қисмҳои мизоҷ ва сервери хидмати интихобшуда ҷустуҷӯ мекунанд. Дар заминаи аудити платформаи абрии MCS, ҳадафҳои зерин муайян карда шуданд:

  1. Таҳлили аутентификатсия дар хидмат. Офтобҳо дар ин ҷузъ барои фавран ворид шудан ба суратҳисобҳои одамони дигар кӯмак мекунанд.
  2. Омӯзиши намунаи нақш ва назорати дастрасӣ байни ҳисобҳои гуногун. Барои ҳамлагар, қобилияти дастрасӣ ба мошини виртуалии ягон кас ҳадафи дилхоҳ аст.
  3. Заифии ҷониби муштарӣ. XSS/CSRF/CRLF/ва ғайра. Оё тавассути истинодҳои зараровар ба корбарони дигар ҳамла кардан мумкин аст?
  4. Офтобҳои тарафи сервер: RCE ва ҳама намудҳои тазриќ (SQL/XXE/SSRF ва ғайра). Дарёфти осебпазирии серверҳо мушкилтар аст, аммо онҳо якбора ба созиши бисёр корбарон оварда мерасонанд.
  5. Таҳлили ҷудокунии сегменти корбар дар сатҳи шабака. Барои ҳамлагар, набудани изолятсия сатҳи ҳамларо нисбат ба корбарони дигар хеле зиёд мекунад.
  6. Таҳлили мантиқи тиҷорат. Оё мумкин аст, ки тиҷоратҳоро фиреб диҳед ва мошинҳои виртуалиро ройгон созед?

Дар ин лоиҳа кор аз рӯи модели «Gray-box» анҷом дода шуд: аудиторҳо бо хидмат бо имтиёзҳои корбарони оддӣ ҳамкорӣ мекарданд, аммо қисман рамзи ибтидоии API доштанд ва имкон доштанд, ки тафсилотро бо таҳиягарон равшан кунанд. Ин одатан аз ҳама қулай ва дар айни замон хеле воқеии кор аст: маълумоти дохилиро ҳанӯз ҳам ҳамлагар ҷамъ карда метавонад, ин танҳо масъалаи вақт аст.

Норасоиҳо пайдо шуданд

Пеш аз он ки аудитор ба ҷойҳои тасодуфӣ фиристодани борҳои гуногунро (боре, ки барои ҳамла истифода мешавад) оғоз кунад, фаҳмидан лозим аст, ки корҳо чӣ гуна кор мекунанд ва кадом функсияҳо таъмин карда мешаванд. Чунин ба назар мерасад, ки ин машқи бефоида аст, зеро дар аксари ҷойҳои омӯхташуда ягон осебпазирӣ вуҷуд надорад. Аммо танҳо фаҳмидани сохтори барнома ва мантиқи кори он имкон медиҳад, ки мураккабтарин векторҳои ҳамларо пайдо кунем.

Ҷустуҷӯи ҷойҳое, ки шубҳанок ба назар мерасанд ё аз дигарон хеле фарқ мекунанд, муҳим аст. Ва аввалин осебпазирии хатарнок бо ин роҳ пайдо шуд.

ИДОР

Офтобҳои IDOR (Истиноди мустақими объекти ноамнӣ) яке аз осебпазирии маъмултарин дар мантиқи тиҷорӣ мебошад, ки ба ин ё он имкон медиҳад, ки ба объектҳое дастрасӣ пайдо кунанд, ки дастрасӣ ба онҳо воқеан иҷозат дода нашудааст. осебпазирии IDOR имкони ба даст овардани маълумотро дар бораи корбаре, ки дараҷаҳои гуногуни интиқодӣ доранд, фароҳам меорад.

Яке аз вариантҳои IDOR иҷрои амалҳо бо объектҳои система (истифодабарандагон, суратҳисобҳои бонкӣ, ашё дар аробаи харид) тавассути коркарди идентификаторҳои дастрасӣ ба ин объектҳо мебошад. Ин ба оқибатҳои пешгӯинашаванда оварда мерасонад. Масалан, имкони иваз кардани ҳисоби фиристандаи маблағ, ки тавассути он шумо метавонед онҳоро аз дигар корбарон дуздед.

Дар мавриди MCS, аудиторон танҳо як осебпазирии IDOR-ро, ки бо идентификаторҳои ғайриамнӣ алоқаманданд, кашф карданд. Дар ҳисоби шахсии корбар идентификаторҳои UUID барои дастрасӣ ба ҳама гуна объектҳо истифода мешуданд, ки ба гуфтаи коршиносони амниятӣ ба таври таъсирбахш ноамн буданд (яъне аз ҳамлаҳои бераҳмона ҳифз шудаанд). Аммо барои баъзе субъектҳо маълум шуд, ки рақамҳои муқаррарии пешбинишаванда барои ба даст овардани маълумот дар бораи корбарони барнома истифода мешаванд. Ман фикр мекунам, ки шумо метавонед тахмин кунед, ки идентификатори корбарро як маротиба иваз кардан, дархостро дубора ирсол кардан ва ба ин васила маълумотро бо гузашти ACL (рӯйхати назорати дастрасӣ, қоидаҳои дастрасии маълумот барои равандҳо ва корбарон) ба даст овардан мумкин буд.

Сохтакории дархости ҷониби сервер (SSRF)

Чизи хуби маҳсулоти OpenSource дар он аст, ки онҳо дорои шумораи зиёди форумҳо бо тавсифи муфассали техникии мушкилоте, ки ба миён меоянд ва агар шумо хушбахт бошед, тавсифи ҳалли онҳо. Аммо ин танга як паҳлӯ дорад: осебпазириҳои маълум низ ба таври муфассал тавсиф шудаанд. Масалан, дар форуми OpenStack тавсифҳои аҷиби осебпазирӣ мавҷуданд [XSS] и [SSRF], ки аз чй сабаб бошад, ки касе ба ислохи он шитоб намекунад.

Функсияи маъмули барномаҳо қобилияти фиристодани истинод ба сервер мебошад, ки сервер онро клик мекунад (масалан, барои зеркашии тасвир аз манбаи муайян). Агар асбобҳои амниятӣ истинодҳоро худашон филтр накунанд ё посухҳои аз сервер ба корбарон баргардонидашударо филтр накунанд, чунин функсияҳоро ҳамлагарон ба осонӣ истифода мебаранд.

Осебпазирии SSRF метавонад рушди ҳамларо хеле пеш барад. Ҳамлагар метавонад:

  • дастрасии маҳдуд ба шабакаи маҳаллии ҳамлашуда, масалан, танҳо тавассути сегментҳои муайяни шабака ва бо истифода аз протоколи муайян;
  • дастрасии пурра ба шабакаи маҳаллӣ, агар поин рафтан аз сатҳи барнома ба сатҳи нақлиёт имконпазир бошад ва дар натиҷа, идоракунии пурраи сарборӣ дар сатҳи барнома;
  • дастрасӣ ба хондани файлҳои маҳаллӣ дар сервер (агар схемаи file:/// дастгирӣ карда шавад);
  • ва бештар.

Дар OpenStack осебпазирии SSRF кайҳо боз маълум аст, ки табиатан "кӯр" аст: вақте ки шумо бо сервер тамос мегиред, шумо аз он ҷавоб намегиред, аммо вобаста ба натиҷаи дархост шумо намудҳои гуногуни хатогиҳо/таъхирҳоро мегиред. . Дар асоси ин, шумо метавонед скан кардани портро дар ҳостҳои шабакаи дохилӣ бо ҳама оқибатҳои минбаъда, ки набояд нодида гирифт, анҷом диҳед. Масалан, маҳсулот метавонад API-и бэк-офис дошта бошад, ки танҳо аз шабакаи корпоративӣ дастрас аст. Бо ҳуҷҷатҳо (дар бораи инсайдерҳо фаромӯш накунед), ҳамлакунанда метавонад SSRF-ро барои дастрасӣ ба усулҳои дохилӣ истифода барад. Масалан, агар шумо бо ягон роҳ рӯйхати тақрибии URL-ҳои муфидро ба даст оварда тавонед, пас бо истифода аз SSRF шумо метавонед тавассути онҳо гузаред ва дархостро иҷро кунед - нисбатан гӯем, пулро аз суратҳисоб ба суратҳисоб интиқол диҳед ё маҳдудиятҳоро тағир диҳед.

Ин бори аввал нест, ки осебпазирии SSRF дар OpenStack ошкор мешавад. Дар гузашта имкон дошт, ки тасвирҳои VM ISO аз пайванди мустақим зеркашӣ карда шавад, ки ин низ ба оқибатҳои шабеҳ оварда расонд. Ин хусусият ҳоло аз OpenStack хориҷ карда шудааст. Аз афташ, ахли чамъият инро оддитарин ва боэътимодтарин халли масъала хисоб мекард.

Ва дар ин гузориши дастраси оммавӣ аз хидмати HackerOne (h1), истифодаи SSRF-и дигар нобино бо қобилияти хондани метамаълумоти мисол боиси дастрасии решавӣ ба тамоми инфрасохтори Shopify мегардад.

Дар MCS, осебпазирии SSRF дар ду ҷой бо функсияҳои шабеҳ кашф карда шуд, аммо аз сабаби деворҳои деворҳо ва дигар муҳофизатҳо истифода бурдани онҳо қариб ғайриимкон буд. Бо ин ё он роҳ, дастаи MCS ин мушкилотро ба ҳар ҳол бидуни интизории ҷомеа ҳал кард.

XSS ба ҷои боркунии снарядҳо

Сарфи назар аз садҳо таҳқиқоти навишташуда, сол ба сол ҳамлаи XSS (скрипти байни сайтҳо) ҳанӯз ҳам бештар аст зуд-зуд дучор меоянд осебпазирии веб (ё ҳамла?).

Боркунии файлҳо ҷои дӯстдоштаи ҳар як муҳаққиқи амният мебошанд. Аксар вақт маълум мешавад, ки шумо метавонед скрипти ихтиёриро (asp/jsp/php) бор кунед ва фармонҳои ОС-ро бо истилоҳоти pentesters - "боркунии shell" иҷро кунед. Аммо маъруфияти чунин осебпазириҳо дар ҳар ду самт кор мекунад: онҳо дар хотир нигоҳ дошта мешаванд ва бар зидди онҳо чораҳо таҳия карда мешаванд, то ки вақтҳои охир эҳтимолияти "бор кардани снаряд" ба сифр баробар шавад.

Дастаи ҳамлакунанда (аз ҷониби Digital Security намояндагӣ мекунад) бахт омад. Хуб, дар MCS дар тарафи сервер мундариҷаи файлҳои зеркашида тафтиш карда шуд, танҳо тасвирҳо иҷозат дода шуданд. Аммо SVG инчунин тасвир аст. Чӣ тавр тасвирҳои SVG хатарнок буда метавонанд? Зеро шумо метавонед пораҳои JavaScript-ро дар онҳо ҷойгир кунед!

Маълум шуд, ки файлҳои зеркашидашуда барои ҳама корбарони хидмати MCS дастрасанд, яъне ба дигар корбарони абр, яъне ба маъмурон ҳамла кардан мумкин аст.

Аудити амнияти платформаи абрии MCS
Намунаи ҳамлаи XSS ба шакли воридшавии фишинг

Намунаҳои истисмори ҳамлаҳои XSS:

  • Чаро кӯшиш кунед, ки сессияро дуздед (махсусан аз он ки ҳоло кукиҳои HTTP-танҳо дар ҳама ҷо ҳастанд ва аз дуздӣ бо истифода аз скриптҳои js ҳифз шудаанд), агар скрипти боршуда фавран ба API захиравӣ дастрасӣ пайдо кунад? Дар ин ҳолат, сарборӣ метавонад дархостҳои XHR-ро барои тағир додани конфигуратсияи сервер истифода барад, масалан, калиди ҷамъиятии SSH-и ҳамлакунандаро илова кунад ва дастрасии SSH-ро ба сервер ба даст орад.
  • Агар сиёсати CSP (сиёсати ҳифзи мундариҷа) ворид кардани JavaScript-ро манъ кунад, ҳамлакунанда метавонад бидуни он мубориза барад. Бо истифода аз HTML-и холис, шакли воридшавии қалбакӣ барои сайт эҷод кунед ва пароли администраторро тавассути ин фишинги пешрафта дуздед: саҳифаи фишинг барои корбар дар ҳамон URL хотима меёбад ва ошкор кардани он барои корбар мушкилтар аст.
  • Ниҳоят, ҳамлакунанда метавонад тартиб диҳад муштарӣ DoS — кукиҳои калонтар аз 4 KB насб кунед. Ба корбар лозим аст, ки истинодро танҳо як маротиба кушояд ва тамоми сайт то он даме, ки корбар фикр намекунад, ки браузерро махсус тоза кунад, дастнорас мешавад: дар аксари мавридҳо сервери интернетӣ қабули чунин муштариро рад мекунад.

Биёед мисоли XSS-и дигари ошкоршударо бубинем, ки ин дафъа бо истисмори оқилонатар. Хидмати MCS ба шумо имкон медиҳад, ки танзимоти деворро ба гурӯҳҳо якҷоя кунед. Номи гурӯҳ дар он ҷое буд, ки XSS ошкор карда шуд. Хусусияти он дар он буд, ки вектор фавран на ҳангоми дидани рӯйхати қоидаҳо, балки ҳангоми нест кардани гурӯҳ:

Аудити амнияти платформаи абрии MCS

Яъне, сенария чунин шуд: ҳамлагар қоидаи брандмауэрро бо "бор" дар ном эҷод мекунад, маъмур пас аз муддате онро пай мебарад ва раванди ҳазфкуниро оғоз мекунад. Ва дар ин ҷо JS зараровар кор мекунад.

Барои таҳиягарони MCS барои муҳофизат аз XSS дар тасвирҳои SVG боршуда (агар онҳоро партофтан имконнопазир бошад), гурӯҳи Амнияти рақамӣ тавсия дод:

  • Файлҳои боркардаи корбаронро дар домени алоҳида ҷойгир кунед, ки бо "кукиҳо" ҳеҷ иртиботе надоранд. Скрипт дар заминаи домени дигар иҷро карда мешавад ва ба MCS таҳдид намекунад.
  • Дар посухи HTTP-и сервер сарлавҳаи "Content-disposition: замима" -ро фиристед. Он гоҳ файлҳо аз ҷониби браузер зеркашӣ карда мешаванд ва иҷро намешаванд.

Илова бар ин, ҳоло роҳҳои зиёде барои таҳиягарон барои кам кардани хатарҳои истисмори XSS мавҷуданд:

  • бо истифода аз парчами "Танҳо HTTP" шумо метавонед сарлавҳаҳои сессияи "Cookies"-ро барои JavaScript-и зараровар дастнорас гардонед;
  • сиёсати CSP дуруст ба амал бароварда шуд барои ҳамлакунанда истисмори XSS-ро хеле душвортар мекунад;
  • муҳаррикҳои шаблонҳои муосир ба монанди Angular ё React маълумоти корбарро пеш аз баровардани он ба браузери корбар ба таври худкор тоза мекунанд.

осебпазирии аутентификатсияи ду омил

Барои беҳтар кардани амнияти ҳисоб, ба корбарон ҳамеша тавсия дода мешавад, ки 2FA-ро фаъол созанд (автентификатсияи ду-омил). Дарвоқеъ, ин як роҳи муассири пешгирии дастрасии ҳамлагар ба хидмат дар сурати осеб дидани маълумоти корбар аст.

Аммо оё истифодаи омили дуввуми аутентификатсия ҳамеша бехатарии ҳисобро кафолат медиҳад? Дар татбиқи 2FA масъалаҳои зерини амният мавҷуданд:

  • Ҷустуҷӯи шадиди коди OTP (рамзҳои яквақта). Сарфи назар аз соддагии амалиёт, хатогиҳо ба монанди набудани муҳофизат аз қувваи бераҳмонаи OTP низ дар ширкатҳои бузург дучор меоянд: Ҳолати суст, Парвандаи Facebook.
  • Алгоритми насли заиф, масалан қобилияти пешгӯии рамзи оянда.
  • Хатогиҳои мантиқӣ, ба монанди қобилияти дархост кардани OTP-и ягон каси дигар дар телефони шумо, ба ин монанд ки аз Shopify.

Дар мавриди MCS, 2FA дар асоси Google Authenticator ва тамассук. Худи протокол аллакай бо вақт санҷида шудааст, аммо татбиқи санҷиши код дар тарафи барнома қобили тафтиш аст.

MCS 2FA дар якчанд ҷойҳо истифода мешавад:

  • Ҳангоми тасдиқи корбар. Муҳофизат аз қувваи бераҳмона вуҷуд дорад: корбар танҳо якчанд кӯшиши ворид кардани пароли яквақта дорад, пас вуруд барои муддате баста мешавад. Ин имкони интихоби қувваи бераҳмонаи OTP-ро бозмедорад.
  • Ҳангоми тавлиди кодҳои эҳтиётии офлайнӣ барои иҷрои 2FA, инчунин хомӯш кардани он. Дар ин ҷо ҳеҷ гуна муҳофизати қувваи бераҳмона амалӣ карда нашудааст, ки ин имкон дод, ки агар шумо парол барои ҳисоб ва сессияи фаъол дошта бошед, рамзҳои эҳтиётиро барқарор кунед ё 2FA-ро комилан хомӯш кунед.

Бо дарназардошти он, ки рамзҳои эҳтиётӣ дар ҳамон диапазони арзишҳои сатр, ки аз ҷониби барномаи OTP тавлид шудаанд, ҷойгир буданд, имкони пайдо кардани код дар муддати кӯтоҳ хеле баландтар буд.

Аудити амнияти платформаи абрии MCS
Раванди интихоби OTP барои хомӯш кардани 2FA бо истифода аз абзори "Burp: Intruder"

Дар натиҷа

Дар маҷмӯъ, MCS ҳамчун маҳсулот бехатар ба назар мерасад. Ҳангоми аудит, дастаи пентестинг натавонистааст ба VM-ҳои муштарӣ ва маълумоти онҳо дастрасӣ пайдо кунад ва осебпазириҳои дарёфтшуда аз ҷониби дастаи MCS зуд ислоҳ карда шуданд.

Аммо дар ин чо бояд кайд кард, ки амният кори доимист. Хидматҳо статикӣ нестанд, онҳо доимо инкишоф меёбанд. Ва комилан бе осебпазирӣ тавлид кардани маҳсулот ғайриимкон аст. Аммо шумо метавонед онҳоро сари вақт пайдо кунед ва эҳтимолияти такрори онҳоро кам кунед.

Ҳоло ҳама осебпазириҳои зикршуда дар MCS аллакай ислоҳ шудаанд. Ва бо мақсади ба ҳадди ақал нигоҳ доштани шумораи навгониҳо ва кам кардани мӯҳлати онҳо, дастаи платформа ин корро идома медиҳад:

  • мунтазам гузаронидани аудити ширкатҳои хориҷӣ;
  • дастгирй ва инкишоф додани иштирок дар барномаи Mail.ru Group Bug Bounty;
  • ба амният машғул шаванд. 🙂

Манбаъ: will.com

Илова Эзоҳ