IKI d.o.o • Rapska 42 • 10000 Zagreb • Croatia / Hrvatska • Europe • Web: https://www.iki.hr/• Email: [email protected]
Predrag KovačevićSuosnivač i tehnički direktor, IKI d.o.o.Email: [email protected]: https://www.linkedin.com/in/predragkovacevic
APInsomnia - API sigurnosna nesanica
iAPI sigurnosni monitoring
Četvrtak, 12. prosinca 2019, Hotel Sheraton, Zagreb
28+ godina iskustva
Monitoring, testiranja i mjerenja
Mrežna forenzika i dijagnostika,monitoring servisa i aplikacija,
duboka paketna inspekcija, ekspertna analiza servisa
Napredne L4-L7 tehnologije
Isporuka TLS/SSL kriptiranih transakcija,WEB servisa i aplikacija,
DDOS i aplikacijska zaštita, SIEM, Uređivanje IP prometa
Profesionalni servisi
Planiranje, projektiranje, konzalting, kontroling, kompleksne instalacije,
istraživanje incidenata, specijalizirana obuka
L2-L3 pristupne tehnologije i naslijeđene tehnologije
Ethernet preko optičkih i bakrenih kablova, bežične P-P i P-MP veze,
pseudožični sustavi,TDM/PDH/SDH/, X.25, HDLC, ATM
2
IKI razvoj:sustavi za monitoring i
isporuku TLS/SSL kriptiranih transakcija
Data Information Award
FINALIST
Berlin 2014
IT Security
FINALIST
Paris 2013
http://sito-ip-pos.com
Paris 2015
ConnectedObjects
FINALIST
Securing Payments Award
SHORTLISTED
Istanbul 2015
http://sslnac.com
APInsomnia – API sigurnosna nesanica
APInsomnija je poremećaj spavanja koji se odlikuje poteškoćama u usnivanju i zdravom spavanju nakon uvođenja javne internetske API usluge.
Uzroci akutne APInsomnije mogu uključivati:
• Značajan životni stres nakon uvođenja novih javnih API usluga, posebno u zadnje vrijeme e-government servisa, PSD2 sukladnih plaćanja, IoT sustava i uređaja, 5G mobilne mreže,...
• Okolišne čimbenike poput neprestanih mijena sigurnosti, raspoloživosti i performansi Interneta koji ometaju san,
• Neke „lijekove“ poput generičkih sigurnosnih i nadzornih uređaja,
• Povremene smetnje i ispade u uobičajenom rasporedu spavanja poput volumetričkog DDoS-a i/ili posebno pripremljenih i usmjerenih napada na API servise.
3
Zašto je API tako važan i velik izazov za kibernetičku sigurnost?
Uređaji i sustavi koji koriste API Internet servise su svuda i stalno oko nas, na poslu, kod kuće, a API stalno koriste čak i mobilni uređaji koje uvijek nosimo sa sobom.
Broj uređaja i sustava na Internetu koji koriste API konstantno raste!
Većina velikih eksternih gubitaka podataka (data breach) dešavala se i dešava zbog hakiranog, neispravnog ili jednostavno loše napravljenog i izloženog API-ja.
Dosta velikih DDoS napada dolazi od uređaja i sustava, pogotovo od IoT uređaja, koji su inficirani preko nedovoljno sigurnog API sučelja.
Zbog svog značaja javni Internet API-ji su česta meta napada uskraćivanja servisa.
4
Što je zapravo API?
• API - Aplikativno Programsko Sučelje omogućava komunikaciju između dva sustava definirajući strukture podataka, komunikacijski protokol i druge detalje interakcije dvaju sustava.
▫ API može biti namijenjen za web baziran sustav, za operativni sustav, za bazu podataka, za računalno sklopovlje ili za programsku biblioteku.
▫ API specifikacija može imati više formi no uglavnom uključuje specifikaciju komunikacijskog protokola, podatkovnih struktura, rutina, objektnih klasa, varijabli i udaljenih poziva.
• Dobro je razlikovati API koji je namijenjen komunikacijiizmeđu sustava od korisničkog sučelja (UI – user interface) kojije namijenjen komunikaciji između čovjeka i sustava
5
API Web Servisi
• Termin web servis (WS) često se dvojako upotrebljava:
▫ (općenito) API servis između dva sustava, ponuđen od strane servera (koristi se i izraz provider) prema klijentu (koristi se i consumer) koji komuniciraju preko www (World Wide Web/Internet) mreže
▫ (specifično) Web servis implementiran u određenoj tehnologiji ili brandu npr. World Wide Web Consortium (W3C) Web Services.
• Web servis je najčešći tip API-ja na Internetu koji komunicira preko HTTP(s) protokola.
▫ Primjeri uključuju SOAP, REST ili gRPC
• Web Servisi nisu isto što i Web Aplikacije
▫ Web Servisi nemaju grafičko korisničko sučelje prilagođeno čovjeku i njihova komunikacija je daleko efikasnija nego komunikacija između čovjeka i stroja.
6
Korisnici web servisaKorisnici web aplikacija
Koliko je API značajan - 5 API zapovijedi Amazon CEO-a
2002, Jeff Bezos, CEO Amazona, izdao je slijedeće naredbe cijeloj Amazon organizaciji:▫ Svi timovi će od danas izložiti svoje podatke i funkcionalnost putem servisnih sučelja.▫ Timovi moraju međusobno komunicirati putem ovih sučelja.▫ Neće biti dozvoljen drugi oblik međuprocesne komunikacije: nema izravnog povezivanja, izravnog čitanja
spremišta podataka drugog tima, nema zajedničke dijeljene memorije, nema stražnjih vrata. Dopuštena je jedino komunikacija putem poziva putem sučelja putem mreže.
▫ Nije važno koju tehnologiju koriste.▫ Sva servisna sučelja, bez iznimke,
moraju biti dizajnirana od početka do kraja kako bi bila eksternalizirana. Odnosno, tim mora planirati i dizajnirati kako bi mogao izložiti sučelje programerima u vanjskom svijetu. Nema izuzetaka.
Bezos je završio s:„Tko to ne učini, bit će otpušten. Hvala vam i ugodan dan!”
7
IoT (Internet of Things) i sigurnost API servisa
8
Ernst & Young predviđa do 2025 godine 25 milijardi IoT veza.
Već do sada IoT uređaji su zbog svoje brojnosti i loše sigurnosti prouzročili dosta velikih DDoS napada i zbog svega toga sve više će se pažnje posvećivati sigurnosti IoT uređaja priključenih na Internet kao i cloud IoT API servisa.
Jedan primjer je i Microsoft Azure IoT Services Security:“Kao temeljno načelo, sva komunikacija u oblaku s IoT uređajima ili terenskim pretvaračima protokola (field gateways) mora se odvijati preko sigurnih kanala kada uređaji razgovaraju izravno s krajnjim točkama koje pružaju usluge platforme Microsoft Azure…Ukoliko IoT uređaj ne može podržati zadovoljavajuće ključne sigurnosne i kriptografske mogućnosti, njegova upotreba mora biti ograničena na lokalne mreže i sva komunikacija preko Interneta treba biti moguća jedino putem terenskog pretvarača protokola (field gateway).”
Trenutno tražene Microsoft Azure IoT Services sigurnosne mjere:• Kriptiranje podataka (AES with at least 128-bit key length), Digitalni potpis
(SHA-2), Protokol TLS 1.2 s X.509 certifikatima opcionalno, trenutno dozvoljen i Pre-Shared key mode for TLS (“TLS/PSK,”), Ažurabilno spremište ključeva (key-store and per-device keys), Ažurabilna programska podrška uređaja i aplikacija (device firmware and application software).
API servisi u jezgri 5G mobilnih mreža
Ključne 5G jezgrene tehnologije:
• Orkestracija i virtualizacija (NFV) – odvajanje logičkih funkcija od hardvera
• Network Slicing – više virtualnih, logičkih end-2-end mreža za posebne namjene i korisnike preko iste fizičke infrastrukture
• Edge Computing (MEC) – procesni resursi bliže korisnicima gdje su i najviše potrebni
• API Exposure – otvoreni API za 5G servise prema drugim korisnicima i sustavima
• Service Based Architecture (SBA) – otvorena i fleksibilna servisna arhitektura
• Harmonized Protocols & Access Agnostic – usklađeni protokoli i univerzalni pristup
9
Raspoloživost javnih servisa ključna je i za građane i za procesne i poslovne sustave u HR
10
API Web servisi u HR
Primjeri najpoznatijih HR API javnih servisa:
▫ Fiskalizacija
▫ eIDAS / NIAS (unutar mreže)
▫ e-Račun (između velikih korisnika)
▫ Središnji državni portal
Primjeri najviše korištenih platnih API servisa u HR:
▫ EFT-POS terminali (platna kartica prisutna)
▫ 3D - Secure i slična web plaćanja (platna kartica nije prisutna)
▫ SEPA plaćanja
▫ PSD2 plaćanja (PSD2 direktiva regulira sva negotovinska plaćanja u EU)
11
Izazovi u svijetu Internet API servisa - QoSčesta je nerealna, idealizirana slika kvalitete servisa preko javne Internet mreže
Internet i javne telekomunikacijske usluge nisu uvijek idealne kvalitete!Globalni Internet je deklariran kao „best effort” usluga (ako prođe, prođe, ako ne, ponovi) s jednakim tretmanom za sve korisnike i servise.
Poslovni i javni API servisi za građane, posebno financijske transakcije, su osjetljivije na kvarove i ispade komunikacija, zagušenja i degradacije kvalitete prijenosa.
Mobilne i bežične telekomunikacijske mreže donose veće teritorijalno pokriće, ali pate uz sve navedene probleme i od radio ograničenja i smetnji te donose najveće izazove za potrebnu kvalitetu servisa za javne API servise.
12
ENISA – godišnji izvještaj o telekom sigurnosnim incidentima
ENISA, EU agencija za kibernetičku sigurnost, objavljuje godišnja izvješća o telekomunikacijskim sigurnosnim incidentima, analizirajući uzroke, posljedice i trendove za 28 EU i 2 EFTA države
U 2018 prirodni fenomeni poput oluja, poplava, požara, snijega i sl. bili su dominantni uzrok incidenata, noseći odgovornost za 480 milijuna izgubljenih korisničkih sati, što je oko 50% od svih izgubljenihsati zbog telekom incidenata!
13
Trenutno najveći DDoS napad zbio se 02/2018 na GitHub: 1.3 terabita u sekundi i 126.9 milijuna paketa u sekundi –memcached servisi
Drugi po veličini DDOS napad je bio na DYN, DNS pružatelja usluga 10/2016: Mirai botnet sastavljen od uređaja poput kamera, smart TV, printera pa čak i baby monitora.(izvor Cloudflare)
Izazovi u svijetu Internet API servisa - Sigurnost
14
http://www.digitalattackmap.com
http://www.informationisbeautiful.net/http://www.databreaches.net/
Kompleksnost softverskih sustava svakim danom je sve veća i sve je teže planirati i osigurati ispravan i korektan rad API servisa.
Npr. kompleksni API serveri s umjetnom inteligencijom i ogromnim količinama informacija ili kompleksni API klijenti poput pametnih telefona ili kompleksnih IoT sustava poput automobila, te njihova uzajamna interakcija.
Zbog pritiska na brzinu razvoja softvera programeri često koriste velike količine tuđeg koda za koji imaju malo ili ništa informacija tako da „iznenađenja” čudnim ponašanjem API servisa na Internetu nisu rijetkost. A tu su i neizbježni softverski bug-ovi…
Standardne sigurne arhitekture za specifične API sustave nisu u dovoljnoj mjeri konkretne i obavezne tako da se često koriste nedovoljno sigurne prečice.
Izazovi u svijetu Internet API servisa – kompleksnost SW
15
Kontinuirani API monitoring
• API komunicira skriven u pozadini
▫ API komunikacija odvija se između strojeva i programa obično bez ikakve ili barem bez jasne direktne veze između ljudskih interakcija i API poruka.
• Permanentni API monitoring pomaže sigurnosnim i operativnim timovima odgovorima na slijedeća pitanja:
▫ Je li API servis raspoloživ i da li je raspoloživ za sve korisnike?
▫ Jesu li performanse API servisa zadovoljavajuće i da li su zadovoljavajuće za sve korisnike?
▫ Je li API servis siguran i da li je siguran za sve korisnike?
16
Načini API monitoringa
• Kontinuirani API monitoring može se obavljati interno ili eksterno. ▫ Interni API monitoring
• Promatra pojedine centralne, interne, API HW i SW API komponente i ne daje pouzdane pokazatelje o kvaliteti API servisa iz perspektive svih korisnika.
▫ Eksterni API monitoring• Prati ukupnu kvalitetu API servisa iz perspektive udaljenih korisnika, ali ne može točno reći koja od centralnih API
komponenti uzrokuje problem.
• Eksterni API monitoring ▫ Pasivni (neinvazivni) način rada
• Pasivni monitoring prati kopiju API prometa i ne utiče direktno na mjerenu kvalitetu API servisa. Nije jednostavan za implementaciju jer je praktično sav, danas recimo siguran, API promet preko Interneta kriptiran.
▫ Aktivni (invazivni) način rada• Udaljene HW ili SW probe koje simuliraju stvarne korisnike u određenoj frekvenciji.
17
OWASP (Open Web Application Security Project ) Top 10 201710 kritičnih sigurnosnih rizika web aplikacija i servisa
18
Je li uopće moguće monitorirati kriptirane API servise?
Ogromna većina trenutno sigurnih mobilnih i fiksnih
Internetskih API servisa koriste
moderan i sigurnosno prihvatljiv
TLS protokol
mTLS – mutual TLS authentication
(uzajamna razmjena vjerodajnica)
19
Povjerljivost
TLS/SSL
TLS/SSL povijest i problemi na putu
20
Timeline by Kenny Paterson and Thyla van der Merwe Royal Holloway, University of London
Picture from CloudFlare Nick Sullivan blogA Detailed Look at RFC 8446 (a.k.a. TLS 1.3)
Mutual TLS (mTLS) monitoring, Nadzor uzajamne razmjene vjerodajnica i razmjene klijentskih i serverskih certifikata
• Monitoring vjerodajnica svakog klijenta API servisa
▫ Potrebno je verificirati i identitet klijenta (SSL klijentski certifikat), a ne samo identitet servera prije otvaranja kriptiranog tunela između njih.
• Klijentski SSL certifikat jedinstven je za svakog klijenta i izuzetno je koristan u kreiranju sigurnosnog perimetra oko javnih API servisa
▫ WHITELISTING IP adresa i SSL klijentskih certifikata za sve ovlaštene korisnike
▫ BLACKLISTING za nepoznate, ali i poznate zlonamjerne korisnike određenih SSL klijentskih certifikata
21
Monitoring SIGURNOSTI Internet i mobilnih API servisa
• Internet web servisi imaju drukčije ponašanje od generičkih korisničkih web aplikacija
▫ Često je normalno ponašanje API servisa uniformno, zapravo dosadno.
• POZITIVNI SIGURNOSNI model “dozvoli samo što je poznato”
▫ Kontinuirano praćenje ponašanja API servisa uz WHITELISTING te lagana detekcija
anomalija u normalnom ponašanju kao i pristupa neovlaštenih korisnika.
• Ciljani, često kriptirani napadi sve su kompleksniji i napredniji
▫ Generički vatrozidi, pa čak i IPS i WAF često nisu svjesni detalja ponašanja TLS/SSL
kriptiranih servisa, a dekripcija podataka je tehnički zahtjevna i često nije ni dopuštena.
22
Monitoring RASPOLOŽIVOSTI Internet i mobilnih API servisa(glavni indikator je omjer uspješnih i neuspješnih API transakcija, a ne serverski uptime)
Izazovi:
• Internet i telekom operator infrastruktura
• Centralna, interna aplikativna, mrežna i serverska infrastruktura
• Udaljeni klijentska aplikacija i hardverska infrastruktura
23
Stvarna RASPOLOŽIVOST API servisa iz korisničke perspektive često je
različita od percepcije iz ugla pružatelja API servisa
24
Monitoring PERFORMANSI Internet i mobilnih API servisa(glavni indikator je duže ukupno trajanje i vrijeme odziva uspješnih API transakcija)
• Telekomunikacijski ili interni mrežni problemi
▫ Radio interferencije u mobilnim mrežama ili loše ADSL/VDSL parice
▫ Zagušenja, neefikasni QoS mehanizmi i nedostatak uređivanja prometa
• Neefikasni klijentski ili serverski sustavi i aplikacije
25
Source: Aberdeen Group
Stvarne PERFORMANSE API servisa iz korisničke perspektive često su
različite od percepcije iz ugla pružatelja API servisa
26
APInsomnia – API sigurnosna nesanica
APInsomniju možemo liječiti na slijedeće načine:
• Učinite svoje okruženje za spavanje ugodnim i sigurnim uz primjerenu sigurnosnu arhitekturu API sustava.
• Neka kontinuirani monitoring sigurnosti, raspoloživosti i performansi API-ja pomogne u usnivanju i zdravom spavanju.
• Vježbajte redovito i radite redovite analize i testiranje sigurnosti i raspoloživosti API-ja.
• Eliminirajte štetne stimulanse poput različitih predimenzioniranih i (pre)skupih generičkih sigurnosnih uređaja i drugih šarenih kutija koji stvaraju lažne osjećaje sigurnosti i raspoloživosti API-ja.
27
IKI d.o.o • Rapska 42 • 10000 Zagreb • Croatia / Hrvatska • Europe • Web: https://www.iki.hr/• Email: [email protected]
Hvala na pažnji! Thank you for the attention!
SITO API Security Monitoring
SITO
PSD2 API
Nonintrusive Probe
INTERNET
DDOS
Protection,
Firewall, IPS
PSU
TLS
TLS
TLS
TLSRouter
mTLS
API
mTLS
Online Banking
Services
ASPSP / BANK
Nonintrusive
monitoring
tap
TLS
mPOS
TPP
QWAC
QWAC
QWAC
INTERNET
mTLS
TLS
TLS
mTLS
mTLS
mTLS
TPP
TPP
Payment
Operations
With SITO KPIs
Network and Security
Operations
With SITO KPIs
Strong
Customer
Authentication
Payment
Initiation
Account
Informations
QWAC
Primjer API arhitekture: PSD2 Berlin Group arhitektura
29
Primjer API sigurnosnog rješenja: PSD2 API – tehničke i sigurnosne karakteristike
30
Primjer API uzajamne razmjene vjerodajnica: PSD2 kvalificirani TLS Certifikati
31