Ahultasunak oauth | Nola ezarri zure web aplikazioan baimen segurua

Anonim
Ahultasunak oauth | Nola ezarri zure web aplikazioan baimen segurua 2740_1

Artikulu honek oauth ahultasun ezagunei aurre egingo die. Irakurleek web aplikazioan baimen segurua eta segurua nola ezartzen ikasiko dute.

OAuth protokolo fidagarria da, baina bere segurtasun maila baimena ezartzen denean web garatzaileen kontzientziaren araberakoa da. Horrek gai hau oso garrantzitsua da informazioaren segurtasun profesionalentzat. Erabiltzaileen kontuen babes maila handia eman behar dute. Bada garaia Oauth saltzen duen arriskua murrizten lagunduko duten praktikatzaile eraginkorrak ezagutzeko unea.

Sarrera

OAuth 2.0 Protokoloa oso erabilia da hainbat aplikaziotan. Hori erabiliz, erabiltzaile-interfaze egokia erabilgarri bihurtzen da, autentifikazio errazagoa eta baimena erabiltzaile izena eta pasahitza sartzeko metodo tradizionalekin alderatuta. Ezarpen egokia eta pentsakorra izanik, OAuth protokoloa ohiko baimena baino seguruagoa izango da, erabiltzaileek ez baitute beren kontabilitate datuak partekatu behar hirugarrenen aplikazio batekin baliabide jakin batera sartzeko. Erabiltzaileek sarritan nahiago dute beren Google kontuak, Facebook edo LinkedIn erabiliz saioa hasi beharrean, kontu berria sortu beharrean webgune batzuetan izena eman behar duzun bakoitzean. Horrela, OAuth Protokoloak asko errazten du gure bizitza.

Oro har, OAuth zerbitzu hornitzaile ezagunak oso fidagarriak dira. Hasi saioa Google edo Facebook kontuarekin segurtasun sentimendu jakin bat inspiratzen du eta zuzena da. Protokoloa adituek arretaz probatzen dute. Eskuragarri dauden ahultasun guztiak garatzaile taldeak azkar zuzentzen ditu beti. Hala ere, nabarmentzekoa da segurtasun osoaren sentimendua faltsua izan daitekeela.

OAuth zerbitzu hornitzaileek aplikazioen garatzaileek beren programen segurtasuna aurre egiteko arrazoi ugari utzi zituzten. Izan ere, hasiera batean babestutako OAuth zerbitzua, bere instalazio prozesuan gaizki inplementatu da, intrusak lortzeko xede erraza izan daiteke. Halako kezkak erabiltzaileen datu pertsonalen lapurreta ekarriko du.

Ondoren, hirugarrenen aplikazioetan topatutako ahultasun ohikoenak kontuan hartu beharko zeniela oauth protokoloa ezartzen duten erabiltzaileei baimena emateko. Gogoratu behar da protokoloa bera segurua eta fidagarria dela. Ezarpen okerra gertatu ondoren bakarrik, hacker erasoen aurrean ahul bihurtzen da.

Oauth tockey lapurreta erreferentziako goiburua erabiliz

Aplikazioak OAuth zerbitzarian erabiltzailearen izenean baimena eskatzen duenean, pertsona batek kodea jasotzen du eta zerbitzarira bidali ondorengo txekera bidaltzeko. Lanean zehar erabiltzailea beste orri batera birbideratuko bada, kodea http eskaeraren "Erreferentziako" goiburuan ikusiko da. Horrela, kodea kanpoko webgunean eroriko da, eta horrek OAuth zerbitzarian erregistratutako erabiltzaileen datuak mehatxatuko ditu.

Oharra: Erreferentziako goiburua HTTP kontsultaren goiburua da, eskaera bidaltzen den URL ostalaria transmititzen du.

Zaurgarritasun horren ondorioak leuntzeko, garatzaileak ziurtatu behar du bere web aplikazioak ez duela HTML injekziorik. Injekzioak atzeman badira, erasotzaileak irudiaren etiketa bere web zerbitzariari erraz jar diezaioke eta erabiltzaileari bertan birbideratzeko modua aurkitu dezake. Horrela, HTTP eskaeraren "Erreferentziako" goiburua lapurtzeko aukera lortuko du.

Oauth tockey lapurreta Redirect_uri parametroa erabiliz

Aplikazioak baimen prozesua abiarazten du OAuth zerbitzariari eskaera bidaliz:

https://www.example.com/signin/Authorize? Alaness_uri=httpps://demo.example.com/loginsuccessful.

Kontsultak beti "redirect_uri" -ek erabiltzen du OAuth Server-ek erabiltzen duen "Redirect_uri" parametroa erabiltzaileak bere baimena eman ondoren aplikaziora itzultzeko. Parametro honen balioa kontrolatzen ez bada edo ez bada, erasotzailea erraz alda daiteke eta eskaera bere webgunera birbideratu dezake, non token prozesatzeko eta baliabide mugatu batera sartzeko programa berezia erabiltzen duen.

