უახლესი სტატიები
მთავარი / ინსტრუქციები / დაუცველობის მართვა. დაუცველი პროგრამების ჭკვიანი სკანირება

დაუცველობის მართვა. დაუცველი პროგრამების ჭკვიანი სკანირება

გაშვებისას ჭკვიანი სკანირება Avast შეამოწმებს თქვენს კომპიუტერს შემდეგი ტიპის პრობლემებზე და შემდეგ შესთავაზებს მათ გადაწყვეტას.

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

შენიშვნა. Smart Scan-ის მიერ აღმოჩენილი გარკვეული პრობლემები შეიძლება საჭიროებდეს ცალკე ლიცენზიას მოსაგვარებლად. პრობლემის არასაჭირო ტიპების გამოვლენა შეიძლება გამორთოთ .

აღმოჩენილი პრობლემების გადაჭრა

სკანირების ზონის გვერდით მწვანე გამშვები ნიშანი მიუთითებს, რომ ამ ზონაში პრობლემები არ აღმოჩენილა. წითელი ჯვარი ნიშნავს, რომ სკანირებამ გამოავლინა ერთი ან მეტი დაკავშირებული პრობლემა.

აღმოჩენილი პრობლემების შესახებ კონკრეტული დეტალების სანახავად დააწკაპუნეთ მოაგვარეთ ყველაფერი. ჭკვიანი სკანირებააჩვენებს თითოეული საკითხის დეტალებს და გთავაზობთ პუნქტზე დაწკაპუნებით დაუყოვნებლივ გამოსწორების ვარიანტს გადაწყვიტეან გააკეთეთ მოგვიანებით დაწკაპუნებით გამოტოვეთ ეს ნაბიჯი.

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

მართეთ ჭკვიანი სკანირების პარამეტრები

Smart Scan პარამეტრების შესაცვლელად აირჩიეთ ზოგადი ჭკვიანი სკანირების პარამეტრებიდა მიუთითეთ ქვემოთ ჩამოთვლილი პრობლემების რომელი ტიპისთვის გსურთ გონიერი სკანირება.

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

ნაგულისხმევად, ყველა ტიპის პრობლემა ჩართულია. Smart Scan-ის გაშვებისას კონკრეტული პრობლემის შემოწმების შესაჩერებლად დააწკაპუნეთ სლაიდერზე შედისპრობლემის ტიპის გვერდით, რათა ის ცვლის მდგომარეობას გამორთულია.

დააწკაპუნეთ პარამეტრებიწარწერის გვერდით ვირუსების სკანირებასკანირების პარამეტრების შესაცვლელად.

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

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

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

პროგრამის დაუცველობის კლასიფიკაცია

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

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

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

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

დაუცველი პროგრამების გამოყენების რისკები

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

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

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

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

სხვადასხვა კომპანიის მიერ ჩატარებული კვლევები (Kaspersky Lab, Positive Technologies) აჩვენებს, რომ დაუცველობა არსებობს თითქმის ნებისმიერ აპლიკაციაში, მათ შორის ანტივირუსებში. ამიტომ, პროგრამული პროდუქტის დაყენების ალბათობა, რომელიც შეიცავს სხვადასხვა ხარისხის კრიტიკულობის ხარვეზებს, ძალიან მაღალია.

პროგრამულ უზრუნველყოფაში ხარვეზების რაოდენობის შესამცირებლად აუცილებელია SDL-ის გამოყენება (Security Development Lifecycle, safe development life cycle). SDL ტექნოლოგია გამოიყენება აპლიკაციებში შეცდომების რაოდენობის შესამცირებლად მათი შექმნისა და მხარდაჭერის ყველა ეტაპზე. ამრიგად, პროგრამული უზრუნველყოფის შექმნისას, ინფორმაციული უსაფრთხოების სპეციალისტები და პროგრამისტები აყალიბებენ კიბერ საფრთხეებს მოწყვლადობის აღმოსაჩენად. პროგრამირების დროს, ავტომატური ხელსაწყოები შედის პროცესში, რათა დაუყოვნებლივ შეატყობინოთ პოტენციური ხარვეზები. დეველოპერები ცდილობენ მნიშვნელოვნად შეზღუდონ არასანდო მომხმარებლებისთვის ხელმისაწვდომი ფუნქციები, რაც ხელს უწყობს შეტევის ზედაპირის შემცირებას.

მოწყვლადობის ზემოქმედებისა და მათ მიერ გამოწვეული ზიანის შესამცირებლად, თქვენ უნდა დაიცვან რამდენიმე წესი:

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

ამ პრობლემის გადასაჭრელად კიდევ ერთი გზა არის ის, რომ კომპანიებმა უნდა მოახდინოს სწრაფი რეაგირება, როდესაც აპლიკაციას აქვს დაუცველობა. ეს მოითხოვს, რომ IT დეპარტამენტმა შეძლოს საბოლოოდ თვალყური ადევნოს დაინსტალირებული აპლიკაციები, კომპონენტები და პატჩები ავტომატიზაციისა და სტანდარტული ხელსაწყოების გამოყენებით. არსებობს ინდუსტრიის მცდელობა პროგრამული ტეგების სტანდარტიზაციისთვის (19770-2), რომლებიც არის XML ფაილები დაინსტალირებული აპლიკაციით, კომპონენტით ან/და პაჩით, რომლებიც იდენტიფიცირებენ დაყენებულ პროგრამულ უზრუნველყოფას და, კომპონენტის ან პაჩის შემთხვევაში, რომელი აპლიკაციაა. ნაწილი. ტეგებს აქვს ინფორმაცია გამომცემლის უფლებამოსილების შესახებ, ვერსიის ინფორმაცია, ფაილების სია ფაილის სახელით, ფაილის უსაფრთხო ჰეში და ზომა, რომელიც შეიძლება გამოყენებულ იქნას იმის დასადასტურებლად, რომ დაინსტალირებული აპლიკაცია სისტემაშია და რომ ბინარები არ ყოფილა. შეცვლილია მესამე მხარის მიერ. ეს ტეგები ხელმოწერილია ციფრული ხელმოწერაგამომცემელი.

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

არსებობს კომპანიების ჯგუფი, რომელიც მუშაობს IEEE/ISTO არაკომერციული ორგანიზაციის მეშვეობით, სახელწოდებით TagVault.org (www.tagvault.org) აშშ-ს მთავრობასთან ერთად ISO 19770-2 სტანდარტის დანერგვაზე, რაც საშუალებას მისცემს ამ დონის ავტომატიზაციას. რაღაც მომენტში, ამ დანერგვის შესაბამისი ეს ტეგები, სავარაუდოდ, სავალდებულო იქნება აშშ-ს მთავრობისთვის გაყიდული პროგრამული უზრუნველყოფისთვის, მომდევნო რამდენიმე წლის განმავლობაში.

ასე რომ, დღის ბოლოს, კარგი პრაქტიკაა, რომ არ გამოაქვეყნოთ იმის შესახებ, თუ რომელ აპებსა და პროგრამული უზრუნველყოფის კონკრეტულ ვერსიებს იყენებთ, მაგრამ ეს შეიძლება რთული იყოს, როგორც ზემოთ აღინიშნა. თქვენ უნდა დარწმუნდეთ, რომ გაქვთ ზუსტი, განახლებული პროგრამული უზრუნველყოფის ინვენტარი, რომ ის რეგულარულად შედარება ცნობილ მოწყვლადობასთან, როგორიცაა NVD-ის NVID, და რომ IT-ს შეუძლია დაუყოვნებლივ მიიღოს ზომები საფრთხის აღმოსაფხვრელად უახლესი გამოვლენის შეჭრა, ანტივირუსული სკანირება და გარემოს დაბლოკვის სხვა მეთოდები, სულ მცირე, ძალიან გაართულებს თქვენი გარემოს კომპრომეტირებას და თუ/როცა ეს მოხდება, ის არ იქნება გამოვლენილი დიდი ხნის განმავლობაში.

ამჟამად შემუშავებულია უამრავი ინსტრუმენტი პროგრამის დაუცველობის ძიების ავტომატიზაციისთვის. ეს სტატია განიხილავს ზოგიერთ მათგანს.

