Weryfikacja protokołów bezpieczeństwa z wykorzystaniem automatów probabilistycznych

Podobne dokumenty
UŻYCIE CZASOWYCH AUTOMATÓW PROBABILISTYCZNYCH DO MODELOWANIA PROTOKOŁÓW ZABEZPIECZAJĄCYCH

MODELOWANIE I WERYFIKACJA PROTOKOŁU SCTP Z WYKORZYSTANIEM AUTOMATÓW CZASOWYCH ZE ZMIENNYMI

WERYFIKACJA PROTOKOŁÓW ZABEZPIECZAJĄCYCH Z UWZGLĘDNIENIEM OPÓŹNIEŃ W SIECI

Systemy zdarzeniowe - opis przedmiotu

Curriculum Vitae. Agnieszka Zbrzezny.

Badania w sieciach złożonych

Zastosowanie sztucznej inteligencji w testowaniu oprogramowania

Praktyczne metody weryfikacji

Weryfikacja wspomagana komputerowo

Kierunek: Informatyka rev rev jrn Stacjonarny EN 1 / 6

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Bibliografia z BibTeX

Wydział Informtyki i Nauki o Materiałach Kierunek Informatyka

Współczesna problematyka klasyfikacji Informatyki

Matematyczne Podstawy Informatyki

Field of study: Computational Engineering Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

Hybrydowa analiza transformat w rozpoznawaniu wysokości dźwięków w polifonicznych nagraniach instrumentów muzycznych

PRZEWODNIK PO PRZEDMIOCIE

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

Praktyczne metody weryfikacji

Opis efektów kształcenia dla modułu zajęć

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

Logika Temporalna i Automaty Czasowe

LISTA KURSÓW PLANOWANYCH DO URUCHOMIENIA W SEMESTRZE ZIMOWYM 2015/2016

Field of study: Computer Science Study level: First-cycle studies Form and type of study: Full-time studies. Auditorium classes.

PROJEKT WSPÓŁFINANSOWANY ZE ŚRODKÓW UNII EUROPEJSKIEJ W RAMACH EUROPEJSKIEGO FUNDUSZU SPOŁECZNEGO OPIS PRZEDMIOTU

Turing i jego maszyny

SpecVer - metodyka tworzenia oprogramowania integrująca zadania specyfikacji, implementacji i weryfikacji modułów programów

Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Bezpieczne stadiony systemy wspomagające projektowanie obiektów użyteczności publicznej. dr inż. Jarosław Wąs mgr inż.

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

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

OPISY KURSÓW. Nazwa kursu: PROGRAMOWANIE SYSTEMÓW ROZPROSZONYCH NA BAZIE STE- ROWNIKÓW PLC. Język wykładowy: polski

Kierunek: Informatyka rev rev jrn Niestacjonarny 1 / 5

O-MaSE Organization-based Multiagent System Engineering. MiASI2, TWO2,

Matematyczne Podstawy Informatyki

Kierunek: Informatyka rev rev jrn Stacjonarny 1 / 6

LISTA PUBLIKACJI. dr Ewa Kołczyk Instytut Informatyki Uniwersytetu Wrocławskiego. Artykuły. Książki

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

PLAN STUDIÓW Wydział Elektroniki, Telekomunikacji i Informatyki, Wydział Zarządzania i Ekonomii Inżynieria danych

20 września 2007 Jozef Winkowski (prof. dr hab.) Instytut Podstaw Informatyki Polskiej Akademii Nauk

Formalna weryfikacja oprogramowania w lotnictwie

INFORMATYKA POZIOM ROZSZERZONY

INFORMATYKA POZIOM ROZSZERZONY

Autoreferat. Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia im. Jana Długosza w Częstochowie. Załącznik 2

Rok akademicki: 2016/2017 Kod: IIN s Punkty ECTS: 4. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Wykład VII. Kryptografia Kierunek Informatyka - semestr V. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej

Web Services. Bartłomiej Świercz. Łódź, 2 grudnia 2005 roku. Katedra Mikroelektroniki i Technik Informatycznych. Bartłomiej Świercz Web Services

Zintegrowana teoria autyzmu Obliczenia płynowe w modelo

INFORMATYKA Pytania ogólne na egzamin dyplomowy

Monte Carlo w model checkingu

Weryfikacja modelowa. Protokoły komunikacyjne 2006/2007. Paweł Kaczan

Język opisu sprzętu VHDL

Automatyczne wspomaganie tworzenia słowników fleksyjnych jednostek wieloczłonowych

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Obliczenia inspirowane Naturą

Logika Temporalna i Automaty Czasowe

Participation in Conferences, Panels & Workshops

Zastosowanie sieci neuronowych w problemie klasyfikacji wielokategorialnej. Adam Żychowski

GMWØJCIK Publications

SIECI KOMPUTEROWE wykład dla kierunku informatyka semestr 4 i 5

ZASTOSOWANIE ROBOTÓW MOBILNYCH W SYMULACYJNYM BADANIU CZASU EWAKUACJI

Logika Temporalna i Automaty Czasowe

Rada do spraw cyfryzacji Zespół: Edukacja cyfrowa

Życiorys. Wojciech Paszke. 04/2005 Doktor nauk technicznych w dyscyplinie Informatyka. Promotor: Prof. Krzysztof Ga lkowski

Zastosowania analizy stochastycznej w finansach Application of Stochastic Models in Financial Analysis Kod przedmiotu: Poziom przedmiotu: II stopnia

Projekty R&D dla studentów w działce Internetu Rzeczy. K. Iwanicki University of Warsaw

MODELOWANIE STANÓW CZYNNOŚCIOWYCH W JĘZYKU SIECI BAYESOWSKICH

Systemy wbudowane. Poziomy abstrakcji projektowania systemów HW/SW. Wykład 9: SystemC modelowanie na różnych poziomach abstrakcji

Zagadnienia egzaminacyjne TELEKOMUNIKACJA studia rozpoczynające się po r.

Modelowanie zarządzania zaufaniem i bezpieczeństwem informacji. Anna Felkner, Tomasz Jordan Kruk NASK Dział Naukowy

PLANY I PROGRAMY STUDIÓW

Wykłady specjalistyczne. (Matematyka w finansach i ekonomii; Matematyczne podstawy informatyki)

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

UCHWAŁA NR 46/2013. Senatu Akademii Marynarki Wojennej im. Bohaterów Westerplatte z dnia 19 września 2013 roku

Oprogramowanie zgodne z prawem

Metody Obliczeniowe w Nauce i Technice

RAMOWY PROGRAM STUDIÓW NA KIERUNKU INFORMATYKA STUDIA INŻYNIERSKIE SEMESTR: I

Books edited by professor Ryszard Tadeusiewicz

Obliczenia inspirowane Naturą

WYKAZ PUBLIKACJI I. Artykuły Ia. Opublikowane przed obroną doktorską

KIERUNKOWE EFEKTY KSZTAŁCENIA

zna metody matematyczne w zakresie niezbędnym do formalnego i ilościowego opisu, zrozumienia i modelowania problemów z różnych

Przedmiot Prowadzący Termin I (data/godz/miejsce) Analiza matematyczna I. Prof. T. Inglot Dr W. Wawrzyniak- Kosz. Prof. Z. Kowalski Dr G.

Metody Obliczeniowe w Nauce i Technice

PRZEWODNIK PO PRZEDMIOCIE

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

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

Latex. Laboratorium 5. Akademia im. Jan Długosza.

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE INŻYNIERIA PRZESTRZENNA W LOGISTYCE E. Logistyka. Niestacjonarne. I stopnia (inżynierskie) VII. Dr Cezary Stępniak

Ataki na RSA. Andrzej Chmielowiec. Centrum Modelowania Matematycznego Sigma. Ataki na RSA p. 1