https://www.example.com/signin/authorize? acless AlanseRect_uri=httpps://localhost.evil.com.

Batzuetan antzeko URLak blokeatuta daude. Erasotzaileak jasotako datuak URL irekian birbideratu ditzake, hau bezala:

htpsps://www.example.com/OAuth20_authorize.srf?idrect_uri=httpps://accounts.google.com/backtoouthsubTarget?next=httpset://evil.com.

Edo hau:

https://www.example.com/OAuth2/authorize? [...]% roct_uri = HTTPS% 3A% 2F% 2fapps.facebook.com% 2Fattacker% 2F.

OAuth ezartzerakoan, ezin duzu domeinu osoak zerrendan zuriko zerrendan. URL batzuk baino ez dira gehitu behar "Redirect_uri" -ri ez zaio birzuzenketa irekitzeko eskaera birbideratzeko.

Lineako eskaerak faltsutzea

Luruntze eskaera bat faltsutzea erasotzaile batek biktima bere estekan klik egitean eta, beraz, ez zuen sortuko ez zuen eskaera sortzeko. Gurutze-eskaerak faltsutzea normalean CSRF tokenarekin leuntzen da, erabiltzailearen saioarekin lotuta dagoena. Eskaera bidali duen pertsona baten pertsona egiaztatzen laguntzen du. OAuth Protokoloaren "Estatuko" parametroa CSRF token gisa balio du.

Gertai da CSRF erasoa Oauth-en nola egiten den ikustea eta "estatu" parametroa erabil daiteke ahultasunaren ondorioak arintzeko.

Hackerrek web aplikazio bat irekitzen du eta Baimen prozesua abiarazi du zerbitzu hornitzaileari OAuth erabiliz. Aplikazioak zerbitzu hornitzaile bat eskatzen du eman behar zaion sarbidea izateko. Hacker zerbitzu hornitzailearen webgunera birbideratuko da, non sarbidea baimentzeko erabiltzaile izena eta pasahitza sartu behar dituzu. Horren ordez, hackerrak harrapatu eta eskaera hau ekiditen du eta bere URLa aurrezten du. Hackerrek nolabait eragiten du biktimak URL hau irekitzea. Biktima zerbitzu hornitzailearen sisteman sartu bada bere kontua erabiliz, orduan bere egiaztagiriak baimen-kodea igortzeko erabiliko dira. Baimenaren kodea sartzeko sarbide token sarbidea trukatzen du. Aplikazioan hacker kontua baimenduta dago. Biktimaren kontuan sar daiteke.

Orduan, nola saihestu dezaket egoera hau "egoera" parametroa erabiliz?

Aplikazioak nolabait sortu behar duen balioa sortu behar du iturburu kontuan (adibidez, erabiltzailearen saioa hash tekla erabili). Ez da hain garrantzitsua zer den, gauza nagusia da balioa berezia dela eta jatorrizko erabiltzaileari buruzko informazio pribatua erabiliz sortua. "Estatuko" parametroari esleitzen zaio.

Balio hori zerbitzu hornitzaileari transmititzen zaio birbideratzean. Orain hackerrek biktima gonbidatzen du, mantendu zuen URLa irekitzera.

Baimen kodea jaulkitzen da eta bezeroari bidaliko zaio saioan "Estatuko" parametroarekin batera.

Bezeroak saioko informazioan oinarritutako parametroen balioa sortzen du eta "estatuaren" balioa da, zerbitzu hornitzaileari baimena eskaerari bidali zitzaiona. Balio hau ez dator bat "Estatuko" parametroa kontsultan, uneko saioari buruzko informazioa oinarritzat hartuta bakarrik sortu baita. Ondorioz, lortutako balioa ez da sistemak onartzen.

Oauth-ek XSS (Gurutze Gurdien "parametroa (Gurutze Gurutze Gidakina) egiteko gaitasuna hautematen du." Redirect_uri "parametroa erabiliz, OAuth gako-gakoa ezarpena (batzuetan eskura daiteke mugikorreko aplikazioa deskonpilatuta dagoenean) eta baimen kodea arautzeko (noiz Baimen kodea behin baino gehiagotan erabil daiteke sarbide token ugari igortzeko). Ahultasun horiek goian deskribatutakoak baino ohikoagoak dira, baina ez ditu arriskutsu gutxiago egiten. Garatzaileak beharrezko praktika guztiak ezagutu beharko lituzke bere web aplikazioaren funtzionamendu fidagarria ziurtatzeko.

Itzulitako artikuluaren egilea: Simon Saliba.

Garrantzitsua! Informazioa helburu akademikoetarako soilik. Mesedez, bete legeria eta ez aplikatu informazio hori legez kanpoko helburuetarako.

Material interesgarriagoa cisoclub.ru-n. Harpidetu gurekin: Facebook | Vk | Twitter | Instagram | Telegrama | Zen | Messenger | ICQ Berria | YouTube | Pultsua.

Irakurri gehiago