Kiberbiztonság az egyedi szoftverfejlesztésben
Napjainkban a folyamatosan megsokszorozódó kibertámadások miatt az adat- és információ biztonság egyre nagyobb figyelmet kap. Nagyvállalati szinten nap mint nap tennünk kell azért, hogy saját – és ügyfeleink adatai biztonságban legyenek. Blogcikkünkben ezt a témát járjuk körül és megvizsgáljuk mit és hogyan tehetünk adataink biztonsága érdekében?
Kiberbiztonság
A kiberbiztonság az informatikai rendszerek, hálózatok és adatok védelmével foglalkozó terület. Célja, hogy megakadályozza az illetéktelen hozzáférést, a rosszindulatú támadásokat, az adatlopást és más digitális fenyegetéseket. Fontos szerepet játszik mind személyes, mind vállalati szinten, így az egyedi szoftverfejlesztési projektek esetében is stratégiai szinten kell gondolkodnunk róla.
A fenyegetettségek sokfélesége
Gyakorlatilag naponta jelennek meg azok az újabb és újabb rendszerszintű sérülékenységek, csalási- és védelem feltörési mechanizmusok, melyek rendszereinket fenyegetik. Az AI megjelenésével és térhódításával tovább fokozódik a kiberbiztonsági kihívás, ugyanis akár az adatatok átadásáról, akár egy generatív technológiával folytatott diskurzusról van szó, kellő körültekintés és biztonsági feltételek nélkül az információ biztonság itt is komolyan sérülhet. Az egyre komplexebb jó szoftverek és alkalmazások nem megfelelő felhasználása, szintén adatszivárgáshoz vezethet.
Jogi következmények és bizalomvesztés
Az adatok sérülése (szivárgás, vesztés, szabotázs) és a GDPR szabályok megsértése elsősorban súlyos jogi következményekkel jár, melyek komoly törést okozhatnak üzletmenetünkben, illetve alapjaiban rengetik meg a cégünkbe vetett bizalmat és hírnév csorbuláshoz vezetnek. De belegondoltunk már abba, hogy mi történik akkor, ha felhalmozzuk az adatokat, nem őrizzük megfelelően és kiszivárognak? “Rossz esetben” adataim elvesznek, még rosszabb esetben versenytársunk fog profitálni belőle.
Védelmi stratégia és eszközök
A kiberbiztonsági kockázatok folyamatos változásával és fejlődésével, az ezzel a területtel foglalkozó szakembereknek is állandóan frissíteni kell védelmi stratégiájukat és eszközeiket a legújabb fenyegetések elkerülése érdekében. Ezek az intézkedések magukban foglalhatják a tűzfalakat, vírusirtó programokat, titkosítást, hálózati monitorozást, oktatást és szigorú hozzáférési kontrollokat.
Hogyan működik egy kiber szempontból biztonságos rendszer?
Biztosítja, hogy:
-
- az adatainkhoz csak a megfelelő személyek / rendszerek férnek hozzá
-
- a hozzáférések csak arra jogosítanak, amire feltétlenül szüksége van az adott felhasználónak / rendszernek (például csak olvasási jog)
-
- az adataink mindig hitelesek
-
- a hozzáférések és az adatmegmásítások naplózottak: azaz ha történik egy incidens, annak tényéről és kiterjedéséről a lehető legrövidebb időn belül értesítése kapunk
Egy-egy szoftverfejlesztési projekt során azonban nem csak a kész rendszernek kell 100 százalékban biztonságosnak lennie, de magának a szoftverfejlesztés folyamatának is szigorú biztonsági követelményeknek kell megfelelnie.
Hogyan biztosítható mindez?
1. Dokumentációk biztonságos tárolása: forráskód, a szoftverhez tartozó tervdokumentáció, felhasználói dokumentáció, adatbázisterv, stb. biztonságos tárolása és naprakészen tartása.
2. Fejlesztői- és teszt környezetek biztonsága: Sokan csak a produkciós környezet védelmére gondolnak, holott az élő szoftverek esetében a cutoverek következtében fontos produkciós és személyes adatok is lehetnek ezeken a környezeteken, így ezekre is érdemes külön figyelmet fordítani.
3. Körültekintő tervezés:
-
- Üzleti folyamatok szintjén: Szerepkör menedzsment és hozzáférési szintek szabályozása, megerősítést igénylő folyamatok, például multi-faktor authentikáció, egyszeri jelszó megerősítés, stb.
-
- Megfelelő védelmi szintek betervezése az architektúrába. Pl. a BFF validációs réteg szerepe, rendszerkomponensek közötti integrációk védelme (biztonságos kapcsolatok, biztonságos integrációs közművek)
-
- Biztonságos adattárolás. Adatok minimalizálása, perzisztens tárolás kerülése, tárolt adatok titkosítása a frontend komponensekben.
-
- Korlátozott terjesztésű rendszerek esetén a kliensek bővített védelme: APN-es adatkapcsolat, device management megoldás és védett operációs környezet
-
- Szoftverkomponensek: megbízható gyártók technológiái, harmadik féltől származó komponensek/kódok esetén megbízhatóság és sérülékenység ellenőrzése
-
- Jogi és regulatory rendelkezések betartása:
– GDPR általánosan
– AI Act a következő 3 évben folyamatosan finomodó módon
– Ágazatspecifikus előírások, ajánlások: pl. egészségügyi adatok kezelése, orvostechnikai segédeszköz minősítés
- Jogi és regulatory rendelkezések betartása:
4. Átfogó tesztelés:
-
- Funkcionális
-
- Biztonsági
-
- Esetleg etikus hacker alkalmazása.
5. Monitoring: incidensek, hozzáférések, adatmozgások detektálása. Riasztás, intervenció. Pl. lekapcsolás, IP tartomány kitiltása, stb.
6. Üzemelő rendszer naprakészen tartása:
-
- Környezeti frissítések, patch-ek alkalmazása.
-
- Folyamatos tudás frissítés: ha esetleg egy alkalmazott technológiáról kiderül, hogy sérülékeny, akkor gyorsan reagálni.
7. Szabványok: Technológiai, tervezési és üzemeltetési biztonsági szabványok maradéktalan betartása. Pl. OWASP
8. Audit:
-
- A valóságnak megfelelő, up-to-date dokumentáció.
-
- Szabványos audit folyamat, amelyet független cég végez. Vagy egy rendszerkapcsolatnál a rendszer üzemeltetője, pl. EESZT audit. KH audit.
9. Szervezeten belüli koordináció: engedélyezett/tiltott technológiák. Fejlesztői szabadság korlátozása az új elemek, API-k, library-k használatára.
10. Edukáció:
-
- Kollégák edukálása: biztonságos technológiák alkalmazása, fejlesztő eszközök biztonságos használata.
-
- Képzések az aktuális biztonsági sztenderdekről.
-
- Az adott projekten partneri oldalról elvárt extra biztonsági kritériumoknak való megfelelés Pl. nemzetbiztonsági átvilágítás, belső kiberbiztonsági előírások.
Biztonságos szoftverfejlesztés – Hogyan garantáljuk a kiberbiztonságot?
-
- Alaposan tervezünk – AAA szabály, nemzetközi sztenderdek, OWASP ajánlások figyelmbe vételével. Biztonságos rendszerkomponensekkel és protokollokkal tervezünk.
-
- Edukáljuk a témában a kollégáinkat, így naprakész a tudásuk – pl. GDPR előadások.
-
- Központilag szabályozzuk, kollégáink milyen eszközöket és hogyan használhatnak. – pl. szoftverkörnyezetek, kommunikációs protokollok, titkosítási algoritmusok, harmadik féltől származó kódok
-
- Egyeztetünk és együttműködünk a partnerünkkel (belső regulatory, IT biztonsági osztályok, stb.)
-
- Naprakészen tartjuk a dokumentációt.
-
- Üzleti elemzőink klasszifikálják az elhelyezendő és kezelendő adatokat és különböző adatbiztonsági kategóriákba soroljuk őket.
-
- A megoldás tervezés során kiemelt figyelmet fordítunk arra, hogy minden adat a kategóriájának megfelelő védelemben részesüljön.
-
- Mindig a projektnek megfelelő legújabb technológiákat alkalmazzuk.
Összefoglalva tehát elmondhatjuk, hogy napjainkban fokozott veszélynek vagyunk kitéve mely állandó figyelmet és proaktív gondolkodást követel tőlünk. Fontos, hogy tudásunkat a területen naprakészen tartsuk és az adatbiztonságra mint stratégiai területre tekintsünk. Legyünk körültekintőek és előzzük meg a bajt! Üzleti folyamataink tervezésénél és tesztelésénél tervezzünk az ártó szándékú interakciókkal és védjük ki őket! Nem elég, ha egy-egy egyedi fejlesztésű szoftverünkben a funkciók jól működnek, de biztonság szempontjából is fenntartható megoldásra van szükségünk. Készítsük fel rendszereinket az esetleges incidensekre és arra, hogy egy esetleges támadás esetén deaktiválni tudjuk őket, ezzel minimalizálva veszteségünket.