Stochastyczne modele cyklu życia podatności oprogramowania

Podobne dokumenty
Modele wykrywania podatności oprogramowania oparte na stochastycznych równaniach różniczkowych

Modelowanie stochastyczne Stochastic Modeling. Poziom przedmiotu: II stopnia. Liczba godzin/tydzień: 2W E, 2C

Metodyka zarządzania ryzykiem w obszarze bezpieczeństwa informacji

STOCHASTYCZNY MODEL BEZPIECZEŃSTWA OBIEKTU W PROCESIE EKSPLOATACJI

WSPÓŁCZYNNIK GOTOWOŚCI SYSTEMU LOKOMOTYW SPALINOWYCH SERII SM48

Informatyka II stopień (I stopień / II stopień) Ogólnoakademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Krytyczne czynniki sukcesu w zarządzaniu projektami

MODELOWANIE ROZKŁADU TEMPERATUR W PRZEGRODACH ZEWNĘTRZNYCH WYKONANYCH Z UŻYCIEM LEKKICH KONSTRUKCJI SZKIELETOWYCH

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Proces Poissona. Proces {N(t), t 0} nazywamy procesem zliczającym jeśli N(t) oznacza całkowitą liczbę badanych zdarzeń zaobserwowanych do chwili t.

Spacery losowe generowanie realizacji procesu losowego

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Wpływ macierzy przejścia systemu bonus-malus ubezpieczeń komunikacyjnych OC na jego efektywność taryfikacyjną

Jak znaleźć prawdziwe zagrożenia w infrastrukturze IT

PROGRAMOWANIE DYNAMICZNE W ROZMYTYM OTOCZENIU DO STEROWANIA STATKIEM

PRZESTRZENNY MODEL PRZENOŚNIKA TAŚMOWEGO MASY FORMIERSKIEJ

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Elżbieta Andrukiewicz Ryszard Kossowski PLAN BEZPIECZEŃSTWA INFORMACJI

MODELOWANIE STRUKTURY PROBABILISTYCZNEJ UBEZPIECZEŃ ŻYCIOWYCH Z OPCJĄ ADBS JOANNA DĘBICKA 1, BEATA ZMYŚLONA 2

Procesowa specyfikacja systemów IT

Matematyka Stosowana na Politechnice Wrocławskiej. Komitet Matematyki PAN, luty 2017 r.

Bezpieczeństwo aplikacji WWW. Klasyfikacja zgodna ze standardem OWASP. Zarządzanie podatnościami

Procesy Markowa zawdzięczają swoją nazwę ich twórcy Andriejowi Markowowi, który po raz pierwszy opisał problem w 1906 roku.

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

Rozwiązywanie równań liniowych. Transmitancja. Charakterystyki częstotliwościowe

Algorytmy MCMC (Markowowskie Monte Carlo) dla skokowych procesów Markowa

Przekształcanie równań stanu do postaci kanonicznej diagonalnej

Instytut Politechniczny Państwowa Wyższa Szkoła Zawodowa. Diagnostyka i niezawodność robotów

Zgodność, fraudy i inne wyzwania oraz zagrożenia w Bankach Spółdzielczych. Aleksander Czarnowski AVET Information and Network Security Sp. z o.o.

Prognozowanie i Symulacje. Wykład I. Matematyczne metody prognozowania

Autor: Artur Lewandowski. Promotor: dr inż. Krzysztof Różanowski

Przedsiębiorstwo zwinne. Projektowanie systemów i strategii zarządzania

Zastosowanie symulacji Monte Carlo do zarządzania ryzykiem przedsięwzięcia z wykorzystaniem metod sieciowych PERT i CPM

Proces rezerwy w czasie dyskretnym z losową stopą procentową i losową składką

Komputerowe Systemy Przemysłowe: Modelowanie - UML. Arkadiusz Banasik arkadiusz.banasik@polsl.pl

System bonus-malus z mechanizmem korekty składki

Complete Patch Management

Instrukcja. Laboratorium Metod i Systemów Sterowania Produkcją.

Zarządzanie bezpieczeństwem w Banku Spółdzielczym. Aleksander P. Czarnowski AVET Information and Network Security Sp. z o.o.

Błędy procesu tworzenia oprogramowania (Badania firmy Rational Software Corporation)

