მაიკლ ჰოვარდი SQL Injection-ზე და ჩემი შეშფოთება უახლესი შეტევების შესახებ

  • Nov 22, 2023

ასე რომ, შვებულების შემდეგ ბლოგების დაჭერისას, მივედი და მივიღე პიკი მაიკლ ჰოვარდის ვებ ჟურნალში და გამიხარდა მისგან კიდევ ერთი პოსტის ნახვა. მისი პოსტები ძალიან გამჭრიახია (უბრალოდ ვისურვებდი, რომ მეტი გამოქვეყნდეს).

მაიკლ ჰოვარდი
ასე რომ, შვებულების შემდეგ ბლოგების გაცნობისას წავედი და პიკი მქონდა მაიკლ ჰოვარდის ვებ ჟურნალი და გამიხარდა მისგან კიდევ ერთი პოსტის ნახვა. მისი პოსტები ძალიან გამჭრიახია (უბრალოდ ვისურვებდი, რომ მეტი გამოქვეყნდეს). ასე რომ, 16 მაისს (ძველი ამბები ახლა, მაგრამ მაინც საინტერესო) მაიკლმა კომენტარი გააკეთა ბოლოდროინდელ გამონაყარზე SQL Injections-მა და მან დააფიქსირა რამდენიმე შესანიშნავი პუნქტი, განსაკუთრებით იმის შესახებ, თუ როგორ ავიცილოთ თავიდან ამ ტიპის საკითხები. მაიკლმა აღნიშნა:

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

ის ფაქტი, რომ მავნე დატვირთვა იმდენად ზოგადი იყო, აჩვენებს, რომ SQL ინექციის მეცნიერებამ არ მიიღო უკანა სავარძელი სხვა დაუცველობის ტიპების კვლევისთვის, როგორიცაა ბუფერული გადადინება ან საიტის სკრიპტირება საკითხები.

ვფიქრობ, პირველი გაკვეთილი ამ თავდასხმიდან არის შემდეგი:

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

ეს არის შესანიშნავი წერტილი, რომელიც შეიძლება გამოგრჩეთ. მიუხედავად იმისა, რომ ეს შეტევა გამიზნული იყო IIS და Microsoft SQL სერვერის მონაცემთა ბაზებზე, SQL ინექციები პრობლემაა ყველა პლატფორმაზე. მაიკლს აქვს რამდენიმე შესანიშნავი ნაბიჯი ამის გასამყარებლად:

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

  • გამოიყენეთ SQL პარამეტრიზებული მოთხოვნები
  • გამოიყენეთ შენახული პროცედურები
  • გამოიყენეთ SQL Execute-მხოლოდ ნებართვა

მე გავაკეთებ ბმული მის ბლოგზე ყველა ამ დაცვის დეტალური ავარიისთვის, ეს კარგი მითითებაა.

რაც ყველაზე მეტად მაწუხებს ამ თავდასხმასთან დაკავშირებით არის ის, რომ ყველა საუბრობს მავნე პროგრამების გავრცელებაზე ამ თავდასხმის მეშვეობით, UPDATE-ის გამოყენებით. ბრძანებები, მაგრამ მე არ მინახავს ბევრი დისკუსია მონაცემთა ექსფილტრაციის შესახებ ამ მონაცემთა ბაზის სერვერებზე, რაც თითქმის რა თქმა უნდა შესაძლებელი იქნებოდა ამისთვის თავდამსხმელები. გარდა ამისა, მათ შეეძლოთ შერჩევით მოეპარათ ეს მონაცემები და გამოიყენონ მავნე პროგრამა, როგორც კვამლის ეკრანი ამ აქტივობისთვის. თუ თქვენ გატეხეს ამ შეტევამ, მე ვფიქრობ, თქვენ უნდა ჩავთვალოთ, რომ თქვენი მონაცემები იყო ექსფილტრირებული, თუ არ გაქვთ ჟურნალები, რომლებიც ადასტურებენ, რომ ეს ასე არ იყო (მაშინაც ფრთხილად ვიქნები).

-ნეიტ.

[გამოკითხვის ID=5]

[გამოკითხვის ID=6]