background image

 

Technologie bezpieczeństwa w systemach 

informatycznych 

 

dr inż. Grzegorz Bliźniuk 
 

 

Bezpieczeństwo systemów informatycznych 

wykład 4 

Plan wykładu 4 

1. Zagadnienie bezpieczeństwa aplikacji 

internetowych 

2. Kryptografia w zapewnieniu bezpieczeństwa 
3. Zapory sieciowe firewall 
4. Sieci VPN 
5. Protokoły sieciowe IPsec, PPTP, L2TP, SSL, TLS  
6. Podsumowanie 

background image

Zagadnienie 

bezpieczeństwa aplikacji 

internetowych 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 4 

Zagadnienie bezpieczeństwa aplikacji internetowych 

Bezpieczeństwo  aplikacji  internetowych  jest  rozumiane 

odniesieniu 

do 

dowolnych 

programów  lub  ich 

komponentów  wykorzystujących podczas swojego działania 
dowolne  technologie 

–  w  szczególności  –  protokoły 

internetowe. 
 
Nie 

są to więc wyłącznie strony www! 

 
Internet  jest  dostarczany  w  technologiach  stacjonarnych  i 
mobilnych, 

przewodowych 

bezprzewodowych, 

na 

komputery i dowolne inne 

urządzenia cyfrowe.  

 
Zajmując 

się 

zatem 

bezpieczeństwem 

aplikacji 

internetowych 

należy  zatem  brać  pod  uwagę  bardzo 

powszechne obecnie zjawisko konwergencji cyfrowej. 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 5 

Zagadnienie bezpieczeństwa aplikacji internetowych 

W  naszym  rozumieniu  aplikacje  internetowe 

są  pisane  w  dowolnych 

językach  programowania  i  na  dowolne  systemy  operacyjne.  Istotne  jest 
to, 

że wszystkie ich funkcje są obsługiwane za pośrednictwem protokołu 

HTTP/HTTPS. 
 
HTTP  jest 

protokołem  klient-serwer,  bezstanowym  (nie  zna  historii 

połączeń  o  powiązań  z  innymi  połączeniami)  i  tekstowym.  HTTPS,  to 
zaszyfrowana wersja HTTP (HTTP + SSL). 
 
Nie 

są  zatem  aplikacjami  w  naszym  rozumieniu  statyczne  strony 

internetowe dostarczane z 

serwerów WWW.  

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 6 

Wprowadzenie 

Rodzaje 

najczęstszych ataków na aplikacje internetowe: 

 

• Ciągi ataków SQL Injection - zmiana zapytań 

 

• Ciągi  skryptów  krzyżowych  (Cross  Site  Scripting,  XSS)  – 

osadzanie innych 

kodów aplikacji, np. JavaScript 

 

• Zakodowane wersje innych klas 

• Przesyłanie  na  serwer  plików  o  złośliwych  (niedozwolonych) 

nazwach 

• Wykradanie  plików  cookie  za  pomocą  ataków  XSS  (zmiana 

zachowania aplikacji) 

• Kodowanie  danych  w  Internecie  (Base64,  Base36,  Base16, 

Base8, Unix, HTML) 

– przekłamywanie, zamiana kodów 

 

 

background image

Kryptografia w zapewnieniu 

bezpieczeństwa aplikacji 

internetowych 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 8 

Kryptografia w zapewnieniu bezpieczeństwa 

Kryptologia  (z 

gr.

 

κρυπτός  –  kryptos  –  "ukryty"  i  λόγος  – 

logos 

–  "słowo")  –  dziedzina  wiedzy  o  przekazywaniu 

informacji  w 

sposób  zabezpieczony  przed  niepowołanym 

dostępem.  

 

Kryptologię dzieli się na: 

kryptografię,  czyli  wiedzę  o  układaniu  systemów 
kryptograficznych,  

kryptoanalizę, czyli wiedzę o ich łamaniu. 

 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 9 

Kryptografia w zapewnieniu bezpieczeństwa 

