Odit sekirite platfòm nwaj MCS la

Odit sekirite platfòm nwaj MCS la
SkyShip Dusk pa SeerLight

Bati nenpòt sèvis nesesèman gen ladan travay konstan sou sekirite. Sekirite se yon pwosesis kontinyèl ki gen ladan analiz konstan ak amelyorasyon nan sekirite pwodwi, siveyans nouvèl sou frajilite ak plis ankò. Ki gen ladan odit. Odit yo fèt tou de nan kay la ak pa ekspè ekstèn, ki moun ki ka radikalman ede ak sekirite paske yo pa benyen nan pwojè a epi yo gen yon lide ouvè.

Atik la se sou opinyon sa a ki pi senp nan ekspè ekstèn ki te ede Mail.ru Cloud Solutions (MCS) ekip la teste sèvis nwaj la, ak sou sa yo te jwenn. Kòm yon "fòs ekstèn," MCS te chwazi konpayi Sekirite Dijital la, li te ye pou gwo ekspètiz li nan ti sèk sekirite enfòmasyon. Ak nan atik sa a nou pral analize kèk vilnerabilite enteresan yo jwenn kòm yon pati nan yon odit ekstèn - pou ke ou evite rato a menm lè ou kreye pwòp sèvis nwaj ou.

Описание продукта

Mail.ru Cloud Solutions (MCS) se yon platfòm pou bati enfrastrikti vityèl nan nwaj la. Li gen ladann IaaS, PaaS, ak yon mache imaj aplikasyon pare pou devlopè yo. Lè w ap konsidere achitekti MCS a, li te nesesè yo tcheke sekirite pwodwi a nan zòn sa yo:

  • pwoteje enfrastrikti anviwònman Virtualization: hypervisors, routage, firewall;
  • pwoteksyon nan enfrastrikti vityèl kliyan yo: izolasyon youn ak lòt, ki gen ladan rezo, rezo prive nan SDN;
  • OpenStack ak konpozan louvri li yo;
  • S3 nan pwòp konsepsyon nou an;
  • IAM: pwojè milti-locataire ak yon modèl;
  • Vizyon (vizyon òdinatè): API ak frajilite lè w ap travay ak imaj;
  • koòdone entènèt ak atak entènèt klasik;
  • vilnerabilite nan eleman PaaS;
  • API nan tout konpozan.

Petèt se tout sa ki esansyèl pou plis istwa.

Ki kalite travay ki te fèt e poukisa li nesesè?

Yon kontwòl kontab sekirite vize pou idantifye vilnerabilite ak erè konfigirasyon ki ka mennen nan flit done pèsonèl, modifikasyon enfòmasyon sansib, oswa dezòd disponiblite sèvis yo.

Pandan travay la, ki dire an mwayèn 1-2 mwa, oditè repete aksyon atakan potansyèl yo epi chèche frajilite nan pati kliyan yo ak sèvè nan sèvis yo chwazi a. Nan kontèks odit platfòm nwaj MCS la, yo te idantifye objektif sa yo:

  1. Analiz otantifikasyon nan sèvis la. Vilnerabilite nan eleman sa a ta ede imedyatman antre nan kont lòt moun.
  2. Etidye modèl la ak kontwòl aksè ant diferan kont. Pou yon atakè, kapasite pou jwenn aksè nan machin vityèl yon lòt moun se yon objektif dezirab.
  3. Vulnerabilite bò kliyan yo. XSS/CSRF/CRLF/etc. Èske li posib pou atake lòt itilizatè yo atravè lyen move?
  4. Vulnerabilite bò sèvè: RCE ak tout kalite piki (SQL/XXE/SSRF ak sou sa). Vulnerabilite sèvè yo jeneralman pi difisil pou jwenn, men yo mennen nan konpwomi nan anpil itilizatè an menm tan.
  5. Analiz izolasyon segman itilizatè nan nivo rezo a. Pou yon atakè, mank de izolasyon anpil ogmante sifas la atak kont lòt itilizatè.
  6. Analiz lojik biznis. Èske li posib twonpe biznis ak kreye machin vityèl pou gratis?

Nan pwojè sa a, travay yo te fèt dapre modèl "Gray-box" la: oditè yo te kominike avèk sèvis la ak privilèj itilizatè òdinè, men pasyèlman posede kòd sous API a epi yo te gen opòtinite pou klarifye detay ak devlopè yo. Sa a se anjeneral ki pi pratik, ak nan menm tan an byen reyalis modèl nan travay: enfòmasyon entèn yo ka toujou kolekte pa yon atakè, li nan sèlman yon kesyon de tan.

