BA / SE

SE#13.1 ინფორმაციული უსაფრთხოების ინჟინერია (Security Engineering)

Reference: Sommerville, Software Engineering, 10 ed., Chapter 13

ინფორმაციული სისტემების უსაფრთხოების ინჟინერია (SecEN – Security Engineering), წარმოადგენს, ინფორმაციული უსაფრთხოების ფართო დიაპაზონის კერძო შემთხვევას.

SecEN იყენებს სპეციალურ ინსტრუმენტებს, მეთოდებს და პროცედურებს (Tools, Techniques, and Methods), რათა წინ აღუდგეს ინფორმაციული სიტემების წინააღმდეგ მიმართულ  შეტევებს, რომელთა მიზანია სისტემების მუშაობის შეფერხება, ოპერირების გარემოში არასანქცირებული ჩარევა, მონაცემთა შეცვლა ან სისტემის პარალიზება.

CS 410/530 – Software Engineering class notes (#)

Security engineering (SecEN) is a sub-field of the broader field of computer security. It encompasses tools, techniques, and methods to support the development and maintenance of systems that can resist malicious attacks that are intended to damage a computer-based system or its data. (#)

Image result

SecEN – ის ოპერირება წარმოებს სამი მიმართულებით (CIA):

  • Confidentiality Information in a system may be disclosed or made accessible to people or programs that are not authorized to have access to that information-  სისტემის მონაცემებთან და მასში მიმდინარე პროცესებთან წვდომა განისაზღვრება წინასწარ განსაზღვრული, ავტორიზებული პირებისთვის და სისტემებისთვის;
  • Integrity Information in a system may be damaged or corrupted making it unusual or unreliable. – სისტემის და მისი მონაცემების მთლიანობის და ნამდვილობის უზრუნველყოფა;
  • Availability Access to a system or its data that is normally available may not be possible. – წინასწარ განსაზღვრული, ავტორიზირებული პირების და სისტემებისთვის,  სისტემის და მისი მონაცემების მიწოდების და მათით სარგებლობის უწყვეტობის უზრუნველყოფა.

და უზრუნველყოფს ინფორმაციული სისტემების უსაფრთხოებას 3 კუთხით:

  • Infrastructure security is concerned with maintaining the security of all systems and networks that provide an infrastructure and a set of shared services to the organization. – ორგანიზაციის ფიზიკური ინფრასტრუქტურა, მონაცემთა სანახები და საკომუნიკაციო არხები;
  • Application security is concerned with the security of individual application systems or related groups of systems. – პროგრამული სისტემების შექმნა და მათი ოპერირება;
  • Operational security is concerned with the secure operation and use of the organization’s systems. – ორგანიზაციული პროგრამული სისტემების ურთიერთოპერირება.

ინფორმაციული სისტემის პროგრამული კოდის უსაფრთხოების ამოცანაა (Application security), სისტემის დაგეგმარების (System Design)  და შექმნის დროს,  ხარისხის  (Quality Management) და რისკების მართვის ინსტრუმენტების (Risk Management) დახმარებით, უზრუნველყოს სისტემის მდგრადობა,  შესაძლო არასანქცირებული შეტევების და ჩარევების წინააღმდეგ.

 

ინფორმაციული სისტემის უსაფრთხოების მართვის ამოცანაა (System security management), სისტემის მომხმარებლების განსაზღვრა და მათთვის სისტემური რესურსებით სარგებლობის ცალსახა, მონიტორინგს და აუდიტს დაქვემდებარებული, უფლებების მინიჭება (User and Permission Management). სისტემურ რესურსებში მოიაზრება,   სისტემის დაგეგმვის, შექმნის, დანერგვის, ოპერირების და მონიტორინგის ინსტრუმენტები.

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

 სისტემის უსაფრთხოება და მდგრადობა – Security and dependability

სისტემის უსაფრთხოება (System Security) და საიმედობა (System Dependability)  წარმოადგენს სისტემის უნარს წინ აღუდგენს მის რესურსებზე არასანქციონირებულ წვდომას და შეინარჩუნოს სერვისის მიწოდების მდგრადობა და მონაცემების მთლიანობა

სისტემის საიმედობის (Reliability) შეფასების დროს გამოიყენება შემდეგი ტერმინები:

Term / ტერმინი Description / განმარტება
Asset /სისტემის კომპონენტი სისტემის კომპონენტი, რომელიც წარმოადგენს ორგანიზაციულ ღირებულებას და შესაბამისად ექვემდებარება დაცვას. ის შეიძლება იყოს  სისტემის პროგრამული უზრუნველყოფა ან მონაცემები რომელსაც სისტემა ამუშავებს.
Attack / შეტევა სისტემაზე არავტორიზებული მომხმარებლის მიერ, სისტემის სისუსტის აღმოჩენის და მისი გამოყენების მცდელობა, მონაცემთა დაზიანების, შეცვლის ან მოპარვის მიზნით.
Control / სისტემის კონტროლი სისტემის საიმედობის უზრუნველსაყოფად, სისტემის სისუსტის აღმოფხვრის  მექანიზმების დანერგვა.
Exposure / სისტემაზე ზემოქმედება სისტემაში არსებული სისუსტის  გამო, მისი ნორმალური ოპერირების დარღვევის, მისი მონაცემთა დაზიანების, შეცვლის ან მოპარვის საშიშროების შესაძლო დადგომის გამო გამოწვეული ზემოქმედება.
Threat / სისტემაზე მოსალოდნელი უარყოფითი ზეგავლენის გამო სისტემის სისუსტის წარმოშობა. კონკრეტული გარემო პირობის დადგომის გამო სისტემაში სისუსტის  გაჩენა, რაც წარმოშობს სისტემის ნორმალური ოპერირების დარღვევის მის მონაცემთა დაზიანების, შეცვლის ან მოპარვის საშიშროებას.
Vulnerability / სისტემის სისუსტე სისტემაში არსებული სისუსტის  გამო, მისი ნორმალური ოპერირების დარღვევის, მისი მონაცემთა დაზიანების, შეცვლის ან მოპარვის საშიშროების არსებობა.

სისტემაზე შეიძლება განხორციელდეს შემდეგი ტიპის,უსაფრთხოების და საიმედოობის დარღვევის ზემოქმედებები (Security threats):

  1. Interception threats that allow an attacker to gain access to an asset –  ზემოქმედება სისტემაზე, რომელიც იწვევს სისტემის კომპონენტზე (Asset) არასანქცინირებული წვდომის მოპოვებას;
  2. Interruption threats that allow an attacker to make part of the system unavailable – ზემოქმედება სისტემაზე, რომელიც იწვევს სისტემის კომპონენტის ოპერირების შეფერხებას და შეწყვეტას;
  3. Modification threats that allow an attacker to tamper with a system asset – ზემოქმედება სისტემაზე, რომელიც იწვევს სისტემის მონაცემების შეცვლას;
  4. Fabrication threats that allow an attacker to insert false information into a system – ზემოქმედება სისტემაზე, რომელიც იწვევს სისტემაში მონაცემების ჩანაცვლებას და ჩამატებას;
 პრაქტიკაში გამოიყენება, სისტემის უსაფრთხოების უზრუნველყოფის შემდეგი ხერხები (Security assurance strategies):
  • Vulnerability avoidance – სისტემის დიზაინის გამორიცხავს საფრთხის დადგომას;
  • Attack detection and elimination – სისტემის დიზაინის ითვალისწინებს სისტემის ცნობილ სისუსტეებზე შეტევების მონიტორინგს, საფრთხის დადგომის დროს იმ წინასწარ შემუშავებული ზომების მიღებას,  რომლებიც  ანეიტრალებს შეტევის გავლენას (RiskManagement);
  • Exposure limitation and recovery – სისტემის დიზაინის ითვალისწინებს, სისტემაზე შეტევების ციკლის წარმატების შემდეგ,  სისტემის ფუნქციონირების აღდგენას.

სისტემის უსაფრთხოება და მდგრადობის უზრუნველყოფა შემდეგნაირად ფასდება (Security and attributes of dependability):

  • Security and reliabilityუსაფრთხოება და საიმედობა
    •  თუ შეტევის შედეგად, სისტემის მონაცემები დაექვემდებარება  მონაცემების დაზიანებას, მთლიანობის დარღვევას ან განადგურებას, მაშინ დადგება სისტემის საიმედოობის საკითხი;
  • Security and availability – უსაფრთხოება და სისტემის ფუნქციონირების განგრძობადობა
    •  თუ შეტევის შედეგად, სისტემა დაექვემდებარება ფუნქციონირების შეფერხების,  მონაცემების მიწოდების და დამუშავების შეფერხებას,   მაშინ დადგება სისტემის მიერ მიწოდებული კრიტიკული სერვისების განგრძობადობის საკითხი;
  • Security and safety – უსაფრთხოება და სისტემის დაცულობა
    • თუ შეტევის შედეგად დადგა სიტემის ფუნქციონირების შეფერხების და მის მიერ დამუშავებული მონაცემების მთლიანობის დარღვევა, მაშინ დგება სისტემის შექმნის დროს მისი დაცულობის უზრუნველყოფის საკითხი (სისტემური კოდი, კომპონენტების განთავსების არქიტექტურა, და ა.შ);
  • Security and resilience- სისტემის უსაფრთხოება და აღდგენადობა
    • თუ შეტევის შედეგად მოხდა სიტემის ფუნქციონირების და სერვისების  მიწოდების შეჩერება, მის მიერ დამუშავებული მონაცემების მთლიანობის დარღვევა, ვერ ხერხდება სისტემის  და მისი მონაცემების აღდგენა, მაშინ დგება სისტემის აღდგენადობის (Resilience) საკითხი.

Security and organizations – საინფორმაციო სისტემების უსაფრთხოება ორგანიზაციაში

საინფორმაციო სისტემების უსაფრთხოება, ორგანიზაციისგან მოითხოვს მნიშვნელოვან ინვესტიციებს, ამიტომ მათი ოპერირების ხარისხის (Quality Management) დადგენა, შესაბამისი გადაწყვეტილების ფასის და მიღებული ორგანიზაციული ღირებულების ანალიზის (Cost-effective Analysis) შედეგად უნდა მოხდეს. ამ მიზნით,  ორგანიზაციები ფართოდ იყენებენ, რისკების მართვის მეთოდოლოგიაზე (Risk management) დაფუძნებულ გადაწყვეტილებებს,  რომელიც თავის მხრივ წარმოადგენს,  ბიზნეს ოპერირებაზე დაფუძნებულ და არა ტექნიკურ გადაწყვეტილებას.

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

  • The assets that must be protected – კრიტიკული ორგანიზაციული რესურსების შერჩევა, რომელთა დაცვა აუცილებელია.
    •  რესურსების ხარჯვის თვალსაზრისით, მიზანშეუწონელია განხორციელდეს საინფორმაციო სისტემების ყველა კომპონენტების დაცვა უსაფრთხოების უზრუნველყოფის მკაცრი პროცედურებით. აუცილებლად იარსებებს ორგანიზაციული რესურსები, რომელთა მკაცრი დაცვა არ მოითხოვება;
  • The level of protection that is required for different types of asset
    • საინფორმაციო სისტემების კომპონენტებს უნდა შეესაბამოს, მათი კრიტიკულობის შესაბამისი საინფორმაციო უსაფრთხოების პროცედურები;
  • The responsibilities of individual users, managers, and the organization
    • The security policy should set out what is expected of users e.g. strong passwords, log out of computers, office security, etc. – საინფორმაციო სისტემების მომხმარებლებს უნდა შეესაბამოს, მათი კრიტიკულობის შესაბამისი საინფორმაციო უსაფრთხოების პროცედურები;
  • Existing security procedures and technologies that should be maintained
    • For reasons of practicality and cost, it may be essential to continue to use existing approaches to security even where these have known limitations. –  პრაქტიკული და რესურსების ხარჯვის დაზოგვის თვალსაზრისით, ორგანიზაცია შესაძლებელია იყენებდეს, უსაფრთხოების უზრუნველყოფის პროცედურებს, რომლებიც პასუხობენ ორგანიზაციის მიმდინარე უსაფრთხოების მოთხოვნებს, მაგრამ გააჩნიათ გარკვეული ფუნქციონალური შეზღუდვები.

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

სისტემის უსაფრთხოების მოთხოვნები – Security requirements

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

  1. Base decisions on an explicit security policy – ორგანიზაციული უსაფრთხოების პოლიტიკა –  ორგანიზაციაში უნდა არსებუბდეს უსაფრთხოების პროცედურები რომლებიც პირველ რიგში იცავენ, ორგანიზაციისთვის უნიკალურ და ყველაზე ღირებულ სისტემებს და მონაცემებს;
  2. Avoid a single point of failure – სისტემის ერთი სისუსტით, მისი ფუნქციონირების შეწყვეტის გამორიცხვა – ინფორმაციული შეტევის შემთხვევაში, ერთი ტიპის სისუსტით გამოყენების დროს, სისტემას უნდა შეეძლოს არ დაირღვეს მისი უსაფრთხოება;
  3.  Fail securely – სისტემის უსაფრთხოების ნორმების დარღვევის შედეგად, შესაძლებელი არ უნდა იყოს, ორგანიზაციის კრიტიკულ  სისტემებზე და ინფორმაციაზე წვდომა/შეცვლა/დაზიანება;
  4. Balance security and usability – ყოველთვის ეცადეთ დაიცვათ ბალანსი სისტემის უსაფრთხოებასა და სისტემის გამოყენების მოხერხებულებას შორის. როგორც წესი ამ საკითხზე განსხვავებული მოსაზრებების გააჩნიათ უსაფრთხოების ინჟინრებს და სისტემის მომხმარებლებს, მაგრამ ორივე უნდა თანხმდებოდნენ, შემდეგზე: სისტემა უნდა იყოს უსაფრთხო და მარტივად მოხმარებადი ორგანიზაციის ღირებულებების დაცვის და შემოსავლების გაზრდისთვის;
  5. Log user actions – უნდა ხდებოდეს სისტემის ავტორიზებული და არაავტორიზებული მომხმარებლების ქმედებების ჩაწერა მათი შემდგომი ანალიზისთვის. ორგანიზაციული უსაფრთხოების პოლიტიკით. აღნიშნულის შესახებ სისტემის შიდა მომხმარებლები ინფორმირებულნი უნდა იყვნენ;
  6. Use redundancy and diversity to reduce risk – სისტემის სტაბილურობის უზრუნველსაყოფად, მისი დიზაინი უნდა ითვალისწინებდეს,  კომუნიკაციის ერთი არხის უსაფრთხოების დარღვევის შედეგად, სისტემის შეფერხების შემთხვევაში, სისტემის გადართვას ალტერნატიული არხით ფუნქციონირების რეჯიმზე.
  7. Specify the format of all system inputs –  სისტემაში წინასწარ განისაზღვროს გარე და შიდა მიმართვის წყაროები და მიმართვის ფორმატი (სემანტიკა).  ეს ხერხი თავიდან აგვაცილებს არაავტორიზებული წყაროებიდან,  არაკორექტული მომართვებს;
  8. Compartmentalize your assets –  ინფორმაციული სისტემაში, ორგანიზაციის ღირებული მონაცემები და სისტემები ისე უნდა იყოს დანაწილებული, რომ ყოველ მათგანზე წვდომა და წვდომის პირობები  განსაზღვრული იყოს წინასწარ განსაზღვრული სისტემური და გარე მომხმარებლებისთვის;
  9. Design for deployment – სისტემის დიზაინი არ უნდა იყოს კომპლექური, არ უნდა იწვევდეს მისი დანერგვის  და შემდეგი ფუნქციონირების პრობლემებს;
  10. Design for recoverability – სისტემის დიზაინი უნდა ითვალისწინებდეს, სისტემაზე წარმატებული შეტევის შედეგად, მისი ფუნქციონირების შეწყვეტის დროს, ორგანიზაციისთვის მისაღებ დროში აღდგენასსერვისების მიწოდების დადგენილი ხარისხით (System Quality).

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

CERT.GOV.GE – საქართველო სამთავრობო სქელის მონიტორინგი

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

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

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

როგორც, სისტემის ტესტირებისადმი მიძღვნილ სისტემის სტატიაში ითქვა (Software Testing ) თანამედოვე, ციფრულ სამყაროში, სისტემის საინფორმაციო უსაფრთხოების კუთხით მდგარდობის ტესტირების (Security Testing) კვალდაკვალ,  აქტუალური ხდება, სისტემის საინფორმაციო უსაფრთხოების შემადგენელი კომპონენტის, კიბერ უსაფრთხოების (Cyber Security) გამოწვევებთან მდგრადობა. აღნიშნულ საკითხს განვიხილავთ სპეციალურ სტატიაში (Information Security and Cyber Security)

დამატებითი მასალა:

  • Information Security and Cyber Security #1, #2, #3, #4
  • Qualitative vs. Quantitative #1, #2, #3
  • Vulnerability management #1
  • Information Security and Cyber Security #1, #2, #3
  • Microsoft: Nation-state cyber attacks have changed the security game #1
  • The Social Engineering Framework #1
  • Stan Kurkovsky, PhD – Software Engineering Security Engineering #1
  • Zsolt Dr. Ulbert, – Software development process and software quality assurance #1
  • Cost-effective Analysis – #1, #2
  • კიბერუსაფრთხოებისთვის მედიის როლი  #1, #2, #3

კითხვები:

  1. რაც წარმოადგენს, საინფორმაციო სისტემების უსაფრთხოების ინჟინერია;
  2. ჩამოთვალეთ და განმარტეთ, საინფორმაციო სისტემების უსაფრთხოების ინჟინერიის ამოცანები;
  3. რას ნიშვნავს სტსტიაში გამოთქმა: “მონიტორინგს და აუდიტს დაქვემდებარებული, უფლებების მინიჭება”?
  4. რას ნიშნავს და რა განსხვავებაა, სისტემის მონიტორინგს და აუდიტს შორის?
  5. მოიყვანეთ, Application security, System security management და Operational security-ს მაგალითები;
  6. შეძლება თუ არა სისტემეზე შეტევა განახორციელოს ავტორიზებულმა მომხმარებლმა?
  7. შეტევის აღმოჩენის და ზიანის პრევენციის რა მექანიზმები უნდა გამოვიყენოთ სისტემის უსაფრთხოების უზრუნველსაყოფად?
  8. რა კავშირია საინფორმაციო სისტემების უსაფრთხოებას და საინფორმაციო სისტემების რისკების მართვას შორის?
  9.  დაასახელეთ, რისკების მართვის მეთოდოლოგის,  საინფორაციო სისტემების უსაფრთხოების პოლიტიკის პრინციპების განხორციელების მაგალითები.
  10. Balance security and usability – რა მნიშვნელობა ააქვს სისტემის სექმნის დროს, მის დიზაინში სისტემის უსაფრთხოებას და გამოყენების სიმარტივეს შორის ბალანსის დაცვას ?
  11. სისტემაში ლოგირების მექანიზმის ჩართვის დროს, რატომაა საჭირო სისტემის შიდა მომხმარებლების ინფორმირება ?.
Advertisements

4 thoughts on “SE#13.1 ინფორმაციული უსაფრთხოების ინჟინერია (Security Engineering)

  1. Pingback: SE#8.1 Software Testing – სისტემის ტესტირება | The Digital Times

  2. Pingback: SE#10.1 System Dependability | IN@TIMES

  3. Pingback: SE#1.1 Introduction to Software Engineering | IN@TIMES

  4. Pingback: SE#4.2 საინფორმაციო სისტემის მოთხოვნების შექმნის პროცესი (Requirements Engineering process) | IN@TIMES

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s