MODEL OCENY SYSTEMU REMONTU TECHNIKI WOJSKOWEJ

ABC bezpieczeństwa danych osobowych przetwarzanych przy użyciu systemów informatycznych (cz. 4)

Technologia Automatyczne zapobieganie exploitom

Procesy biznesowe w praktyce. Przykłady użycia z wykorzystaniem jbpm 4.4

Zagrożenia związane z udostępnianiem aplikacji w sieci Internet

Maciej Byczkowski ENSI 2017 ENSI 2017

PLAN ZARZĄDZANIA KONFIGURACJĄ OPROGRAMOWANIA PROJEKT <NAZWA PROJEKTU> WERSJA <NUMER WERSJI DOKUMENTU>

Znaczenie norm ISO w znowelizowanej ustawie o ochronie danych osobowych (RODO)

Zarządzanie bezpieczeństwem informacji w urzędach pracy

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Język UML w modelowaniu systemów informatycznych

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

Kierunek: Matematyka Poziom studiów: Studia II stopnia Forma i tryb studiów: Stacjonarne

! Retina. Wyłączny dystrybutor w Polsce

W6 Systemy naprawialne

ŁĄCZONA LOGIKA EPISTEMICZNA I DEONTYCZNA W MODELOWANIU PROCESÓW BIZNESOWYCH

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

MODELOWANIE I SYMULACJA Kościelisko, czerwca 2006r. Oddział Warszawski PTETiS Wydział Elektryczny Politechniki Warszawskiej Polska Sekcja IEEE

WYDZIAŁ PODSTAWOWYCH PROBLEMÓW TECHNIKI KARTA PRZEDMIOTU

ANALIZA ZDOLNOŚCI PROCESU O ZALEŻNYCH CHARAKTERYSTYKACH

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

Panda Managed Office Protection. Przewodnik. Panda Managed Office Protection. Przewodnik

Ekonometryczne modele nieliniowe

Katarzyna Jesionek Zastosowanie symulacji dynamiki cieczy oraz ośrodków sprężystych w symulatorach operacji chirurgicznych.

Luki w bezpieczeństwie aplikacji istotnym zagrożeniem dla infrastruktury krytycznej

Laboratorium A: Korzystanie z raportów zasad grupy/klucz do odpowiedzi

Kompleksowe Przygotowanie do Egzaminu CISMP

Usługa skanowania podatności infrastruktury IT Banków oraz aplikacji internetowych

Inżynieria oprogramowania. Część 8: Metoda szacowania ryzyka - PERT

Etapy życia oprogramowania

ZASTOSOWANIE BEZPRZEWODOWYCH SYSTEMÓW TRANSMISJI DO POPRAWY BEZPIECZEŃSTWA NA PRZEJAZDACH KOLEJOWYCH

Zadanie 1. Wykonał: Grzegorz Pol Komputer:

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

Procesy stochastyczne

Modelowanie niezawodności prostych struktur sprzętowych

Informatyka I stopień (I stopień / II stopień) ogólno akademicki (ogólno akademicki / praktyczny) podstawowy (podstawowy / kierunkowy / inny HES)

Procesy stochastyczne WYKŁAD 2-3. Łańcuchy Markowa. Łańcuchy Markowa to procesy "bez pamięci" w których czas i stany są zbiorami dyskretnymi.

Sposoby zabezpieczania urządzeń elektronicznych przed występowaniem w nich ukrytych funkcji

Etapy życia oprogramowania. Modele cyklu życia projektu. Etapy życia oprogramowania. Etapy życia oprogramowania

Projektowanie systemów informatycznych. Roman Simiński programowanie.siminskionline.pl. Cykl życia systemu informatycznego

Innowacje społeczne innowacyjne instrumenty polityki społecznej w projektach finansowanych ze środków Europejskiego Funduszu Społecznego

ANALIZA BELKI DREWNIANEJ W POŻARZE

MODELOWANIE DYNAMICZNE SYSTEMÓW PRODUKCYJNYCH PRZY UŻYCIU OPROGRAMOWANIA ITHINK

Systemy zarządzania bezpieczeństwem informacji: co to jest, po co je budować i dlaczego w urzędach administracji publicznej

DWUTEOWA BELKA STALOWA W POŻARZE - ANALIZA PRZESTRZENNA PROGRAMAMI FDS ORAZ ANSYS

