Խոցելիություններ OAUTH | Ինչպես իրականացնել անվտանգ թույլտվություն ձեր վեբ դիմումում

Anonim
Խոցելիություններ OAUTH | Ինչպես իրականացնել անվտանգ թույլտվություն ձեր վեբ դիմումում 2740_1

Այս հոդվածը կզբաղվի հայտնի օշուտ խոցելիությամբ: Ընթերցողները կսովորեն, թե ինչպես իրականացնել անվտանգ եւ անվտանգ թույլտվություն վեբ դիմումում:

Օասը հուսալի արձանագրություն է, բայց անվտանգության աստիճանը մեծապես կախված է վեբ մշակողների տեղեկացվածությունից `թույլտվություն իրականացնելիս: Սա այս թեման չափազանց կարեւոր է դարձնում տեղեկատվական անվտանգության մասնագետների համար: Նրանք պետք է ապահովեն իրենց օգտագործողների հաշիվների պաշտպանության բարձր մակարդակը: Ժամանակն է ծանոթանալ արդյունավետ պրակտիկ մասնագետների հետ, ովքեր կօգնեն նվազեցնել OAUTH- ի աղքատ վաճառքի վտանգը:

Ներածություն

OAuth 2.0 արձանագրություն ներկայումս լայնորեն օգտագործվում է տարբեր ծրագրերում: Օգտագործելով այն, հարմար ինտերֆեյսը մատչելի է դառնում, ավելի հեշտ վավերացում եւ թույլտվություն `օգտագործողի եւ գաղտնաբառի մուտքագրման ավանդական մեթոդների համեմատ: Պատշաճ եւ մտածված իրականացմամբ, OAUTP արձանագրությունը ավելի անվտանգ կլինի, քան ավանդական թույլտվությունը, քանի որ օգտագործողները կարիք չունեն իրենց հաշվապահական հաշվառման տվյալները կիսել երրորդ կողմի դիմում `հատուկ ռեսուրս մուտք գործելու համար: Օգտագործողները հաճախ գերադասում են մուտք գործել իրենց Google հաշիվների, Facebook- ի կամ LinkedIn- ի միջոցով, փոխարենը նոր հաշիվ ստեղծելու փոխարեն `որոշ ինտերնետային կայքում գրանցվելու համար: Այսպիսով, OAUTH արձանագրությունը մեծապես պարզեցնում է մեր կյանքը:

Ընդհանուր առմամբ, հանրաճանաչ OAuth ծառայություններ մատուցողները շատ հուսալի են: Մուտք գործեք Google- ի կամ Facebook- ի հաշվի հետ, ոգեշնչում է անվտանգության որոշակի զգացողություն, եւ դա ճիշտ է: Արձանագրությունը խնամքով փորձարկվում է փորձագետների կողմից: Բոլոր մատչելի խոցելիությունները միշտ արագ շտկվում են ծրագրավորողի թիմի կողմից: Այնուամենայնիվ, հարկ է նշել, որ ամբողջական անվտանգության զգացումը կարող է կեղծ լինել:

OAUTH ԾԱՌԱՅՈՒԹՅՈՒՆՆԵՐԻ ԾԱՌԱՅՈՒԹՅՈՒՆՆԵՐԸ ՁԵՌՆԱՐԿՈՒՄ ԵՆ ԴԻՄՈՒՄ ՄՇԱԿՈՒՅԹՆԵՐԸ `իրենց ծրագրերի անվտանգությունը վիճարկելու համար: Փաստորեն, սկզբնական պաշտպանված OAuth ծառայությունը, որը սխալ է իրականացվում իր տեղադրման գործընթացում, կարող է հեշտ թիրախ դառնալ ներխուժողների համար: Նման նախազգուշացումը կհանգեցնի օգտվողների անձնական տվյալների գողության:

Հաջորդը, դուք պետք է հաշվի առնեք երրորդ կողմի դիմումներում հանդիպած ամենատարածված խոցելիությունները, որոնք իրականացնում են OAUT- ի արձանագրություն, իրենց օգտագործողներին թույլ տալու համար: Պետք է հիշել, որ արձանագրությունն ինքնին անվտանգ է եւ հուսալի: Միայն սխալ իրականացումից հետո այն խոցելի է դառնում հաքերային հարձակումների համար:

Oauth tockey գողություն, օգտագործելով Հղիչի վերնագիրը

Երբ դիմումը դիմում է օգտագործողի անունից Oututh սերվերում, անձը ստանում է կոդ, սերվերին վերադառնալու եւ հետագա ստուգման համար: Եթե ​​աշխատանքի ընթացքում օգտագործողը կուղղվի մեկ այլ էջ, ապա կոդը կտեսնվի HTTP հարցման «Հղում» վերնագրում: Այսպիսով, օրենսգիրքը կընկնի արտաքին կայքում, որը կվտանգի OAUTH սերվերում գրանցված օգտվողի տվյալները:

Նշում. Հղի վերնագիրը HTTP հարցման վերնագիր է, այն փոխանցում է URL Host- ը, որից ուղարկվում է հարցումը:

Այս խոցելիության հետեւանքները մեղմելու համար մշակողը պետք է համոզվի, որ իր վեբ ծրագիրը չի պարունակում որեւէ HTML ներարկում: Եթե ​​ներարկումները հայտնաբերվել են, հարձակվողը կարող է հեշտությամբ սահմանել պատկերի պիտակը իր վեբ սերվերին եւ գտնել դրա վրա օգտագործողին վերահղելու միջոց: Այսպիսով, նա հնարավորություն կստանա գողանալու կոդը HTTP հարցման «Հղում» վերնագրից:

Oauth Tockey գողություն `օգտագործելով վերահղման_վա պարամետրը

Հայտը նախաձեռնում է թույլտվության գործընթացը `հարցում ուղարկելով OAUTH սերվերին.

https://www.example.com/signin/Authorize?).

Հարցումը միշտ պարունակում է «Redirect_uri» պարամետրը, որն օգտագործվում է OAUTH սերվերի կողմից, որպեսզի օգտագործողը տվել այն բանից հետո, երբ օգտագործողը իր համաձայնությունը տվել է: Եթե ​​այս պարամետրերի արժեքը չի վերահսկվում կամ չի ստուգվում, հարձակվողը կարող է հեշտությամբ փոխել այն եւ վերահղել հայցը իր կայքում, որտեղ այն օգտագործում է հատուկ ծրագիր, նշանի վերամշակման համար:

https://www.example.com/signin/Authorize? compan...

Երբեմն նմանատիպ URL- ն արգելափակված է: Հարձակվողը կարող է վերափոխել ստացված տվյալները բաց URL- ի վրա, ինչպես այսպիսին.

https://www.example.com/oauth20_authorize.srf?

Կամ սա.

https://www.example.com/oauth2/Anthorize? [...]% irect_uri = https% 3A% 2F% 2Fapps.facebook.com% 2F.

Օհութն իրականացնելիս երբեք չկարողանաք ներառել ամբողջ տիրույթները սպիտակ ցուցակում: «Վերափոխիչ_ուրի» -ին պետք է ավելացվեն միայն մի քանի url, որոնք վերահղում են վերահղման բացման պահանջը:

Խաչի հարցումների կեղծիք

Խաչմերուկի հայցի կեղծիքը կարող է առաջանալ այն ժամանակ, երբ հարձակվողին հաջողվում է տուժողին ստիպել կտտացնել նրա հղումը եւ, այսպիսով, խնդրանք առաջացնել, որ նա չի պատրաստվում առաջացնել: Խաչի գծերի հայցերի կեղծումը սովորաբար մեղմվում է ՀԾՄՀ նշանի հետ, որը կապված է օգտագործողի նստաշրջանի հետ: Այն օգնում է դիմումին ստուգել այն անձի անձը, ով ուղարկել է հարցումը: «Պետություն» պարամետրը OAUT Արձանագրության մեջ ծառայում է ՀԾՄՀ-ի նշանը:

Արժե դիտել, թե ինչպես է ՀԾՄՀ-ի հարձակումը իրականացվում OAUT- ում, եւ քանի որ «Պետություն» պարամետրը կարող է օգտագործվել խոցելիության հետեւանքների մեղմացման համար:

Հակերները բացում են վեբ դիմում եւ գործարկում է թույլտվության գործընթացը `ծառայության մատակարարը մուտք գործելու համար, օգտագործելով OAuth: Դիմումը հայցում է ծառայության մատակարարին մուտք գործելու համար, որը պետք է տրամադրվի: Հակերները կուղղորդվեն ծառայություններ մատուցողի կայքում, որտեղ սովորաբար անհրաժեշտ է մուտքագրել ձեր օգտվողի անունը եւ գաղտնաբառը `մուտքը թույլտվության համար: Փոխարենը, հաքերը բռնում եւ կանխում է այս խնդրանքը եւ փրկում է դրա URL- ն: Հաքերը ինչ-որ կերպ առաջացնում է տուժածին այս URL- ն: Եթե ​​տուժողը մուտքագրեց ծառայություններ մատուցողի համակարգը, օգտագործելով իր հաշիվը, ապա դրա հավատարմագրերը կօգտագործվեն թույլտվության կոդ թողարկելու համար: Լիցենզիայի ծածկագիրը մուտք է գործում մուտքի նշան: Այժմ դիմումում հակերների հաշիվը լիազորված է: Այն կարող է մուտք գործել տուժողի հաշվին:

Այսպիսով, ինչպես կարող եմ կանխել այս իրավիճակը `օգտագործելով« պետությունը »պարամետրը:

