ʻO ka loiloi palekana o ka MCS cloud platform

ʻO ka loiloi palekana o ka MCS cloud platform
Ka Wela o SkyShip na SeerLight

ʻO ke kūkulu ʻana i kekahi lawelawe pono e komo pū me ka hana mau i ka palekana. ʻO ka palekana kahi kaʻina hana mau e pili ana i ka nānā mau ʻana a me ka hoʻomaikaʻi ʻana i ka palekana huahana, ka nānā ʻana i nā nūhou e pili ana i nā nāwaliwali a me nā mea hou aku. Me nā loiloi. Hoʻokō ʻia nā loiloi i loko o ka hale a me nā loea o waho, hiki iā lākou ke kōkua nui i ka palekana no ka mea ʻaʻole lākou i hoʻokomo ʻia i loko o ka papahana a he manaʻo hāmama.

ʻO ka ʻatikala e pili ana i kēia ʻike pololei loa o nā loea o waho i kōkua i ka hui Mail.ru Cloud Solutions (MCS) e hoʻāʻo i ka lawelawe ao, a e pili ana i nā mea i loaʻa iā lākou. Ma ke ʻano he "ikaika o waho," ua koho ʻo MCS i ka hui Digital Security, i ʻike ʻia no kona ʻike kiʻekiʻe i nā pōʻai palekana ʻike. A ma kēia ʻatikala e nānā mākou i kekahi mau nāwaliwali hoihoi i ʻike ʻia ma ke ʻano o ka loiloi waho - i pale ʻoe i ka rake like ke hana ʻoe i kāu lawelawe kapuaʻi.

Hōʻike Huahana

Mail.ru Cloud Solutions (MCS) he kahua no ke kūkulu ʻana i nā ʻōnaehana virtual ma ke ao. Loaʻa iā IaaS, PaaS, a me kahi mākeke o nā kiʻi noi i mākaukau no nā mea hoʻomohala. I ka noʻonoʻo ʻana i ka hoʻolālā MCS, pono e nānā i ka palekana o ka huahana ma nā wahi aʻe:

  • ka pale ʻana i ka ʻōnaehana o ka virtualization environment: hypervisors, routing, firewalls;
  • ka pale ʻana i nā ʻōnaehana virtual o nā mea kūʻai aku: kaʻawale ʻana mai kekahi i kekahi, me ka pūnaewele, nā pūnaewele pilikino ma SDN;
  • OpenStack a me kona mau mea wehe;
  • S3 o kā mākou hoʻolālā ponoʻī;
  • IAM: nā papahana hoʻolimalima lehulehu me kahi kumu hoʻohālike;
  • ʻIke (ʻike kamepiula): Nā API a me nā nāwaliwali ke hana me nā kiʻi;
  • pūnaewele pūnaewele a me nā hoʻouka pūnaewele maʻamau;
  • nā nāwaliwali o nā ʻāpana PaaS;
  • API o na mea a pau.

ʻO ia wale nō paha ka mea nui no ka moʻolelo hou aku.

He aha ke ʻano o ka hana i hana ʻia a no ke aha i pono ai?

Hoʻoholo ʻia kahi loiloi palekana i ka ʻike ʻana i nā nāwaliwali a me nā hewa o ka hoʻonohonoho ʻana i hiki ke alakaʻi i ka leakage o ka ʻikepili pilikino, ka hoʻololi ʻana i ka ʻike koʻikoʻi, a i ʻole ka hoʻopau ʻana i ka loaʻa o ka lawelawe.