Procesy stochastyczne

ZASTOSOWANIE SPLOTU FUNKCJI DO OPISU WŁASNOŚCI NIEZAWODNOŚCIOWYCH UKŁADÓW Z REZERWOWANIEM

Znaczenie norm ISO w znowelizowanej ustawie o ochronie danych osobowych (RODO)

Określenie maksymalnego kosztu naprawy pojazdu

Projektowanie układów metodą sprzężenia od stanu - metoda przemieszczania biegunów

ANALIZA WŁAŚCIWOŚCI FILTRU PARAMETRYCZNEGO I RZĘDU

PRZYKŁAD ZASTOSOWANIA DOKŁADNEGO NIEPARAMETRYCZNEGO PRZEDZIAŁU UFNOŚCI DLA VaR. Wojciech Zieliński

Cechy charakterystyczne tworzenia oprogramowania w Inżynierii Biomedycznej. Wykładowca Dr inż. Zofia Kruczkiewicz

WIELOKRYTERIALNE PORZĄDKOWANIE METODĄ PROMETHEE ODPORNE NA ZMIANY WAG KRYTERIÓW

Mariusz Nowak Instytut Informatyki Politechnika Poznańska

MSF. Microsoft Solution Framework

Wyzwania i dobre praktyki zarządzania ryzykiem technologicznym dla obszaru cyberzagrożeń

SQL z perspektywy hakera - czy Twoje dane są bezpieczne? Krzysztof Bińkowski MCT,CEI,CEH,ECSA,ECIH,CLFE,MCSA,MCSE..

Projekty BPM z perspektywy analityka biznesowego. Wrocław, 20 stycznia 2011

Spis treści. Analiza i modelowanie_nowicki, Chomiak_Księga1.indb :03:08

Transkrypt:

Romuald Hoffmann Stochastyczne modele cyklu życia podatności oprogramowania. Wstęp W trakcie eksploatacji oprogramowania uwidaczniają się podatności (ang. software vulnerabilities), które z punktu widzenia bezpieczeństwa systemów są istotnym zagrożeniem dla danych. Podatności oprogramowania traktować będziemy jako błędy oprogramowania wprowadzone na etapie jego specyfikacji, projektowania, implementacji lub konfiguracji, stanowiące jednocześnie podatności na atak cybernetyczny. Błędy te, nie powodując w normalnym trybie eksploatacji zaburzenia logiki funkcjonowania oprogramowania, stanowią bardzo istotne luki bezpieczeństwa systemu informatycznego, które można wykorzystać do ataku na system. Atak może polegać na przejęciu kontroli nad nim lub użyciem go niezgodnie z wolą jego właściciela bądź użytkownika. Szczególnie dzisiaj bezpieczeństwo systemów informatycznych jest jednym z najbardziej istotnych trosk ich użytkowników. Nie oznacza to, że jest to problem dnia dzisiejszego. Od. połowy lat 90. ubiegłego wieku, wraz z rozwojem informatyki, w odniesieniu do systemów informatycznych instytucji państwowych i prywatnych, a także oprogramowania urządzeń osobistych obserwuje się stale rosnącą liczbę incydentów związanych z wykorzystaniem podatności oprogramowania. Badacze zdali sobie sprawę, że podobnie jak w odniesieniu do systemów informatycznych, również w stosunku do podatności oprogramownia należy mówić o ich cyklu życia. Cykl życia podatności oprogramowania, opierając się na dotychczasowych badaniach, ogólnie można podzielić na kilka faz, które zaczynają lub kończą się zdarzeniami: narodzin podatności (ang. birth, creation), wykrycia (ang. discovery), Wojskowa Akademia Techniczna w Warszawie, Wydział Cybernetyki. R. Hoffmann, J. Stanik, J. Napiórkowski, Modele wykrywania podatności oprogramowania w ujęciu dynamiki systemowej, Roczniki Kolegium Analiz Ekonomicznych 07, z. 45, s. 0.

