దుర్బలత్వాలు OAuth | మీ వెబ్ అప్లికేషన్ లో సురక్షిత అధికారాన్ని ఎలా అమలు చేయాలి

Anonim
దుర్బలత్వాలు OAuth | మీ వెబ్ అప్లికేషన్ లో సురక్షిత అధికారాన్ని ఎలా అమలు చేయాలి 2740_1

ఈ వ్యాసం బాగా తెలిసిన Oauth ప్రమాదాలు ఎదుర్కోవటానికి ఉంటుంది. పాఠకులు కూడా వెబ్ అప్లికేషన్ లో సురక్షిత మరియు సురక్షిత అధికారాన్ని అమలు ఎలా నేర్చుకుంటారు.

OAuth ఒక నమ్మదగిన ప్రోటోకాల్, కానీ దాని భద్రత యొక్క డిగ్రీ ఎక్కువగా ప్రామాణీకరణను అమలు చేసేటప్పుడు వెబ్ డెవలపర్ల అవగాహనపై ఆధారపడి ఉంటుంది. ఇది సమాచార భద్రతా నిపుణుల కోసం ఈ అంశం చాలా ముఖ్యమైనదిగా చేస్తుంది. వారు వారి వినియోగదారుల ఖాతాల యొక్క అధిక స్థాయి రక్షణను అందించాలి. పేద అమ్మకం OAuth ప్రమాదం తగ్గించడానికి సహాయపడే సమర్థవంతమైన అభ్యాసకులతో పరిచయం పొందడానికి సమయం.

పరిచయము

OAuth 2.0 ప్రోటోకాల్ ప్రస్తుతం వివిధ అనువర్తనాల్లో విస్తృతంగా ఉపయోగించబడుతుంది. దీనిని ఉపయోగించడం, ఒక సౌకర్యవంతమైన వినియోగదారు ఇంటర్ఫేస్ అందుబాటులోకి వస్తుంది, యూజర్పేరు మరియు పాస్వర్డ్ను నమోదు చేయడానికి సాంప్రదాయ పద్ధతులతో పోలిస్తే సులభంగా ప్రామాణీకరణ మరియు అధికారం. సరైన మరియు తెలివైన అమలుతో, OAuth ప్రోటోకాల్ సాంప్రదాయిక అధికారం కంటే సురక్షితంగా ఉంటుంది, ఎందుకంటే వినియోగదారులు వారి అకౌంటింగ్ డేటాను ఒక నిర్దిష్ట వనరును ప్రాప్యత చేయడానికి మూడవ పార్టీ అనువర్తనంతో భాగస్వామ్యం చేయవలసిన అవసరం లేదు. వినియోగదారులు వారి Google ఖాతాలను, ఫేస్బుక్ లేదా లింక్డ్ఇన్ ఉపయోగించి లాగ్ చేయటానికి ఇష్టపడతారు, బదులుగా ప్రతిసారీ మీరు కొన్ని వెబ్ సైట్లో నమోదు చేసుకోవలసిన ప్రతిసారీ. అందువలన, OAuth ప్రోటోకాల్ మన జీవితాలను సులభతరం చేస్తుంది.

సాధారణంగా, ప్రముఖ ఓయాత్ సర్వీసు ప్రొవైడర్లు చాలా నమ్మదగినవి. Google లేదా Facebook ఖాతాతో లాగిన్ అవ్వండి ఒక నిర్దిష్ట భావాన్ని స్ఫూర్తినిస్తుంది మరియు ఇది సరైనది. ప్రోటోకాల్ జాగ్రత్తగా నిపుణులచే పరీక్షించబడింది. డెవలపర్ బృందంచే అన్ని అందుబాటులో ఉన్న అన్ని దుర్బలాలు ఎల్లప్పుడూ త్వరగా సరిదిద్దబడతాయి. అయినప్పటికీ, పూర్తి భద్రత యొక్క భావన తప్పుగా ఉందని పేర్కొంది.