I ka wā o ka hana, e mau ana ma ka awelika 1-2 mau mahina, e hana hou nā mea hoʻoponopono i nā hana a nā mea hoʻouka kaua a ʻimi i nā nāwaliwali o ka mea kūʻai aku a me nā ʻāpana kikowaena o ka lawelawe i koho ʻia. Ma ka pōʻaiapili o ka loiloi o ka MCS cloud platform, ua ʻike ʻia kēia mau pahuhopu:

  1. ʻIkepili o ka hōʻoia i ka lawelawe. E kōkua nā mea nāwaliwali o kēia ʻāpana i ke komo koke ʻana i nā moʻokāki o nā poʻe ʻē aʻe.
  2. Ke aʻo ʻana i ke kumu hoʻohālike a me ka mana komo ma waena o nā moʻokāki like ʻole. No ka mea hoʻouka kaua, ʻo ka hiki ke loaʻa i ka mīkini virtual a kekahi mea i makemake ʻia.
  3. Nā pilikia ʻaoʻao o nā mea kūʻai aku. XSS/CSRF/CRLF/etc. Hiki paha ke hoʻouka i nā mea hoʻohana ʻē aʻe ma o nā loulou ʻino?
  4. Nā pilikia o ka ʻaoʻao kikowaena: RCE a me nā ʻano injections (SQL/XXE/SSRF a pēlā aku). ʻOi aku ka paʻakikī o ka loaʻa ʻana o nā haʻahaʻa kikowaena, akā alakaʻi lākou i ka ʻae ʻana o nā mea hoʻohana he nui i ka manawa hoʻokahi.
  5. Ka hoʻokaʻawale ʻana o ka ʻāpana mea hoʻohana ma ka pae pūnaewele. No ka mea hoʻouka kaua, ʻo ka nele o ka noho kaʻawale e hoʻonui nui i ka ʻili hoʻouka kaua i nā mea hoʻohana ʻē aʻe.
  6. ʻIke loiloi ʻoihana. Hiki paha ke hoʻopunipuni i nā ʻoihana a hana i nā mīkini virtual no ka manuahi?

Ma kēia papahana, ua hana ʻia ka hana e like me ke ʻano o ka "Gray-box": ua hui nā mea hoʻoponopono me ka lawelawe me nā pono o nā mea hoʻohana maʻamau, akā loaʻa i kahi hapa ke kumu kumu o ka API a loaʻa iā ia ka manawa e wehewehe i nā kikoʻī me nā mea hoʻomohala. ʻO kēia ka mea maʻalahi loa, a ma ka manawa like me ke ʻano maoli o ka hana: hiki ke hōʻiliʻili ʻia ka ʻike kūloko e ka mea hoʻouka, he manawa wale nō ia.

Loaʻa nā nāwaliwali

Ma mua o ka hoʻomaka ʻana o ka mea hoʻoponopono e hoʻouna i nā ukana like ʻole (ka uku i hoʻohana ʻia no ka hoʻokō ʻana i ka hoʻouka kaua) i nā wahi ākea, pono e hoʻomaopopo i ka hana ʻana o nā mea a me nā hana i hāʻawi ʻia. Me he mea lā he hana pono ʻole kēia, no ka mea, ma ka hapa nui o nā wahi i aʻo ʻia ʻaʻohe mea nāwaliwali. Akā ʻo ka hoʻomaopopo wale ʻana i ke ʻano o ka noi a me ka loiloi o kāna hana e hiki ai ke ʻike i nā vectors hoʻouka paʻakikī.

He mea nui ka huli ʻana i nā wahi i manaʻo kānalua a ʻokoʻa loa mai nā mea ʻē aʻe ma kekahi ʻano. A ua ʻike ʻia ka nāwaliwali mua loa ma kēia ʻano.

IDOR

ʻO nā haʻahaʻa IDOR (Insecure Direct Object Reference) kekahi o nā haʻahaʻa maʻamau i ka loiloi ʻoihana, e hiki ai i kekahi a i ʻole ke komo i nā mea i ʻae ʻole ʻia. Hoʻokumu nā mea palupalu IDOR i ka hiki ke loaʻa ka ʻike e pili ana i kahi mea hoʻohana i nā pae like ʻole o ke koʻikoʻi.

ʻO kekahi o nā koho IDOR ʻo ka hana ʻana i nā hana me nā mea ʻōnaehana (nā mea hoʻohana, nā waihona kālā, nā mea i loko o ke kaʻa kūʻai) ma o ka hoʻopunipuni ʻana i nā mea hōʻike i kēia mau mea. Ke alakaʻi nei kēia i nā hopena hiki ʻole ke wānana. No ka laʻana, hiki ke hoʻololi i ka moʻokāki o ka mea hoʻouna kālā, kahi e hiki ai iā ʻoe ke ʻaihue iā lākou mai nā mea hoʻohana ʻē aʻe.

