Skaidrumas, laisvė spręsti ir bendruomenė. Kaip Visma užtikrina saugumą kuriant produktus?

Žiniasklaidos priemonės mirga nuo skambių antraščių apie duomenų vagystes. Vis tik, nepaisant šių milijonus kainuojančių incidentų, kibernetinis saugumas dažnai atsiduria pilkojoje zonoje. Apie didžiausias duomenų vagystes ir jų priežastis rašė mūsų programinės įrangos saugumo specialistas Dominykas Šeikis. Šį kartą kalbame apie tai kaip patys užtikriname saugumą, kurdami programinę įrangą. Atsakymai suformuluoti, remiantis Espen Agnald Johansen, Visma operacijų ir saugumo vadovo, pranešimu apie saugumą DevOps dienose ir interviu. Jo klausėme apie esminius Visma saugumo politikos aspektus.

Laisvė spręsti – atiduota komandoms

Daug įmonių turi keletą/ kelioliką vadovų. Jie sprendžia viską, kas susiję su įmone ir turėtų priimti geriausius sprendimus, tačiau praktika parodė, kad tai nėra tiesa. Šie žmonės be abejo yra savo srities specialistai, tačiau jie susikoncentravę ir priima verslui gerus sprendimus – normalu, jog jie negali priimti praktinių, su komandos darbu susijusių sprendimų. Pavyzdžiui, Visma saugumo vadovai sukūrė taisyklę, jog nauja, į gamybinę aplinką paleidžiama programinė įranga negali turėti Cross-Site-Scripting* pažeidžiamumo, taip pat negali būti naudojamas MD5 maišos algoritmas**. Tuomet sukūrėme keletą sistemų, kurių pagalba galėjome tikrinti išeities kodą (angl. source code). Kiekvieną kartą, kai išeities kode atrasdavome įrodymų, jog yra naudojamas MD5 maišos algoritmas, liepdavome jį pašalinti iš kodo. Vis tik, programuotojų komandos ėmė juoktis iš mūsų, kadangi MD5 funkciją jie naudojo ne saugumui užtikrinti, o duomenų vientisumui patikrinti. Šis ir daugelis panašių pavyzdžių įrodė, jog negalime už komandas priimti su technologijomis susijusių sprendimų. Tapo aišku, jog ne kas kitas, o pati komanda turi spręsti kokias technologijas naudoti, kokius testus atlikti ir kokias problemas prioretizuoti. Dabar kiekvienoje komandoje yra saugumo inžinierius, kuris domisi taikomųjų programų sauga ir sprendžia su saugumu susijusius klausimus, o vadovai į juos nesikiša.

Remiantis SAMM (Software Assurance Maturity Model – Owasp iniciatyva), bandėme apibrėžti Vismos saugumo valdymo modelį.  Schemos viršuje – saugumo forumas, kur kuriamos su saugumu susijusios taisyklės. Atrodo, kad prieštaraujame patys sau? Ne visai. Taisyklių stengiamės kurti kiek įmanoma mažiau ir daryti jas kuo bendresnes, kaip pavyzdžiui – slaptažodžiai turi būti ilgi ir kompleksiniai.

Žalia spalva pažymėti langeliai – štai jie svarbiausi. Mes supratome, kad nauji darbuotojai, ateinantys į Visma yra inovatoriai, turintys daug svarbių žinių ir įdėjų, atsineštų iš rinkos ir akademinės bendruomenės. Jų žinios pasiekia komandas, kurios kuria produktus, tačiau tada komandos susiduria su kryžkele: vadovautis forumo ar šių inovatorių sukurtomis taisyklėmis? Į tai mes atsakome – when in doubt, follow the green color. Taip yra, nes įmonės saugumo taisyklės negali spėti atsinaujinti su kiekviena naujove rinkoje. Mes skatiname komandas mesti iššūkį mūsų sukurtoms taisyklėms, ieškoti jų ribų – taip tikimės išmokti kurti geresnes, labiau pritaikomas taisykles. Visma kuria daug įvairių produktų,  pradedant nuo sistemos, rezervuojančios laiką ir baigiant finansinėm mobiliojom programėlėm. Šios programėlės labai skirtingos ir joms negalima taikyti vienodų taisyklių ar prioritetų.

Mes tikime, jog perduodant sprendimo galią komandoms ir naudojant Agile manifesto mąstymo metodą, mes užtikriname geresnį saugumą nei sutelkdami sprendimą vienose rankose.

Saugumo spraga – apie ją žinos tiek kolegos, tiek klientai

Esame įsitikinę, jog skaidrumas yra viena iš esminių saugumą užtikrinančių sąlygų. Tai paprastas psichologinis konstruktas – jei leidi žmonėms slėpti jų klaidas, yra mažiau tikėtina, kad jie jas spręs. Turime saugumo brandos sistemą, kurioje matome kokį saugumo brandos lygį turi pasiekti kiekviena komanda, kokį lygį jos pasiekia, kokių turi/ turėjo saugumo spragų ar kas jas sprendė/ spręs.

Tarkime, turime paslaugą A ir paslaugą B. Paslauga A remiasi skaidrumu, todėl informacija susijusi su paslaugos saugumu yra lengvai prieinama kiekvienam įmonės darbuotojui. Paslaugos B pagrindas yra slaptumas – apie saugumo spragas žino tik saugumo inžinierius ir jei bus įsilaužta į jo sistemą, jam reikės atsakyti į daug su saugumu susijusių klausimų. Veikiausiai jo bus klausiama:

Kodėl nebuvo testuota ši sistema?

Kodėl ši spraga egzistavo?

Paslaugos A atveju žinoma, jog sistema turi 10 saugumo spragų ir jas žino tiek kolegos, tiek klientai. Visiems aišku, jog šias 10 spragų planuojama pataisyti per tam tikrą laiką, o jei bus įsilaužta į sistemą, tuomet į tai bus sureaguota greičiau. Iš šios situacijos galima mokytis: mes žinojome, jog turime saugumo spragų, tačiau tai nebuvo prioritetas, todėl turi būti paskirta daugiau resursų, kad visas klaidas būtų galima išspręsti laiku. Atveju A yra sprendimas, atvejis B – užburtas ratas.

Patys dalinamės tokia informacija, kada testuojamos sistemos, kokie yra testų rezultatai. Netgi dalinamės informacija kaip buvo išspręsta tam tikra bėda, tokiu atveju, kita komanda, susidūrusi su panašia situacija žinos, ką reikia daryti arba ko prašyti pagalbos. Taip ne tik užtikriname efektyvesnę saugumo sistemą, bet ir taupome vieni kitų laiką.

klaidos taisymo kelias

Atvirai pasakojame kaip apsaugomos mūsų sistemos, ko imamasi, jog produktai veiktų nepriekaištingai. Čia aptariami tokie dalykai kaip:

  • Fizinė duomenų centrų apsauga.
  • Saugumo reikalavimai kuriant produktą.
  • Sistemų tikrinimas.
  • Incidentų valdymas. Informacija, kur galima rasti produktų saugumo statusus.
  • Jautrios informacijos valdymas.

Skaidrumui užtikrinti padeda ir aiškumas. Dažnai įmonės turi daugybę saugumo standartų. Neretai, jie prieštarauja vieni kitiems, t.y. siūlo kitokius darbo metodus, ar problemų sprendimo būdus. Visma siekia turėti tik vieną saugumo standartą – ISO27001. Šis standartas reikalauja, kad:

  • Organizacijos informacijos saugumo rizika būtų sistemingai išnagrinėta, atsižvelgiant į grėsmes, pažeidžiamumą ir galimą poveikį;
  • Sukurti ir įgyvendinti nuoseklią ir išsamią informacijos saugumo kontrolės ir (arba) kitų rizikos formų (pvz., rizikos vengimo ar rizikos perkėlimo) paketą toms rizikoms, kurios laikomos nepriimtinomis, spręsti; ir
  • Priimti bendrą valdymo procesą, kad būtų užtikrinta, jog informacijos saugumo kontrolė tenkina organizacijos informacijos saugumo poreikius.

Nors informacijos saugos valdymas yra labai rimtas ir kompleksinis dalykas, bet kartais ir leidžiame sau pajuokauti:

vienas saugumo standartas

Taip užtikriname skaidrumą Visma įmonių grupėje, juk kaip išspręsti bėdas, jei nežinome, kokios jos? O ir norvegų mitologijoje sakoma, kad šviesos išsigąsta ir nuo jos bėga visi troliai.

Tu gali mus palaužyti

Su viena sąlyga, jog apie saugumo spragas, kurias radai, etiškai praneši mums. Saugumo spragų ieškojimo sąlygos apibrėžtos responsible disclosure taisyklėse. Manome, kad įsitraukdami į saugumo bendruomenės veiklą, galime geriau užtikrinti savo sistemų saugumą. Čia ir vėl grįžtame prie skaidrumo – jau geriau tikras geek’as/ė atras mūsų sistemose spragą, tokiu atveju mes ją žinosime ir ištaisysime, negu turėsime atvirą skylę, kuria gali pasinaudoti piktavaliai. Beje, jei iš tikrųjų randama rimta spraga – programuotojas gauna Visma atributikos su specialiu užrašu, o kartais ir finansinę padėką.

Jei kada pamatysite žmogų, turintį šį užrašą ant kokio nors daikto, gali būti, kad jis atrado saugumo spragą viename iš Vismos produktų.

garbės ženkliukas

Dar viena smagi iniciatyva, kurią vysto kolegos iš Skandinavijos yra Password Panda. Šis judėjimas šviečia žmonės apie stiprių slaptažodžių svarbą. Netgi yra sugalvotas smagus šūkis:

Each time you reuse a password, a panda dies. Pandas are almost extinct. Don’t make me a sad panda: use a password manager

(liet. Kiekvieną kartą kai perpanaudoji slaptažodį, kažkur miršta panda. Pandos jau beveik išnyko. Neversk manęs liūdėti, naudok slaptažodžių saugotoją).

Tad tiek apie saugumą ir kokius principus taikome Visma įmonių grupėje, tikimės, kad mūsų įžvalgos bus jums naudingos. O šiandien yra duomenų privatumo ir apsaugos diena, tad pasirūpinkite, kad jūsų slaptažodžiai būtų saugūs. Stay safe, geeks!

 

*Cross-site scripting (XSS) – IT sistemų pažeidžiamumas, dažniausiai aptinkamas tinklalapiuose, kuris leidžia įterpti papildomą programinį kodą į vartotojų peržiūrimą puslapį.

**MD5 (Message-Digest algorithm 5) – žinutės santraukos algoritmas, plačiai naudojama kriptografijos maišos funkcija su 128 bitų (16 baitų) maišos reikšme.