შესავალი

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

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

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

უსაფრთხოების დაუცველობის კლასიფიკაცია

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

უსაფრთხოების დაუცველობის კლასიფიკაცია პროგრამული შეცდომების მიხედვით:

  • ბუფერის გადინება. ეს დაუცველობა წარმოიქმნება პროგრამის შესრულების დროს მეხსიერებაში საზღვრებს გარეთ მასივის კონტროლის არარსებობის გამო. როდესაც მონაცემთა ძალიან დიდი პაკეტი ჭარბობს შეზღუდული ზომის ბუფერს, მეხსიერების გარე მდებარეობის შიგთავსი იწერება, რაც იწვევს პროგრამის ავარიას და გამოსვლას. პროცესის მეხსიერებაში ბუფერის მდებარეობიდან გამომდინარე, ბუფერული გადადინება განასხვავებენ დასტას (სტაკის ბუფერული გადადინება), გროვაზე (გროვის ბუფერული გადადინება) და სტატიკური მონაცემთა არეზე (bss ბუფერული გადადინება).
  • დაზიანებული შეყვანის დაუცველობა. გაფუჭებული შეყვანის ხარვეზები შეიძლება მოხდეს, როდესაც მომხმარებლის შეყვანა საკმარისი კონტროლის გარეშე გადაეცემა რომელიმე გარე ენის თარჯიმანს (ჩვეულებრივ, Unix shell ან SQL ენა). ამ შემთხვევაში, მომხმარებელს შეუძლია მიუთითოს შეყვანის მონაცემები ისე, რომ გაშვებული თარჯიმანი შეასრულებს სრულიად განსხვავებულ ბრძანებას დაუცველი პროგრამის ავტორების მიერ განზრახული.
  • შეცდომები ფორმატის სტრიქონები(სტრიქონის ფორმატის დაუცველობა). უსაფრთხოების ამ ტიპის დაუცველობა არის "დაზიანებული შეყვანის" დაუცველობის ქვეკლასი. ეს ხდება პარამეტრების არასაკმარისი კონტროლის გამო C სტანდარტული ბიბლიოთეკის I/O ფუნქციების printf, fprintf, scanf და ა.შ. ფორმატის გამოყენებისას. ეს ფუნქციები ერთ-ერთ პარამეტრად იღებენ სიმბოლოების სტრიქონს, რომელიც განსაზღვრავს შემდგომი ფუნქციის არგუმენტების შეყვანის ან გამომავალი ფორმატს. თუ მომხმარებელს შეუძლია დააკონკრეტოს ფორმატირების ტიპი, ეს დაუცველობა შეიძლება იყოს სიმებიანი ფორმატირების ფუნქციების წარუმატებელი გამოყენების შედეგად.
  • დაუცველობა სინქრონიზაციის შეცდომების შედეგად (რასის პირობები). მრავალამოცანებთან დაკავშირებული პრობლემები იწვევს სიტუაციებს, რომელსაც ეწოდება "რბოლის პირობები": პროგრამა, რომელიც არ არის შექმნილი მრავალამოცანულ გარემოში გასაშვებად, შეიძლება თვლიდეს, რომ, მაგალითად, მის მიერ გამოყენებული ფაილები არ შეიძლება შეიცვალოს სხვა პროგრამით. შედეგად, თავდამსხმელს, რომელიც დროულად ცვლის ამ სამუშაო ფაილების შინაარსს, შეუძლია აიძულოს პროგრამა შეასრულოს გარკვეული მოქმედებები.

რა თქმა უნდა, ჩამოთვლილთა გარდა, არსებობს უსაფრთხოების დაუცველობის სხვა კლასებიც.

არსებული ანალიზატორების მიმოხილვა

შემდეგი ინსტრუმენტები გამოიყენება პროგრამებში უსაფრთხოების დაუცველობის აღმოსაჩენად:

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

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

ამ სტატიაში მოცემულია რამდენიმე არსებული სტატიკური ანალიზატორის მიმოხილვა. მოდით უფრო ახლოს მივხედოთ თითოეულ მათგანს.