Wirtualne Laboratorium Mechaniki eksperyment na odległość, współpraca badawcza i gromadzenie wiedzy

T2A_W03 T2A_W07 K2INF_W04 Ma uporządkowaną, podbudowaną teoretycznie kluczową wiedzę w zakresie realizacji informacyjnych systemów rozproszonych

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

Doświadczenia stypendysty Marie Curie A.D. University of Ulster Pn Irlandia

IPsec bezpieczeństwo sieci komputerowych

PRZEWODNIK PO PRZEDMIOCIE

Zagadnienia egzaminacyjne TELEKOMUNIKACJA. Stacjonarne. II-go stopnia. (TIM) Teleinformatyka i multimedia STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Transkrypt:

protokołów bezpieczeństwa z wykorzystaniem automatów probabilistycznych Instytut Informatyki Teoretycznej i Stosowanej Politechniki Częstochowskiej 30 marca 2015 r.

1 2 3 4 5 6

Znaczenie protokołów bezpieczeństwa Protokoły bezpieczeństwa - kluczowa rola dla wspólłczesnych systemów informatycznych Wykorzystywane w wielu dziedzinach Błędy struktury, działania, zabezpieczeń Znaczenie specyfikacji i weryfikacji Potrzeba pełnego formalnego opisu Tempo rozwoju rynku IT stawia nowe wymagania

Veni, vidi,... I Zbudowano pełen formalizm Zbudowano strukturę obliczeniową Wykorzystano do weryfikacji sieć automatów Wykorzystano do weryfikacji łańcuchy stanów Publikacje: Kurkowski, M., Srebrny, M.: A Quantifier-free First-order Knowledge Logic of Authentication, Fund. Inform., vol. 72, pp. 263-282, IOS Press 2006 Kurkowski, M., Penczek, W.: Verifying Security Protocols Modeled by Networks of Automata, Fund. Inform., Vol. 79 (3-4), pp. 453-471, IOS Press 2007 Kurkowski, M., Penczek, W.: Verifying Timed Security Protocols via Translation to Timed Automata, Fund. Inform., vol. 93 (1-3), pp. 245-259, IOS Press 2009 Kurkowski M., Penczek W.: Applying Timed Automata to Model Checking of Security Protocols, in ed. J. Wang, Handbook of Finite State Based Models and Applications, pp. 223 254, CRC Press, Boca Raton, USA, 2012

Veni, vidi,... II Kurkowski M., O., Piech H., A New Effective Approach for Modelling and Verification of Security Protocols, in Proceedings of 21th international Workshop on Concurrency, Specification and Programming (CS&P 2012) Humboldt University Press, Berlin, Germany, 191-202, 2012 Kurkowski M., O., Dudek P., Using Backward Induction Techniques in (Timed) Security Protocols Verification, in Proceedings of 12th International Conference CISIM 2013, Krakow, Poland, Lecture Notes in Computer Science vol. 8104, 265-276, 2013 Kurkowski M., Formalne metody weryfikacji własności protokołów zabezpieczających w sieciach komputerowych, s. 208, wyd. Exit, Warszawa, 2013 Kurkowski M., O., Szymoniak S., Piech H., Parallel Bounded Model Checking of Security Protocols, in Proc. of PPAM 13, vol. 8384 of LNCS, Springer Verlag, 224-234, 2014 Kurkowski M., Grosser A., Piątkowski J., Szymoniak S., ProToc - an universal language for security protocols specification, Advances in Intelligent Systems and Computing, vol. 342, pp 237-248, Springer Verlag, 2015 odbyła się dla określonego założenia...

Nowe wyzwania Brak założenia bezpiecznego szyfrowania Bezpieczeństwo szyte na miarę Myślenie

Światowi liderzy PRISM UPPAAL AVISPA

