TLS արձանագրությունների և ծածկագրերի վերլուծություն
TLS (Transport Layer Security) արձանագրության տարբերակների և ծածկագրերի հավաքածուների (cipher suites) ճիշտ կոնֆիգուրացիան առանցքային նշանակություն ունի ցանցային փոխանցումների անվտանգության համար: Յուրաքանչյուր կապի հաստատման ժամանակ կողմերը համաձայնեցնում են օգտագործվող ալգորիթմները, որոնք որոշում են տվյալների գաղտնիությունը, ամբողջականությունը և վավերացումը:
Այս գործիքը նախատեսված է տեքստային տվյալների վերլուծության համար, ինչպիսիք են TLS սկանավորման արդյունքները կամ ձեռքսեղմման (handshake) ամփոփագրերը: Այն օգնում է ծրագրավորողներին, համակարգային ադմինիստրատորներին (SRE) և անվտանգության մասնագետներին արագորեն նույնականացնել բանակցված արձանագրությունները, ծածկագրման փաթեթները և հայտնաբերել հնացած կամ թույլ ալգորիթմները՝ առանց սերվերին ուղղակիորեն միանալու կամ կենդանի սկանավորում կատարելու:
Մուտքային տվյալների ձևաչափեր և սահմանափակումներ
Գործիքն ընդունում է տեքստային տեղեկատվություն, որը ստացվում է տարբեր ախտորոշիչ ծրագրերից և սկաներներից: Որպես մուտքային տվյալ կարող եք օգտագործել.
- Ընդհանուր TLS սկաներների ելքային տեքստերը,
openssl s_clientհրամանի միջոցով ստացված տվյալները,- Փաթեթների վերլուծության (packet analysis) ամփոփագրերը,
- Կարճ ClientHello կամ ServerHello նշումները:
Վերլուծիչը ճանաչում է IANA ստանդարտ անվանումները, OpenSSL համակարգում կիրառվող այլանունները (aliases), ինչպես նաև տասնվեցական (hexadecimal) ձևաչափով ներկայացված մի շարք տարածված ID-ներ:
Տեխնիկական սահմանափակումներ
- Նիշերի առավելագույն քանակը: Մուտքագրվող տեքստը պետք է լինի 200,000 նիշից պակաս: Եթե սահմանաչափը գերազանցվի, համակարգը կցուցադրի հետևյալ սխալը. «Այդ ամփոփումն անսովոր մեծ է։ Պահպանեք այն մինչև 200,000 նիշ:»:
- Ֆայլերի աջակցում: Գործիքը չի աջակցում հում երկուական (raw binary) տվյալներ կամ փաթեթների որսման (pcap) ֆայլեր:
- Դատարկ մուտքագրում: Դատարկ դաշտով վերլուծություն կատարելու փորձի դեպքում կցուցադրվի «Նախ տեղադրեք TLS սկանավորումը կամ ձեռքսեղմման ամփոփագիրը:» հաղորդագրությունը:
- Չճանաչված տվյալներ: Եթե տեքստում առկա չէ որևէ ճանաչելի տեղեկատվություն, օգտատերը կտեսնի «TLS ոչ մի տարբերակ կամ գաղտնագրման փաթեթ չի ճանաչվել: Տեղադրեք ընթեռնելի սկաների կամ ձեռքսեղմման դաշտերը:» սխալը:
Պարամետրերի դասակարգում և դերեր
Վերլուծության արդյունքում հայտնաբերված արձանագրության տարբերակներին և ծածկագրերի հավաքածուներին տրվում են համապատասխան դերեր և գնահատականներ՝ կախված տեքստում դրանց հանդիպման համատեքստից.
Գործառնական դերեր
- Բանակցվել է: Արձանագրությունը կամ ծածկագիրը, որն ընտրվել և հաստատվել է կողմերի միջև հաղորդակցության համար:
- Առաջարկվում է: Կլիենտի կողմից ներկայացված հնարավոր տարբերակների ցանկը:
- Դիտարկված: Տեքստում հայտնաբերված, բայց հստակ դեր չունեցող պարամետրերը:
Անվտանգության գնահատականներ
Յուրաքանչյուր ծածկագրի հավաքածու ստանում է հետևյալ որակավորումներից մեկը.
- Ժամանակակից: Համապատասխանում է անվտանգության արդի ստանդարտներին:
- Վերանայում: Պահանջում է լրացուցիչ ուշադրություն կամ հատուկ պայմանների ստուգում:
- Հնացած: Պարունակում է թույլ կամ հնացած տարրեր, որոնք խորհուրդ չեն տրվում կիրառել:
- Անհայտ: Փաթեթը բացակայում է ներկառուցված բազայից:
Եթե մուտքագրված տեքստում համապատասխան բաղադրիչները բացակայում են, համակարգը կցուցադրի «Տրամադրված տեքստում արձանագրության տարբերակ չի գտնվել:» կամ «Տրամադրված տեքստում ծածկագրերի հավաքածու չի գտնվել:» հաղորդագրությունները:
Գաղտնագրման ալգորիթմների թերությունները և գնահատումը
Գործիքը վերլուծում է ծածկագրերի կառուցվածքը և ներկայացնում կոնկրետ եզրակացություններ յուրաքանչյուր թույլ կամ հնացած բաղադրիչի վերաբերյալ.
| Ալգորիթմ / Փաթեթի տեսակ | Գնահատման արդյունք (Finding) |
|---|---|
| RC4 | RC4-ը հնացած է և չպետք է սակարկվի: |
| DES | DES-ն ապահով չէ ընդհանուր TLS օգտագործման համար: |
| 3DES | 3DES-ն ունի փոքր բլոկի չափ և հնացած է TLS-ի համար: |
| NULL | NULL կոդավորումը չի ապահովում գաղտնիություն: |
| EXPORT | EXPORT հավաքակազմերը միտումնավոր օգտագործում են թույլ ծածկագրություն և հնացած են: |
| Anonymous | Անանուն հավաքակազմերը չեն վավերացնում հասակակիցներին և խոցելի են գաղտնալսման համար: |
| MD5 | MD5-ն ապահով չէ ընդհանուր TLS օգտագործման համար: |
| SHA-1 | Այս հավաքածուն օգտագործում է SHA-1, որը հնացած է ընդհանուր TLS օգտագործման համար: |
| CBC սյուիտներ | CBC սյուիտները ժառանգություն են: Նախընտրեք AEAD հավաքածուն, ինչպիսին է AES-GCM կամ ChaCha20-Poly1305: |
| Ստատիկ RSA | Ստատիկ RSA բանալիների փոխանակումը չի ապահովում ֆորվարդային գաղտնիություն: |
| CCM-8 | CCM-8-ն օգտագործում է վավերացման ավելի կարճ պիտակ և կարիք ունի արձանագրության հատուկ վերանայման: |
| Չճանաչված սյուիտ | Այս փաթեթը ներկառուցված ընդհանուր փաթեթի քարտեզում չէ: Ստուգեք ընթացիկ IANA ռեեստրի կամ սկաների փաստաթղթերը: |
Բանալիների փոխանակումը TLS 1.3-ում
TLS 1.3 արձանագրությունում կիրառվում է սկզբունքորեն այլ մոտեցում ծածկագրերի կառուցվածքի նկատմամբ: Ի տարբերություն նախորդ տարբերակների, որտեղ բանալիների փոխանակման (օրինակ՝ ECDHE կամ RSA) և նույնականացման ալգորիթմները ներառված էին հենց ծածկագրի հավաքածուի անվան մեջ, TLS 1.3-ում այս գործընթացները բաժանված են:
Այս արձանագրության դեպքում ծածկագրերի հավաքածուի անունը սահմանում է միայն սիմետրիկ կոդավորման ալգորիթմը և հեշ-ֆունկցիան (օրինակ՝ TLS_AES_256_GCM_SHA384): Գործիքը հաշվի է առնում այս առանձնահատկությունը և համապատասխան դեպքերում նշում. «TLS 1.3-ը բանակցում է բանալիների փոխանակման և նույնականացման մասին՝ գաղտնագրման փաթեթից առանձին:»:
Տվյալների մշակման գաղտնիությունը
Անվտանգության վերլուծության ժամանակ կարևոր է բացառել զգայուն տվյալների արտահոսքը: Ձեր տեղադրած TLS մանրամասները մնում են ձեր դիտարկիչում: BroBroGo-ը դրանք չի վերբեռնում կամ պահպանում: Բոլոր հաշվարկներն ու տեքստային համադրումները կատարվում են լոկալ կերպով՝ օգտատիրոջ սարքի վրա:
Հաճախ տրվող հարցեր (FAQ)
Ո՞ր TLS ելքային ձևաչափերը կարող եմ տեղադրել:
Տեղադրեք տեքստ սովորական TLS սկաներներից, openssl s_client, փաթեթների վերլուծության ամփոփագրերից կամ կարճ ClientHello կամ ServerHello նշումից: Ստուգիչը ճանաչում է սովորական IANA անունները, OpenSSL այլանունները և մի քանի ընդհանուր տասնվեցական փաթեթի ID-ներ. այն չի վերծանում չմշակված փաթեթային բայթերը:
Ինչո՞ւ TLS 1.3 ծածկագրերի հավաքածուն չի ցուցադրում RSA կամ ECDHE:
TLS 1.3 ծածկագրերի հավաքածուների անունները նկարագրում են գրառումների կոդավորումը և ձեռքսեղմման հաշը: Բանալինների փոխանակումը և նույնականացումը քննարկվում են առանձին, ուստի դրանք չեն կարող ենթադրվել միայն փաթեթի անունից:
Արդյո՞ք այս արդյունքը ապացուցում է, որ սերվերն ապահով է:
Ոչ: Այն բացատրում է միայն ձեր տեղադրած տեքստը: Այն չի միանում հոսթին, չի ստուգում վկայականը, չի չափում բանալիների չափերը, չի ստուգում վարկանիշի իջեցման վարքագիծը կամ ցույց չի տալիս սերվերի կողմից ընդունված բոլոր փաթեթները: