2. týždeň

Týždeň 2 – Úvod do softvérovej bezpečnosti

Prednáška

Ciele

    Po tejto prednáške budeš vedieť:
  1. vysvetliť, čo je softvérová bezpečnosť a čím sa líši od ochrany proti vírusom
  2. pomenovať dôsledky (produktivita, dôvera, financie) úspešného napadnutia softvéru
  3. vysvetliť štyri základné princípy softvérovej bezpečnosti
  4. 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

  1. Bezpečnosť softvéru musí byť chránená vo všetkých oblastiach – útočníkovi stačí nájsť tú najslabšiu.
  2. 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.
  3. Ochrana musí byť ostražitá v každom okamihu – útočník si môže vybrať čas útoku ľubovoľne.
  4. 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).