Techniki komputerowe w robotyce

Podobne dokumenty
Aplikacje webowe w obliczu ataków internetowych na przykładzie CodeIgniter Framework

Architektura bezpiecznych aplikacji internetowych na platformie Java Enterprise Edition. Jakub Grabowski Warszawa,

Program szkolenia: Bezpieczny kod - podstawy

Wykład 8. Testowanie w JEE 5.0 (1) Autor: Zofia Kruczkiewicz. Zofia Kruczkiewicz

Podstawy Informatyki. Algorytmy i ich poprawność

Projektowani Systemów Inf.

Hosting WWW Bezpieczeństwo hostingu WWW. Dr Michał Tanaś (

3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.

EGZAMIN MATURALNY 2010 INFORMATYKA

Aspekty bezpieczeństwa aplikacji internetowych

Wprowadzenie do programowania współbieżnego

Poprawność algorytmów

Część II. Zadanie 3.2. (0 3)

Matematyka Dyskretna. Andrzej Szepietowski. 25 czerwca 2002 roku

Możliwe strategie tworzenia niezawodnego oprogramowania:

Innowacja pedagogiczna dla uczniów pierwszej klasy gimnazjum Programowanie

Zapisywanie algorytmów w języku programowania

Zagrożenia trywialne. Zagrożenia bezpieczeństwa aplikacji internetowych. Parametry ukryte. Modyfikowanie parametrów wywołania

Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa

Zagadnienia egzaminacyjne INFORMATYKA. stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

KARTA MODUŁU KSZTAŁCENIA

The OWASP Foundation Session Management. Sławomir Rozbicki.

Część II. Zadanie 3.3. (0 1)

EGZAMIN MATURALNY 2013 INFORMATYKA

EGZAMIN MATURALNY 2013 INFORMATYKA

Komentarz do prac egzaminacyjnych w zawodzie technik handlowiec 341[03] ETAP PRAKTYCZNY EGZAMINU POTWIERDZAJĄCEGO KWALIFIKACJE ZAWODOWE

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

Opis Przedmiotu Zamówienia na przeprowadzenie testów bezpieczeństwa systemu wspomagania nadzoru archiwalnego e-nadzór

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

W wielu obliczeniach w matematyce bądź fizyce wykonanie niektórych kroków zależy od spełnienia warunku.

Ataki na aplikacje WWW. Łomem, czy wytrychem? Jak dobrać się do aplikacji WWW

5-6. Struktura dokumentu html. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

Poprawność semantyczna

EGZAMIN MATURALNY W ROKU SZKOLNYM 2014/2015

Technologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15

START. Wprowadź (v, t) S:=v*t. Wyprowadź (S) KONIEC

Bezpieczeństwo systemów komputerowych

INFORMATYKA POZIOM PODSTAWOWY

Zakres treści Czas. 2 Określenie charakteru i tematyki strony. Rodzaje witryn. Projekt graficzny witryny. Opracowanie skryptów

EGZAMIN MATURALNY 2011 INFORMATYKA

Przygotowanie do nowoczesnego programowania po stronie przeglądarki. (HTML5, CSS3, JS, wzorce, architektura, narzędzia)

INFORMATYKA, TECHNOLOGIA INFORMACYJNA ORAZ INFORMATYKA W LOGISTYCE

Programowanie komputerów

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Drobne błędy w portalach WWW

WYMAGANIA EDUKACYJNE Z INFORMATYKI dla klasy III gimnazjalnej, Szkoły Podstawowej w Rychtalu

Instrukcja wczytywania i przekazywania sprawozdań resortowych w Centralnej Aplikacji Statystycznej (CAS) przez użytkowników podobszaru PS

Zagadnienia egzaminacyjne INFORMATYKA. Stacjonarne. I-go stopnia. (INT) Inżynieria internetowa STOPIEŃ STUDIÓW TYP STUDIÓW SPECJALNOŚĆ

Część II Uwaga: wszystkie wyniki muszą być odzwierciedleniem dołączonej komputerowej realizacji obliczeń.

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

Testy penetracyjne webaplikacji.

EGZAMIN MATURALNY 2012 INFORMATYKA

Błędy leksykalne są na ogół nietrudne do znalezienia.

P2.2 Wykaz zmian w oprogramowaniu aplikacyjnym WUP-Viator w wersji

Wykład 7. Projektowanie kodu oprogramowania

Wojewódzki Konkurs Przedmiotowy z Matematyki etap szkolny. Przykładowe rozwiązania i propozycja punktacji rozwiązań

Podstawy programowania. Wykład Funkcje. Krzysztof Banaś Podstawy programowania 1

EGZAMIN MATURALNY 2011 INFORMATYKA

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU WYMAGANIA WSTĘPNE W ZAKRESIE WIEDZY, UMIEJĘTNOŚCI I INNYCH KOMPETENCJI EFEKTY KSZTAŁCENIA

Wybrane działy Informatyki Stosowanej

INFORMATYKA TECHNICZNA Badanie możliwości wykorzystania języka AutoLISP i środowiska VisualLISP w systemie CAx

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Programowanie dla początkujących w 24 godziny / Greg Perry, Dean Miller. Gliwice, cop Spis treści

KARTA MODUŁU KSZTAŁCENIA

EGZAMIN MATURALNY 2011 INFORMATYKA

Programowanie w języku Python. Grażyna Koba

INFORMATYKA POZIOM ROZSZERZONY

Kurs rozszerzony języka Python

Szczegółowy program kursów szkoły programowania Halpress

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja I

Przedmowa Podziękowania O autorach Redaktorzy techniczni... 24

Politechnika Krakowska im. Tadeusza Kościuszki. Karta przedmiotu. obowiązuje studentów rozpoczynających studia w roku akademickim 2014/2015

EGZAMIN MATURALNY Z INFORMATYKI 10 MAJA 2017 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I

Programowanie i projektowanie obiektowe

ECDL Podstawy programowania Sylabus - wersja 1.0

I. KARTA PRZEDMIOTU CEL PRZEDMIOTU

Rozkład materiału do nauczania informatyki w liceum ogólnokształcącym Wersja II

Testowanie I. Celem zajęć jest zapoznanie studentów z podstawami testowania ze szczególnym uwzględnieniem testowania jednostkowego.

biegle i poprawnie posługuje się terminologią informatyczną,

Podstawy i języki programowania

Jednym z najważniejszych zagadnień, z którym może się zetknąć twórca

Logika dla socjologów Część 2: Przedmiot logiki

INFORMATYKA POZIOM ROZSZERZONY

Od uczestników szkolenia wymagana jest umiejętność programowania w języku C oraz podstawowa znajomość obsługi systemu Windows.

EGZAMIN MATURALNY Z INFORMATYKI MAJ 2011 POZIOM PODSTAWOWY CZĘŚĆ I WYBRANE: Czas pracy: 75 minut. Liczba punktów do uzyskania: 20 WPISUJE ZDAJĄCY

Języki programowania I - opis przedmiotu

Rodzaje błędów w programach. Wykład9.UWAGIOGÓLNE,str.1

Nazwa Wydziału Nazwa jednostki prowadzącej moduł Nazwa modułu kształcenia Kod modułu Język kształcenia Efekty kształcenia dla modułu kształcenia

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

Wybrane wymagania dla informatyki w gimnazjum i liceum z podstawy programowej

Nazwa wariantu modułu (opcjonalnie): Laboratorium programowania w języku C++

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Egzamin maturalny z informatyki Kryteria oceniania odpowiedzi poziom rozszerzony CZĘŚĆ II

EGZAMIN MATURALNY W ROKU SZKOLNYM 2017/2018 INFORMATYKA

Internetowe Bazy Danych. dr inż. Roman Ptak Instytut Informatyki, Automatyki i Robotyki roman.ptak@pwr.edu.pl

Warszawa, 25 lipca 2014 r.

EGZAMIN MATURALNY Z INFORMATYKI 13 MAJA 2019 POZIOM PODSTAWOWY. Godzina rozpoczęcia: 14:00 CZĘŚĆ I WYBRANE: Czas pracy: 75 minut

Transkrypt:

Techniki komputerowe w robotyce Wykład ostatni Błędy systemów komputerowych źródła i klasyfikacja Robert Muszyński KCiR, W4, PWr Skład FoilTEX c R. Muszyński 2012-2015

Błędy systemów komputerowych Błąd właściwość programu lub sprzętu komputerowego powodująca nieprawidłowe działanie Dążenie do opracowania systemu bezbłędnego mrzonka Skład FoilTEX 1

Błędy systemów komputerowych Wymagamy by system komputerowy był: poprawny niezawodny bezpieczny Poprawność stała własność systemu, polegająca na tym, że system jest zgodny z jego specyfikacją Niezawodność stopień w jakim można się spodziewać, że system realizuje planowane funkcje z wymaganą precyzją Bezpieczeństwo zespół zasad, jakimi należy się kierować projektując i wykorzystując system komputerowy, tak aby poprawnie i w całości realizował on tylko i wyłącznie cele zgodne z intencjami właściciela Skład FoilTEX 2

Poprawność a niezawodność Czy system uznany za poprawny może nie być niezawodny i czy system niepoprawny może być niezawodny? 1. System sprawdzony w warunkach laboratoryjnych nie działa w miejscu docelowym 2. Źle napisany system mimo to działa niezawodnie, bo nadrzędne jego warstwy korygują działania źle napisanych warstw podrzędnych Bezpieczeństwo a niezawodność System w 100% bezpieczny, może być w 0% niezawodny i vice versa Skład FoilTEX 3

Sposoby obsługi błędów Skład FoilTEX 4

Błędy systemu: na etapie projektowania na etapie programowania syntaktyczne semantyczne logiczne algorytmiczne wynikające z wpływu otoczenia Klasyfikacja błędów Skład FoilTEX 5

Przykłady błędów Na etapie projektowania maszty radarowe na angielskich niszczycielach mechanizm zwalniania rakiet w F-18 HMS Sheffield Falklandy-Malwiny USS Vincennes z system AEGIS i irański Airbus A300 F-16 vs rakiety Patriot Na etapie programowania błędy składni użycie niepoprawnego symbolu (var c:integer:) niepoprawne użycie symbolu (x=y zamiast x==y) Na etapie programowania błędy znaczenia niewłaściwie zrozumiana specyfikacja niewłaściwie realizowana specyfikacja Zasada Czym mniej napiszesz, tym mniej popełnisz błędów dobór właściwego języka programowania Skład FoilTEX 6

Przykłady błędów Na etapie programowania błędy logiczne pętle z warunkami post-check zamiast pre-check przypadkowe pętle nieskończone niezainicjowane zmienne zakleszczenia (deadlock) źle sformułowane warunki logiczne Na etapie programowania błędy algorytmiczne przekroczenie zakresu liczb przekroczenie precyzji nieuwzględnienie zakresu wartości obsługiwanych przez urządzenia we/wy Wynikające z wpływu otoczenia Sprzęt Oprogramowanie Człowiek Skład FoilTEX 7

Ranking błędów (według MITRE CWE/SANS) 25. Wyścig (race condition) 24. Używanie złych algorytmów kryptograficznych 23. Otwarte przekierowania (np. phishing) 22. Nielimitowana alokacja zasobów 21. Złe uprawnienia do krytycznych zasobów 20. Pobieranie niesprawdzonego kodu 19. Brak uwierzytelnienia przy krytycznych funkcjach systemu 18. Błąd w obliczeniach długości bufora 17. Przepełnienie wartości liczby całkowitej 16. Ujawnianie informacji w komunikatach błędów 15. Zła obsługa nadzwyczajnych lub warunkowych zdarzeń/wartości 14. Zła walidacja wskaźnika 13. Brak kontroli nazwy pliku dla polecenia Include/Require w języku PHP Skład FoilTEX 8

12. Dostęp do bufora z niewłaściwą długością 11. Osadzenie uwierzytelnienia w oprogramowaniu 10. Brak szyfrowania wrażliwych danych 9. Brak kontroli parametrów przekazywanych do systemu operacyjnego 8. Brak ograniczeń typów plików, które można umieścić na serwerze 7. Brak ograniczeń ścieżki do konkretnego katalogu (path traversal) 6. Poleganie na niezaufanych informacjach przy uwierzytelnieniu 5. Błędy w przyznawaniu uprawnień 4. Cross-site Request Forgery (CSRF) 3. Kopiowanie danych bez kontroli długości (przepełnienie bufora) klasyk! 2. Niewłaściwa kontrola parametrów używanych do zapytania SQL 1. Brak zachowania struktury serwisu webowego (Cross-site Scripting) Skład FoilTEX 9