TLS პროტოკოლის ვერსიები და მათი მნიშვნელობა
TLS (Transport Layer Security) პროტოკოლი წარმოადგენს ინტერნეტში უსაფრთხო კომუნიკაციის საფუძველს. დროთა განმავლობაში, კრიპტოგრაფიული აღმოჩენებისა და გამოთვლითი სიმძლავრის ზრდასთან ერთად, პროტოკოლის ძველი ვერსიები მოძველდა და ჩანაცვლდა უფრო უსაფრთხო ალტერნატივებით.
პროტოკოლის ვერსიის იდენტიფიცირება კრიტიკულად მნიშვნელოვანია კავშირის უსაფრთხოების შესაფასებლად. TLS 1.0 და TLS 1.1 ვერსიები დღეს მიჩნეულია მოძველებულად და შეიცავს ცნობილ მოწყვლადობებს. TLS 1.2 კვლავ ფართოდ გამოიყენება და უზრუნველყოფს ძლიერ დაცვას სწორი კონფიგურაციის შემთხვევაში, ხოლო TLS 1.3 წარმოადგენს თანამედროვე სტანდარტს, რომელიც მნიშვნელოვნად აუმჯობესებს როგორც უსაფრთხოებას, ასევე კავშირის დამყარების სიჩქარეს.
ინსტრუმენტი აანალიზებს თქვენ მიერ მოწოდებულ ტექსტს და ახდენს პროტოკოლის ვერსიების იდენტიფიცირებას, რის შემდეგაც მათ ანიჭებს შესაბამის როლს კონტექსტის მიხედვით:
- მოლაპარაკება: პროტოკოლი, რომელიც საბოლოოდ შეთანხმდა კლიენტსა და სერვერს შორის კომუნიკაციისთვის.
- შესთავაზა: პროტოკოლის ვერსიები, რომლებიც კლიენტმა წარადგინა ხელის ჩამორთმევის დასაწყისში.
- დააკვირდა: პროტოკოლები, რომლებიც დაფიქსირდა წარმოდგენილ ტექსტურ მონაცემებში.
თუ წარმოდგენილ ტექსტში პროტოკოლის ვერსია საერთოდ ვერ მოიძებნა, სისტემა გამოიტანს შეტყობინებას: "მოწოდებულ ტექსტში პროტოკოლის ვერსია არ მოიძებნა.".
TLS შიფრების ნაკრების სტრუქტურა და კომპონენტები
TLS შიფრების ნაკრები (Cipher Suite) არის კრიპტოგრაფიული ალგორითმების ერთობლიობა, რომელიც განსაზღვრავს, თუ როგორ მოხდება კავშირის დაცვა. ტრადიციულად, TLS 1.2-მდე, შიფრების ნაკრების სახელი შეიცავს ინფორმაციას ოთხი ძირითადი კომპონენტის შესახებ:
- გასაღების გაცვლის ალგორითმი: განსაზღვრავს, თუ როგორ ხდება საიდუმლო გასაღებების უსაფრთხო გაზიარება (მაგ. ECDHE, RSA).
- ავთენტიფიკაციის მექანიზმი: ადასტურებს სერვერის (და ზოგჯერ კლიენტის) ვინაობას (მაგ. RSA, ECDSA).
- სიმეტრიული დაშიფვრის ალგორითმი: გამოიყენება უშუალოდ მონაცემთა გადაცემის დასაშიფრად (მაგ. AES, ChaCha20).
- ჰეშირების ალგორითმი (MAC): უზრუნველყოფს მონაცემთა მთლიანობის შემოწმებას (მაგ. SHA-256, SHA-384).
ინსტრუმენტი ამოიცნობს საერთო IANA სახელებს, OpenSSL მეტსახელებს და რამდენიმე გავრცელებულ თექვსმეტობით კომპლექტის ID-ს. ანალიზის შედეგად თითოეულ შიფრს ენიჭება ერთ-ერთი შეფასება:
- თანამედროვე: მიმდინარე უსაფრთხოების სტანდარტების შესაბამისი ძლიერი შიფრები.
- მიმოხილვა: საჭიროებს დამატებით შემოწმებას კონკრეტული გამოყენების კონტექსტში.
- მოძველებულია: შეიცავს სუსტ ან მოძველებულ ალგორითმებს და არ არის რეკომენდებული გამოსაყენებლად.
- უცნობი: შიფრი, რომელიც არ არის ჩაშენებული საერთო კომპლექტის ბაზაში.
თუ ტექსტში შიფრების ნაკრები ვერ მოიძებნა, ეკრანზე გამოჩნდება შეტყობინება: "მოწოდებულ ტექსტში შიფრების ნაკრები არ მოიძებნა.".
მოძველებული და დაუცველი კრიპტოგრაფიული ალგორითმები
უსაფრთხოების აუდიტის დროს უმნიშვნელოვანესია მოძველებული ალგორითმების იდენტიფიცირება. ეს ხელსაწყო ავტომატურად აანალიზებს შიფრების ნაკრებებს და აჩვენებს შესაბამის გაფრთხილებებს კონკრეტული სისუსტეების აღმოჩენისას:
| ალგორითმი / კომპლექტი | სისტემური შეტყობინება და უსაფრთხოების სტატუსი |
|---|---|
| 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." |
| CCM-8 | "CCM-8 იყენებს უფრო მოკლე ავთენტიფიკაციის ტეგს და საჭიროებს პროტოკოლის სპეციფიკურ მიმოხილვას." |
თუ ანალიზისას აღმოჩენილია უცნობი შიფრი, სისტემა აჩვენებს შეტყობინებას: "ეს კომპლექტი არ არის ჩაშენებული საერთო კომპლექტის რუკაში. შეამოწმეთ მიმდინარე IANA რეესტრის ან სკანერის დოკუმენტაცია.".
გასაღების გაცვლა და ავთენტიფიკაცია TLS 1.3-ში
TLS 1.3 პროტოკოლმა რადიკალურად შეცვალა შიფრების ნაკრების სტრუქტურა. წინა ვერსიებისგან განსხვავებით, TLS 1.3-ში გასაღების გაცვლის (Key Exchange) და ავთენტიფიკაციის (Authentication) მექანიზმების მოლაპარაკება ხდება დამოუკიდებლად, უშუალოდ ხელის ჩამორთმევის პროცესში და ისინი აღარ არის ინტეგრირებული შიფრების ნაკრების სახელში.
ამ მიზეზით, TLS 1.3 შიფრების ნაკრების სახელწოდება (მაგალითად, TLS_AES_256_GCM_SHA384) აღწერს მხოლოდ სიმეტრიული დაშიფვრის ალგორითმს და ხელის ჩამორთმევის ჰეშს. ინსტრუმენტი ამ სპეციფიკას ითვალისწინებს და შესაბამისი ანალიზისას გამოსცემს შეტყობინებას: "TLS 1.3 აწარმოებს მოლაპარაკებებს გასაღების გაცვლასა და ავთენტიფიკაციაზე შიფრული კომპლექტისგან დამოუკიდებლად.".
ფორვარდის საიდუმლოება და სტატიკური RSA
ფორვარდის საიდუმლოება (Forward Secrecy ან Perfect Forward Secrecy) არის უსაფრთხოების თვისება, რომელიც უზრუნველყოფს, რომ სერვერის გრძელვადიანი კერძო გასაღების გამჟღავნების შემთხვევაშიც კი, წარსულში ჩაწერილი სესიების გაშიფვრა შეუძლებელი იყოს. ეს მიიღწევა დროებითი (ephemeral) გასაღებების გამოყენებით ყოველი სესიისთვის.
სტატიკური RSA გასაღების გაცვლის მექანიზმი არ უზრუნველყოფს ამ თვისებას. თუ თავდამსხმელი ჩაწერს დაშიფრულ ტრაფიკს და მოგვიანებით ხელში ჩაიგდებს სერვერის კერძო გასაღებს, მას შეეძლება ყველა წარსული სესიის გაშიფვრა. ამიტომ, სტატიკური RSA-ს აღმოჩენისას ინსტრუმენტი გაჩვენებთ გაფრთხილებას: "სტატიკური RSA გასაღების გაცვლა არ უზრუნველყოფს ფორვარდის საიდუმლოებას.".
მონაცემთა დამუშავება და კონფიდენციალურობა
უსაფრთხოების ანალიზის ხელსაწყოების გამოყენებისას უმნიშვნელოვანესია მონაცემთა კონფიდენციალურობის დაცვა. ეს ინსტრუმენტი მუშაობს ლოკალურად: თქვენი ჩასმული TLS დეტალები თქვენს ბრაუზერში რჩება. BroBroGo არ ატვირთავს და არ ინახავს მათ.
ანალიზი მთლიანად სრულდება კლიენტის მხარეს, რაც გამორიცხავს სენსიტიური სკანირების მონაცემების გარე სერვერებზე გადაცემას.
შეზღუდვები: სტატიკური ანალიზი ცოცხალი სკანირების წინააღმდეგ
მნიშვნელოვანია გვესმოდეს განსხვავება ტექსტის სტატიკურ ანალიზსა და აქტიურ ქსელურ სკანირებას შორის. ეს გვერდი განმარტავს მხოლოდ მოწოდებულ ტექსტს. ის არ უკავშირდება ჰოსტს და არ ასრულებს ცოცხალ TLS სკანირებას და დაკარგული ველები უცნობი რჩება.
ინსტრუმენტი არ ახდენს სერტიფიკატების ვალიდაციას, არ ზომავს გასაღებების რეალურ ზომებს, არ ამოწმებს პროტოკოლის ვერსიის დაქვეითების (downgrade) მიმართ მდგრადობას და არ შეუძლია აჩვენოს ყველა ის შიფრი, რომელსაც სერვერი პოტენციურად უჭერს მხარს, თუ ისინი არ არის ასახული თქვენ მიერ ჩასმულ ტექსტში.
ხშირად დასმული კითხვები
რომელი TLS გამომავალი ფორმატების ჩასმა შემიძლია? ჩასვით ტექსტი ჩვეულებრივი TLS სკანერებიდან, openssl s_client, პაკეტების ანალიზის შეჯამებები ან მოკლე ClientHello ან ServerHello შენიშვნა. გამშვები ამოიცნობს საერთო IANA სახელებს, OpenSSL მეტსახელებს და რამდენიმე საერთო თექვსმეტობითი კომპლექტის ID-ებს; ის არ დეკოდირებს ნედლი პაკეტის ბაიტებს.
რატომ არ აჩვენებს TLS 1.3 შიფრების კომპლექტს RSA ან ECDHE? TLS 1.3 შიფრული კომპლექტის სახელები აღწერს ჩანაწერების დაშიფვრას და ხელის ჩამორთმევის ჰეშს. გასაღების გაცვლა და ავთენტიფიკაცია ცალ-ცალკე განიხილება, ამიტომ მათი დასკვნა შეუძლებელია მხოლოდ კომპლექტის სახელიდან.
ადასტურებს თუ არა ეს შედეგი სერვერის უსაფრთხოებას? არა. ის განმარტავს მხოლოდ თქვენს მიერ ჩასმულ ტექსტს. ის არ უკავშირდება ჰოსტს, არ ამოწმებს სერთიფიკატს, არ გაზომავს გასაღების ზომებს, არ ამოწმებს რეიტინგის დაქვეითების ქცევას და არ აჩვენებს ყველა კომპლექტს, რომელსაც სერვერი იღებს.
რა არის მაქსიმალური სიმბოლოების რაოდენობა, რომლის გაანალიზებაც შემიძლია? ანალიზატორში ჩასასმელი ტექსტის მაქსიმალური ლიმიტი შეადგენს 200,000 სიმბოლოს. თუ შეყვანილი მონაცემები ამ ლიმიტს აჭარბებს, სისტემა გამოიტანს შეცდომას: "ეს რეზიუმე უჩვეულოდ დიდია. შეინახეთ 200000 სიმბოლოზე ნაკლები.".