Zarządzanie bezpieczeostwem w sieciach mgr inż. Rafał Jachowicz Instytut Informatyki Stosowanej PŁ



Podobne dokumenty
Instrukcja instalacji

Dokumentacja instalacyjna i konfiguracyjna Aplikacja ADR. Wersja dokumentu 1.0. Strona 1/9

Zalecana instalacja i konfiguracja Microsoft SQL Server 2016 Express Edition dla oprogramowania Wonderware

System wspomagania pracy Administratora Bezpieczeostwa Informacji Instrukcja Administratora Wersja

INFORMATOR TECHNICZNY WONDERWARE

Copyright 2012 COIG SA Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej publikacji w jakiejkolwiek

R o g e r A c c e s s C o n t r o l S y s t e m 5

Migracja bazy danych Microsoft Access *.mdb do Microsoft SQL 2008 Server R2 SP1 dla oprogramowania Płatnik

Instrukcja instalacji Control Expert 3.0

Instrukcja instalacji i konfiguracji bazy danych SQL SERVER 2008 EXPRESS R2. Instrukcja tworzenia bazy danych dla programu AUTOSAT 3. wersja 0.0.

INFORMATOR TECHNICZNY WONDERWARE

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Załącznik 1 instrukcje instalacji

Problemy techniczne SQL Server

Instrukcja instalacji serwera bazy danych Microsoft SQL Server Express 2014

Instrukcja instalacji elektronicznego systemu obiegu dokumentów administracyjnych - esoda.

Ko n f i gura cja p ra cy V ISO z bazą SQL S e rve r

Wymagania do zdalnej instalacji agentów firmy StorageCraft

Problemy techniczne SQL Server

Instalacja programu Ozon.

AKTYWNY SAMORZĄD. Instrukcja instalacji, aktualizacji i konfiguracji.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Problemy techniczne SQL Server

BEXLAB RYSZARD MATUSZYK, BRZOZOWA 14, DĘBE WIELKIE, TEL. KOM.: Instalacja. Microsoft SQL Server 2008 R2 SP2 Express

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Zastępstwa Optivum. Jak przenieść dane na nowy komputer?

Płace Optivum. 1. Zainstalować serwer SQL (Microsoft SQL Server 2008 R2) oraz program Płace Optivum.

Kadry Optivum, Płace Optivum. Jak przenieść dane na nowy komputer?

Problemy techniczne SQL Server

Procedury techniczne modułu Forte Kontroling. Pakiety DTS

Dokumentacja wdrożeniowa Project Lord 1.0

Problemy techniczne SQL Server

Instrukcja instalacji środowiska testowego na TestingCup wersja 1.0

Instalacja i konfiguracja serwera IIS z FTP

Problemy techniczne SQL Server. Jak odblokować porty na komputerze-serwerze, aby umożliwić pracę w sieci?

Załącznik 1 instrukcje instalacji

System. Instalacja bazy danych MySQL. Autor : Piotr Zielonka tel Piotrków Tryb., sierpień 2018r.

Problemy techniczne SQL Server

INFORMATOR TECHNICZNY WONDERWARE

BACKUP BAZ DANYCH FIREBIRD

Dokument zawiera instrukcję samodzielnej Instalacji Microsoft SQL Server 2005 Express Edition Service Pack 3 na potrzeby systemu Sz@rk.

Opisane poniżej czynności może wykonać administrator komputera lub administrator serwera SQL (tj. użytkownik sa).

Instalacja oprogramowania Wonderware InTouch 2014 R2 SP1

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

Aplikacje internetowe - laboratorium

Instrukcja instalacji programu SYSTEmSM

Instrukcja instalacji programu ARPunktor wraz z serwerem SQL 2005 Express

Dodawanie nowego abonenta VOIP na serwerze Platan Libra

Dokumentacja fillup - MS SQL

Problemy techniczne SQL Server

Pracownia internetowa w szkole ZASTOSOWANIA

Instrukcjaaktualizacji

