Ciele
-
Po tejto prednáške budeš vedieť:
- vysvetliť, čo je softvérová bezpečnosť a čím sa líši od ochrany proti vírusom
- pomenovať dôsledky (produktivita, dôvera, financie) úspešného napadnutia softvéru
- vysvetliť štyri základné princípy softvérovej bezpečnosti
- orientovať sa v organizácii predmetu a v systéme hodnotenia
Obsah
Softvérová bezpečnosť je proces zabezpečenia softvéru proti neoprávnenému prístupu, manipulácii a používaniu. Nejde len o ochranu proti vírusom – je to širší koncept týkajúci sa ochrany softvérových aplikácií ako celku, ich funkčnosti a integrity proti rôznym hrozbám: ochrana proti nelegálnemu kopírovaniu a zneužívaniu, zabezpečenie proti neoprávnenému prístupu, zachovanie integrity softvéru.
Základný postoj: každý programový kód bude raz napadnutý, preto sa naň treba pripravovať už pri jeho tvorbe. Dôsledky úspešného napadnutia softvéru sú stratou produktivity, prestíže (goodwill) a dôvery zákazníkov, čo sa premieta aj do priamych finančných nákladov – na elimináciu vplyvu napadnutia, na znovuzískanie dôvery, ale aj na samotnú opravu chyby (manažment procesu, nájdenie a oprava kódu, testovanie, dokumentácia, komunikácia s verejnosťou a ďalšie). Softvérové spoločnosti bežne nevnímajú bezpečnosť softvéru ako činnosť, ktorá priamo zarába peniaze, a pozornosť jej začnú venovať až po úspešnom útoku, keď už sú škody napáchané.
Štyri základné princípy softvérovej bezpečnosti
- Bezpečnosť softvéru musí byť chránená vo všetkých oblastiach – útočníkovi stačí nájsť tú najslabšiu.
- Softvér môže byť chránený iba proti aktuálne známym typom útokov – útočník môže použiť novší alebo dosiaľ neznámy typ útoku.
- Ochrana musí byť ostražitá v každom okamihu – útočník si môže vybrať čas útoku ľubovoľne.
- Ochranca sa musí správať eticky a v súlade so zákonom – útočník tieto obmedzenia nemá.
Praktické príklady a demonštrácie
- Rozbor konkrétneho verejne zdokumentovaného incidentu – únik dát spoločnosti Equifax v roku 2017 (147 miliónov postihnutých ľudí), spôsobený nezáplatovanou zraniteľnosťou v knižnici Apache Struts (CVE-2017-5638) – a rozbor jeho dôsledkov (produktivita, dôvera, financie: pokuty, náklady na nápravu, pokles hodnoty akcií).
- Porovnanie nákladov na zabudovanie bezpečnosti od začiatku vývoja verzus dodatočnú opravu chyby po vydaní softvéru na konkrétnom príklade: tá istá chyba nájdená pri code review pred nasadením vs. objavená až po nasadení a zneužitá útočníkom (náklady na diagnostiku, opravu, testovanie a komunikáciu s postihnutými zákazníkmi navyše).
Čo si zapamätaj
- Softvérová bezpečnosť je širší pojem než antivírusová ochrana.
- Bezpečnosť sa oplatí riešiť od začiatku vývoja, nie dodatočne.
- Štyri princípy bezpečnosti (najslabší článok, iba známe útoky, stála ostražitosť, etické správanie ochrancu).
Zdroje
- Voliteľné témy referátov (výber): Zásady bezpečného programovania, SQL Injection a jeho prevencia, XSS, CSRF, Buffer Overflow, Bezpečná správa pamäte, Zero Trust model, SAST/DAST nástroje, GDPR a právne rámce, Sociálne inžinierstvo v kyberbezpečnosti (kompletný zoznam 25 tém k dispozícii na požiadanie).