360 likes | 507 Views
Pewność. Celem tego rozdziału jest wprowadzenie pojęcia pewności i uzasadnienie jego ważności w systemach krytycznych. Cele. Znać cztery wymiary pewności, tzn. dostępność, niezawodność, bezpieczeństwo i zabezpieczenie.
E N D
Pewność • Celem tego rozdziału jest wprowadzenie pojęcia pewności i uzasadnienie jego ważności w systemach krytycznych.
Cele • Znać cztery wymiary pewności, tzn. dostępność, niezawodność, bezpieczeństwo i zabezpieczenie. • Rozumieć pojęcie systemu krytycznego, którego awaria może mieć poważne konsekwencje dla ludzi i gospodarki. • Wiedzieć, że do osiągnięcia pewności konieczne jest unikanie pomyłek w trakcie budowania systemu, wykrywanie i usuwanie błędów w trakcie użytkowania systemu i ograniczenie szkód powodowanych przez awarie w czasie działania.
Zawartość • Systemy krytyczne • Dostępność i niezawodność • Bezpieczeństwo • Zabezpieczenie
Wymiary pewności Pewność Dostępność Niezawodność Bezpieczeństwo Zabezpieczenie Zdolność systemu do realizacji usług zgodnie ze specyfikacją Zdolność systemu do działania bez katastroficznych awarii Zdolność systemu do zabezpieczenia siebie przed przypadkowym lub celowym włamaniem Zdolność systemu do realizacji usług, gdy są potrzebne
Pojęcie pewności • Pewność systemu komputerowego jest właściwością systemu odpowiadającą zaufaniu, którym jest obdarzony. • Zaufanie oznacza stopień przekonania użytkownika, że system będzie działał tak jak należy i nie będzie się „psuł” przy normalnym użytkowaniu. • Ta właściwość nie może być wyrażona liczbowo, ale da się ją zapisać nieformalnie. • Określenia, takie jak „niepewny”, „bardzo pewny” i „ultrapewny”, odpowiadają różnym poziomom zaufania, którym obdarzamy system. • Zasługiwanie na zaufanie nie jest oczywiście tym samym co użyteczność.
Krzywa zależności kosztu i pewności Koszt Pewność Mała Średnia Duża Bardzo Ultra- duża duża
Pewność a efektywność • Systemy niepewne, niebezpieczne lub niezabezpieczone zwykle pozostają nieużywane. • Koszt awarii systemu może być olbrzymi. • Trudno jest odzyskać pewność. • Zwykle można zrekompensować brak efektywności systemu. • Systemy niegodne zaufania mogą spowodować utratę informacji.
Systemy krytyczne Awarie wielu systemów sterowanych komputerami powodują niewygody, a nie poważne długotrwałe zniszczenia. Istnieją jednak systemy, których awarie mogą powodować znaczne straty gospodarcze, fizyczne zniszczenia lub zagrożenia życia ludzkiego. Systemy te zwykle nazywa się systemami krytycznymi. Pewność jest zasadniczym atrybutem systemów krytycznych. Każdy z jej aspektów (dostępność, niezawodność, bezpieczeństwo i zabezpieczenie) może być ważny.
Rodzaje systemów krytycznych • Systemy krytyczne dla bezpieczeństwa to systemy, których awaria może powodować obrażenia i utratę życia lub poważne zniszczenie środowiska. • Systemy krytyczne dla zadania to systemy, których awaria może powodować niepowodzenie pewnej czynności mającej jakiś cel. • Systemy krytyczne dla przedsiębiorstwa to systemy, których awaria może powodować kłopoty korzystających z nich przedsiębiorstw.
Awarie systemu krytycznego • Koszt awarii systemu krytycznego jest zwykle bardzo wysoki. Obejmuje bezpośrednie koszty awarii (np. konieczność wymiany systemu) oraz koszty pośrednie (koszty procesów sądowych, utracone zyski w związku z niedostępnością systemu). • W rezultacie systemy krytyczne są zwykle budowane raczej za pomocą starannie sprawdzonych metod, a nie nowinek, z którymi dotychczas nie wiążą się znaczące praktyczne doświadczenia.
Typy komponentów systemu najbardziej podatnych na awarie • Sprzęt systemu, który może się popsuć z powodu błędów projektowych, błędów przy ich produkcji lub z powodu naturalnego zmęczenia materiału. • Oprogramowanie systemu, które może ulec awarii z powodu błędów w specyfikacji, projekcie lub implementacji. • Operatorzy systemu, którzy mogą niewłaściwie go obsługiwać.
Prosty system krytyczny dla bezpieczeństwa • System podawania insuliny może składać się z wszczepionego • pacjentowi mikroskopijnego detektora, który mierzy pewien • parametr krwi proporcjonalny do poziomu cukru. • Odczyt jest przesyłany do sterownika pompy. • Sterownik wyznacza poziom cukru, ocenia ilość potrzebnej insuliny i • wysyła sygnał do miniaturowej pompy, która tłoczy insulinę przez • wkłutą na stałe igłę. • Systemy podawania insuliny będą sterowane przez oprogramowanie.
Struktura pompy insulinowej Zbiornik insuliny Igła Pompa Zegar Miernik Sterownik Alarm Wyświetlacz 1 Wyświetlacz 2 Zasilanie
Model przepływu danych w pompie insulinowej Parametry krwi Krew Analiza cukru we krwi Detektor cukru we krwi Poziom cukru we krwi Wyznaczanie potrzebnej Ilości insuliny Polecenia sterujące pompą Potrzebna ilość insuliny Insulina Sterownik pompy insulinowej Pompa insulinowa
Wymiary pewności dotyczą systemu podawania insuliny • Dostępność • System powinien być gotowy do wstrzyknięcia insuliny, gdy jest ona potrzebna. • Niezawodność • System powinien działać niezawodnie i dostarczać właściwą ilość insuliny w celu zrównoważenia aktualnego poziomu cukru we krwi. • Bezpieczeństwo • Awaria systemu może w zasadzie spowodować wstrzykiwanie nadmiernych dawek insuliny, które mogą być zagrożeniem życia użytkownika. Ten rodzaj awarii systemu nie powinien się zdarzać.
Dostępność i niezawodność • Dostępność systemu to prawdopodobieństwo, że będzie on realizował usługi dla użytkowników, gdy mu to zlecą. • Niezawodność to prawdopodobieństwo, że system zaoferuje usługi zgodne ze specyfikacją. • Niezawodność wymaga dostępności, ponieważ niezrealizowanie wyspecyfikowanych usług nie jest oczywiście zachowaniem zgodnym ze specyfikacją.
Przykład • Dobrym przykładem takiego systemu jest centrala telefoniczna. Podnosząc słuchawkę, użytkownicy chcą usłyszeć sygnał, więc wymagania stawiane dostępności systemu są duże. • Jeżeli awaria systemu spowoduje przerwanie połączenia, to zwykle łatwo jest to naprawić. • Centrale mogą mieć udogodnienia naprawcze, które ponownie uruchamiają system i próbują nawiązać połączenie. • Można to zrobić bardzo szybko, a użytkownik telefonu może nawet nie zauważyć awarii. • Dostępność, a nie niezawodność, jest w tym wypadku głównym wymaganiem stawianym pewności.
Bardziej precyzyjne definicje • Niezawodność. • Prawdopodobieństwo bezawaryjnego działania w ciągu ustalonego czasu w zadanym środowisku w określonym celu. • Dostępność. • Prawdopodobieństwo, że w ustalonej chwili system będzie działał i będzie zdolny do realizacji żądanych usług.
Uwagi • Niezawodność i dostępność uważa się zwykle za najważniejsze wymiary pewności. Jeśli system jest zawodny, to trudno zapewnić jego bezpieczeństwo lub go zabezpieczyć, ponieważ może to być zniweczone przez awarie systemu. • Jeśli system jest niedostępny, to wynikające z tego straty gospodarcze mogą być bardzo duże. Zawodne oprogramowanie powoduje wysokie koszty ponoszone przez użytkowników. Twórcy zawodnych systemów mogą zyskać złą opinię o jakości ich produktów i utracić przyszłe możliwości zarabiania.
Pojęcia związane z niezawodnością Pojęcie Opis Awaria Zdarzenie zachodzące w chwili, w której system przestaje systemu realizować usługi oczekiwane przez użytkowników. Błąd Błędne zachowanie systemu niezgodne z jego systemu specyfikacją. Usterka Niepoprawny stan systemu, tzn. stan, którego nie systemu spodziewali się projektanci systemu. Błąd lub Działanie człowieka, które powoduje usterki systemu. pomyłka człowieka
Poprawianie niezawodności systemu • Unikanie usterek. • Stosuje się metody tworzenia, które zmniejszają możliwość pomyłek lub umożliwiają wychwytywanie ich, zanim doprowadzą do awarii systemu. • Wykrywanie i usuwanie usterek. • Stosuje się metody weryfikacji i zatwierdzania, które zwiększają szansę wykrycia i usunięcia usterek przed przystąpieniem do użytkowania systemu. • Tolerowanie usterek. • Stosuje się metody, które zapewniają, że usterki w systemie nie powodują błędów, a błędy systemu nie powodują awarii.
System jako odwzorowanie danych wejściowych na dane wyjściowe Dane wejściowe powodujące błędne dane wyjściowe Wejb Zbiór danych wejściowych Program Błędne dane wyjściowe Błedne dane wyjściowe Wyjb Zbiór danych wyjściowych
Wzorce użycia oprogramowania • Program może zawierać znane błędy, a mimo tego użytkownicy mogą go uważać za niezawodny. • Niektórzy nigdy nie wprowadzą błędnych danych wejściowych, awaria nigdy się więc nie zdarzy. • Co więcej, doświadczeni użytkownicy zwykle „obchodzą” usterki oprogramowania, o których wiadomo, że powodują awarie. • Świadome unikają korzystania z udogodnień systemu, o których wiedzą, że spowodują kłopoty. • Naprawienie usterek w tych udogodnieniach praktycznie nie zmienia niezawodności postrzeganej przez użytkowników.
Wzorce użycia oprogramowania Dopuszczalne dane wejściowe Użytkownik 1 Błędne dane wejściowe Użytkownik 3 Użytkownik 2
Bezpieczeństwo • Bezpieczeństwo systemu to atrybut odzwierciedlający zdolność systemu do normalnego lub nienormalnego działania bez wywoływania zagrożeń dla ludzi lub środowiska. • Jeśli bezpieczeństwo jest zasadniczą cechą systemu krytycznego, to nazywamy go systemem krytycznym dla bezpieczeństwa. • Przykładami takich systemów są systemy sterowania i kontroli w samolocie, systemy sterowania procesami w reaktorach chemicznych i farmaceutycznych oraz systemy sterowania samochodami.
Oprogramowanie krytyczne dla bezpieczeństwa • Podstawowe oprogramowanie krytyczne dla bezpieczeństwa jest oprogramowaniem w postaci sterownika wbudowanego w system. Niewłaściwe działanie takiego oprogramowania może powodować niewłaściwe działanie sprzętu, które powoduje szkody lub zniszczenia środowiska. • Pomocnicze oprogramowanie krytyczne dla bezpieczeństwa jest oprogramowaniem, które może pośrednio powodować szkody. Przykładami takich systemów są systemy komputerowego wspomagania projektowania, których niewłaściwe działanie może doprowadzić do usterek w projektowanym obiekcie.
Pojęcia związane z bezpieczeństwem Pojęcie Definicja Wypadek (lub Niezaplanowane zdarzenie lub ciąg zdarzeń, które powodują obrażenia lub śmierć nieszczęście) osób, szkody w majątku lub środowisku. Maszyna sterowana komputerem raniąca swego operatora to dobry przykład wypadku. Zagrożenie Sytuacja, która może spowodować lub przyczynić się do wypadku. Awaria detektora wykrywającego przeszkody na drodze maszyny jest przykładem zagrożenia. Szkoda Miara strat powstałych w wyniku nieszczęścia. Zakres szkód może być rozmaity, od śmierci wielu osób do mniejszych obrażeń i zniszczenia majątku. Waga zagrożenia Oszacowanie największych szkód, które mogą być wynikiem konkretnego zagrożenia. Waga zagrożenia może być rozmaita, od katastroficznej (gdy ginie wielu ludzi) do niewielkiej (jedynie niewielkie szkody). Prawdopodobieństwo Prawdopodobieństwo wystąpienia zdarzeń powodujących zagrożenie. zagrożenia Prawdopodobieństwo może być dowolne; zwykle waha się od prawdopodobne (np. zagrożenie wystąpi w jednym na sto przypadków) do niewiarygodne (nie można wyobrazić sobie sytuacji, w których to zagrożenie występuje). Ryzyko Miara prawdopodobieństwa, że system spowoduje wypadek. Ryzyko szacuje się na podstawie prawdopodobieństwa zagrożenia, wagi zagrożenia i prawdopodobieństwa, że zagrożenie będzie przyczyna wypadku.
Sposoby zapewnienia bezpieczeństwa • Unikanie zagrożeń.System jest zaprojektowany tak, aby uniknąć zagrożeń. • System tnący, którego zadziałanie wymaga od operatora naciśnięcia dwóch przycisków w tej samej chwili, wystrzega się na przykład ryzyka umieszczenia rąk operatora w zasięgu noża. • Wykrywanie i eliminowanie zagrożeń. System jest zaprojektowany tak, aby wykrywać i eliminować zagrożenia, zanim doprowadzą do wypadku. • System reaktora chemicznego może na przykład wykrywać nadmierne ciśnienie i otwierać zawór bezpieczeństwa w celu zmniejszenia ciśnienia, zanim dojdzie do eksplozji. • Ograniczanie szkód. System może obejmować udogodnienia zabezpieczające, które ograniczają szkody będące konsekwencją wypadku. • Silnik lotniczy zawiera na przykład automatyczne gaśnice. Gdy pojawi się ogień, zwykle można go ugasić, zanim stanie się zagrożeniem dla pasażerów i załogi.
Zabezpieczenie • Zabezpieczenie systemu to oszacowanie stopnia zabezpieczenia systemu przed atakami z zewnątrz zarówno przypadkowymi, jak i celowymi. • Przykładami ataków są wirusy, nieuprawnione użycie usług systemu, nieuprawnione aktualizowanie systemu lub jego danych itd. • Bez rozsądnego poziomu zabezpieczeń dostępność, niezawodność i bezpieczeństwo systemu mogą być zniweczone przez zewnętrzne ataki, które wywołały szkody w systemie.
Przykłady • Istnieją pewne rodzaje systemów krytycznych , w których zabezpieczenie jest najważniejszym wymiarem pewności systemu. • Systemy wojskowe, systemy handlu elektronicznego i systemy przetwarzające i wymieniające poufne dane muszą być zaprojektowane tak, aby osiągnąć wysoki poziom zabezpieczenia. Jeśli system rezerwacji biletów lotniczych jest na przykład niedostępny, to powoduje niewygody i opóźnienia w wydawaniu biletów. • Jeśli jednak byłby niezabezpieczony i akceptował fałszywe rezerwacje, to obsługiwana przestrzeń lotnicza ponosiłaby w wyniku tego problemu znaczne straty finansowe.
Trzy typy szkód, które mogą być wynikiem ataku z zewnątrz • Zaprzestanie usługi. System może być zmuszony do przyjęcia stanu, w którym nie jest możliwe normalne realizowanie usług. • Uszkodzenie programów lub danych. Komponenty programowe systemu mogą być podmienione w nieuprawniony sposób. • Ujawnienie poufnej informacji. Informacja przechowywana w systemie może być poufna. Atak z zewnątrz może ujawnić ją nieuprawnionym osobom.
Pojęcia związane z zabezpieczeniem Pojęcie Definicja Odsłonięcie Możliwość starty lub szkody w systemie komputerowym. Słabość Słaby punkt systemu komputerowego, który można wykorzystać do spowodowania start lub szkód. Atak Wykorzystanie słabości systemu. Groźba Sytuacja, która może doprowadzić do strat lub szkód. Nadzór Miara ochrony, która zmniejsza słabości systemu.
Podejścia do zabezpieczenia systemu • Unikanie słabości. • System projektuje się tak, aby nie miał słabości. Jeśli system nie jest połączony na przykład z zewnętrzna siecią publiczną, to ludzie z zewnątrz nie maja możliwości ataku. • Wykrywanie i neutralizacja ataków. • System projektuje się tak, aby wykrywał słabości i eliminował je, zanim spowodują odsłonięcie. Przykładami wykrywania i usuwania słabości jest zastosowanie programu antywirusowego. • Ograniczanie odsłonięć. • Minimalizuje się konsekwencje udanego ataku. Przykładami ograniczania odsłonięć są systematyczne tworzenie kopii zapasowych.
Pewne aspekty zabezpieczenia • Zabezpieczenie stało się bardziej istotne z powodu podłączania coraz większej i większej liczby systemów do Sieci. Połączenie z Siecią daje dodatkową funkcjonalność systemu (np. klient może bezpośrednio działać na swoim koncie bankowym), ale oznacza to także możliwość zaatakowania systemu przez ludzi o złych intencjach. • Innym podobnym i bardzo ważnym atrybutem systemów w Sieci jest zdolność przetrwania (Ellison i inni, 1999). Zdolność przetrwania jest zdolnością systemu do ciągłej realizacji usług nawet w czasie ataku i ewentualnego odłączenia części systemu.
Główne tezy • Pewność systemu komputerowego jest jego właściwością, która odzwierciedla stopień zaufania użytkownika do systemu. Najważniejszymi wymiarami pewności są: dostępność, niezawodność, bezpieczeństwo i zabezpieczenie. • System krytyczny to system, którego awarie mogą powodować znaczne straty gospodarcze, fizyczne zniszczenia lub śmierć ludzi. Trzema ważnymi rodzajami systemów krytycznych są systemy krytyczne dla bezpieczeństwa, systemy krytyczne dla zadania i systemy krytyczne dla przedsiębiorstwa. • Dostępność systemu to prawdopodobieństwo, że będzie on realizował usługi dla użytkowników, gdy o to poproszą. Niezawodność to prawdopodobieństwo, że usługi systemu będą wykonywane zgodnie ze specyfikacją. • Niezawodność i dostępność są czasem uważane za najważniejsze wymiary pewności. Jeśli system jest zawodny, to trudno jest zapewnić jego bezpieczeństwo lub zabezpieczenie, ponieważ niweczą je awarie systemu.
Główne tezy • Niezawodność jest związana z prawdopodobieństwem wystąpienia błędu w czasie użytkowania systemu. Program może zawierać usterki, a mimo tego użytkownicy mogą uważać go za niezawodny, ponieważ nie korzystają z udogodnień systemu niepełnowartościowych wskutek tych usterek. • Bezpieczeństwo systemu to jego atrybut, który odzwierciedla zdolność systemu do poprawnego lub niepoprawnego działania bez powodowania zagrożeń dla ludzi i środowiska. Jeśli bezpieczeństwo jest główną cechą systemu krytycznego, to nazywamy go systemem krytycznym dla bezpieczeństwa. • Zabezpieczenie jest ważne we wszystkich systemach krytycznych. Bez rozsądnego poziomu zabezpieczeń dostępność, niezawodność i bezpieczeństwo systemu mogą być zniweczone przez zewnętrzne ataki, które wywołały szkody w systemie.