OAuth Service ప్రొవైడర్లు అప్లికేషన్ డెవలపర్లు వారి కార్యక్రమాల యొక్క భద్రతని ఎదుర్కొనేందుకు చాలా కారణాలు. వాస్తవానికి, ప్రారంభంలో OAuth సేవను రక్షించాడు, దాని సంస్థాపన ప్రక్రియలో తప్పుగా అమలు చేయబడుతుంది, చొరబాటుదారుల కోసం సులభమైన లక్ష్యంగా మారవచ్చు. ఇటువంటి అప్రమత్తం వినియోగదారుల వ్యక్తిగత డేటా దొంగతనానికి దారి తీస్తుంది.

తరువాత, మీరు వారి వినియోగదారులను ప్రామాణీకరించడానికి OAuth ప్రోటోకాల్ను అమలు చేసే మూడవ పార్టీ అనువర్తనాల్లో ఎదుర్కొన్న అత్యంత సాధారణ హానిని పరిగణించాలి. ఇది ప్రోటోకాల్ కూడా సురక్షితమైన మరియు నమ్మదగినదని గుర్తుంచుకోవాలి. తప్పు అమలు తర్వాత, అది హ్యాకర్ దాడులకు గురవుతుంది.

OAuth Tockey దొంగతనం రిఫెరర్ శీర్షిక ఉపయోగించి

OAUPH సర్వర్ వద్ద యూజర్ తరపున దరఖాస్తు అభ్యర్థన చేసినప్పుడు, ఒక వ్యక్తి దాని తదుపరి చెక్ కోసం సర్వర్కు ప్రవేశించడానికి మరియు పంపే కోడ్ను అందుకుంటాడు. పని సమయంలో వినియోగదారు మరొక పేజీకి మళ్ళించబడతట్లయితే, HTTP అభ్యర్ధన యొక్క "రిఫెరర్" శీర్షికలో కోడ్ కనిపిస్తుంది. అందువలన, కోడ్ బాహ్య వెబ్సైట్లో పడిపోతుంది, ఇది OAUTH సర్వర్లో నమోదు చేయబడిన వినియోగదారు డేటాను బెదిరించబడుతుంది.

గమనిక: రిఫ్రెష్ హెడర్ ఒక HTTP ప్రశ్న శీర్షిక, ఇది అభ్యర్థన పంపబడిన URL హోస్ట్ను ప్రసారం చేస్తుంది.

ఈ దుర్బలత్వం యొక్క పరిణామాలను మృదువుగా చేయడానికి, డెవలపర్ దాని వెబ్ అప్లికేషన్ ఏ HTML సూది మందులను కలిగి ఉండదని నిర్ధారించుకోవాలి. సూది మందులు గుర్తించినట్లయితే, దాడిని దాని వెబ్ సర్వర్కు సులభంగా చిత్రీకరించవచ్చు మరియు దానిపై వినియోగదారుని మళ్ళించడానికి ఒక మార్గాన్ని కనుగొనవచ్చు. అందువలన, అతను HTTP అభ్యర్థన యొక్క "రిఫెరర్" శీర్షిక నుండి కోడ్ దొంగిలించడానికి అవకాశం పొందుతారు.

Oauth tockey దొంగతనం redirect_uri పారామితి ఉపయోగించి

ఈ అనువర్తనం OAUTH సర్వర్కు ఒక అభ్యర్థనను పంపడం ద్వారా అధికార ప్రక్రియను ప్రారంభించింది:

https://www.example.com/signin/authorize??htps://demo.example.com/loginsuccucessful.

ప్రశ్న ఎల్లప్పుడూ "Redirect_uri" పారామితిని కలిగి ఉంది Oauth సర్వర్ ద్వారా యూజర్ తన సమ్మతి ఇచ్చిన తర్వాత దరఖాస్తుకు టోకెన్లను పంపండి. ఈ పరామితి యొక్క విలువ నియంత్రించబడకపోతే లేదా తనిఖీ చేయకపోతే, దాడిని సులభంగా మార్చవచ్చు మరియు దాని వెబ్సైట్కు అభ్యర్థనను మళ్ళిస్తుంది, ఇక్కడ టోకెన్ ప్రాసెస్ చేయడానికి మరియు పరిమిత వనరులకు ప్రాప్తిని పొందవచ్చు.