I ka hihia o MCS, ua ʻike nā mea hoʻoponopono i kahi nāwaliwali IDOR pili me nā mea hōʻike paʻa ʻole. I loko o ka moʻokāki pilikino o ka mea hoʻohana, ua hoʻohana ʻia nā mea hōʻike UUID e komo i kekahi mea, i ʻike ʻia, e like me ka ʻōlelo a ka poʻe loea palekana, ʻaʻole palekana (ʻo ia hoʻi, pale ʻia mai ka hoʻouka kaua ikaika). Akā no kekahi mau hui, ua ʻike ʻia ua hoʻohana ʻia nā helu wānana maʻamau e kiʻi i ka ʻike e pili ana i nā mea hoʻohana o ka noi. Manaʻo wau hiki iā ʻoe ke koho i hiki ke hoʻololi i ka ID mea hoʻohana e hoʻokahi, e hoʻouna hou i ka noi a loaʻa i ka ʻike ma ke ala ʻana i ka ACL (papa inoa o ka mana, nā lula ʻikepili no nā kaʻina hana a me nā mea hoʻohana).

Hoʻopunipuni ʻaoʻao ʻaoʻao kikowaena (SSRF)

ʻO ka mea maikaʻi e pili ana i nā huahana OpenSource ʻo ia ka nui o nā ʻaha kūkā me nā wehewehe kikoʻī kikoʻī o nā pilikia e kū mai ana a, inā ʻoe laki, he wehewehe o ka hopena. Akā he ʻaoʻao ʻaoʻao ko kēia ʻāpana: ʻike ʻia nā nāwaliwali i ʻike ʻia. No ka laʻana, aia nā wehewehe nani o nā nāwaliwali ma ka OpenStack forum [XSS] и [SSRF], no kekahi kumu ʻaʻohe mea e wikiwiki e hoʻoponopono.

ʻO kahi hana maʻamau o nā noi ka hiki i ka mea hoʻohana ke hoʻouna i kahi loulou i ke kikowaena, kahi e kaomi ai ke kikowaena (no ka laʻana, e kiʻi i kahi kiʻi mai kahi kumu i kuhikuhi ʻia). Inā ʻaʻole kānana nā mea palekana i nā loulou iā lākou iho a i ʻole nā ​​pane i hoʻihoʻi ʻia mai ke kikowaena i nā mea hoʻohana, hiki ke hoʻohana maʻalahi ia mau hana e nā mea hoʻouka.

