Kiedy od softu zależy ludzkie życie o systemach safety-critical. Maciej Gajdzica

Podobne dokumenty
Testowanie systemów wbudowanych i krytycznych dla bezpieczeństwa Bogdan Bereza Wersja (33)

Kurs Projektowanie i programowanie z Distributed Safety. Spis treści. Dzień 1. I Bezpieczeństwo funkcjonalne - wprowadzenie (wersja 1212)

SNP SNP Business Partner Data Checker. Prezentacja produktu

Jakość wymagań a wymagania jakości Czy możliwa jest obiektywizacja oceny?

Kompresja pamięci w jądrze Linuksa

Programowanie RAD Delphi

Systemy zabezpieczeń

HP Service Anywhere Uproszczenie zarządzania usługami IT

Technika bezpieczeństwa

Konwencje obsługi błędów

SNP Business Partner Data Checker. Prezentacja produktu

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Automatyki

Temat 12. Rozkaz Wykonać! Języki programowania

Karta charakterystyki online. TR4-SFU03P TR4 Direct BEZKONTAKTOWE WYŁĄCZNIKI BEZPIECZEŃSTWA

Karta charakterystyki online. FX3-XTDI80002 Flexi Soft / Safe EFI-pro System STEROWNIKI BEZPIECZEŃSTWA / SYSTEMY BEZPIECZEŃSTWA

Optymalizacja Automatycznych Testów Regresywnych

MrBuggy6 reports

Programowanie Obiektowe Ćwiczenie 4

OD MONOLITU DO MIKROUSŁUGI MICROSERVICES

Język angielski. Poziom rozszerzony Próbna Matura z OPERONEM i Gazetą Wyborczą CZĘŚĆ I KRYTERIA OCENIANIA ODPOWIEDZI POZIOM ROZSZERZONY CZĘŚĆ I

Nazwa Projektu. Plan testów. Wersja N.NN

Programowanie Zespołowe

Testowanie oprogramowania. Wykład 1 dlaczego testowanie jest niezbędne czym jest testowanie ogólne zasady testowania

Wykorzystanie testu t dla pojedynczej próby we wnioskowaniu statystycznym

Przypadki bez przypadków. Jak dobierać scenariusze testowe.

Trójfazowy, modułowy system UPS. DPA UPScale ST kw Najlepszy w swojej klasie modułowy system UPS

Karta charakterystyki online. FX3-XTIO84002 Flexi Soft / Safe EFI-pro System STEROWNIKI BEZPIECZEŃSTWA / SYSTEMY BEZPIECZEŃSTWA

Projekt procesora NIOSII w strukturze programowalnego układu logicznego CYCLONEII EP2C35F672C6 podłączenie i obsługa wyświetlacza LCD.

1. Podstawowe wiadomości Możliwości sprzętowe Połączenia elektryczne Elementy funkcjonalne programów...

Application Security Verification Standard. Wojciech Dworakowski, SecuRing

KOTLIN. Język programowania dla Androida

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Zarządzanie konfiguracją produktu w całym cyklu Ŝycia. Aleksandra Grzywak-Gawryś Warsztaty Rola IRIS w branŝy kolejowej

Wojewodztwo Koszalinskie: Obiekty i walory krajoznawcze (Inwentaryzacja krajoznawcza Polski) (Polish Edition)

Czy Agile wystarczy by być innowacyjnym?

Laboratorium Informatyka (I) AiR Ćwiczenia z debugowania

Warsztaty szkoleniowe. Technologia SafetyLon w systemach związanych z bezpieczeństwem funkcjonalnym Narzędzia SafetyLon Moduł 4.5.

Jarosław Kuchta Dokumentacja i Jakość Oprogramowania. Wymagania jakości w Agile Programming

Tworzenie przypadków testowych

Systemy bezpieczeństwa zagadnienia bezpieczeństwa w automatyce

Wyjątki (exceptions)

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Co to jest system wbudowany?

Karta charakterystyki online. FX3-MOC Flexi Soft / Safe EFI-pro System STEROWNIKI BEZPIECZEŃSTWA / SYSTEMY BEZPIECZEŃSTWA

Tychy, plan miasta: Skala 1: (Polish Edition)

Welcome. to Space4GDPR. Platforma Space4GDPR jest narzędziem dedykowanym. do sprawnego zarządzania ochroną danych osobowych

Laboratorium nr 12. Temat: Struktury, klasy. Zakres laboratorium:

Dokumentacja techniczna API systemu SimPay.pl

Optimizing Programs with Intended Semantics

Instalacja Właściwości

Metodyka dla projektu SYRIUSZ

Krótka historia o debugowaniu laptopa, który nie budził się z uśpienia , Warsaw C++ Users' Group Michał Redford Kowalczyk

Formułowanie wymagań dotyczących wyposażenia bezpieczeństwa wykorzystującego technikę RFID

Emulacja karty elektronicznej EMV. Michał Głuchowski Praca dyplomowa inżynierska pod opieką prof. Zbigniewa Kotulskiego

Polska Szkoła Weekendowa, Arklow, Co. Wicklow KWESTIONRIUSZ OSOBOWY DZIECKA CHILD RECORD FORM

IV Sympozjum Bezpieczeństwa Maszyn, Urządzeń i Instalacji Przemysłowych, r. mgr inż. Antoni Saulewicz

Jak efektywnie wykrywać podatności bezpieczeństwa w aplikacjach? OWASP The OWASP Foundation

Statystyka matematyczna dla leśników


Cyfrowy rejestrator parametrów lotu dla bezzałogowych statków powietrznych. Autor: Tomasz Gluziński

Karta charakterystyki online STR1-SAXM0AC5 STR1 BEZKONTAKTOWE WYŁĄCZNIKI BEZPIECZEŃSTWA

PYTANIA PRÓBNE DO EGZAMINU NA CERTYFIKAT ZAAWANSOWANY REQB KLUCZ ODPOWIEDZI. Część DODATEK

Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych. Ćwiczenie 3 stos Laboratorium Metod i Języków Programowania

Safety Integrity Level (SIL) Obowiązek czy dobra praktyka? Michał Karolak UDT, Warszawa 27 styczeń 2010

Bardzo formalny, odbiorca posiada specjalny tytuł, który jest używany zamiast nazwiska

Wykład VII. Programowanie III - semestr III Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Arkusz zmian. Silnik sterowany elektronicznie DRC.. Bezpieczeństwo funkcjonalne * _1117*

Szeroki zakres napięcia zasilania

ITIL 4 Certification

Maciej Oleksy Zenon Matuszyk

PARADYGMATY PROGRAMOWANIA Wykład 4

WZÓR BHP I OCHR.ŚRODOWISKA - PYTANIA DO AUDYTU 1 OPIS FIRMY/ WYNIKI OSIĄGNIĘTE W DZIEDZINIE BEZPIECZEŃSTWA. 1.1 Nazwa firmy:

ABOUT NEW EASTERN EUROPE BESTmQUARTERLYmJOURNAL

Tango-RedPitaya. Tango device server for RedPitaya multi-instrument board. Grzegorz Kowalski 31 sierpnia 2015

Testy jednostkowe - zastosowanie oprogramowania JUNIT 4.0 Zofia Kruczkiewicz

Sexy unit testy. czyli o kilku praktykach w testach jednostkowych

TESTOWANIE OPROGRAMOWANIA

EGZAMIN MATURALNY Z JĘZYKA ANGIELSKIEGO

Nowy podręcznik aplikacyjny Siemens All Rights Reserved.

Scaling Scrum with SAFe. Małgorzata Czerwińska

Wprowadzenie w dziedziczenie. Klasa D dziedziczy klasę B: Klasa B klasa bazowa (base class), klasa D klasa pochodna (derived class).

Wątki jądra. Maciej Szwaja

INSTRUKCJA OBSŁUGI OPERATIONAL MANUAL KRZESEŁKO / HIGH CHAIR MINI WYPRODUKOWANO ZGODNIE Z NORMĄ PN-EN 14988

Programowanie obiektowe Wykład 3. Dariusz Wardowski. dr Dariusz Wardowski, Katedra Analizy Nieliniowej, WMiI UŁ 1/21

Angielski bezpłatne ćwiczenia - gramatyka i słownictwo. Ćwiczenie 7

Metodyki projektowania i modelowania systemów Cyganek & Kasperek & Rajda 2013 Katedra Elektroniki AGH

PROGRAMOWANIE SYSTEMÓW CZASU RZECZYWISTEGO

1+1=3? System Zarządzania Bezpieczeństwem

Miedzy legenda a historia: Szlakiem piastowskim z Poznania do Gniezna (Biblioteka Kroniki Wielkopolski) (Polish Edition)

KAMIL SABATOWSKI. Najczęstsze błędy junior devów i jak ich uniknąć?

Cloud Transcoding Nowe Paradygmaty, Wysoka Dostępność i Wskaźniki ROI. Maj 2017

Prawdopodobieństwo i rozkład normalny cd.

Zapraszamy do zapoznania się z fragmentem prezentacji. Serwisy transakcyjne i działalność TPP w świetle dyrektywy PSD II

Informacja jako element bezpieczeństwa produktów. 1 bezpieczeństwa produkt

Programowanie w języku Java - Wyjątki, obsługa wyjątków, generowanie wyjątków

Co to jest Flexbox, zalety Wsparcie dla przeglądarek, wady Dostępność a Flexbox Przykłady, zastosowanie Test

WZORCOWANIE PIPET TŁOKOWYCH NA KOMPLEKSOWYM STANOWISKU DO KALIBRACJI PIPET.