74 Romuald Hoffmann wykorzystania (ang. exploit), ujawnienia (ang. disclosure), udostępnienia poprawki oprogramowania (ang. patch release, patch available), zainstalowania poprawki (ang. patched, patch installed). Ogólny model cyklu życia podatności przedstawiono na rysunku. Rysunek. Ogólny model cyklu życia pojedynczej podatności oprogramowania Źródło: opracowanie własne na podstawie: S. M. Rajasooriya, Ch. P. Tsokos, P. K. Kaluarachchi, Stochastic Modelling of Vulnerability Life Cycle and Security Risk Evaluation, Journal of Information Security 06, vol. 7, no. 4, s. 69 79. W pracy rozszerzono ogólny model cykl życia podatności, wprowadzając zdarzenie wydania sygnatury antywirusowej (rysunek ). Uwzględniając to, zaproponowano dwa stochastyczne modele cyklu życia pojedynczej podatności stanowiące rozwinięcia modeli zaczerpniętych z literatury. Opisane modele obrazują postrzeganie cyklu życia z dwóch punktów widzenia: użytkowników końcowych oprogramowania i specjalistów zajmujących się bezpieczeństwem systemów informatycznych. H. Joh, Y. K. Malaiya, A Framework for Software Security Risk Evaluation using the Vulnerability Lifecycle and CVSS Metrics, w: Proceedings of the 00 International Workshop on Risk and Trust in Extended Enterprises (RTEE 00), IEEE, San Jose CA, USA 4 Nov. 00, s. 40 44; H. Okamura, M. Tokuzane, T. Dohi, Security Evaluation for Software System with Vulnerability Life Cycle and User Profiles, w: Procedings of 0 Workshop on Dependable Transportation Systems/Recent Advances in Software Dependability (WDTS-RASD 0), B. Werner (red.), IEEE, Niigata, Japan 8 9 Nov. 0, s. 9 44.

Stochastyczne modele cyklu życia podatności oprogramowania 75. Rozszerzony cykl życia podatności oprogramowania W literaturze 4 istnieją opisy cyklu życia podatności oprogramowania uwzględniające w mniejszym lub większym stopniu wymienione wcześniej zdarzenia: narodzin podatności, wykrycia, wykorzystania, ujawnienia, udostępnienia poprawki, zainstalowania poprawki oprogramowania. Należy zaznaczyć, że już w jednej z pierwszych prac 5 na przełomie ubiegłego i obecnego wieku, w której określono cykl życia podatności oprogramowania, autorzy uwzględnili narodziny (wydarzenie wprowadzenia podatności na etapie tworzenia oprogramowania), wykrycie, ujawnienie luki (określonej jako wewnętrzne rozpowszechnienie informacji w kręgu osób dokonujących zabezpieczenia systemów), wydanie poprawki, publiczne ujawnienie luki w zabezpieczeniach, dostępności exploitów i śmierci luki utożsamianej z zainstalowaniem poprawki. Pomimo tego, że w literaturze podobnie opisuje się cykl życia podatności, to jednak zdarzają się istotne różnice. Różnice w podejściu można prześledzić chociażby na przykładzie pracy 6 z roku 005, gdzie wydanie oraz zainstalowanie poprawki traktuje się alternatywnie, i oba te zdarzenia zamykają proponowany cykl życia podatności. Należy zauważyć, że dotychczasowe modele cyklu życia nie uwzględniają istnienia systemów antywirusowych, które w istotny sposób wpływają na ekspozycję na ryzyko wykorzystania podatności. W artykule uwzględnimy fakt udostępniania przez producentów systemów antywirusowych sygnatur oprogramowania złośliwego wykorzystującego podatności. Wobec tego przyjmiemy, że cykl życia podatności będzie składał się z faz wyznaczanych przez zdarzenia: narodziny, wykrycie, wykorzystanie, ujawnienie podatności, udostępnienie sygnatury antywirusowej, wydanie poprawki, zainstalowanie poprawki (rysunek ). 4 W. A. Arbaugh, W. L. Fithen, J. McHugh, Windows of vulnerability: A case study analysis, IEEE Computer 000, vol., no., s. 5 59; E. Rescorla, Is finding security holes a good idea?, IEEE Security and Privacy Jan. Feb. 005, vol., no., s. 4 9; J. Jones, Estimating software vulnerabilities, IEEE Security & Privacy July Aug. 007, vol. 5, no. 4, s. 8 ; S. Frei, Security econometrics the dynamics of (in) security, w: Dissertation 897, ETH Zurich, Zurich 009. 5 W. A. Arbaugh, W. L. Fithen, J. McHugh, op. cit. 6 E. Rescorla, op. cit.

