Mi fán terem a DevSecOps
Avagy, fejlesztés és üzemeltetés biztonsági extrával
„A DevOps a legjobb dolog, ami az alkalmazásbiztonsággal történt az OWASP óta.”
Tanya Janca, kanadai alkalmazásbiztonsági tanácsadó és oktató, a SheHacksPurple.dev alapítója
Alig szoktuk meg a DevOps kifejezést, máris új taggal bővül, és a DevSecOps-szal kell barátkoznunk. A szoftverek fejlesztésénél ugyanis nemcsak arra kell figyelni, hogy a fejlesztői és üzemeltetői szakemberek hatékonyan tudjanak együttműködni, de muszáj szem előtt tartani a programok biztonságát is, mivel az alkalmazások 96 százalékánál előfordul valamilyen biztonsági hiba. A Micro Focus szakértői szerint az automatizált teszteszközök komoly segítséget nyújthatnak mindebben.
A DevOps szó már egyáltalán nem cseng idegenül az informatikai berkekben. Nagyon leegyszerűsítve azt jelenti, hogy a szervezetek arra törekednek, hogy minél jobban összehangolják az üzemeltetető és fejlesztő csapatok munkáját. De hogyan jön itt a képbe a Sec, azaz a biztonság? Ideális esetben a DevOps megközelítés részét képezi, hogy a biztonságról is gondoskodnak. A DevSecOps ezt teszi egyszerűbbé és hatékonyabbá, méghozzá úgy, hogy „balra tolja” a biztonsági tesztelést, vagyis a szoftverfejlesztési ciklus minél korábbi fázisaiba integrálja a sebezhetőségek felkutatását. Ha ugyanis hamarabb észlelik a sérülékenységeket, olcsóbb és könnyebb korrigálni azokat, mint ha egy közel kész terméket kéne kijavítani. A szervezetek így tehát gyorsabban adhatnak ki jobb és biztonságosabb szoftvereket. Ez azért is különösen fontos, mert a Micro Focus legutóbbi elemzése szerint az alkalmazások 96 százalékánál előfordul valamilyen biztonsági probléma.
A DevSecOps megköveteli, hogy a kezdetektől tervezzünk a biztonsággal mind az alkalmazások, mind a teljes infrastruktúra esetében. A megfelelő eszközök segítségével zökkenőmentesen integrálhatjuk a biztonsághoz kapcsolódó teendőket. A Micro Focus szakértői szerint a DevSecOps törekvéseket azok a megoldások támogatják a leginkább, amelyek képesek automatizálni a folyamatokat, hogy az óvintézkedések ne lassítsák le a fejlesztést.
Alkalmazások és API-k leltára
A megfelelő eszközökkel a szervezetek automatizálhatják az összes kód feltérképezését, elemzését és folyamatos megfigyelését a teljes portfólióban. Ez akár olyan szoftverekre is kiterjedhet, amelyek már éles üzemben működnek az adatközpontokban, virtuális környezetekben, privát vagy nyilvános felhőkben és konténerekben vagy egyéb helyeken. Az ilyen megoldásokkal rendszerezhetők mind az alkalmazások, mind az API-k (application programming interfaces – alkalmazásprogramozási felületek).
Sok-sok tesztelés
A szoftverek sebezhetőségeit folyamatosan kell ellenőrizni a teljes fejlesztési, tesztelési és működtetési folyamat során, és ahhoz, hogy minden hibára fény derüljön, érdemes több módszert is igénybe venni.
A statikus alkalmazásbiztonsági tesztelés (SAST – Static Application Security Testing) során például a teszteszköz beszkenneli az alkalmazás forrásfájljait, a kódot elemezve pontosan azonosít minden biztonsági rést és a mögöttük álló okokat is, és segít orvosolni azokat. A dinamikus alkalmazásbiztonsági tesztelés (DAST – Dynamic Application Security Testing) futtatás közben szimulál ellenőrzött támadásokat az alkalmazáson vagy szolgáltatáson, hogy a futtatási környezetben felmerülő és kihasználható hibákat azonosítsa. Az interaktív alkalmazásbiztonsági tesztelés (IAST – Interactive Application Security Testing) pedig átfogó elemzést biztosít, különféle ügynökprogramok és szenzorok segítségével folyamatosan analizálja magát az alkalmazást, annak infrastruktúráját, adatfolyamát és kódját is.
Ezek időigényes és összetett folyamatok, amelyeket érdemes minél gyakrabban megismételni. Nagy segítséget jelentenek ebben az olyan automatizált eszközök, mint például a Fortify termékcsalád tagjai, amelyek maguktól képesek gondoskodni ezekről a feladatokról, és a végeredményt jól átlátható formában tárják az informatikai szakemberek elé.
Védelem az élesben futó alkalmazások felett
A szervezeteknek nem csupán azokat az alkalmazásokat fontos folyamatosan vizsgálniuk, amelyeket házon belül fejlesztenek. Hiszen sebezhetőségek előfordulhatnak olyan programokban is, amelyet már élesben használnak, akár már olyan régóta, hogy „legacy” programoknak számítanak, és nincs is hozzájuk magas szintű támogatás. Léteznek kifejezetten olyan eszközök, amelyek a mindennapi működés során használt, éppen futó alkalmazásokat érő lehetséges támadásokat monitorozzák, és szükség esetén azonnal el is hárítják azokat.
Az emberi faktor
Mit sem ér a tervezés, automatizálás és tesztelés, ha mindeközben a fejlesztő és üzemeltető szakemberek nem látják át pontosan, miért bővül új lépésekkel és folyamatokkal a fejlesztési ciklus. Érdemes számukra rendszeres továbbképzéseket tartani, ahol a vállalat ismerteti a biztonsági intézkedéseket, a mögöttük álló okokat és az ezzel kapcsolatban kitűzött célokat.