Vilnerabilite yo jwenn

Anvan oditè a kòmanse voye plizyè chaj (chaj yo itilize pou fè atak la) nan kote o aza, li nesesè pou konprann ki jan bagay yo fonksyone ak ki fonksyonalite yo bay. Li ka sanble ke sa a se yon egzèsis initil, paske nan pi fò nan kote yo etidye pa pral gen frajilite. Men, sèlman konprann estrikti aplikasyon an ak lojik operasyon li yo pral fè li posib jwenn vektè yo atak ki pi konplèks.

Li enpòtan pou jwenn kote ki sanble sispèk oswa ki trè diferan de lòt moun nan kèk fason. Ak premye vilnerabilite danjere yo te jwenn nan fason sa a.

IDOR

IDOR (Insecure Direct Object Reference) vilnerabilite yo se youn nan frajilite ki pi komen nan lojik biznis, ki pèmèt youn oswa yon lòt jwenn aksè nan objè yo pa gen aksè aktyèlman. Vulnerabilite IDOR kreye posiblite pou jwenn enfòmasyon sou yon itilizatè ki gen diferan degre kritik.

Youn nan opsyon IDOR yo se pou fè aksyon ak objè sistèm (itilizatè yo, kont labank, atik nan charyo a) nan manipile idantifyan aksè a objè sa yo. Sa a mennen nan konsekans ki pi enprevizib. Pou egzanp, posibilite pou ranplase kont la nan moun k la nan lajan, atravè ki ou ka vòlè yo nan men lòt itilizatè.

Nan ka MCS, oditè jis dekouvri yon vilnerabilite IDOR ki asosye ak idantifyan ki pa an sekirite. Nan kont pèsonèl itilizatè a, yo te itilize idantifyan UUID pou jwenn aksè nan nenpòt objè, ki te sanble, jan ekspè sekirite yo di, enpresyonan ensekirite (ki se, pwoteje kont atak fòs brital). Men, pou sèten antite, yo te dekouvri ke nimewo regilye previzib yo itilize pou jwenn enfòmasyon sou itilizatè yo nan aplikasyon an. Mwen panse ke ou ka devine ke li te posib chanje ID itilizatè a pa youn, voye demann lan ankò epi konsa jwenn enfòmasyon kontoune ACL la (lis kontwòl aksè, règ aksè done pou pwosesis ak itilizatè).

Fouyaj demann bò sèvè (SSRF)

Bon bagay sou pwodwi OpenSource se ke yo gen yon gwo kantite fowòm ak deskripsyon teknik detaye sou pwoblèm yo ki rive epi, si ou gen chans, yon deskripsyon nan solisyon an. Men, pyès monnen sa a gen yon bò: frajilite li te ye yo dekri tou an detay. Pou egzanp, gen bèl deskripsyon nan frajilite sou fowòm nan OpenStack [XSS] и [SSRF], ki pou kèk rezon pèsonn pa prese ranje.

Yon fonksyonalite komen nan aplikasyon yo se kapasite pou itilizatè a voye yon lyen nan sèvè a, ki sèvè a klike sou (pa egzanp, telechaje yon imaj ki soti nan yon sous espesifik). Si zouti sekirite pa filtre lyen yo tèt yo oswa repons yo retounen nan sèvè a bay itilizatè yo, atakè yo ka fasilman itilize fonksyonalite sa yo.