Դիմումը պետք է ստեղծի արժեք, որը ինչ-որ կերպ հիմնված է աղբյուրի հաշվից (օրինակ, օգտագործեք օգտվողի նիստը Hash ստեղնը): Այնքան էլ կարեւոր չէ, թե որն է դա, հիմնականն այն է, որ արժեքը եզակի է եւ ստեղծվում է բնօրինակ օգտագործողի մասին մասնավոր տեղեկություններ օգտագործելով: Այն նշանակվում է «Պետություն» պարամետրին:

Այս արժեքը փոխանցվում է ծառայություններ մատուցողին վերահղման ժամանակ: Այժմ Հաքերը հրավիրում է տուժածին բացելու URL- ն, որը նա պահպանեց:

Լիցենզիայի ծածկագիրը տրվում եւ ուղարկվում է հաճախորդին նստաշրջանում «Պետություն» պարամետրերի հետ միասին:

Հաճախորդը առաջացնում է պարամետրային արժեք, որը հիմնված է նստաշրջանի տեղեկատվության վրա եւ այն համեմատում է «պետական» արժեքի հետ, որն ուղարկվել է թույլտվության խնդրանքից ծառայություններ մատուցողին: Այս արժեքը չի համապատասխանում հարցման «պետության» պարամետրին, քանի որ այն ստեղծվել է միայն ընթացիկ նստաշրջանի վերաբերյալ տեղեկատվության հիման վրա: Արդյունքում, ձեռք բերված արժեքը համակարգի կողմից չի ընդունվում:

OAUTH- ի իրականացման ժամանակ հայտնաբերված այլ խոցելիությունները ներառում են XSS (խաչմերուկի գրություններ), օգտագործելով «Redirect_uri» պարամետրը, OAUTH մասնավոր բանալիների պարամետրը (բանալին կարող է ձեռք բերել բջջային հավելվածի վերանայման ժամանակ (երբ Լիցենզիայի ծածկագիրը կարող է օգտագործվել մեկից ավելի անգամ, որպեսզի թողարկի բազմաթիվ մուտքի նշաններ): Այս խոցելիությունները ավելի քիչ տարածված են, քան վերը նկարագրվածները, բայց դա նրանց ավելի քիչ վտանգավոր չէ: Մշակողը պետք է իմանա բոլոր անհրաժեշտ պրակտիկան `իր վեբ հավելվածի հուսալի գործողությունն ապահովելու համար:

Թարգմանված հոդվածի հեղինակը. Սիմոն Սալիբա:

Կարեւոր է Տեղեկատվություն բացառապես գիտական ​​նպատակներով: Խնդրում ենք պահպանել օրենսդրությունը եւ չկիրառել այս տեղեկատվությունը ապօրինի նպատակներով:

Ավելի հետաքրքիր նյութեր cisoclub.ru- ում: Բաժանորդագրվել մեզ. Facebook | Vk | Twitter | Instagram | Telegram | Զեն | Մեսսենջեր | ICQ NEW | YouTube | Պուլս

Կարդալ ավելին