Algorytmy  symetryczne 

–  nadawca  i  odbiorca  wiadomości 

używają  tego  samego  klucza  szyfrującego.  Jeżeli  nie  używają 
tego  samego  klucza,  to  jeden 

może  być  łatwo  wyliczony  na 

podstawie drugiego. 

 
Przykładowe algorytmy symetryczne: 
DES (3DES) - 
Data Encryption Standard 

AES - Advanced Encryption Standard 

MAC  -  Message  Authentication  Code 

–  funkcje  skrótu 

(haszujące) z tajnym kluczem 
SHA-1, MD5 -  inne funkcje 

haszujące 

WPA, WEP 

– w sieciach WiFi 

 
Używane  na  przykład  do  zapewnienia  poufności  poczty 
elektronicznej, aplikacji w bankomatach 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 10 

Kryptografia w zapewnieniu bezpieczeństwa 

Algorytmy  asymetryczne 

–  istnieją  dwa  różne,  powiązane  ze 

sobą matematycznie klucze szyfrujące: publiczny i prywatny. Do 
szyfrowania 

wiadomości  używa  się  klucza  publicznego,  a  do 

deszyfrowania 

– klucza prywatnego. 

 
Przykładowe zastosowania: 
Podpis elektroniczny z 

infrastrukturą klucza publicznego (PKI) 

Protokoły HTTPS, SSL, TLS, SSH 
Sieci VPN 

 

Algorytmy: 

Diffiego-Hellmana  (1976),  Rivesta-Shamira-Adlemana  RSA 
(1978),  Cramera-Shoupa,  ElGamala, 

bazującego  na  krzywych 

eliptycznych, DSA  

background image

Zapory sieciowe firewall 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 12 

Zapory sieciowe firewall 

Zapora sieciowa (ang. firewall 

– ściana ogniowa) – jeden ze sposobów 

zabezpieczania sieci i 

systemów przed intruzami z sieci zewnętrznej. 

 
Termin  ten 

może  odnosić  się  zarówno  do  dedykowanego  sprzętu 

komputerowego wraz ze specjalnym oprogramowaniem, jak i do samego 
oprogramowania 

blokującego  niepowołany  dostęp  do  komputera,  na 

którego  straży  stoi.  Pełni  rolę  połączenia  ochrony  sprzętowej  i 
programowej  sieci 

wewnętrznej  LAN  przed  dostępem  z  zewnątrz  tzn. 

sieci publicznych, Internetu, chroni 

też przed nieuprawnionym wypływem 

danych z sieci lokalnej na 

zewnątrz.  

 
Często  jest  to  komputer  wyposażony  w  system  operacyjny  z 
odpowiednim  oprogramowaniem.  Do  jego  podstawowych 

zadań  należy 

filtrowanie 

połączeń  wchodzących  i  wychodzących  oraz  tym  samym 

odmawianie 

żądań dostępu uznanych za niebezpieczne. 

 

Na podstawie: Wikipedia 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 13 

Zapory sieciowe firewall 

Firewall 

– ilustracja koncepcji 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 14 

Zapory sieciowe firewall 

Najczęściej używanymi technikami obrony są: 
 
• Filtrowanie  pakietów,  czyli  sprawdzanie  pochodzenia  pakietów  i 

akceptowanie 

pożądanych. 

• Stosowanie  algorytmów  identyfikacji  użytkownika  (hasła,  cyfrowe 

certyfikaty). 

• Zabezpieczanie  programów  obsługujących  niektóre  protokoły  (np. 

FTP, TELNET). 

 
1.

Bardzo 

ważną funkcją zapory sieciowej jest monitorowanie ruchu 

sieciowego  i  zapisywanie 

najważniejszych  zdarzeń  do  dziennika 

(

log’u).  Umożliwia  to  administratorowi  wczesne  dokonywanie  zmian 

konfiguracji.  Poprawnie  skonfigurowany  firewall  powinien 

odeprzeć 

wszelkie  znane  typy 