https://www.example.com/signin/authorize?1htps://lalocalhost.evil.com.

కొన్నిసార్లు ఇలాంటి URL లు బ్లాక్ చేయబడతాయి. ఈ దాడిని ఓపెన్ URL లో అందుకున్న డేటాను రీడైరెక్ట్ చేయవచ్చు:

https://www.example.com/oauth20_authorize.srf? .... కనుమనుళ్ళు.

లేదా ఈ:

https://www.example.com/Oauth2/authorize? [...]% irect_uri = https% 3a% 2f% 2fapps.facebook.com% 2fttacker% 2ftactacker% 2f.

OAuth ను అమలు చేసేటప్పుడు, మీరు వైట్ జాబితాలో మొత్తం డొమైన్లను కలిగి ఉండలేరు. "Redirect_uri" కు కొన్ని URL లు మాత్రమే జోడించబడాలి.

క్రాస్ లైన్ అభ్యర్థనల ఫోర్జరీ

ఒక జోక్యం అభ్యర్థన యొక్క ఫోర్జరీ తన లింక్పై క్లిక్ చేయడానికి బాధితుడు విజయవంతం అయినప్పుడు, అందువలన, అతను ఉత్పత్తి చేయని అభ్యర్థనను రూపొందించడానికి. క్రాస్ లైన్ అభ్యర్థనల ఫోర్జరీ సాధారణంగా CSRF టోకెన్ తో మెత్తగా ఉంటుంది, ఇది వినియోగదారు సెషన్తో సంబంధం కలిగి ఉంటుంది. అభ్యర్థనను పంపిన వ్యక్తి యొక్క వ్యక్తిని తనిఖీ చేయడానికి ఇది సహాయపడుతుంది. OAuth ప్రోటోకాల్ లో "రాష్ట్రం" పారామితి CSRF టోకెన్ వలె పనిచేస్తుంది.

ఇది OAuth లో CSRF దాడిని ఎలా నిర్వహిస్తుందో మరియు "రాష్ట్ర" పరామితిని దుర్బలత్వం యొక్క ప్రభావాలను తగ్గించడానికి ఉపయోగించవచ్చు.

హ్యాకర్ ఒక వెబ్ అప్లికేషన్ తెరుచుకుంటుంది మరియు OAuth ఉపయోగించి సేవా ప్రదాతను ప్రాప్తి చేయడానికి అధికార ప్రక్రియను ప్రారంభించింది. అప్లికేషన్ అందించాల్సిన అవసరాలకు ప్రాప్యత చేయడానికి ఒక సేవ ప్రొవైడర్ను అభ్యర్థిస్తుంది. హ్యాకర్ సర్వీస్ ప్రొవైడర్ వెబ్సైట్కు మళ్ళించబడుతుంది, ఇక్కడ మీరు సాధారణంగా ప్రాప్యతను ప్రామాణీకరించడానికి మీ యూజర్పేరు మరియు పాస్వర్డ్ను నమోదు చేయాలి. బదులుగా, హ్యాకర్ క్యాచ్లు మరియు ఈ అభ్యర్థనను నిరోధిస్తుంది మరియు దాని URL ను ఆదా చేస్తుంది. హ్యాకర్ ఏదో ఈ URL ను తెరవడానికి బాధితుని కారణమవుతుంది. బాధితుడు తన ఖాతాను ఉపయోగించి సర్వీస్ ప్రొవైడర్ యొక్క వ్యవస్థలోకి ప్రవేశించినట్లయితే, దాని ఆధారాలు ఒక అధికార కోడ్ను జారీ చేయడానికి ఉపయోగించబడతాయి. ప్రాప్యత టోకెన్కు అధికార కోడ్ ఎక్స్ఛేంజ్. ఇప్పుడు అప్లికేషన్ లో హ్యాకర్ ఖాతా అధికారం ఉంది. ఇది బాధితుల ఖాతాను యాక్సెస్ చేయవచ్చు.

