Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk. Cserép Máté

Hasonló dokumentumok
Webes alkalmazások fejlesztése 1. előadás. Webes alkalmazások és biztonságuk

Adatbázisok elleni fenyegetések rendszerezése. Fleiner Rita BMF/NIK Robothadviselés 2009

Weboldalak Biztonsági Kérdései

Webapp (in)security. Gyakori hibákról és azok kivédéséről fejlesztőknek és üzemeltetőknek egyaránt. Veres-Szentkirályi András

Weboldalak biztonsága

Elektronikus levelek. Az informatikai biztonság alapjai II.

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Webes alkalmazások fejlesztése 6. előadás. Állapotfenntartás (ASP.NET) 2015 Giachetta Roberto

Webes alkalmazások fejlesztése Bevezetés. Célkitűzés, tematika, követelmények. A.NET Core keretrendszer

Az internet az egész világot behálózó számítógép-hálózat.

Web-fejlesztés NGM_IN002_1

Gyimesi István fejlesztési vezető Cardinal Számítástechnikai Kft.

WWW Kliens-szerver Alapfogalmak Technológiák Terv. Web programozás 1 / 31

Webes alkalmazások fejlesztése 6. előadás. Állapotfenntartás (ASP.NET) Állapotfenntartás. Állapotfenntartás. Állapotfenntartás.

Számítógépes munkakörnyezet II. Szoftver

Web programoz as

Hálózati architektúrák és Protokollok GI Kocsis Gergely

A számítástechnika gyakorlata WIN 2000 I. Szerver, ügyfél Protokoll NT domain, Peer to Peer Internet o WWW oftp opop3, SMTP. Webmail (levelező)

1. fejezet Bevezetés a web programozásába (Balássy György munkája) Az internet működése... 11

Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET Core) Cserép Máté

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Adatbázis kezelő szoftverek biztonsága. Vasi Sándor G-3S

Webes alkalmazások fejlesztése 6. előadás. Állapotfenntartás (ASP.NET Core) Cserép Máté

Dr. Pál László, Sapientia EMTE, Csíkszereda WEB PROGRAMOZÁS 5.ELŐADÁS. Sütik és munkamenetek kezelése

Webes alkalmazások fejlesztése 6. előadás. Állapotfenntartás (ASP.NET) Cserép Máté.

API tervezése mobil környezetbe. gyakorlat

Számítógépes Hálózatok GY 6.hét

Webes alkalmazások fejlesztése 6. előadás. Állapotfenntartás (ASP.NET) 2015 Giachetta Roberto

Hálózati architektúrák és Protokollok GI Kocsis Gergely

Webtárhely létrehozása a helyen. Lépések Teendő 1. Böngészőbe beírni: 2. Jobb oldalon regisztrálni (tárhelyigénylés).

Webes alkalmazások fejlesztése 8. előadás. Webszolgáltatások megvalósítása (ASP.NET WebAPI)

Számítógépes Hálózatok GY 7.hét

applikációs protokollok

Számítógépes Hálózatok Felhasználói réteg DNS, , http, P2P

Felhasználói réteg. Számítógépes Hálózatok Domain Name System (DNS) DNS. Domain Name System

Webes alkalmazások fejlesztése

Hálózati architektúrák és Protokollok GI - 9. Kocsis Gergely

MŰSZAKI DOKUMENTÁCIÓ. Aleph WebOPAC elérhetővé tétele okostelefonon. Eötvös József Főiskola 6500 Baja, Szegedi út 2.

20. Tétel 1.0 Internet felépítése, OSI modell, TCP/IP modell szintjenek bemutatása, protokollok Pozsonyi ; Szemenyei

Webes alkalmazások fejlesztése 6. előadás. Weblapok fejlesztése és architektúrája (ASP.NET)

Alkalmazás rétegbeli protokollok:

IP alapú távközlés. Virtuális magánhálózatok (VPN)

Webes alkalmazások fejlesztése 3. előadás. Objektumrelációs adatkezelés (ASP.NET)

Cisco Teszt. Question 2 Az alábbiak közül melyek vezeték nélküli hitelesítési módok? (3 helyes válasz)

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