ataków.  Na  zaporze  można  zdefiniować  strefę 

ograniczonego zaufania 

– podsieć, która izoluje od wewnętrznej sieci 

lokalne serwery 

udostępniające usługi na zewnątrz. 

 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 15 

Zapory sieciowe firewall 

2.

Zapory 

filtrujące:  monitorują  przepływające  przez  nie  pakiety 

sieciowe  i 

przepuszczają  tylko  zgodne  z  regułami  ustawionymi  na 

danej  zaporze  (zapora 

pracująca  dodatkowo  jako  router).  Zwykle  w 

niewielkich  sieciach  jest  zapora 

sprzętowa  bądź  wydzielony 

komputer  z  systemem  operacyjnym  Linux.  Obecnie 

najczęściej 

wykorzystywana  metoda  filtrowania  w  Linuksie  to 

reguły  oparte  na 

iptables. 

Dostępne  są  także  zamknięte  komercyjne  rozwiązania 

programowe,  z 

których  wiele  posiada  bardzo  wymyślne  własności  i 

rozbudowany  system 

konfiguracji

  oraz  wiele 

możliwych  do 

zintegrowania 

rozwiązań,  pozwalających  nie  tylko  na  analizę  i 

filtrowanie 

pakietów  IP,  ale  także  na  sprawdzanie  poprawności 

pakietów  z  punktu  widzenia  wyższych  warstw  modelu  ISO/OSI,  a 
nawet na prowadzenie ochrony antywirusowej. 

3.

Translacja 

adresów  sieciowych  (NAT)  -  (ang.  network  address 

translation):  polega  na  dokonywaniu  zamiany  adresu  IP  hosta 
wewnętrznego 

celu 

ukrycia 

go 

przed 

zewnętrznym 

monitorowaniem. 

Mechanizm 

ten 

jest 

również 

nazywany 

maskowaniem adresu IP. 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 16 

Zapory sieciowe firewall 

4.

Zapory 

pośredniczące (proxy): wykonujące połączenie z serwerem 

w  imieniu 

użytkownika.  Przykładowo,  zamiast  uruchomienia  sesji 

http 

bezpośrednio  do  zdalnego  serwera  WWW,  uruchamiana  jest 

sesja  z 

zaporą  i  dopiero  stamtąd  uruchamiane  jest  połączenie  z 

systemem  zdalnym. 

Cała  komunikacja  na  serwer  http  przechodzi 

przez  proxy

które  może  filtrować  ruch.  Proxy,  jeśli  ma  taką 

funkcjonalność,  potrafi  rozpoznać  komendy  http  jak  i  analizować 
zawartość  pobieranych  stron  WWW  (działa  w  warstwie  aplikacji 
modelu  ISO/OSI). 

Zabezpieczające  działanie  zapory,  z  punktu 

widzenia  klienta,  polega  w  tym  wypadku  na  tym, 

iż  możliwe  jest 

blokowanie  wybranej 

treści  (ang.  content  filtering),  aby  nie  dotarła 

ona  do  klienta  (np.  strony  ze 

słowami  wulgarnymi,  o  treści 

pornograficznej itp.). 
 

5.

Współcześnie często pracująca  zapora sieciowa jest rozwiązaniem 
hybrydowym 

analizującym  pakiety  od  warstwy  łącza  danych  do 

aplikacji  modelu  OSI. 

Umożliwia  realizację  złożonych  polityk 

bezpieczeństwa oraz integrację z systemami IDS. 

 

background image

Sieci VPN 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 18 

Sieci VPN 

VPN  (

ang.

  Virtual  Private  Network) 

–  wydzielone 

tzw.

połączenie  tunelowe  w  innej  sieci  (np.  Internecie), 

przez 

który płynie ruch w ramach sieci prywatnej pomiędzy 

klientami 

końcowymi. 

 

Węzły  sieci  VPN  są  przezroczyste  dla  przesyłanych 

pakietów.  W  celu  bezpiecznego  i  efektywnego  przesyłu 
danych  w  sieciach  VPN, 