PRISM PRISM PRISM jest probabilistycznym narzędziem do formalnego modelowania i analizy systemów wykazujących losowe zachowanie. Jest wykorzystywany do badania protokołów komunikacyjnych, bezpieczeństwa, losowych algorytmów rozproszonych, systemów biologicznych, gier itd. PRISM wykorzystuje różne modele : czasowe łańcuchy Markova procesy decyzyjne Markova czasowe PRISM wykorzystuje własny język do opisu modelu. Kwiatkowska M., Norman G. and Parker D.. PRISM 4.0: Verification of Probabilistic Real-time Systems. In Proc. 23rd International Conference on Computer Aided Verification (CAV 11), volume 6806 of LNCS, pages 585-591, Springer, 2011

UPPAAL UPPAAL to zintegrowane środowisko do modelowania, walidacji i weryfikacji systemów czasu rzeczywistego z wykorzystaniem sieci automatów czasowych, rozszerzone z typów danych (ograniczonych liczb całkowitych, macierze, itp). Jest odpowiedni dla systemów, które mogą być modelowane jako zbiór procesów niedeterministycznych ze skończoną strukturą, o rzeczywistych wartościach zegarów, komunikujących się za pośrednictwem kanałów lub wspólnych zmiennych. Uppaal składa się z: języka specyfikacji problemu symulatora weryfikatora Behrmann G., David A., Larsen K. G., A Tutorial on Uppaal, In proceedings of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM-RT 04). LNCS 3185

AVISPA AVISPA (Automated Validation of Internet Security Protocols and Applications) narzędzia do analizy dużych protokołów i technologii zabezpieczających stosowanych w Internecie. Avispa udostępnia: język specyfikacji HLPSL cztery moduły szukający ataku na cztery różne sposoby A. Armando, D. Basin, Y. Boichut, Y. Chevalier, L. Compagna, J. Cuellar, P. Hankes Drielsma, P.C. Heám, O. Kouchnarenko, J. Mantovani, S. Mödersheim, D. von Oheimb, M. Rusinowitch, J. Santiago, M. Turuani, L. Vigano, L. Vigneron, The Avispa Tool for the automated validation of internet security protocols and applications, in proceedings of CAV 2005, Computer Aided Verification, LNCS 3576, Springer Verlag, 2005

dotychczasowe podejście User A Communication User B Formal Language Computational Structure

dotychczasowe podejście User A Communication User B Formal Language Computational Structure

dotychczasowe podejście User A Communication User B Formal Language Computational Structure

dotychczasowe podejście User A Formal Language Communication User B Computational Structure

dotychczasowe podejście User A Formal Language Communication User B Computational Structure

dotychczasowe podejście User A Formal Language Communication User B Computational Structure Chains of States

Protokół Needhama-Schroedera i atak Lowe-a Protokół Needham-Schroeder: α 1 A B : N A i(a) KB, α 2 B A : N A N B KA, (1) α 3 A B : N B KB. Atak Lowe-a: α1 1 A ι : N A i(a) Kι, α1 2 ι(a) B : N A i(a) KB, α2 2 B ι(a) : N A N B KA, (2) α2 1 ι A : N A N B KA, α3 1 A ι : N B Kι, α3 2 ι(a) B : N B KB.

Aplikacja

Język ProToc ProToc Język specyfikacji protokołów komunikacyjnych wykorzystywany dla cznej weryfikacji. Zalety języka: w pełni sformalizowany udostępnia możliwość pełnej specyfikacji protokołu (opis akcji wewnętrznych i zewnętrznych) prosty, intuicyjny, zwarty

Język ProToc users(2); steps(3); players(3); intruder(dy); protocol: p_1,p_2;ident_p_1,nonce_p_1,+key_p_2;nonce_p_1; <+key_p_2,nonce_p_1 ident_p_1>; p_2,p_1;nonce_p_1,nonce_p_2,+key_p_1:nonce_p_2; <+key_p_1,nonce_p_1 nonce_p_2>; p_1,p_2;nonce_p_2,+key_p_2;<+key_p_2,nonce_p_2>; sessions: (p_1, p_2); (p_1, p_-2); (p_-1, p_2);