Vulnerabilite SSRF ka avanse anpil nan devlopman yon atak. Yon atakè ka jwenn:

  • aksè limite nan rezo lokal atake a, pou egzanp, sèlman atravè sèten segman rezo ak lè l sèvi avèk yon pwotokòl sèten;
  • aksè konplè nan rezo lokal la, si desann soti nan nivo aplikasyon an nan nivo transpò a posib epi, kòm yon rezilta, jesyon plen chaj nan nivo aplikasyon an;
  • aksè pou li dosye lokal yo sou sèvè a (si file:/// konplo a sipòte);
  • ak plis ankò.

Yon vilnerabilite SSRF yo te konnen depi lontan nan OpenStack, ki se "avèg" nan nati: lè ou kontakte sèvè a, ou pa resevwa yon repons nan men li, men ou resevwa diferan kalite erè / reta, tou depann de rezilta demann lan. . Ki baze sou sa a, ou ka fè yon eskanè pò sou gen tout pouvwa a sou rezo entèn la, ak tout konsekans ki vini yo ki pa ta dwe souzèstime. Pou egzanp, yon pwodwi ka gen yon API back-office ki aksesib sèlman nan rezo antrepriz la. Avèk dokiman (pa bliye sou inisye), yon atakè ka itilize SSRF pou jwenn aksè nan metòd entèn yo. Pou egzanp, si ou te yon jan kanmenm kapab jwenn yon lis apwoksimatif nan URL itil, Lè sa a, lè l sèvi avèk SSRF ou ka ale nan yo epi egzekite yon demann - relativman pale, transfere lajan soti nan kont nan kont oswa chanje limit.

Sa a se pa premye fwa yo te dekouvri yon vilnerabilite SSRF nan OpenStack. Nan tan lontan an, li te posib telechaje imaj VM ISO soti nan yon lyen dirèk, ki te mennen tou nan konsekans menm jan an. Karakteristik sa a te retire kounye a nan OpenStack. Aparamman, kominote a konsidere sa a solisyon ki pi senp ak pi serye nan pwoblèm nan.

Ak nan sa a rapò ki disponib piblikman nan sèvis HackerOne (h1), eksplwatasyon yon SSRF ki pa avèg ak kapasite pou li metadata egzanp mennen nan aksè Rasin nan tout enfrastrikti Shopify la.

Nan MCS, vilnerabilite SSRF yo te dekouvri nan de kote ak fonksyonalite menm jan an, men yo te prèske enposib eksplwate akòz firewall ak lòt pwoteksyon. Yon fason oswa yon lòt, ekip MCS la te ranje pwoblèm sa a kanmenm, san yo pa tann kominote a.

XSS olye pou yo chaje kokiy

Malgre dè santèn de etid ekri, ane apre ane XSS (cross-site scripting) atak se toujou pi plis la rankontre souvan vilnerabilite entènèt (oswa atak?).

Téléchargements dosye yo se yon kote pi renmen pou nenpòt chèchè sekirite. Li souvan sanble ke ou ka chaje yon script abitrè (asp/jsp/php) epi egzekite kòmandman OS, nan tèminoloji pentesters - "chaj shell". Men, popilarite nan frajilite sa yo ap travay nan tou de direksyon: yo sonje yo ak remèd yo devlope kont yo, se konsa ke dènyèman pwobabilite pou "chaje yon kokiy" gen tandans a zewo.

Ekip atak la (reprezante pa Digital Security) te gen chans. OK, nan MCS sou bò sèvè a sa ki nan dosye telechaje yo te tcheke, imaj sèlman yo te pèmèt. Men, SVG se tou yon foto. Ki jan imaj SVG yo ka danjere? Paske ou ka entegre snippets JavaScript nan yo!

Li te tounen soti ke fichye telechaje yo disponib pou tout itilizatè sèvis MCS la, ki vle di ke li posib pou atake lòt itilizatè nwaj yo, sètadi administratè yo.

Odit sekirite platfòm nwaj MCS la
Yon egzanp yon atak XSS sou yon fòm login èskrokri

Egzanp eksplwatasyon atak XSS:

  • Poukisa eseye vòlè yon sesyon (sitou depi kounye a HTTP-Sèlman bonbon yo tout kote, pwoteje kont vòl lè l sèvi avèk scripts js), si script la chaje ka imedyatman jwenn aksè nan API a resous? Nan ka sa a, chaj la ka itilize demann XHR pou chanje konfigirasyon sèvè a, pou egzanp, ajoute kle piblik SSH atakè a epi jwenn aksè SSH nan sèvè a.
  • Si règleman CSP (politik pwoteksyon kontni) entèdi JavaScript pou yo te enjekte, yon atakè ka pase san li. Sèvi ak HTML pi, kreye yon fòm login fo pou sit la epi vòlè modpas administratè a atravè èskrokri avanse sa a: paj la èskrokri pou itilizatè a fini nan menm URL la, epi li pi difisil pou itilizatè a detekte li.
  • Finalman, atakè a ka fè aranjman kliyan DoS — mete bonbon ki pi gwo pase 4 KB. Itilizatè a sèlman bezwen louvri lyen an yon fwa, ak sit la tout antye vin aksesib jiskaske itilizatè a panse espesyalman netwaye navigatè a: nan vas majorite de ka, sèvè entènèt la pral refize aksepte yon kliyan konsa.

Ann gade nan yon egzanp yon lòt XSS detekte, fwa sa a ak yon eksplwatasyon pi entelijan. Sèvis MCS a pèmèt ou konbine paramèt pare-feu an gwoup. Non gwoup la te kote XSS la te detekte. Espesyalite li yo te ke vektè a pa te deklanche imedyatman, pa lè w ap gade lis la nan règ, men lè efase yon gwoup:

Odit sekirite platfòm nwaj MCS la

Sa vle di, senaryo a te vin tounen sa ki annapre yo: yon atakè kreye yon règ firewall ak "chaj" nan non an, administratè a remake li apre yon ti tan epi kòmanse pwosesis la efase. Epi sa a se kote JS move a ap travay.

Pou devlopè MCS yo, pou pwoteje kont XSS nan imaj SVG telechaje yo (si yo pa ka abandone yo), ekip Sekirite Dijital la rekòmande:

  • Mete fichye itilizatè yo telechaje sou yon domèn separe ki pa gen anyen fè ak "bonbon". Script la pral egzekite nan yon kontèks yon domèn diferan epi li pa pral reprezante yon menas pou MCS.
  • Nan repons HTTP sèvè a, voye header "Content-disposition: attachment". Lè sa a, dosye yo pral telechaje pa navigatè a epi yo pa egzekite.

Anplis de sa, kounye a gen plizyè fason disponib pou devlopè yo bese risk eksplwatasyon XSS:

  • lè l sèvi avèk "HTTP sèlman" drapo a, ou ka fè sesyon "Cookies" headers inaksesib a JavaScript move;
  • kòrèkteman aplike politik CSP pral rann li pi difisil pou yon atakè eksplwate XSS;
  • motè modèl modèn tankou Angular oswa React otomatikman dezenfekte done itilizatè yo anvan yo soti yo nan navigatè itilizatè a.

De-faktè vilnerabilite otantifikasyon

Pou amelyore sekirite kont, itilizatè yo toujou konseye pou pèmèt 2FA (otantifikasyon de faktè). Vreman vre, sa a se yon fason efikas pou anpeche yon atakè jwenn aksè nan yon sèvis si kalifikasyon itilizatè a yo te konpwomèt.

Men, èske w ap itilize yon dezyèm faktè otantifikasyon toujou garanti sekirite kont? Gen pwoblèm sekirite sa yo nan aplikasyon 2FA:

  • Rechèch fòs brital nan kòd OTP la (kod yon sèl fwa). Malgre senplisite operasyon an, gwo konpayi yo rankontre erè tankou mank de pwoteksyon kont fòs brital OTP: Ka kanson, ka Facebook.
  • Algorithm jenerasyon fèb, pou egzanp kapasite nan predi pwochen kòd la.
  • Erè lojik, tankou kapasite pou mande OTP yon lòt moun sou telefòn ou, tankou sa a te soti nan Shopify.

Nan ka MCS, 2FA aplike ki baze sou Google Authenticator ak Duo. Pwotokòl nan tèt li te deja teste tan, men aplikasyon an nan verifikasyon kòd sou bò aplikasyon an vo tcheke.

MCS 2FA yo itilize nan plizyè kote:

  • Lè otantifye itilizatè a. Gen pwoteksyon kont fòs brital: itilizatè a sèlman gen kèk tantativ pou antre nan yon modpas yon sèl-fwa, Lè sa a, se opinyon an bloke pou yon ti tan. Sa a bloke posiblite pou seleksyon fòs brital nan OTP.
  • Lè jenere kòd backup offline pou fè 2FA, osi byen ke enfimite li. Isit la, pa gen okenn pwoteksyon fòs brital te aplike, ki te fè li posib, si ou te gen yon modpas pou kont lan ak yon sesyon aktif, rejenere kòd backup oswa enfim 2FA nèt.

Lè ou konsidere ke kòd backup yo te lokalize nan menm seri valè fisèl kòm sa yo ki te pwodwi pa aplikasyon an OTP, chans pou jwenn kòd la nan yon ti tan te pi wo.

Odit sekirite platfòm nwaj MCS la
Pwosesis pou chwazi yon OTP pou enfim 2FA lè l sèvi avèk zouti "Burp: Intruder".

Rezilta

An jeneral, MCS parèt an sekirite kòm yon pwodwi. Pandan odit la, ekip pentesting la pa t kapab jwenn aksè nan VM kliyan yo ak done yo, epi ekip MCS la te korije frajilite yo te jwenn byen vit.

Men, isit la li enpòtan sonje ke sekirite se yon travay kontinyèl. Sèvis yo pa estatik, yo toujou ap evolye. Epi li enposib devlope yon pwodwi konplètman san frajilite. Men, ou ka jwenn yo nan tan epi minimize chans pou yo repete.

Koulye a, tout vilnerabilite yo mansyone nan MCS yo te deja fiks. Epi nan lòd yo kenbe kantite nouvo yo nan yon minimòm epi redwi lavi yo, ekip platfòm la kontinye fè sa:

Sous: www.habr.com

Add nouvo kòmantè