Informacn bezpecnost z pohledu aplikacnch syst em u Aplikacn bezpecnost PV 017 Bezpecnost informacnch technologi Jan Staudek http://www..muni.cz/usr/staudek/vyuka/ Ð Û Å«Æ ±²³ µ ¹º»¼½¾ Ý Verze : podzim 2018 ISO 27001 denuje opatren pro inf-bezpecn e porzen, v yvoj, implementaci, udrzbu a provozov an informacnch syst em u Jde o procesne orientovan a, technologicky nez avisl a opatren Standard nespecikuje technick e detaily opatren Z akladnm stavebnm kamenem podle ISO 27001 je Ohodnocen rizik Hodnotitel rizik po ohodnocen vybere adekv atn opatren Tento postup je vhodn e uplatnit pri zajist'ov an informacn bezpecnosti pro kazdou kritickou softwarovou aplikaci Provede se ohodnocen rizik identikuj se adekv atn opatren vyhovujc ISMS a dokumentuj se v prohl asen o aplikovatelnosti (SoA) Denuje se Pl an zvl ad an rizik aplikace, hlavn dokument pro implementaci vybran ych opatren Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 1 Odd elen povinnost (Segregation of duties) Kdo z ad a o zmenu nesm zmenu schvalovat Oddelen odpovednost za n avrh, v yvoj, testov an a provoz syst emu Registrace a de-registrace uzivatel u, spr ava uzivatel u Vhodn e jsou automatizovan e procedury registrace a de-registrace soustreden e v syst emech typu User Management (UM), Identity and Access Management (IAM) Pridelov an nejmensch potrebn ych pr av Nutnost dokumentace vsech zmen v pridelen a z adost o ne Nutnost periodick eho proverov an redundanc a jejich odstra nov an Skupinov e ucty mus b yt kontrolovanou v yjimkou Procedury pro bezpecn e prihlasov an Bezpecn e prihlasov an (politika siln ych hesel, postupy zmeny hesla, periodick e zmeny hesel, z abrana opakovan emu pouzit hesel, zmena prvotnch hesel,... ) dvoufaktorov a autentizace (PIN k autentizacn karte,... ) povinnost proskolen v bezpecnosti pred pridelenm pr ava prstupu Aplikacn syst em by mel mt administrativn modul, ve kter em lze denovat role uzivatel u a odpovdajc prstupov a pr ava Omezen prstupu k rozhran OS a k privilegovan ym utilit am Omezen prstupu ke zdrojov ym text um aplikace Protokolov an ud alost prstupy, poruchy, zmeny pr av, starty a ukoncen proces u,... Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 2 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 3
Prsn e zm enov e rzen Procesne rzen e a systematicky dokumentovan e! Odd elen v yvojov eho, testovacho, akceptacnho a provoznho prostred aplikacnho syst emu Segregace st'ov ych prostred servery umstit do logick ych st'ov ych segment u s rzenm prstupu mezi segmenty Ochrana st'ov ych transakc digit aln podpisov an, sifrov an, MAC, bezpecn e platebn syst emy,... Anal yza a specikace pozadavk u InSec Pozadavky InSec se maj zahrnout do specikace software/syst emu InSec se hlavne res v poc atecnch f azch SDLC (Software/System Development Lifecycle), detaily pozdeji Za implementaci pozadavk u InSec odpovd a vlastnk syst emu/software Prklady pozadavk u InSec aplikace { vsichni uzivatele se mus autentizovat pred zsk anm prstupu { aplikace nesm zobrazovat vypisovan e heslo { uplat nuje se princip pridelov an nejmensch mozn ych opr avnen { volby menu mus b y zalozeny na principech need-to-know a need-to-do Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 4 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 5 Zm ena dat zaslan ych z prohlzece uzivatele aplikacnmu serveru via HTTP metody komunikace klienta se serverem GET a POST pomoc webovsk eho proxy editoru (doplnek, add-on, pres kter y proch az webovsk a komunikace) spolehlivou validaci opr avnenosti pozadavku m uze resit jen server Pretok bueru, buffer overflow prepis informac za hranic vyrovn avac pameti skodliv ym k odem.net, Java automaticky kontroluj prekrocen hranic bueru utok je mozn y pomoc jazyk u typu C a C++ SQL Injection Vlozen vstupnch dat do SQL prkazu modikujcch proveden prkazu prkaz SELECT FROM xyz WHERE username= alice AND password=qer12yu se provede pokud existuje uzivatel alice a je zadan e validn heslo prkaz SELECT FROM xyz WHERE username= alice AND password= or 1=1 { se provede pokud existuje uzivatel alice, kontrola zda je heslo pr azdn e nebo zda 1=1 je pravdou vzdy vstup se mus sanitizovat pouzvat parametrizovan e prkazy msto dynamick ych prkaz u Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 6 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 7
Command Injection Pokud aplikace pouzije funkci system() z knihovny stdlib.h, m uze vykonat jak ykoliv prkaz OS Efektivnm resenm je aplikacm zak azat prmou interakci s OS Cross-site scripting Clem utoku CSS je napr zsk an cookie klienta nebo jin e citliv e informace, kter e mohou identikovat klienta s webov ym serverem. S tokenem legitimnho uzivatele m uze utocnk pokracovat jako uzivatel v jeho interakci s webem { maskar ada uzivatele WEBovsk a aplikace mnohdy pouzije uzivatelsk y vstup jako c ast webovsk e str anky (koment are,... ) a uzivatelsk y vstup m uze obsahovat skodliv y k od { script Kdo cte takovou str anku m uze utocnkovi zaslat sv e cookies (id sessions) Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 8 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 9 CSS, Cross-site scripting Utok na autentizaci... aplikace se st ale pouzv a s inici aln heslem prodejce slovnkov y utok Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 10 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 11
SDLC, System Develpoment Life Cycle SDLC, System Develpoment Life Cycle, f aze Resen informacn bezpecnosti je nedlnou souc ast vsech f az zivota syst emu SDLC, System Develpoment Life Cycle Zah ajen N avrh V yvoj Testov an Zprovoznen a udrzba Likvidace Nestac zajist'ovat bezpecnostn v edom u koncov ych uzivatel u aplikac Je potreba skolit v informacn bezpecnosti manazery, architekta syst emu, n avrh are, v yvoj are i testery Zah ajen Specikace pozadavk u a studie proveditelnosti syst emu N avrh N avrh architektury syst emu V yvoj Realizace syst emu Testov an Jsou splnen e specikovan e pozadavky na syst em? Bude syst em po zprovoznen fungovat spr avne? Zprovozn en a udrzba Zprstupnsn syst emu pro koncov eho uzivatele Likvidace Likvidace informac, hardware, software Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 12 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 13 SDLC, System Develpoment Life Cycle, Zah ajen Specikuj se pozadavky na syst em, kter y se m a vytvorit Ov er se moznost efektivn realizace studi proveditelnosti Studie proveditelnosti se zab yv a rovnez i InSec Provede se predbezn e ohodnocen rizik Bezpecnostn probl emy se pojmenuj pojmy dostupnost syst emu, integrita a/nebo d uvernost dat, potrebn e zodpovednosti,... Identikovan a rizika se pouzij pro podporu v yvoje pozadavk u na syst em { na bezpecnost a na strategii (koncept) bezpecn eho provozu Predb ezn e ohodnocen rizik Bude aplikace dostupn a z Internetu? Budou k aplikaci pristupovat neautorizovan uzivatel e? Jak citliv a jsou data manipulovan a v aplikaci? Pouzv a aplikace datab azov e resen? Bude aplikace komunikovat s jin ymi externmi aplikacemi? Jak y je charakter mozn eho utocnka (profk, hacker, zamestnanec,... ) Jak dlouho sm b yt aplikace nedostupn a Bude se s aplikac zach azet ve vce urovnch opr avnen Pokud ano, jak a je jejich sk ala, k cemu oprav nuj? Jak a z akonn a ci smluvn omezen je nutno dodrzet? Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 14 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 15
SDLC, System Develpoment Life Cycle, N avrh N avrh architektury syst emu Informacn bezpecnost se res detailn eji nez ve f azi zah ajen Modeluj se hrozby a analyzuj se mozn e formy utok u a dopad u a navrhuj se odpovdajc opatren Nekter a opatren se zahrnou uz do z akladnho n avrhu (napr. izolov an syst emu od verejn ych st), jin a se budou resit az pri v yvoji (zp usob autentizace,... ) Modelov an hrozeb Identikace hrozeb a bezpecnostnch opatren, kter a hrozby res Prol hrozeb { seznam vsech hrozeb pro aplikaci (syst em) Modelov an hrozeb odpovd a proces um ohodnocen rizik a vypracov an prohl asen o aplikovatelnosti, SoA Pro f azi v yvoje je nutn e pripravit pl an zvl adnut identikovan ych rizik urcenm adekv atnch opatren pro implementaci v yberem ze SoA Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 16 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 17 SDLC, System Develpoment Life Cycle, V yvoj Navrzen y syst em se nakupuje, programuje, vyvj ci jinak konstruuje Identikovan a rizika se pouzij pro podporu anal yzy bezpecnosti syst emu, coz m uze v est ke zmene architektury ci n avrhu syst emu jeste v pr ubehu v yvoje Pro programov an by se mely pouzvat secure coding practices, metody bezpecn eho programov an, napr. pro prevenci utok u cestou injekt aze dynamick ych SQL dotaz u mus v yvoj ar pouzt parametrizovan e dotazy Konguruj se, povoluj, testuj a overuj vlastnosti (informacn bezpecnosti) syst emu Procesy rzen rizik podporuj ohodnocen implementace syst emu proti jeho zad an a v r amci jeho urcen eho provoznho prostred. Rozhodnut o identikovan ych rizicch mus b yt vyd ano pred spustenm provozu syst emu SDLC, System Develpoment Life Cycle, Testov an Spl nuje vytvoren y syst em inici aln e stanoven e specikace pozadavk u? Bude syst em pro uveden do provozu fungovat spr avne? Spln en pozadavk u na informacn bezpecnost res bezpecnostn testy testov an sed e skrnky (grey-box) typicky se testuje strana koncov eho uzivatele na osetren zranitelnost, kter e m uze vyuzt utocnk at' jiz s nebo bez validnho pr ava prstupu k syst emu, tester testuje jak m uze bezpecnost narusit validn uzivatel testov an bl e skrnky (white-box) vyhled av an zranitelnost a chyb ve zdrojov em k odu Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 18 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 19
SDLC, System Develpoment Life Cycle, Provoz a udrzba Syst em pln svoji funkce a provozovan y syst em je mnohdy dopl novan y hardwarem a softwarem a m en se organizacn procesy, politiky a procedury. Pro periodick e potvrzov an autorizace ci reakreditace a kdykoliv se syst emu podstatne zmen provozn ci produkcn prostred (napr. nov ym rozhranm na syst em) se prov adej aktivity z oblasti rzen rizik Po uveden syst emu do provozu mohou vzniknout nov e hrozby Je z adouc periodicky prov adet penetracn testy, resp. black-box testy Pri provozu syst emu je nutn e zajistit resen mnoho bezp. probl em u: aplikace by mela bezet na urovni uzivatele OS s nzk ym opr avnenm, webovsk a aplikace mus mt bezpecne kongurovan y webserver, na rewallu by mely b yt otevren e pouze ty porty, kter e syst em uzv a, prov ad se z alohov an/obnova, zmenov e rzen, reaguje se na incidenty Co bylo pracne navrzeno, vyvinuto a implementovan e, m uze znehodnotit nespr avne zajist'ovan y provoz SDLC, System Develpoment Life Cycle, Likvidace Likvidace informac, hardware, software. Informace lze presouvat, archivovat, zahazovat, nicit Hardware a software lze sanitizovat (cistit, sterilizovat) Cinnosti rzen rizik se mus prov est i pro likvidovan e nebo nahrazovan e komponenty, aby se zajistila adekv atn spr ava dat a bezpecn a a systematick a migrace syst emu Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 20 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 21 Metody bezpecn eho programov an, secure coding practices Modelov an hrozeb / ohodnocen rizik res zranitelnosti na urovni n avrhu, metody bezpecn eho programov an res zranitelnosti na urovni psan k od u program u Prklady validac vstup u validace na serveru validace typu, d elky, form atu, rozsahu povolen pouze zn am ych vstup u odmt an zn am ych vadn ych vstup u sanitizace vstupnch dat Metody bezpecn eho programov an, secure coding practices Prklady autentizace ochrana proti utoku hrubou silou (siln a hesla, CAPTCHA, docasn e zamyk an uctu,... ) implementace postupu pro bezpecnou zmenu hesla implementace bezpecn eho postupu pri zapomenut hesla Vypnut automatizovan e predikce Pouzvej pouze ty kompil atory, ve kter ych byly instalovan e posledn bezpecnostn z aplaty... Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 22 Jan Staudek, FI MU Brno PV017, Bezpecnost IT, Aplikacn bezpecnost 23