Instrukcja instalacji systemu elektronicznego obiegu dokumentów - esoda.

Instrukcja instalacji

Procedury techniczne modułu Forte Kontroling. Środowisko pracy programu i elementy konfiguracji

Kopiowanie i instalowanie pliku w systemie Windows CE

Zdalne zarządzanie systemem RACS 5

Instrukcja instalacji aplikacji i konfiguracji wersji sieciowej. KomKOD

Wykład 3 Inżynieria oprogramowania. Przykład 1 Bezpieczeństwo(2) wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

INSTRUKCJA OBSŁUGI Program konfiguracji sieciowej Net configuration Drukarka A11

INSTRUKCJA UŻYTKOWNIKA Instalacja KS - EDE w systemie KS - ZSA ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

INFORMATOR TECHNICZNY WONDERWARE. Ograniczenie wyświetlania listy zmiennych w przeglądarce zmiennych ActiveFactory

Program Rabator dla Microsoft Windows.

Konfiguracja oprogramowania w systemach MS Windows dla kont z ograniczonymi uprawnieniami

oprogramowania F-Secure

INSTRUKCJA INSTALACJI DATAMOBILE. Ver. 1.3

Uruchomienie aplikacji Plan lekcji w przeglądarce Internet Explorer

Program kadrowo płacowy - wersja wielodostępna z bazą danych Microsoft SQL Server 2005 lub 2008

Programowanie komponentowe. Przykład 1 Bezpieczeństwo wg The Java EE 5 Tutorial Autor: Zofia Kruczkiewicz

Instalacja serwera zarządzającego F-Secure Policy Manager

MS Windows Vista. Spis treści. Autor: Jacek Parzonka, InsERT

Konfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

R o g e r A c c e s s C o n t r o l S y s t e m 5

1. Podręcznik instalacji aplikacji EXR Creator Wstęp Instalacja Instalacja aplikacji EXR Creator z płyty CD

Instrukcja Instalacji. Instalacja lokalna

Twoje potrzeby. Nasze rozwiązania.

Instrukcja obsługi programu CMS Dla rejestratorów HANBANG

Problemy techniczne SQL Server

Aktualizacja środowiska JAVA a SAS

Currenda EPO Instrukcja Konfiguracji. Wersja dokumentu: 1.3

Przewodnik instalacji i rozpoczynania pracy. dla DataPage+ 2012

Instrukcja konfiguracji funkcji skanowania

PORADNIK KORZYSTANIA Z SERWERA FTP ftp.architekturaibiznes.com.pl

Ćwiczenia 2 IBM DB2 Data Studio

WINDOWS Instalacja serwera WWW na systemie Windows XP, 7, 8.

Instalacja aplikacji

Rejestracja użytkownika Bentley Często zadawane pytania techniczne

Instalacja NOD32 Remote Administrator

Zarządzanie Infrastrukturą IT

Instrukcja instalacji oprogramowania dla środowiska Windows

Program RMUA. Instrukcja konfiguracji i pracy w programie. (Wersja 2)

DESlock+ szybki start

Problemy techniczne SQL Server. Zarządzanie bazami danych na serwerze SQL

Intergraph Licensing. Konfiguracja Firewall na serwerze licencji

onfiguracja serwera DNS w systemie Windows Server 2008 /2008 R2

Ewidencja Wyposażenia PL+

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

Sposób zdalnej instalacji modułów NetOp Student na komputerach uczniów z komputera nauczyciela NetOp Teacher

Pakiet Sokrates Instrukcja instalacji

Transkrypt:

Zarządzanie bezpieczeostwem w sieciach mgr inż. Rafał Jachowicz Instytut Informatyki Stosowanej PŁ Temat: Atak i ochrona przed SQL Injection Na niniejszych zajęciach będziemy poznawali techniki bezpiecznego programowania na przykładzie zastosowania zabezpieczeo przed atakami typu SQL Injection. Ataki te mogą byd skuteczne wszędzie tam, gdzie system, łącząc się z bazą danych przez zapytania SQL, wykorzystuje dane wprowadzone przez użytkownika bezpośrednio do konstruowania tych zapytao. Wówczas istnieje zagrożenie, iż dane do wprowadzenia (chodby login i hasło) będą tak napisane, aby modyfikowały sens zapytania, które za chwilę będzie wywołane na bazie danych. Jest to o tyle groźny atak, że atakujący może nie tylko uzyskad wiedzę na temat danych, do których nie powinien mied dostępu, ale także usunąd te dane, a co gorsza, niezauważenie je zmodyfikowad! Przykładowy system laboratoryjny Baza danych (MICROSOFT SQL SERVER 2008 EXPRESS) o nazwie Employees zawiera jedną tabelę o nazwie Employee. Znajdują się w niej następujące kolumny: id (int), name (varchar(50)), surname (varchar(50)) oraz salary (int). System web aplikacji to program zaprojektowany w modelu MVC oparty o framework Spring, wykorzystujący Maven'a (budowanie i konfiguracja zależności), Hibernate'a (zarządzanie bazą danych) oraz JSP (wyświetlanie danych w formie stron HTML zawierających scriptlet'y Javy). System uruchomiony jest na serwerze Apache Tomcat v.7.0. Użycie systemu Wpisz w przeglądarkę adres serwera, na którym uruchomiony jest Tomcat, niezapominając o porcie (8080) oraz nazwie widoku do wyświetlenia (Employee). Przykładowy adres: 10.10.24.231:8080/Employee Po zatwierdzeniu powinna pokazad się strona startowa (Rys. 1), na której klikamy Click Here. Rys. 1 Na stronie "roboczej" użytkownik może zalogowad się na swoje konto poprzez wpisanie swojego imienia (login) i nazwiska (hasło) (Rys. 2). Po poprawnym wpisaniu danych zostanie wyświetlony wpis z bazy zawierający naszą wysokośd pensji.

Rys. 2 Dzieje się tak dlatego, że dane wpisane w formularzu, który podejrzed można w pliku employeelogin.jsp (Rys. 3), są kierowane do zarządcy (dispatcher-servlet.xml) oraz kontrolera (EmployeeController.java) (Rys. 4), które kierują odpowiednie zapytania do odpowiednich mechanizmów i powodują wyświetlanie odpowiednich widoków. Rys. 3 Rys.4

Mechanizmem uzyskującym dostęp do bazy danych jest klasa EmployeeSQLServiceHibernate.java (Rys. 5), w której konstruowane jest zapytanie poprzez dodawanie danych wprowadzonych przez użytkownika (name i surname). Zadanie na 3,5 Rys. 5 1. Podad przykład ataku SQL Injection, który mógłby byd zastosowany w abstrakcyjnym, niezabezpieczonym systemie. 2. Student powinien opisad jak może wyglądad niezabezpieczony system. 3. Dodatkowo powinien powiedzied jak należy zabezpieczad zapytania SQL, które są kierowane przez backend web aplikacji do bazy danych. Zadanie na 4 1. Wykonad atak SQL Injection w celu uzyskania informacji na temat wszystkich danych zapisanych w bazie Employees w tabeli Employee (przykładowy system laboratoryjny). Zadanie na 4,5 1. Wykonad atak SQL Injection w celu modyfikacji swoich zarobków (kolumna salary). Zadanie na 5 1. Zaimplementowad zabezpieczenia w przykładowym systemie laboratoryjnym oraz zaprezentowad działający zabezpieczony system prowadzącemu.

Uruchomienie przykładowego projektu Employee na WŁASNYM komputerze: Aby uruchomid projekt Employee należy wykonad następujące kroki: Przed wszystkim pamiętaj o zainstalowaniu Javy 7 (JRE i JDK) z http://www.oracle.com/technetwork/java/javase/downloads/jre7-downloads-1880261.html http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 1. Zainstaluj Eclipse Kepler. Ściągnij z http://www.eclipse.org/downloads/packages/eclipse-ide-java-eedevelopers/keplersr2 2. Ściągnij projekt Employee i go rozpakuj (rjachowicz.kis.p.lodz.pl). 3. Ściągnij i zainstaluj z domyślnymi ustawieniami SQL Server 2008 Express z http://www.microsoft.com/enus/download/details.aspx?id=1695 4. Ściągnij i zainstaluj SQL Server 2008 Management Studio z http://www.microsoft.com/enus/download/details.aspx?id=7593. Ten program proszę zainstalowad jako nową instancję aplikacji SQL Server (instalator będzie sugerował aby dołączyd instalację do zainstalowanego wcześniej SQL Server Express). 5. Ewentualnie można skorzystad z bazy PosgreSQL. Można ją ściągnąd z http://www.enterprisedb.com/productsservices-training/pgdownload#windows 6. Pobierz i zainstaluj Apache Tomcat Server v7.0 z http://tomcat.apache.org/download-70.cgi 7. Pobierz i rozpakuj Maven'a z http://maven.apache.org/download.cgi, a następnie dodaj do zmiennych środowiskowych zmienne M2 oraz M2_HOME, które będą zawierały ścieżkę do rozpakowanego folderu Maven'a. W moim przypadku: M2=C:\Program Files\Apache Software Foundation\apache-maven-3.2.3 i M2_HOME=C:\Program Files\Apache Software Foundation\apache-maven-3.2.3. Dodatkowo do zmiennej PATH dodaj ścieżkę do plików wykonywalnych Maven'a czyli %M2%\bin. Aby jednak Maven zadziałał musi byd widoczna zmienna środowiskowa JAVA_HOME wskazująca na katalog runtime Javy. W moim przypadku: C:\Program Files\Java\jre7. 8. Uruchom Eclipse Kepler i w eksploratorze projektów po kliknięciu prawym przyciskiem myszy wybierz Import -> Import, a następnie po wybraniu pola Existing Projects into Workspace wskaż na rozpakowany folder projektu Employee (Rys. 6).

Rys. 6 Rys. 7 Po zaimportowaniu projektu widok w eksploratorze powinien wyglądad mniej więcej jak na rysunku 8. Aby rozwiązad większośd błędów z zależnościami Maven'a należy zaktualizowad projekt poprzez kliknięcie prawym przyciskiem myszy na projekt Employee -> Maven -> Update Project... W oknie, które się ukaże należy wybrad opcję Force Update of Snapshots/Releases i zatwierdzid (Rys. 8 i 9).

Rys. 8 Rys. 9

Po aktualizacji powinny pozostad następujące błędy (Rys. 10): Rys. 10 Aby je rozwiązad należy zainstalowad i wskazad serwer, na którym będziemy uruchamiali naszą aplikację webową. Można to zrobid automatycznie z poziomu Eclipse'a poprzez dodanie serwera Tomcat. W tym celu należy prawym przyciskiem myszy kliknąd na projekt Employee -> Properties -> Targeted Runtime -> New... -> Apache Tomcat v.7.0 -> Next -> Download and Install... -> Finish (Rys. 11 i 12) (należy wskazad folder, w którym zainstalowaliśmy serwer Tomcat). Rys. 11 Rys. 12

Następny błąd, który może się pojawid to taki oto komunikat: Failure to transfer org.apache.maven.plugins:maven-surefire-plugin:pom:2.10 from http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced. Original error: Could not transfer artifact org.apache.maven.plugins:mavensurefire-plugin:pom:2.10 from/to central (http://repo.maven.apache.org/maven2): connection timed out to http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.10/mavensurefire-plugin-2.10.pom Żeby go rozwiązad należy usunąd repozytorium Maven'a z folderu.m2. W moim przypadku jest to lokalizacja C:\Users\Rafal\.m2\repository. Po usunięciu należy jeszcze raz zaktualizowad projekt w Eclipse Kepler za pomocą Maven'a (Update Project z zaznaczoną opcją Force Update of Snapshots/Releases) Ostatnim błędem z jakim musimy się zmierzyd to brak zależności do sterownika SQL SERVER. Aby go rozwiązad musimy najpierw ściągnąd sterownik w formie pliku *.exe ze strony http://www.microsoft.com/enus/download/details.aspx?displaylang=en&id=11774. Po pobraniu należy go uruchomid i rozpakowad, a następnie otworzyd okno konsoli w folderze w którym znajdują się rozpakowane pliki. W moim przypadku jest to folder C:\Users\Rafal\Downloads\Microsoft JDBC Driver 4.0 for SQL Server\sqljdbc_4.0\enu. Po otwarciu konsoli należy wykonad następujące polecenie (Rys. 13): mvn install:install-file -Dfile=sqljdbc4.jar -Dpackaging=jar - DgroupId=com.microsoft.sqlserver -DartifactId=sqljdbc4 -Dversion=4.0 Rys. 13

Po dodaniu do repozytorium Maven'a sterownika SQL SERVER (operacja powyżej) jeszcze raz zaktualizujmy projekt w Eclipse Kepler za pomocą menu Maven'a. Po wykonaniu powyższych operacji powinny pozostad jedynie ostrzeżenia. Jeśli będzie inaczej proszę spróbowad rozwiązad błędy samemu, a jeśli to nie pomoże skontaktowad się z prowadzącym. Teraz musimy jedynie skonfigurowad naszą bazę danych i wprowadzid przykładowe dane. Najpierw skonfigurujmy sam SQL Server. Posłużmy się SQL Server Configuration Manager'em. Na startowym ekranie w bocznym menu wybierzmy SQL Server Network Configuration -> Protocols for SQLEXPRESS, a następnie uaktywnijmy TCP/IP (Rys. 14): Rys. 14 Następnie wejdźmy do właściwości i na karcie IP Addresses w podmenu IPAll wpiszmy port, na którym nasza baza ma udostępniad swoją usługę (Rys. 15). Projekt Employee oczekuje, że jest to port 1433. Rys. 15

Teraz dodamy bazę danych na serwerze i uzupełnimy ją przykładowymi wpisami. W tym celu uruchom SQL Server 2008 Management Studio i połącz się z serwerem. Nazwę serwera należy poprzedzid nazwą komputera, na którym uruchomiony jest serwer (przykładowa nazwa serwera to: MOJKOMPUTER\SQLEXPRESS). Po zalogowaniu się na serwer dodajmy bazę Employees (Rys. 16): Rys. 16 W nowej bazie dodajmy tabelę Employee o następującej konfiguracji (Rys. 17): Rys. 17

Ostatnią rzeczą do wykonania w konfiguracji bazy to dodanie użytkownika, przez którego będzie się łączył program Employee. W projekcie jest to ustawione na login: admin, hasło: password. Dodad użytkownika możemy przez wykonanie następującego zapytania SQL (Przycisk New Query): CREATE LOGIN admin WITH PASSWORD = 'password'; CREATE USER admin FOR LOGIN admin GRANT SELECT TO admin GRANT INSERT TO admin GRANT UPDATE TO admin GRANT DELETE TO admin Aby jednak umożliwid logowanie do bazy za pomocą użytkowników SQL Server musimy kliknąd prawym przyciskiem myszy na serwer (w widoku Object Explorer programu SQL Server 2008 Management Studio) -> Properties -> Security -> zaznaczyd SQL Server and Windows Authentication mode (Rys. 18): Rys. 18 Teraz możemy przystąpid do dodawania przykładowych wpisów. Przykładowe wpisy możemy dodad następującym zapytaniem: DELETE FROM "Employee"; INSERT INTO "Employee" (id, name, surname, salary) VALUES(1, 'Rafal', 'Jachowicz', 1); INSERT INTO "Employee" (id, name, surname, salary) VALUES(2, 'Donald', 'Tusk', 104000);... itd.... itd. Teraz, aby uruchomid naszą aplikację wystarczy jedynie w Eclipse Kepler kliknąd prawym przyciskiem myszy na projekcie Employee -> Run As -> Run on Server