Hálózatbiztonság Androidon. Tamas Balogh Tech AutSoft

4. Hivatkozási modellek

A JGrid rendszer biztonsági architektúrája. Magyaródi Márk Juhász Zoltán Veszprémi Egyetem

INTERNET. internetwork röviden Internet /hálózatok hálózata/ 2010/2011. őszi félév

Az Internet. avagy a hálózatok hálózata

web works hungary Rövid technikai tájékoztató Mars (mars.intelliweb.hu) szerverünkkel kapcsolatban meglévő és új ügyfeleink számára.

Webes alkalmazások fejlesztése 4. előadás. Megjelenítés és tartalomkezelés (ASP.NET Core) Cserép Máté

Bevezetés Működési elv AJAX keretrendszerek AJAX

Elektronikus Információs és Nyilvántartási Rendszer a Doktori Iskolák fiatal kutatói részére

Webszolgáltatások (WS)

A webhelyhez kötődő szoftverek architektúrája

Rétegezett architektúra HTTP. A hálózatfejlesztés motorját a hálózati alkalmazások képezik. TCP/IP protokoll készlet

Hálózati architektúrák és Protokollok GI 8. Kocsis Gergely

Felhasználói kézikönyv

PHP. Adatbázisok gyakorlat

WEBFEJLESZTÉS 2. ADATBÁZIS-KEZELÉS, OSZTÁLYOK

Teljes körű weboldal, API és DDoS védelmi szolgáltatás

Gyakorlati vizsgatevékenység A

Alapfogalmak. Biztonság. Biztonsági támadások Biztonsági célok

Gyakorlati vizsgatevékenység B

Sütik kezelése (cookie)

Silent Signal Kft. Webáruházak informatikai biztonsága Veres-Szentkirályi András Marketingtorta - 4 1

Felhasználói kézikönyv

Információ és kommunikáció

Alapfogalmak, WWW, HTTP