Łańcuchy stanów [1, 1] ; ; n_1(1) ; n_1(1) ; [1, 2] ; n_1(1) ; n_2(1) ; n_2(1) ; [1, 3] ; n_2(1) ; ; ; [2, 1] ; ; n_1(1) ; n_1(1) ; [2, 2] ; <k+_1(1),n_1(1) n_0(1)> ; ; n_0(1) ; [2, 2] ; n_1(1), n_0(1) ; ; n_0(1) ; [2, 3] ; n_0(1) ; ; ; [3, 1] ; ; n_1(1) ; n_1(1) ; [3, 2] ; <k+_1(1),n_1(1) n_2(1)> ; ; n_2(1) ; [3, 2] ; n_1(1), n_2(1) ; ; n_2(1) ; [3, 3] ; n_2(1) ; ; ; [4, 1] ; ; n_1(1) ; <k+_2(1),i(p_1) n_1(1)> ; [4, 2] ; <k+_1(1),n_1(1) n_0(1)> ; ; n_0(1) ; [4, 2] ; n_1(1), n_0(1) ; ; n_0(1) ; [4, 3] ; n_0(1) ; ; <k+_2(1),n_0(1)> ; [5, 1] ; ; n_1(1) ; <k+_2(1),i(p_1) n_1(1)> ; [5, 2] ; <k+_1(1),n_1(1) n_2(1)> ; ; n_2(1) ; [5, 2] ; n_1(1), n_2(1) ; ; n_2(1) ; [5, 3] ; n_2(1) ; ; <k+_2(1),n_2(1)> ; [6, 1] ; ; n_2(1) ; n_2(1) ;...

Przeplot wykonań Każde wykonanie protokołu składa się z kroków W sieci występuje równolegle wiele wykonań tego samego protokołu Kroki poszczególnych wykonań mogą się przeplatać: R = α 1 1, α 1 2, α 2 1, α 1 3, α 2 2, α 2 3.

Realne wykonania Utrzymana jest chronologia zdarzeń Nadający musi posiadać wymaganą do wysłania wiadomości wiedzę (zdobyć ją w trakcie komunikacji, lub wygenerować) Otrzymujący poszerza swoją wiedzę o wszystkie składowe przychodzącej wiadomości

Atak [ 3, 1] ; ; n_1(1) ; n_1(1) ; [18, 1] ; <k+_2(1),i(p_1) n_1(1)> ; ; n_1(1) ; [18, 2] ; n_1(1) ; n_2(1) ; <k+_1(1),n_1(1) n_2(1)> ; [ 3, 2] ; <k+_1(1),n_1(1) n_2(1)> ; ; n_2(1) ; [ 3, 3] ; n_2(1) ; ; ; [18, 3] ; n_2(1) ; ; ;

Typy automatów probabilistycznych reaktywne generatywne I\O Vardi ego przemienne Hansson a Segala łączone Pnueli ego-zuck a

Definicja automatu go Definicja (PA) Skończony reaktywny automat probabilistyczny - to piątka PA = (Q, Σ, δ, q 0, F ), w której: Q to skończony zbiór stanów, Σ to skończony zbiór symboli wejściowych, δ - funkcja prawdopodbieństwa przejść δ : Q {Σ {ɛ}} D(Q). q 0 Q - stan początkowy, F Q - zbiór stanów końcowych (akceptujących).

Protokół Needhama-Schroedera-Lowe-a Protokół NSPKL: Załóżmy, że: α 1 A B : N A i(a) KB, α 2 B A : N A N B i(b) KA, (3) α 3 A B : N B KB. α 1 - α 1 i złamanie klucza K 1 B α 2 - α 2 i złamanie klucza K 1 A α 3 - α 3 i złamanie klucza KB 1 gdzie p B + p B = p A + p A = p B + p B = 1. z prawdopodobieństwem p B z prawdopodobieństwem p A z prawdopodobieństwem p B