76 Romuald Hoffmann Rysunek. Rozszerzony cykl życia pojedynczej podatności oprogramowania. Stochastyczne modele cyklu życia podatności oprogramowania W ostatniej dekadzie, w wyniku badania stochastycznej natury cyklu życia podatności oprogramowania, zaproponowano 7 kilka probabilistycznych modeli cyklu. Dotychczas opublikowane modele, bazujące na jednorodnych procesach Markowa, z czasem ciągłym lub dyskretnym oraz ze skończoną liczbą stanów, odnoszą się do ogólnego cyklu życia (rysunek ). W pracy przy założeniu istnienia własności Markowa i jednorodności w czasie zaproponowano dwa modele stochastyczne odnoszące się do proponowanego w niniejszym artykule rozszerzonego cyklu życia podatności (rysunek ). 7 H. Joh, Y. K. Malaiya, A Framework for Software ; H. Joh, Y. K. Malaiya, Defining and Assessing Quantitative Security Risk Measures Using Vulnerability Lifecycle and CVSS Metrics, w: Proceedings of The 0 International Conference on Security and Management (SAM ), H. R. Arabnia, M. R. Grimaila, G. Markowsky (red.), vol., Las Vegas Nevada, USA 8 July 0, s. 0 6; H. Okamura, M. Tokuzane, T. Dohi, op. cit.; S. M. Rajasooriya, Ch. P. Tsokos, P. K. Kaluarachchi, Stochastic Modelling of Vulnerability Life Cycle and Security Risk Evaluation, Journal of Information Security 06, vol. 7, no. 4, s. 69 79.

Stochastyczne modele cyklu życia podatności oprogramowania 77 W podrozdziałach przyjęto następującą konwencję oznaczeń. Przez S i oznaczono stan podatności w jej cyklu życia, gdzie i oznacza kolejny numer stanu (i = 0,,,...). p ij (t), λ ij oznaczają odpowiednio: prawdopodobieństwo przejścia w chwili t 0, intensywność (niezależną od czasu) przejścia ze stanu S i do stanu S j. Natomiast P i (t) oznacza prawdopodobieństwo przebywania procesu Markowa w stanie S i w chwili t 0. Do graficznego zobrazowania proponowanych modeli wykorzystano grafy procesu Markowa 8, które jednocześnie jednoznacznie opisują zarówno macierz przejścia pomiędzy stanami, jak i równania Kołmogorowa. W celu zwiększenia czytelności w węzłach umieszczono obok symbolu stanu S i jego znaczenie 9... Model z punktu widzenia projektanta Proponowany model w założeniach uwzględnia charakterystyczny sposób postrzegania cyklu życia podatności przez osoby zajmujące się bezpieczeństwem systemów informatycznych. Model zakłada, że proces rozszerzonego cyklu życia podatności będzie przebywał w następujących stanach: S 0 : podatność niewykryta (ang. not discovered) podatność została wprowadzona na etapie implementacji i nie została ujawniona wcześniej podczas eksploatacji; S : podatność wykryta (ang. discovered) podatność została wykryta, w tym również możliwe, że przez atakującego; S : poprawka została zainstalowana (ang. patched) użytkownik zainstalował aktualizację bezpieczeństwa; S : wykorzystanie (ang. exploited) oprogramowanie złośliwe zostało stworzone i podatność została wykorzystana przez atakującego; S 4 : ujawnienie (ang. disclosure) podatność została ujawniona i jednocześnie podana do publicznej wiadomości; S 5 : sygnatura antywirusowa została udostępniona (ang. antivirus signature released) sygnatura oprogramowania złośliwego została opracowana i udostępniona, i nie stworzono innej wersji exploita przed zainstalowaniem poprawki. 8 G. F. Lawler, Introduction to Stochastic processes, nd Edition, Chapman and Hall/CRC Taylor and Francis Group, London, New York 006. 9 Przyjęto anglojęzyczny opis stanu w celu zachowania jednoznaczności w odniesieniu do literatury.