Webes alkalmazások fejlesztése 12. fejezet. Szolgáltatás alapú kommunikáció (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Hálózati architektúrák laborgyakorlat

Kommunikáció. 3. előadás

Hálózati Architektúrák és Protokollok GI BSc. 10. laborgyakorlat

Felhasználói dokumentáció. a TávTagTár programhoz. Készítette: Nyíri Gábor, hdd@nc-studio.com GDF Abakusz regisztrációs kód: GDFAba43

Vectory telepítési útmutató

NGFW + IPS + anti-apt + BYOD = Sophos UTM 9.2

eduroam konfiguráció workshop Mohácsi János NIIF Intézet

Gyakorlati vizsgatevékenység B

Hálózati architektúrák és Protokollok PTI - 7. Kocsis Gergely

Információ és kommunikáció

INTERNETES KERESÉS. Szórád László Óbudai Egyetem TMPK

WIN-TAX programrendszer hálózatban

Webes alkalmazások fejlesztése 7. előadás. Autentikáció és autorizáció (ASP.NET)

Fábián Zoltán Hálózatok elmélet

PHP-MySQL. Adatbázisok gyakorlat

Írásjogtól Rootig AIX-on

MIKOVINY SÁMUEL TÉRINFORMATIKAI EMLÉKVERSENY

1/13. RL osztály Hálózati alapismeretek I. gyakorlat c. tantárgy Osztályozóvizsga tematika

Számítógépes Hálózatok GY 8.hét

Portforward beállítási segítség

Eduroam Az NIIF tervei

COMET webalkalmazás fejlesztés. Tóth Ádám Jasmin Media Group

Hálózati architektúrák és Protokollok GI - 8. Kocsis Gergely

Excel ODBC-ADO API. Tevékenységpontok: - DBMS telepítés. - ODBC driver telepítése. - DSN létrehozatala. -Excel-ben ADO bevonása

S, mint secure. Nagy Attila Gábor Wildom Kft.

Webes alkalmazások fejlesztése 14. fejezet. Szolgáltatások adatkezelése (WCF) Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

Biztonságos mobilalkalmazás-fejlesztés a gyakorlatban. A CryptTalk fejlesztése során alkalmazott módszerek. Dr. Barabás Péter Arenim Technologies

Levelező kliensek beállítása

Átírás:

Eötvös Loránd Tudományegyetem Informatikai Kar Webes alkalmazások fejlesztése 1. előadás Webes alkalmazások és biztonságuk Cserép Máté mcserep@inf.elte.hu http://mcserep.web.elte.hu

Kommunikáció Alkalmazások sok esetben folytatnak kommunikációt hálózaton keresztül, általában az OSI modellre épülve különböző kommunikációs megoldásokat nyújt egy többrétegű architektúrában alkalmazás: TLS, SSH, SMTP, megjelenítési: HTML, CSS, JSON, szállítási: UDP, TCP hálózati: IP a modellre további kommunikációs és szolgáltatási architektúrák (MVC, REST), és keretrendszerek épülnek (ASP.NET, WCF) ELTE IK, Webes alkalmazások fejlesztése 1:2

absztrakció Webes alkalmazások és biztonságuk Kommunikáció a felsőbb rétegek absztrakciót nyújtanak, elfedik az alsóbb szinteket növelik a biztonságot, illetve a megbízhatóságot biztosítják az összetett tartalommal való kommunikációt objektum szöveges üzenet üzenet kommunikáció REST HTML TCP IP ELTE IK, Webes alkalmazások fejlesztése 1:3

Rendszerek A hálózaton kommunikáló alkalmazás-rendszerek alapvetően két kategóriába sorolhatóak: decentralizált, közvetlen kapcsolatú (P2P) kliens-szerver: egy központ gép látja el a funkciókat, és szolgál ki tetszőleges sok csatlakozó gépet, amely lehet: vastagkliens (thick client): a végrehajtást a kliens végzi, a szerver főleg kapcsolattartásra, adatkezelésre szolgál vékonykliens (thin client): a végrehajtást a szerver végzi, a kliens interakcióra szolgál kliens kliens szerver ELTE IK, Webes alkalmazások fejlesztése 1:4

Weblapok fejlesztése és architektúrája A HTTP protokoll A webes adatközlés alapvető protokollja a HTTP (Hypertext Transfer Protocol) a kérés/válasz paradigmára épül, vagyis a kliens elküld egy kérést, amelyre a szerver válaszol a választ értelmezi és megjeleníti a kliens a válasz első sora a státuszsor, amely visszajelez a kérés végrehajtásáról (pl. 200 sikeres, 404 nem található, 503 szolgáltatás nem elérhető) kliens HTTP kérés HTTP válasz szerver ELTE IK, Webes alkalmazások fejlesztése 6:5

Weblapok fejlesztése és architektúrája A HTTP protokoll a kérésnek több típusa lehet, pl.: GET: adott (elérési útvonalhoz tartozó) erőforrás lekérése POST: adatokkal ellátott tartalom küldése (pl. űrlap) a protokoll állapotmentes, azaz a szerverre érkező kérések egymástól függetlenek (két kérés között nincs állapotmegőrzés) ugyanakkor a szerver felépíthet egy munkamenetet (session) a kliens felé (az azonosító adatok kliens oldalon kerülnek mentésre) a protokoll biztonságossá tehető TSL titkosítással (HTTPS) ELTE IK, Webes alkalmazások fejlesztése 1:6

Biztonság Egy webes alkalmazás esetén külön hangsúlyt kell helyezni a biztonságra, mivel számos ponton támadás érheti paraméter manipuláció kód injekció kliens alkalmazás szerver alkalmazás munkamenet lopás, identitás hamisítás túlterheléses támadás ELTE IK, Webes alkalmazások fejlesztése 1:7

Biztonsági támadások A biztonsági támadások célja lehet: rendszerek megismerése, feltérképezése Spamhaus (2013) rendszerekbe történő beférkőzés, manipuláció titkosítások feltörése felhasználás további támadásokhoz Stuxnet (2010), BEAST (2011), Shellshock (2014), Heartbleed (2014) rendszerek megbénítása, leállítása túlterheléses támadások (DoS) CloudFlare (2015), GitHub (2015), BBC (2016) ELTE IK, Webes alkalmazások fejlesztése 1:8

Biztonsági támadások adatlopás, adathalászat kulcsfontosságúak a személyes és pénzügyi adatok az adatokat lehetőség szerint megfelelően titkosítani kell nem visszafejthető kódok (MD5, SHA1, SHA512) sózás (a tartalom módosítása, kiegészítése) Playstation Network (2010), Epsilon (2011), Citigroup (2011), LinkedIn (2012), Adobe (2013), Snapchat (2013), World of Warcraft (2013), Carbanak (2014), Apple (2014), Sony (2014), JPMorgan Chase (2014), Mozilla (2014), Yahoo (2014), ebay (2014), Anthem (2015), British Airways (2015), US OPM (2015), Uber (2016), Bupa (2017), Equifax (2017) ELTE IK, Webes alkalmazások fejlesztése 1:9

Kód injekció A kód injekció során kártékony kód kerül átküldésre az alkalmazáshoz, ennek módszerei: SQL injekció: a szerveren futó SQL utasításokat manipulálja cross-site scripting (XSS): szkript kerül feltöltésre a szerverre, amelyet a kliens böngészője futtat dinamikus kiértékelés: a szerver által dinamikusan kiértékelt tartalmat manipulálja távoli fájl injekció: fájl beküldése a szerverre, majd a tartalom futtatása parancssori injekció: rendszerutasítások futtatása a szerveren ELTE IK, Webes alkalmazások fejlesztése 1:10

Kód injekció Pl. (SQL injekció): SqlCommand command = con.createcommand(); command.commandtext = "select * from user where username = '" + textname.text + "' and userpass = '" + textpass.text + "'; command.executereader(); // textpass.text = "' or '1' = '1" betölti // a teljes táblát Pl. (XSS): labelpost.text = textinput.text; // textinput.text = "<script> </script>" esetén // lefut a script a válaszban ELTE IK, Webes alkalmazások fejlesztése 1:11

Kód injekció Sebezhetőségi pontok: bemenő adat (kliens és szerver oldali) ellenőrzésének hiánya, vagy gyengesége (az alapértelmezetten lefutó automatikus ellenőrzés is okozhat sebezhetőségi pontokat) SQL utasítások ellenőrzés nélküli, szöveg alapján történő létrehozása és futtatása, adatbázis-hozzáférés szabályozatlansága gyenge kivételkezelés, és a kivétel információk megjelenése kliens oldalon (számos belső információt jeleníthet meg, amely tovább könnyíti a behatolást) ELTE IK, Webes alkalmazások fejlesztése 1:12

Paraméter manipuláció A paraméter manipuláció (parameter tampering) során a kliens oldalon tárolt speciális információkat írják át, úgymint: oldal argumentumok, űrlap tartalmak süti tartalmak, rejtett mezők, nézetállapotok, HTTP fejlécek Pl. (oldal argumentum): order.php?id=245601&disc=0 // disc=100 esetén ingyenes a rendelés Pl. (süti tartalom): user_id=3013 auto_login=true // a user_id átírásával másként jelentkezünk be ELTE IK, Webes alkalmazások fejlesztése 1:13

Paraméter manipuláció Sebezhetőségi pontok: oldal argumentumok túl nagy felelősséggel való felruházása, pl. elérési útvonalak megadása, felhasználói azonosítás (munkamenetek helyett) felhasználói információk tárolása kliens oldalon, pl. felhasználónév és jelszó sütiben információk (sütik) továbbítása nem biztonságos csatornán (HTTP) rejtett mezők használata az oldalban kritikus információ tárolásra ELTE IK, Webes alkalmazások fejlesztése 1:14

Munkamenet lopás A munkamenet lopás (session hijacking) során a munkafolyamat azonosítót lopják el, így hozzáférhetnek a felhasználói munkafolyamathoz a munkamenetet általában sütik segítségével tárolják a kliens oldalon, ezért a süti megszerzése egyben a munkafolyamathoz való hozzáférést is biztosítja Sebezhetőségi pontok: munkamenet sütik továbbítása nem biztonságos csatornán munkamenet lejáratának korlátozatlansága munkamenet sütin kívüli authentikáció hiánya ELTE IK, Webes alkalmazások fejlesztése 1:15