z wykorzystanie PA

test Subprotocol AVISPA OFMC CL-AtSe SATMC TA4SP VerICS PathFinder State 3 SAFE SAFE SAFE SAFE SAFE SAFE 70 ms. <10 ms. 30 ms. 661 ms. 15 ms. <10 ms. State 4 SAFE SAFE SAFE SAFE SAFE SAFE 70 ms. <10 ms. 30 ms. 661 ms. 15 ms. <10 ms.

Ukończenie poprawianej aplikacji Dodanie analizy prawdopobieństw PPAM 2015 CISIM 2015 Dodanie analizy sieci automatów Kwestia czasu...

I A. Armando, D. Basin, Y. Boichut, Y. Chevalier, L. Compagna, J. Cuellar, P. Hankes Drielsma, P.C. Heám, O. Kouchnarenko, J. Mantovani, S. Mödersheim, D. von Oheimb, M. Rusinowitch, J. Santiago, M. Turuani, L. Vigano, L. Vigneron, The Avispa Tool for the automated validation of internet security protocols and applications, in proceedings of CAV 2005, Computer Aided Verification, LNCS 3576, Springer Verlag, 2005 Behrmann G., David A., Larsen K. G., A Tutorial on Uppaal, In proceedings of the 4th International School on Formal Methods for the Design of Computer, Communication, and Software Systems (SFM-RT 04). LNCS 3185 Kurkowski M., Formalne metody weryfikacji własności protokołów zabezpieczających w sieciach komputerowych, s. 208, wyd. Exit, Warszawa, 2013 Kurkowski M., Grosser A., Piątkowski J., Szymoniak S., ProToc - an universal language for security protocols specification, Advances in Intelligent Systems and Computing, vol. 342, pp 237-248, Springer Verlag, 2015 Kurkowski M., Penczek W.: Applying Timed Automata to Model Checking of Security Protocols, in ed. J. Wang, Handbook of Finite State Based Models and Applications, pp. 223 254, CRC Press, Boca Raton, USA, 2012 Kurkowski, M., Penczek, W.: Verifying Security Protocols Modeled by Networks of Automata, Fund. Inform., Vol. 79 (3-4), pp. 453-471, IOS Press 2007 Kurkowski, M., Penczek, W.: Verifying Timed Security Protocols via Translation to Timed Automata, Fund. Inform., vol. 93 (1-3), pp. 245-259, IOS Press 2009

II Kurkowski M., O., Dudek P., Using Backward Induction Techniques in (Timed) Security Protocols Verification, in Proceedings of 12th International Conference CISIM 2013, Krakow, Poland, Lecture Notes in Computer Science vol. 8104, 265-276, 2013 Kurkowski M., O., Piech H., A New Effective Approach for Modelling and Verification of Security Protocols, in Proceedings of 21th international Workshop on Concurrency, Specification and Programming (CS&P 2012) Humboldt University Press, Berlin, Germany, 191-202, 2012 Kurkowski M., O., Szymoniak S., Piech H., Parallel Bounded Model Checking of Security Protocols, in Proc. of PPAM 13, vol. 8384 of LNCS, Springer Verlag, 224-234, 2014 Kurkowski, M., Srebrny, M.: A Quantifier-free First-order Knowledge Logic of Authentication, Fund. Inform., vol. 72, pp. 263-282, IOS Press 2006 Kwiatkowska M., Norman G. and Parker D.. PRISM 4.0: Verification of Probabilistic Real-time Systems. In Proc. 23rd International Conference on Computer Aided Verification (CAV 11), volume 6806 of LNCS, pages 585-591, Springer, 2011 Lowe, G.: Breaking and Fixing the Needham-Schroeder Public-key Protocol Using fdr., In TACAS, LNCS, Springer, 147-166, 1996 Needham, R.M., Schroeder, M.D.: Using encryption for authentication in large networks of computers. Commun. ACM, 21(12), 993-999, 1978.