są  one  kompresowane  i 

szyfrowane.  Do  szyfrowania  w  sieciach  VPN 

używa  się 

algorytmów asymetrycznych. 

Przykłady:  PPTP,  L2TP,  OpenVPN,  IPSec,  Hamachi, 
SSTP, CheckPoint 

background image

Protokoły IPsec, PPTP, 

L2TP, SSL, TLS  

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 20 

Protokół IPsec 

IPsec  (

ang.

  Internet  Protocol  Security)  jest  zbiorem 

protokołów 

służących 

implementacji 

bezpiecznych 

połączeń  oraz  wymiany  kluczy  szyfrowania  pomiędzy 
komputerami w Internecie. 

IPsec jest 

również wykorzystywana do tworzenia połączeń 

VPN. Wtedy uruchamiane 

są dwa kanały komunikacji: 

1.

Kanał  kryptograficzny  służący  do  uwierzytelniania  i 
szyfrowania kluczami kryptograficznymi, 

2.

Kanał transportowy (może być ich  więcej niż jeden) do 
przekazywania zaszyfrowanych 

pakietów danych 

 

IPsec 

wykorzystuje 

komunikację 

jednokierunkową, 

szyfrowanie asymetryczne i symetryczne 

(protokół IKE). 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 21 

Protokół IPsec 

Protokół  szyfrujący  IKE  wykorzystywany  przez  IPsec 

umożliwia realizację następujących czynności: 

1.

uwierzytelnienie obu stron komunikacji wobec siebie za pomocą 
jednej z poniższych metod (ustalanych przez administratora): 
1.

hasło znane obu stronom (shared secret) 

2.

Podpisy RSA 

(konieczna ręczna wymiana kluczy publicznych 

stron) 

3.

Certyfikaty X.509 (najbardziej uniwersalna) 

– infratruktura PKI 

2.

nawiązanie bezpiecznego kanału dla potrzeb IKE nazywanego 
ISAKMP SA (Security Association) 

3.

bezpieczne uzgodnienie kluczy kryptograficznych oraz parametrów 
tuneli IPsec 

4.

ewentualna ich renegocjacja co określony czas (np. co 8 godzin) 

 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 22 

Protokół PPTP 

PPTP  (ang.  Point  to  Point  Tunneling  Protocol)  jest 

protokołem  komunikacyjnym  służącym  do  tworzenia  tuneli 
VPN.  

Umożliwia  zdalne  łączenie  sieci  lub  stacji  roboczych. 
Stanowi jeden z 

protokołów dostępnych w MS-Windows. 

Protokół  wielokrotnie  łamany  -    nie  stosować  wtedy, 
kiedy  konieczne  jest  zapewnienie  wysokiego  poziomu 

bezpieczeństwa przesyłu danych. 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 23 

Protokół L2TP 

L2TP  (ang. Layer  Two  Tunneling  Protocol,  1999  r.,  Cisco) 
jest 

protokołem komunikacyjnym korzystającym z IPsec.  

Wspiera  tunelowanie  VPN  ruchu 

pakietów  w  IP,  IPX, 

NetBEUI  wraz  z  przekazywaniem  tego  ruchu  w  postaci 

datagramów w połączeniach PPP.  

Ruch  ten 

może  być  przesyłany  z  np.  wykorzystaniem 

protokołów IP, X.25 lub FrameRelay. 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 24 

Protokół L2TP 

Ilustracja 

działania

 tunelu L2TP 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 25 

Protokół SSL 

SSL  (ang.  Secure  Socket  Layer,  1994  r.,  Netscape) 
stanowi 

uporządkowanie protokołów szyfrujących w postaci 

wspierającej  inne  protokoły  transmisji  danych.  Najbardziej 
powszechnym  zastosowaniem  SSL  jest  dostarczenie 
kryptografii  do 

protokołu  HTTP.  W  ten  sposób  powstał 

protokół HTTPS.  

SSL 

może wspierać również inne protokoły, które nie mają 