78 Romuald Hoffmann Modelem opisanej sytuacji jest jednorodny proces Markowa z czasem ciągłym i skończoną liczbą stanów. Macierz intensywności przejścia między stanami tego łańcucha ma postać: λ 00 λ 0 0 0 0 0 0 λ λ λ λ 4 0 0 0 0 0 0 0 Λ = 0 0 λ λ 0 λ 5 0 0 λ 4 λ 4 λ 44 0 0 0 λ 5 0 0 λ 55 6, gdzie λ ij 0, λ ii = λ ij () j=0 j i a) model Joh-Malaiya 0 b) model proponowany Rysunek. Model z punktu widzenia projektanta graf stanów procesu Markowa Macierz () intensywności Λ można jednoznacznie przedstawić w postaci grafu stanów procesu Markowa (rysunek b). Ukazany w celu porównania na rysunku a graf Markowa odnosi się do modelu wyjściowego Joh-Malaiya. Układ równań Kołmogorowa pozwalający na wyznaczenie wektora rozkładu prawdopodobieństw procesu Markowa z macierzą intensywności Λ jest postaci: 0 H. Joh, Y. K. Malaiya, A Framework for Software Security Risk Zwany również grafem Markowa. Ibidem.

Stochastyczne modele cyklu życia podatności oprogramowania 79 d dt P 0 (t)! d dt P 5 (t) = P (t)! P (t) 0 5 z warunkiem początkowym P 0 (0) =, P i (0) = 0 dla i =,,...,5. Λ, t 0 () 0.4 P 0. P 0. 0.5 0. 0. 0. 0.05 0 0 0 50 00 50 00 50 00 50 400 450 0 50 00 50 00 50 00 50 400 450 P : λij=λ=0,0 P : λij=λ=0,0 P : λij=λ=0.0, λ=0 P : λij=λ=0.0, λ=0 P : λij=λ=0.0, λ=0,05 P : λij=λ=0.0, λ=0,05 0. P4 0. P5 0.5 0.5 0. 0. 0.05 0.05 0 0 0 50 00 50 00 50 00 50 400 450 0 50 00 50 00 50 00 50 400 450 P4 : λij=λ=0,0 P5 : λij=λ=0,0 P4 : λij=λ=0.0, λ=0 P5 : λij=λ=0.0, λ=0 P4 : λij=λ=0.0, λ=0,05 P5 : λij=λ=0.0, λ=0,05 Rysunek 4. Przykładowe rozwiązania układu równań Kołmogorowa dla modelu z punktu widzenia projektanta Rozwiązanie układu równań () pozwala na wyznaczenie poszczególnych prawdopodobieństw P i (t). Szczególnie istotne jest wyznaczenie niezbędnego do szacowania ryzyka prawdopodobieństwa wykorzystania podatności przez atakującego P (t). Układ równań został rozwiązany numerycznie, a przykładowe wyniki symulacji ilustruje rysunek 4. Z wykorzystaniem pakietu symulacyjnego Vensim ver. 5 firmy Ventana Systems, Inc.

80 Romuald Hoffmann.. Model z punktu widzenia użytkownika końcowego W tym miejscu rozważymy model uwzględniający rozszerzony cykl życia podatności oprogramowania widziany z perpektywy użytkownika końcowego (rysunek 5b). Model zakłada, że proces cyklu życia podatności będzie przebywał w następujących stanach: S : narodziny podatności (ang. birth, creation) podatność została wprowadzona na etapie implementacji i nie została ujawniona wcześniej; S : ujawnienie (ang. disclosure) podatność została ujawniona i jednocześnie podana do publicznej wiadomości; S : wykorzystanie (ang. exploited) oprogramowanie złośliwe zostało stworzone i podatność została wykorzystana; S 4 : sygnatura antywirusowa udostępniona (ang. antivirus signature released) sygnatura oprogramowania złośliwego została opracowana i udostępniona i nie stworzono innej wersji exploita przed zainstalowaniem poprawki; S 5 : poprawka zainstalowana (ang. patched, patch installed) użytkownik zainstalował aktualizację bezpieczeństwa. a) model Okamura-Tokuzane-Dohi 4 b) model proponowany Rysunek 5. Model z punktu widzenia użytkownika graf Markowa Podobnie jak w poprzednim paragrafie, zgodnie z przyjętymi założeniami modelem jest jednorodny proces Markowa z czasem ciągłym i skończoną liczbą stanów, gdzie macierz intensywności Λ przedstawiona jest w postaci grafu stanów procesu Markowa (rysunek 5b). Ukazany na rysunku 5a graf Markowa 4 Ibidem.

Stochastyczne modele cyklu życia podatności oprogramowania 8 odnosi się do modelu Okamura-Tokuzane-Dohi 5 nawiązujacego do ogólnego modelu cyklu życia podatności. Analogicznie jak w poprzednim paragrafie, również dla tego modelu numeryczne rozwiązanie układu równań Kołmogorowa (określonego na podstawie grafu Markowa rysunek 5b) przy warunku początkowym P (0) =, P i (0) = 0 dla i =,...,5 pozwala na wyznaczenie poszczególnych prawdopodobieństw P i (t). λ λ5 <P> <P> P P P P P5 P5 λ5 λ λ λ45 <P> P P P4 P4 <P> λ4 P=- (λ+λ) *P P=λ*P (λ+λ5)*p P=λ*P+λ*P (λ4+λ5)*p P4=λ4*P λ45*p4 P5=λ5*P+λ5*P+λ45*P4 P= INTEG ( P,) P= INTEG ( P,0) P= INTEG ( P,0) P4= INTEG ( P4,0) P5= INTEG ( P5,0) Rysunek 6. Równania Kołmogorowa w języku dynamiki systemowej Układ równań Kołmogorowa zdefiniowany w języku dynamiki systemowej 6 przedstawia rysunek 6, a uzyskane wyniki obliczeń prezentuje rysunek 7. Obliczeń numerycznych dokonano, wykorzystując do tego celu pakiet symulacyjny dynamiki systemowej Vensim ver. 5 firmy Ventana Systems, Inc. 5 H. Okamura, M. Tokuzane, T. Dohi, op. cit. 6 J. D. Sterman, Business Dynamics. Systems Thinking and Modeling for a Complex World, McGraw-Hill, Boston 000; R. Hoffmann, T. Protasowicki, Metoda dynamiki systemowej w modelowaniu złożonych systemów i procesów, Biuletyn Instytutu Systemów Informatycznych 0, nr, s. 9 8.

8 Romuald Hoffmann 0. P 0.4 P 0.5 0. 0. 0. 0.05 0. 0 0 0 40 60 80 00 0 40 60 80 00 0 0 0 40 60 80 00 0 40 60 80 00 P : λij=λ=0,0 P : λij=λ=0,0; λ=0,05 P : λij=λ=0,0 P : λij=λ=0,0; λ=0,05 0. 0.5 0. 0.05 0 0 0 40 60 80 00 0 40 60 80 00 P4 : λij=λ=0,0 P4 : λij=λ=0,0; λ=0,05 P4 P5 0.75 0.5 0.5 0 0 0 40 60 80 00 0 40 60 80 00 P5 : λij=λ=0,0 P5 : λij=λ=0,0; λ=0,05 Rysunek 7. Przykładowe rozwiązania układu równań Kołmogorowa dla modelu z punktu widzenia użytkownika końcowego 4. Podsumowanie i kierunki dalszych badań Zaprezentowane probabilistyczne modele cyklu życia podatności oprogramowania można dalej rozbudowywać. Na przykład wystarczy zauważyć, że po wydaniu sygnatury antywirusowej i udostępnieniu poprawki bezpieczeństwa, ale jeszcze przed jej instalacją, atakujący może stworzyć inną wersję oprogramowania złośliwego niewykrywalnego przez skanery bezpieczeństwa. Następnie tak przygotowane oprogramowanie wykorzystać do ataku. Zatem cykl życia podatności oprogramowania, uwzględniający ten przypadek, ilustruje rysunek 8, a grafy stanów procesów Markowa dla rozszerzonych modeli przyjmują postać jak na rysunku 9. Na tej podstawie wyznaczenie wartości poszczególnych prawdopodobieństw p ij (t), P i (t), w tym szczególnie wartości prawdopodobieństwa wykorzystania podatności przez atakującego P (t) w chwili t pozwala na szacowanie ryzyka bezpieczeństwa rozpatrywanego oprogramowania w założonym czasie.

