„Gyakran hasonlítom a nyílt forráskódot a tudományhoz. A tudományban mindig is nyíltan dolgoztak az ötleteken, és továbbfejlesztették más emberek elképzeléseit. Ez tette a tudományt azzá, ami ma, és ennek köszönhetjük azokat a hihetetlen előrelépéseket, amelyeket elértünk.”
Linus Torvalds, finn szoftvermérnök, a Linux és a Git rendszerek megalkotója
A vállalatoknak muszáj kiemelt figyelmet fordítaniuk a szoftvereikben rejlő sebezhetőségekre, mivel akár egyetlen biztonsági rés is kaput nyithat a kiberbűnözők előtt a rendszereikhez. Ha el akarják ezt kerülni, minden általuk fejlesztett szoftvert rendszeresen át kell vizsgálniuk és javítani, ha sérülékenységet találnak. A hibakeresést fontos kiterjeszteni a szoftverekben található open source komponensekre is, mivel az alkalmazások több mint 90 százaléka tartalmaz ilyen összetevőt. Az OpenText szakértői arra mutatnak rá, hogy a megfelelő fejlett megoldásokkal automatizálható és egyszerűsíthető a folyamat, a tesztelés és a javítás pedig zökkenőmentesen beilleszthető a szoftverfejlesztési ciklusba.
Az üzleti életben gyorsan változnak a trendek és az elvárások, ami arra készteti a szoftverfejlesztő csapatokat, hogy olyan agilis gyakorlatokat alkalmazzanak, mint például a DevOps, hogy lépést tudjanak tartani az új igényekkel. Ezek az új megközelítések azonban nagy nyomást gyakorolnak a fejlesztőkre az alkalmazások gyorsabb létrehozásával és kiadásával kapcsolatban, akik ezért gyakran használnak nyílt forráskódú komponenseket annak érdeklében, hogy időt takarítsanak meg, és sikeresen teljesíteni tudják a kitűzött célokat a rövid szoftverkiadási ciklusokon belül. Az open source összetevők használatával ugyanis nem kell teljesen a nulláról kezdeniük a fejlesztést, hanem „mindössze” annyi a dolguk, hogy hozzáadják a szükséges funkciókat tartalmazó komponenst a saját kódjukhoz. Ez a megközelítés felgyorsítja a folyamatokat, és egyúttal a költségeket is csökkenti.
A biztonság kérdéses
A nyílt forráskódú komponensek ugyanakkor kockázatokat is hordozhatnak magukban, hiszen előfordulhatnak bennük biztonsági rések akár már a fejlesztés kezdetétől fogva, és a későbbiekben is fény derülhet egy-egy hibára. A szoftveres ellátási láncok menedzsmentjével foglalkozó Sonatype legutóbbi Open Source Index jelentése szerint a nyílt forráskódú projektek mindössze 11 százalékát tartják karban aktívan. A felmérés szerint átlagosan 8-ból 1 nyílt forráskódú letöltésnél jelen vannak már ismert kockázatok, bár a sebezhető verziók 96 százalékánál rendelkezésre állt javított verzió.
Vizsgálat profi eszközökkel
Az open source komponensek biztonságát tehát ugyanúgy érdemes vizsgálni és rendszeresen tesztelni, mint a saját fejlesztésű kódokét. Léteznek erre professzionális eszközök, köztük például a Sonatype megoldása, amely automatizálja a nyílt forráskódú eszközök vezérlését és vizsgálatát a teljes szoftverfejlesztési ciklusban.
A termék ráadásul integrálható a Fortify professzionális alkalmazásbiztonsági teszteszközökkel, amelyek az egyedi fejlesztésű kódok teszteléséről gondoskodnak. A Fortify Static Code Analyzer az egyedi fejlesztésű forráskód statikus elemzésével képes azonosítani a biztonsági réseket, és rangsorolja is a hibákat fontosság szerint, hogy a kritikus sérülékenységeket javíthassák először. A Fortify Software Composition Analysis pedig automatizált módon vizsgálja a kódot az open source komponensek sérülékenységei után kutatva, és az eredményeket kiterjedt sebezhetőségi adatbázisokkal veti össze, amelyeket magas szintű gépi tanulásra támaszkodva, szakértő kutatók tapasztalatával kiegészítve tartanak naprakészen.
Az open source komponensek vizsgálatáról szóló videó megtekintéséhez kattints a fenti objektumra vagy nézd meg itt!
A Sonatype megoldása és a Fortify termékcsalád együtt átfogó képet ad a szoftverekben található, egyedi fejlesztésű kódok és a nyílt forráskódú komponensek biztonságáról. Ehhez elég egy vizsgálatot lefuttatni, melynek eredményei a vezérlőpulton jelennek meg összesítve. Az eszközök egymással együttműködve holisztikus megközelítést tesznek lehetővé a különféle hibák javításához, és zökkenőmentesen integrálhatók a DevOps folyamatokba, így lehetővé teszik a kockázatok proaktív kezelését a szoftverfejlesztési ciklusok összes fázisában.
Forrás: MorphoCom Kft.