რა არის Heartbleed დაუცველობა?

2010-იანი წლების შუა პერიოდის ერთ-ერთ ყველაზე ცნობილ დაუცველობას ეწოდა "Heartbleed". Heartbleed განსაკუთრებით სერიოზული იყო, რადგან პროგრამულმა ზემოქმედებამ მოახდინა „OpenSSL“, მთავარი კრიპტოგრაფიული ბიბლიოთეკა HTTPS კავშირებისთვის, რომლებიც ძალიან ფართოდ გამოიყენება. კიდევ უფრო უარესი, დაუცველობა იყო OpenSSL-ში ორ წელზე მეტი ხნის წინ ის აღმოაჩინეს, გავრცელდა და გასწორდა, რაც იმას ნიშნავდა, რომ ბევრი ადამიანი იყენებდა დაუცველს ვერსია.

Heartbleed იყო მონაცემთა გაჟონვის დაუცველობა გულისცემის გაფართოებაში, რომლის ექსპლუატაციისას გაჟონა RAM-დან სერვერიდან კლიენტამდე. გულისცემის გაფართოება გამოიყენება ვებ სერვერსა და კლიენტს შორის კავშირის შესანარჩუნებლად გვერდის ჩვეულებრივი მოთხოვნის გარეშე.

OpenSSL-ის შემთხვევაში, კლიენტი აგზავნის შეტყობინებას სერვერზე და აცნობებს სერვერს, თუ რამდენი ხანია შეტყობინება, 64 კბ-მდე. შემდეგ სერვერმა უნდა გაიმეოროს იგივე შეტყობინება. თუმცა, მთავარია, რომ სერვერმა რეალურად არ შეამოწმა, რომ შეტყობინება იმდენ ხანს იყო, რამდენადაც კლიენტი ამტკიცებდა, რომ იყო. ეს იმას ნიშნავდა, რომ კლიენტს შეეძლო გაეგზავნა 10KB შეტყობინება, აცხადებდა, რომ ეს იყო 64KB და მიეღო 64KB პასუხი, დამატებით 54KB შედგება შემდეგი 54KB ოპერატიული მეხსიერებისგან, არ აქვს მნიშვნელობა რა მონაცემები იყო იქ შენახული. ეს პროცესი კარგად არის წარმოდგენილი

XKCD კომიქსი #1354.

გამოსახულება თავაზიანობის xkcd.com.

ბევრი მცირე გულისცემის მოთხოვნით და იმის მტკიცებით, რომ ისინი დიდი იყო, თავდამსხმელს შეეძლო სერვერის ოპერატიული მეხსიერების უმეტესი ნაწილის სურათის შექმნა პასუხების ერთად შეკრებით. RAM-ში შენახული მონაცემები, რომელთა გაჟონვა შესაძლებელია, მოიცავს დაშიფვრის გასაღებებს, HTTPS სერთიფიკატებს, ასევე დაშიფრულ POST მონაცემებს, როგორიცაა მომხმარებლის სახელები და პაროლები.

შენიშვნა: ნაკლებად ცნობილია, მაგრამ გულისცემის პროტოკოლი და ექსპლოიტი ასევე მუშაობდა სხვა მიმართულებით. მავნე სერვერი შეიძლება იყოს კონფიგურირებული ისე, რომ წაიკითხოს მომხმარებლის მეხსიერების 64 KB-მდე გულისცემის მოთხოვნაზე.

ეს საკითხი უსაფრთხოების მრავალმა მკვლევარმა დამოუკიდებლად აღმოაჩინა 2014 წლის პირველ აპრილს და პირადად იყო გამჟღავნებული OpenSSL-ისთვის, რათა შესაძლებელი ყოფილიყო პაჩის შექმნა. შეცდომა გამოქვეყნდა, როდესაც პატჩი გამოვიდა 2014 წლის შვიდ აპრილს. პრობლემის გადასაჭრელად საუკეთესო გამოსავალი იყო პაჩის გამოყენება, მაგრამ ასევე შესაძლებელი იყო პრობლემის გამოსწორება გულისცემის გაფართოების გამორთვით, თუ დაუყონებლივ დაყენება არ იყო ვარიანტი.

სამწუხაროდ, მიუხედავად იმისა, რომ ექსპლოიტი საჯარო და საყოველთაოდ ცნობილი იყო, ბევრი ვებსაიტი მაინც არ განახლებულა დაუყოვნებლივ, დაუცველობა მაინც ზოგჯერ გვხვდება წლების შემდეგაც კი. ამან გამოიწვია ექსპლოიტის არაერთი შემთხვევა, რომელიც გამოიყენებოდა ანგარიშებზე წვდომის ან მონაცემების გაჟონვის მიზნით.