własnego  szyfrowania  danych,  np.:  Telnet,  SMTP,  POP, 
IMAP czy FTP. 

SSL  ma 

swoją  implementację  open  source  o  nazwie 

OpenSSL. 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 26 

Protokół SSL 

SSL 

składa się z dwóch podprotokołów: 

 

SSL  Handshake 

–  definiuje  metody  negocjowania 

parametrów  bezpiecznej  sesji,  czyli  algorytmów 
szyfrowania  danych, 

algorytmów  uwierzytelniania  i 

integralności informacji; SSL Change Cipher – protokół 
zmiany  specyfikacji  szyfru  SSL;  SSL  Alert  Protocol 

– 

protokół alarmowy SSL 
 

SSL  Record 

–  definiuje  format  przesyłanych  pakietów 

danych 

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 27 

Protokół SSL 

Pierwsze wersje SSL 

były łatwe do złamania.  

SSL  w  wersji  3  (1996  r.)  dopuszcza  m.in. 

następujące 

algorytmy  szyfrowania  (symetrycznego  i  asymetrycznego: 
DES,  3DES,  RSA,  DSS,  RC2,  RC4,  IDEA,  Diffiego-
Hellmana. 

 

SSL wykorzystuje 

infrastrukturę CA – autoryzowanych 

urzędów  certyfikujących  –  zgodnie  z  PKI. 

Są  to  zaufane 

instytucje 

weryfikujące  prawo  do  posługiwania  się  domeną.  Osoba 

uprawniona 

wysyła do wybranego urzędu swój klucz publiczny, nazwę 

domeny i inne dane 

niezbędne do wygenerowania certyfikatu w postaci 

żądania podpisania certyfikatu (Certificate Signing Request - CSR). Po 
przejściu  procedury  sprawdzającej,  certyfikat  jest  podpisywany.  Jeśli 
serwer  przedstawi  certyfikat  niepodpisany  przez  CA,  w 

większości 

przeglądarek  i  klientów  pocztowych  w  czasie  próby  połączenia 
użytkownik zobaczy odpowiednie ostrzeżenie. 

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 28 

Protokół TLS 

TLS  (ang.  Transport  Layer  Security, 1999  r.,  IETF) 

przejął 

dorobek  SSL 

począwszy  od  jego  wersji  3.0.  Od  tej  pory 

koncepcja SSL jest rowijana w postaci 

protokołu TLS. 

 

Zatem,  obecnie  koncepcja  kryptografii,  autoryzowanych 
urzędów  certyfikacyjnych  jest  wspólnym  dorobkiem 
wcześniejszego SSL i obecnego TLS. 
 

Najnowsza  wersja  TLS,  to  TLS  1.2, 

którego  najnowszy 

wydanie pochodzi z marca 2011 r. 

 

TLS wspiera 

protokoły HTTP, FTP, SMTP, NNTP i XMPP. 

Wspiera 

również  budowanie  tuneli  VPN.  Korzysta  z  niego 

OpenVPN.   

background image

Bezpieczeństwo systemów informatycznych, wykład 2, slajd 29 

Podsumowanie 

1. Przejrzeliśmy  wybór  metod  i  protokołów  zapewniających 

bezpieczeństwo transmisji danych w sieciach teleinformatycznych. 

2. Mamy dwie metody szyfrowania kryptograficznego: 

1. Symetryczną 
2. Asymetryczną 

3. Podpis  elektroniczny  bazuje  na  metodzie  asymetrycznej  oraz 

infrastrukturze PKI. 

4. Protokoły  szyfrujące  implementują  różne  algorytmy  szyfrowania 

asymetrycznego i symetrycznego 

5. Wspierają  one  również  budowę  tuneli  VPN,  które  w  połączeniu  z 

metodami 

kryptograficznymi 

stanowią 

obecnie 

najbardziej 

bezpieczną, znaną człowiekowi metodę zabezpieczania ruchu danych 

w sieciach łączących systemy informatyczne. 

dziękuję za uwagę