కాబట్టి, "రాష్ట్రం" పారామితిని నేను ఈ పరిస్థితిని ఎలా నిరోధించగలను?

అప్లికేషన్ మూలం ఖాతా ఆధారంగా ఏదో ఒక విలువను సృష్టించాలి (ఉదాహరణకు, యూజర్ సెషన్ హాష్ కీని ఉపయోగించండి). ఇది ఎంత ముఖ్యమైనది కాదు, ప్రధాన విషయం విలువ ప్రత్యేకమైనది మరియు అసలు వినియోగదారు గురించి వ్యక్తిగత సమాచారాన్ని ఉపయోగించి ఉత్పత్తి అవుతుంది. ఇది "రాష్ట్ర" పరామితికి కేటాయించబడుతుంది.

రీడైరెక్ట్ చేసేటప్పుడు ఈ విలువ సేవా ప్రదాతకు ప్రసారం చేయబడుతుంది. ఇప్పుడు హ్యాకర్ అతను నిలుపుకున్న URL ను తెరవడానికి బాధితుని ఆహ్వానిస్తాడు.

అధికార కోడ్ జారీ చేయబడుతుంది మరియు "రాష్ట్రం" పారామితితో పాటు సెషన్లో క్లయింట్కు తిరిగి పంపబడుతుంది.

క్లయింట్ ఒక సెషన్ సమాచారం ఆధారంగా ఒక పారామితి విలువను సృష్టించి, "స్టేట్" విలువతో పోల్చాడు, ఇది సేవా ప్రదాతకు అధికార అభ్యర్థన నుండి తిరిగి పంపబడింది. ఈ విలువ ప్రశ్నలో "రాష్ట్రం" పారామితితో సరిపోలడం లేదు, ఎందుకంటే ఇది ప్రస్తుత సెషన్ గురించి సమాచారం ఆధారంగా మాత్రమే ఉత్పత్తి చేయబడుతుంది. ఫలితంగా, పొందిన విలువ వ్యవస్థ ద్వారా అంగీకరించబడదు.

OAuth అమలు చేసేటప్పుడు ఇతర దుర్బలత్వాలు "Redirect_uri" పరామితిని ఉపయోగించి XSS (క్రాస్-సైట్ స్క్రిప్టింగ్) ను నిర్వహించగల సామర్థ్యాన్ని కలిగి ఉంటాయి అధికార కోడ్ బహుళ యాక్సెస్ టోకెన్లను జారీ చేయడానికి ఒకసారి కంటే ఎక్కువ ఉపయోగించవచ్చు). ఈ దుర్బలత్వం పైన వివరించిన వాటి కంటే తక్కువ సాధారణం, కానీ వాటిని తక్కువ ప్రమాదకరమైనది కాదు. దాని వెబ్ అప్లికేషన్ యొక్క విశ్వసనీయ ఆపరేషన్ను నిర్ధారించడానికి అవసరమైన అన్ని అభ్యాసాలను డెవలపర్ తెలుసుకోవాలి.

అనువాదం వ్యాసం: సైమన్ సాలిబా.

ముఖ్యమైనది! విద్యా ప్రయోజనాల కోసం మాత్రమే సమాచారం. దయచేసి చట్టాన్ని అనుసరించండి మరియు చట్టవిరుద్ధ ప్రయోజనాల కోసం ఈ సమాచారాన్ని వర్తించవద్దు.

Cisoclub.ru పై మరింత ఆసక్తికరమైన విషయం. US కు సబ్స్క్రయిబ్: ఫేస్బుక్ | VK | ట్విట్టర్ | Instagram | టెలిగ్రామ్ | జెన్ | మెసెంజర్ | ICQ కొత్త | YouTube | పల్స్.

ఇంకా చదవండి