ATS01N103FT soft start do silnika asynchronicznego - ATS01-3A V KW

Transkrypt:

Kiedy od softu zależy ludzkie życie o systemach safety-critical Maciej Gajdzica

ucgosu.pl

Przyzwyczailiśmy się, że programy zawierają błędy

Will we continue on our undisciplined course, blown by the chaotic winds of business and government, until one of us finally blunders badly enough to wake the sleeping giant of government regulation? Robert C. Martin

Therac-25

Therac-25 W latach 1983-87 działało 11 maszyn tego typu Odnotowano 6 wypadków (5 osób zmarło) Aparatura podawała sto razy większą dawkę promieniowania Przeciwko producentowi toczył się proces w sądzie Sprawą zainteresowała się opinia publiczna i FDA

Therac-25

Therac-25 Jedna osoba zaimplementowała cały program Praktycznie zerowa dokumentacja Zrezygnowano z hardware'owych zabezpieczeń uznano, że są nadmiarowe, bo software nie zawiera błędów Integracja SW/HW nie była testowana podczas developmentu Producent ignorował zgłaszane problemy

Ariane 5

Ariane 5 Bezzałogowa rakieta Europejskiej Agencji Kosmicznej Podczas pierwszego lotu 4 czerwca 1996 wybuchła niedługo po starcie Rakieta nagle obróciła się o 90 stopni i oderwały się jej silniki odrzutowe Spowodowało to włączenie mechanizmu autodestrukcji

Ariane 5 Konwersja double int16 zbyt dużej wartości spowodowała overflow Była to część kodu odpowiedzialnego za określanie pozycji rakiety w przestrzeni Rakieta zawierała dwa takie same moduły z tym samym błędem Zmienna, która spowodowała wypadek nie była w ogóle potrzebna Kod skopiowano z Ariane 4 Brak testów symulacyjnych tego modułu

Błędy są nie do uniknięcia, potrzebny jest odpowiedni proces, aby nie przedostały się one do końcowego produktu

Procesy są opisane w normach IEC 61508: Ogólnie o systemach safety-critical IEC 62304: Systemy medyczne ISO 26262: Branża automotive IEC 61513: Elektrownie atomowe EN 50128: Branża kolejowa DO-178C: Branża lotnicza NASA Safety Critical Guidelines

V-model

V-model

It does not require that any particular lifecycle model is used, but it does require that the plan include certain ACTIVITIES and have certain ATTRIBUTES. IEC 62304 (norma medyczna)

Poziomy bezpieczeństwa Norma medyczna (62304): Class A: No injury or damage to health is possible Class B: Non-SERIOUS INJURY is possible Class C: Death or SERIOUS INJURY is possible SIL4 zagrożenie dla życia wielu ludzi. SIL3 zagrożenie dla życia pojedynczej osoby. SIL2 zagrożenie poważnego uszczerbku na zdrowiu. SIL1 zagrożenie drobnego urazu.

Jak osiągnąć wymagane prawdopodobieństwo błędu w sofcie?

Nie możemy go zmierzyć dopóki produkt nie zacznie działać. Możemy jednynie stosować pewne sprawdzone techniki.

Bezpieczeństwo jako element systemu Nie da się najpierw zapewnić funkcjonalności, a dopiero potem dodać bezpieczeństwa Bezpieczeństwo poszczególnych elementów nie gwarantuje bezpieczeństwa całego systemu Bezpieczeństwo musimy mieć na uwadze od samego początku projektu

Analiza ryzyka

Składowe systemu Hardware Software Procedury i ludzie

Safe state

Safety-critical vs mission-critical

Redundancja

Procesor nadzorujący

Dwa niezależne kanały

System głosujący

Diverse programming Wersje robione przez niezależne zespoły Na podstawie tych samych wymagań Celem jest zmniejszenie ryzyka tych samych błędów systematycznych (bugów) Możliwe są inne sposoby dywersyfikacji: hardware, język programowania, inne paradygmaty

Promieniowanie kosmiczne

Sanity checki Testy RAM Testy pamięci nieulotnej Testy CPU rejestry i instrukcje Testy zasilania Testy czujników Watchdog

SOUP Software of unknown provenance

SOUP - problemy Niewystarczająca dokumentacja Brak analizy ryzyka Nieznane procedury developmentu i testów Brak dostępu do kodu

SOUP kryteria wyboru Stabilność Support Baza użytkowników

Koszt projektu safety-critical jest 10x większy niż w przypadku zwykłego projektu

Jak tworzyć bezpieczniejsze systemy? Planować, dokumentować i weryfikować Wcześnie myśleć o możliwych błędach Patrzeć na system jako całość Stosować sprawdzone praktyki

Dodatkowe materiały: https://ucgosu.pl/safety-critical/ Twitter: @MaciekGajdzica DZIĘKUJĘ!