; ახალგაზრდა პროგრამისტებს 36.000$ ოდენობის პრემია Google-გან - IT Academy STEP Tbilisi ახალგაზრდა პროგრამისტებს 36.000$ ოდენობის პრემია Google-გან - IT Academy STEP Tbilisi

თბილისი, ჯანო ბაგრატიონის 6

ახალგაზრდა პროგრამისტებს 36.000$ ოდენობის პრემია Google-გან

2018 წლის დასაწყისში, 18 წლის ურუგვაელმა პროგრამისტმა Ezequiel Pereira-მ მიიღო წვდომა აპლიკაციების ძრავების დანერგვის არასამეწარმეო  გარემოში, სადაც მას შეეძლო შიდა API-ს გამოყენება და ეს ითვლებოდა დისტანციური კოდის შესრულებად Google-ის მუშაობის სტილის გამო. ამისთვის, პროგრამისტმა $36k მიიღო ჯილდოდ, როგორც Google Vulnerability Rewards Program-ის ნაწილი.

არასამეწარმეო GAE დანერგვის გარემოსთან თამაშით, მან აღმოაჩინა ახალი საშუალება იმის გასარკვევად თუ რომელი ვებ-საიტები და ვებ-სერვისები იყენებენ Google-ის ვებ framework-ებს და Google’s cloud კომპიუტერულ პლათფორმას მათი ვებ აპლიკაციების და სერვისების გასათავსებლად.

მან ამ ბლოგში ახსენა:

ერთხელ შევამჩნიე რომ ყოველი Google App Engine (GAE) აპლიკაცია პასუხობდა ყოველ HTTP მოთხოვნას “X-Cloud-Trace-Context” header-ით, ვიფიქრე, რომ ნებისმიერი ვებ-საიტი, რომელიც ამ header-ს აბრუნებდა, სავარაუდოდ მუშაობდა GAE-ზე. ამის შემდეგ გავიგე, რომ “appengine.google.com” თვითონ მუშაობს GAE-ზე, მაგრამ მას შეუძლია რაღაც მოქმედებების შესრულება, რომლების გაკეთება სხვაგან არსად არ შეიძლება, ვერც ჩვეულებრივი იუზერ აპლიკაციები ვერ შეასრულებენ. ამიტომ შევეცადე აღმომეჩინა როგორ შეიძლებოდა ამ მოქმედებების შესრულება“.

 

მას შემდეგ რაც გაიგო რომ appengine.google.com თვითონ მუშაობს GAE-ზე, Pereira-მ დაიწყო გზების ძებნა “API, ინტერფეისი ან მხოლოდ აპლიკაციებისთვის ხელმისაწვდომი სხვა რამის” წვდომისთვის, რასაც Google იყენებდა.

„მე უკვე ნანახი მქონდა [“stubby’], რომელიც ნახსენები იყო Google-ის რომელიღაც პროდუქტის შეცდომის შეტყობინებაში… მივხვდი, რომ ეს იყო RPC ინფრასტრუქტურა და ეს შესაძლებელი იყო ყოფილიყო შიდა მოქმედებების შესრულების გზა appengine.google.com-თვის,“ განაცხადა მან.

რადგან Pereira-მ თავდაპირველად ვერ იპოვა “stubby” RPC წვდომის გზა GAE deployment environment ფროდაქშენში, მან გამოიყენა კიდევ ერთი ბაგი (რომელიც იყო $5000-ზე მეტი სუბსიდია), რამაც საშუალება მისცა მას შესულიყო Google-ის  ტესტირების გარემოში.

ეს ამოცანის ბოლო ნაწილი იყო, რადგან ასეთი გარემოებების უფრო დაბალმა უსაფრთხოებამ მისცა წვდომა “stubby” RPC სერვერზე, რომელიც აბრუნებდა “a nice rpc.ServiceList ყველა სერვისის (და მათი მეთოდების) ჩამონათვალს, რასაც ამოცანის მხარდაჭერა ჰქონდა ”.

„ამის აღმოჩენის შემდეგ ტესტირება ჩავატარე, მაგამ ვერ აღმოავაჩინე ვერანაირი “stubby” გამოძახება, რომელიც საშიშად მომეჩვენებოდა“, განაცხადა მან. „მიუხედავად ამისა, Google-ს მაინც შევატყობინე ყველაფერი და ამას P1 პრიორიტეტი მიენიჭა“.

საინტერესოა, რომ პერეირამ ყურადღება გაამახვილა სხვა არგუმენტზე, რომელიც მან მიიღო თავისი Java launcher binary-დან სახელწოდებით app_config_service, რომელიც საშუალებას აძლევდა ყველა ადამიანს, რომელსაც წვდომა ჰქონდა შეეცვალა აპლიკაციის კონფიგურაციის პარამეტრები ენდპოინტში.

„ამის აღმოჩენის შემდეგ, Google-ს შევატყობინე ჩემი აღმოჩენები და მათ პრიორიტეტი ამ საკითხზე გადმოიტანეს“, განაცხადა მან. „მანამდე წარმოდგენა არ მქონდა, რომ ეს ითვლებოდა აღსრულების დისტანციურ კოდად (ბაგების უმაღლესი დონე).“

სანამ Google-ი ამ დეფექტის გარშემო პატარ-პატარა დეტალებს აგროვებდა, დაჯილდოების ჯგუფის წევრმა უთხრა პერეირას: „ეს არის RCE რასაც Google იყენებს.“

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

ჩვენთან სტეპ აკადემიაში თქვენ გაქვთ შესაძლებლობა შეისწავლოთ პროგრამირება, მიიღოთ ხარისხიანი ცოდნა და უზარმაზარი გამოცდილება! შემოგვიერთდით აკადემიაში!

რეგისტრაცია

სახელი, გვარი*
ტელეფონი*
E-mail*
სად გაეცანით ინფორმაციას ღია კარის დღის შესახებ?*

 


ახალი ამბები