Stochastyczne modele cyklu życia podatności oprogramowania 8 Rysunek 8. Rozszerzony cykl życia pojedynczej podatności oprogramowania uwzględniający wprowadzenie nowej wersji kodu złośliwego (tzw. exploita) a) z punktu widzenia projektanta b) z punktu widzenia użytkownika Rysunek 9. Model w przypadku użycia innego exploita graf Markowa Reasumując, zaproponowane stochastyczne modele cyklu życia podatności rozpatrywane w kontekście cyklu życia konkretnego systemu informatycznego mogą posłużyć do opracowania metod i zaplanowania minimalizacji ryzyka

84 Romuald Hoffmann wykorzystania przez atakującego luk bezpieczeństwa. W konsekwencji pozwolą również końcowemu użytkownikowi nie tylko na szacowanie ryzyka bezpieczeństwa eksploatowanych systemów, ale także na analizę porównawczą oprogramowania potencjalnych systemów w procesie zakupu. Bibliografia Arbaugh A., Fithen W. L., McHugh J., Windows of vulnerability: A case study analysis, IEEE Computer 000, vol., no., s. 5 59. Frei S., Security econometrics the dynamics of (in) security, w: Dissertation 897, ETH Zurich, Zurich 009. Joh H., Malaiya Y. K., A Framework for Software Security Risk Evaluation using the Vulnerability Lifecycle and CVSS Metrics, w: Proceedings of the 00 International Workshop on Risk and Trust in Extended Enterprises (RTEE 00), IEEE, San Jose CA, USA 4 Nov 00, s. 40 44. Joh H., Malaiya Y. K., Defining and Assessing Quantitative Security Risk Measures Using Vulnerability Lifecycle and CVSS Metrics, w: Proceedings of The 0 International Conference on Security and Management (SAM ), H. R. Arabnia, M. R. Grimaila, G. Markowsky (red.), vol., Las Vegas Nevada, USA 8 July 0, s. 0 6. Hoffmann R., Protasowicki T., Metoda dynamiki systemowej w modelowaniu złożonych systemów i procesów, Biuletyn Instytutu Systemów Informatycznych 0, nr, s. 9 8. Hoffmann R., Stanik J., Napiórkowski J., Modele wykrywania podatności oprogramowania w ujęciu dynamiki systemowej, Roczniki Kolegium Analiz Ekonomicznych SGH 07, z. 45, s. 0. Jones J., Estimating software vulnerabilities, IEEE Security & Privacy July Aug. 007, vol. 5, no. 4, s. 8. Lawler G. F., Introduction to Stochastic processes, nd Edition, Chapman and Hall/ CRC Taylor and Francis Group, London, New York 006. Okamura H., Tokuzane M., Dohi T., Security Evaluation for Software System with Vulnerability Life Cycle and User Profiles, w: Procedings of 0 Workshop on Dependable Transportation Systems/Recent Advances in Software Dependability (WDTS-RASD 0), B. Werner (red.), IEEE, Niigata, Japan 8 9 Nov. 0, s. 9 44. Rajasooriya S. M., Tsokos Ch. P., Kaluarachchi P. K., Stochastic Modelling of Vulnerability Life Cycle and Security Risk Evaluation, Journal of Information Security 06, vol. 7, no. 4, s. 69 79. Rescorla E., Is finding security holes a good idea?, IEEE Security and Privacy Jan. Feb. 005, vol., no., s. 4 9. Sterman J. D., Business Dynamics. Systems Thinking and Modeling for a Complex World, McGraw-Hill, Boston 000.

Stochastyczne modele cyklu życia podatności oprogramowania 85 * * * Stochastic Models of Software Vulnerability Life Cycle Summary Software Vulnerability Life Cycle (SVLC) illustrates changes in the detection process of software vulnerability during the system exploitation. In the detection process generally two groups of actors can be distinguished: the potential exploiters and the patch developers. In this paper, there was proposed an expansion of SVLC by adding events of an anti-virus signature release and a new exploit execution to the existing general definition of vulnerability life cycle. The presented approach in this article models the extended software vulnerability life cycle as a stochastic process: a continuous time Markov chain. Consequently, there were proposed two stochastic models of the expanded vulnerability life cycle. The models can be used for evaluating the risk of vulnerability exploitation and information system security. Keywords: software vulnerability life cycle, SVLC, expanded software vulnerability life cycle, stochastic model, homogeneous Markov process, Markov Chain, Continuous Time Markov Chain, CTMC, system dynamics.