Hiki i nā nāwaliwali SSRF ke holomua i ka hoʻomohala ʻana i kahi hoʻouka. Hiki i ka mea hoʻouka ke loaʻa:

  • ka palena o ke komo ʻana i ka pūnaewele kūloko i hoʻouka ʻia, no ka laʻana, ma o kekahi mau ʻāpana pūnaewele wale nō a me ka hoʻohana ʻana i kekahi protocol;
  • ke komo piha i ka pūnaewele kūloko, inā hiki ke hoʻohaʻahaʻa mai ka pae noi a hiki i ka pae lawe a, ma muli o ka hopena, ka hoʻokele piha piha i ka pae noi;
  • ke komo i ka heluhelu ʻana i nā faila kūloko ma ke kikowaena (inā kākoʻo ʻia ka faila: /// scheme);
  • a nui aku.

Ua ʻike lōʻihi ʻia kahi palupalu SSRF ma OpenStack, he "makapō" ma ke ʻano: ke hoʻopili ʻoe i ka kikowaena, ʻaʻole ʻoe e loaʻa i kahi pane mai ia mea, akā loaʻa iā ʻoe nā ʻano hewa like ʻole / lohi, e pili ana i ka hopena o ka noi. . Ma muli o kēia, hiki iā ʻoe ke hana i kahi port scan ma luna o nā mea hoʻokipa ma ka pūnaewele kūloko, me nā hopena hope aʻe ʻaʻole pono e hoʻohaʻahaʻa ʻia. No ka laʻana, loaʻa paha i kahi huahana kahi API back-office hiki ke ʻike wale ʻia mai ka pūnaewele hui. Me nā palapala (mai poina e pili ana i nā mea i loko), hiki i ka mea hoʻouka ke hoʻohana i ka SSRF e kiʻi i nā ala kūloko. No ka laʻana, inā hiki iā ʻoe ke kiʻi i kahi papa inoa o nā URL kūpono, a laila e hoʻohana iā SSRF hiki iā ʻoe ke hele ma o lākou a hoʻokō i kahi noi - ma ke ʻano he ʻōlelo, e hoʻololi i ke kālā mai kahi moʻokāki a i ʻole e hoʻololi i nā palena.

ʻAʻole kēia ka manawa mua i ʻike ʻia kahi nāwaliwali SSRF ma OpenStack. I ka wā ma mua, hiki ke hoʻoiho i nā kiʻi VM ISO mai kahi loulou pololei, a ua alakaʻi pū i nā hopena like. Ua wehe ʻia kēia hiʻohiʻona mai OpenStack. ʻIke ʻia, ua noʻonoʻo ke kaiāulu ʻo ia ka mea maʻalahi a hilinaʻi hoʻi i ka pilikia.

A iloko kēia i loaʻa i ka lehulehu ka hōʻike mai ka lawelawe HackerOne (h1), ka hoʻohana ʻana i kahi SSRF makapō ʻole me ka hiki ke heluhelu i ke ʻano metadata e alakaʻi ai i ke komo ʻana o Root i ka ʻōnaehana Shopify holoʻokoʻa.

Ma MCS, ua ʻike ʻia nā nāwaliwali o SSRF ma nā wahi ʻelua me nā hana like, akā aneane hiki ʻole ke hoʻohana ma muli o nā pā ahi a me nā pale ʻē aʻe. ʻO kekahi ala a i ʻole, ua hoʻoponopono ka hui MCS i kēia pilikia, me ke kali ʻole i ke kaiāulu.

XSS ma kahi o ka hoʻouka ʻana i nā pūpū

ʻOiai he mau haneli o nā haʻawina i kākau ʻia, ʻo ka hoʻouka kaua XSS (cross-site scripting) i kēlā me kēia makahiki halawai pinepine pilikia o ka pūnaewele (a i ʻole hoʻouka?).

He wahi punahele ka hoʻouka ʻana i nā faila no nā mea noiʻi palekana. Hoʻololi pinepine ʻia hiki iā ʻoe ke hoʻouka i kahi palapala arbitrary (asp/jsp/php) a hoʻokō i nā kauoha OS, ma ka huaʻōlelo o nā pentesters - "load shell". Akā ʻo ka kaulana o ia mau nāwaliwali e hana ma nā ʻaoʻao ʻelua: hoʻomanaʻo ʻia lākou a hoʻomohala ʻia nā hoʻoponopono e kūʻē iā lākou, no laila ʻoi aku ka nui o ka "hoʻouka ʻana i kahi pūpū" i ka zero.

Laki ka hui hoʻouka kaua (i hōʻike ʻia e Digital Security). OK, ma MCS ma ka ʻaoʻao kikowaena ua nānā ʻia nā mea o nā faila i hoʻoiho ʻia, ʻae ʻia nā kiʻi wale nō. Akā ʻo SVG kekahi kiʻi. Pehea e pilikia ai nā kiʻi SVG? No ka mea hiki iā ʻoe ke hoʻokomo i nā snippet JavaScript i loko o lākou!

Ua ʻike ʻia ua loaʻa nā faila i hoʻoiho ʻia i nā mea hoʻohana a pau o ka lawelawe MCS, ʻo ia ka mea hiki ke hoʻouka i nā mea hoʻohana ʻē aʻe, ʻo ia hoʻi nā luna.

ʻO ka loiloi palekana o ka MCS cloud platform
He laʻana o ka hoʻouka kaua XSS ma kahi palapala komo phishing

Nā laʻana o ka hoʻohana ʻana i ka hoʻouka kaua XSS:

  • No ke aha e ho'āʻo ai e ʻaihue i kahi kau (ʻoi aku ka nui o nā kuki HTTP-Only ma nā wahi āpau, pale ʻia mai ka ʻaihue me ka hoʻohana ʻana i nā palapala js), inā hiki i ka palapala i hoʻouka ʻia ke komo koke i ka API waiwai? I kēia hihia, hiki i ka uku uku ke hoʻohana i nā noi XHR e hoʻololi i ka hoʻonohonoho kikowaena, no ka laʻana, hoʻohui i ke kī SSH ākea o ka mea hoʻouka a loaʻa iā SSH ke komo i ke kikowaena.
  • Inā pāpā ke kulekele CSP (kulekele hoʻomalu maʻiʻo) i ka JavaScript mai ka hoʻokomo ʻia ʻana, hiki i ka mea hoʻouka ke loaʻa me ka ʻole. Ke hoʻohana nei i ka HTML maʻemaʻe, e hana i kahi palapala komo hoʻopunipuni no ka pūnaewele a ʻaihue i ka ʻōlelo huna a ka luna hoʻomalu ma o kēia phishing holomua: pau ka ʻaoʻao phishing no ka mea hoʻohana ma ka URL like, a ʻoi aku ka paʻakikī o ka mea hoʻohana ke ʻike.
  • ʻO ka hope, hiki i ka mea hoʻouka ke hoʻonohonoho mea kūʻai DoS — hoʻonoho i nā Kuki ma mua o 4 KB. Pono ka mea hoʻohana e wehe i ka loulou i hoʻokahi manawa, a lilo ka pūnaewele holoʻokoʻa a hiki i ka manaʻo o ka mea hoʻohana e hoʻomaʻemaʻe pono i ka polokalamu kele pūnaewele: i ka hapa nui o nā hihia, hōʻole ka pūnaewele pūnaewele e ʻae i kēlā mea kūʻai aku.

E nānā kākou i kekahi laʻana o kekahi XSS i ʻike ʻia, i kēia manawa me ka hoʻohana akamai. ʻAe ka lawelawe MCS iā ʻoe e hoʻohui i nā hoʻonohonoho pā ahi i nā hui. ʻO ka inoa o ka hui kahi i ʻike ʻia ai ka XSS. ʻO kāna mea ʻokoʻa ʻaʻole i hoʻomaka koke ʻia ka vector, ʻaʻole i ka wā e nānā ai i ka papa inoa o nā lula, akā i ka wā e holoi ai i kahi hui:

ʻO ka loiloi palekana o ka MCS cloud platform

ʻO ia hoʻi, ua hoʻololi ʻia ka hiʻohiʻona penei: hana ka mea hoʻouka i kahi lula ahi me ka "hoʻouka" ma ka inoa, ʻike ka luna hoʻomalu ma hope o kekahi manawa a hoʻomaka i ke kaʻina holoi. A ʻo kēia kahi e hana ai ka JS ʻino.

No nā mea hoʻomohala MCS, e pale aku iā XSS ma nā kiʻi SVG i hoʻoiho ʻia (inā ʻaʻole hiki ke haʻalele ʻia), ʻōlelo ka hui Digital Security:

  • E kau i nā faila i hoʻoili ʻia e nā mea hoʻohana ma kahi kahua kaʻawale ʻaʻohe mea pili me "kuki". E hoʻokō ʻia ka palapala ma ka pōʻaiapili o kahi kahua ʻokoʻa a ʻaʻole e hoʻoweliweli iā MCS.
  • Ma ka pane HTTP o ka server, e hoʻouna i ke poʻomanaʻo "Content-disposition: attachment". A laila e hoʻoiho ʻia nā faila e ka polokalamu kele pūnaewele a ʻaʻole hoʻokō ʻia.

Eia kekahi, nui nā ala i loaʻa i nā mea hoʻomohala e hoʻēmi i nā pilikia o ka hoʻohana ʻana iā XSS:

  • me ka hoʻohana ʻana i ka hae "HTTP Only", hiki iā ʻoe ke hana i nā poʻomanaʻo "Cookies" i hiki ʻole ke loaʻa i ka JavaScript ʻino;
  • hoʻokō pono i ke kulekele CSP e paʻakikī loa i ka mea hoʻouka kaua e hoʻohana iā XSS;
  • hoʻomaʻemaʻe maʻemaʻe nā ʻenekini hoʻohālike hou e like me Angular a i ʻole React i ka ʻikepili mea hoʻohana ma mua o ka hoʻopuka ʻana i ka polokalamu kele o ka mea hoʻohana.

ʻElua mau mea hoʻopaʻapaʻa hōʻoia

No ka hoʻomaikaʻi ʻana i ka palekana moʻokāki, ʻōlelo mau ʻia nā mea hoʻohana e hiki iā 2FA (ʻelua-factor authentication). ʻOiaʻiʻo, he ala maikaʻi kēia e pale aku ai i ka mea hoʻouka mai ka loaʻa ʻana i kahi lawelawe inā ua hoʻopili ʻia nā hōʻoia o ka mea hoʻohana.

Akā ʻo ka hoʻohana ʻana i kahi kumu hōʻoia ʻelua e hōʻoia mau i ka palekana moʻokāki? Aia nā pilikia palekana i ka hoʻokō ʻana o 2FA:

  • Huli ikaika o ka OTP code (hoʻokahi-manawa code). ʻOiai ka maʻalahi o ka hana, ʻike ʻia nā hewa e like me ka nele o ka pale ʻana i ka OTP brute force e nā hui nui: ʻO ka pahu lohi, hihia Facebook.
  • ʻO ka algorithm hanauna nāwaliwali, no ka laʻana ka hiki ke wānana i ke code aʻe.
  • Nā hewa kūpono, e like me ka hiki ke noi i ka OTP o kekahi ma kāu kelepona, e like me kēia e mai Shopify.

Ma ka hihia o MCS, ua hoʻokō ʻia ʻo 2FA ma muli o Google Authenticator a Duo. ʻO ka protocol ponoʻī ua hoʻāʻo ʻia i ka manawa, akā pono ke nānā ʻana i ka hoʻokō ʻana i ka hōʻoia code ma ka ʻaoʻao noi.

Hoʻohana ʻia ka MCS 2FA ma kekahi mau wahi:

  • Ke hōʻoia i ka mea hoʻohana. Aia ka pale ʻana i ka ikaika ʻino: he liʻiliʻi wale nō ka hoʻāʻo ʻana o ka mea hoʻohana e komo i ka ʻōlelo huna hoʻokahi manawa, a laila paʻa ʻia ka mea hoʻokomo no kekahi manawa. Hoʻopaʻa kēia i ka hiki ke koho i ka OTP.
  • Ke hoʻokumu nei i nā code backup offline e hana i ka 2FA, a me ka hoʻopau ʻana. Maʻaneʻi,ʻaʻole i hoʻokōʻia ka palekana ikaika, i hiki ai, inā loaʻa iāʻoe kahi hua'ōlelo no ka moʻokāki a me kahi kau hana, e hana hou i nā code backup a iʻole e hoʻopau i ka 2FA.

I ka noʻonoʻo ʻana ua loaʻa nā code backup i ka like o nā koina string e like me nā mea i hana ʻia e ka noi OTP, ʻoi aku ka kiʻekiʻe o ka loaʻa ʻana o ke code i ka manawa pōkole.

ʻO ka loiloi palekana o ka MCS cloud platform
ʻO ke kaʻina o ke koho ʻana i kahi OTP e hoʻopau i ka 2FA me ka hoʻohana ʻana i ka mea hana "Burp: Intruder".

hopena

Ma ke ʻano holoʻokoʻa, ʻike ʻia he palekana ʻo MCS ma ke ʻano he huahana. I ka wā o ka loiloi, ʻaʻole hiki i ka hui pentesting ke komo i nā VM o nā mea kūʻai aku a me kā lākou ʻikepili, a ua hoʻoponopono koke ʻia nā nāwaliwali i ʻike ʻia e ka hui MCS.

Eia naʻe he mea nui e hoʻomaopopo he hana mau ka palekana. ʻAʻole paʻa nā lawelawe, ke ulu mau nei lākou. A ʻaʻole hiki ke hoʻomohala i kahi huahana me ka ʻole o nā nāwaliwali. Akā hiki iā ʻoe ke loaʻa iā lākou i ka manawa a hōʻemi i ka manawa o ko lākou hoʻi hou ʻana.

I kēia manawa ua hoʻopaʻa ʻia nā mea nāwaliwali i ʻōlelo ʻia ma MCS. A no ka mālama ʻana i ka helu o nā mea hou i ka liʻiliʻi a hōʻemi i ko lākou ola, hoʻomau ka hui kahua i kēia:

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka