“Rendben, és honnan tudhatom, hogy ez a szoftver jó?” - általában ez a felhasználó első és jogos kérdése akkor, amikor a régi, jól bevált megoldások helyett egy új alternatívát javasolunk. Ilyenkor szokás arra hivatkozni, a program jó eredményeket ért el valamelyik független minősítő cég auditján. Valaki megvizsgálta és tetszett neki… Tényleg csak ennyit jelentene a minősítés?
Miért van szükség a software auditra?
A felhasználók többsége nem sokat érzékel egy alkalmazás megbízhatóságából. A legtöbben megelégszenek a következőkkel:
[1.] A szoftver kielégítően funkcionál, ellátja azokat a feladatokat, amelyekre szükség lehet.
[2.] Megbízhatóan működik, nem omlik össze, nem ad értelmetlen hibaüzeneteket.
[3.] Látszólag nem szivárogtat adatokat. Nem érkeznek rajta keresztül gyanús üzenetek, támadások.
Ez azonban csak a felszín. Ahhoz, hogy el tudjuk dönteni, igazán jó-e egy program, mélyebb betekintésre van szükség. Nem mindegy, hogy egy szoftver hogyan alkalmazható azokra a feladatokra, amelyekre használják. Valóban magas minőségben, kerülőutak és felesleges erőforrás használat nélkül dolgozik, vagy csak “pörgeti a processzort”? Tényleg megbízható, vagy csak elrejti a hibákat? Nem szivárogtat, vagy csak nincsen teljesen nyilvánvaló biztonsági rés a rendszerben?
A software audit ezeket a “szemmel nem látható” kiskapukat ellenőrzi egy komplex módszerrel. A vizsgálat végére kiderül, hogy a szoftver mennyire megfelelő, mennyire megbízható, fair és gazdaságos.
A fejlesztői tesztelés még nem audit
Egy szoftver ellenőrzésére többféle módszer létezik. A legtöbb vállalat rendszeresen ellenőrzi a szoftvereit, sőt, azok beszerzése előtt is részletes tervet készíti. Ezek a menedzsment központú elemzések általában azt vizsgálják:
[1.] Mennyire felel meg a szoftver a gazdasági céloknak. Lehet-e például a segítségével pénzt megtakarítani, költséget csökkenteni?
[2.] Milyen mértékig képes kielégíteni a vállalkozás szükségleteit? Megoldható-e a segítségével az összes munkatárs munkaidő-nyilvántartásának elkészítése, tudja-e kezelni a szabadságolásokat, vagy csak az egyes team-ek teljesítményét lehet mérni vele?
[3.] Mennyire felhasználóbarát? Hosszas oktatást kell-e tartani róla a kollégáknak, specialistákat kell alkalmazni hozzá vagy képzés nélkül is érthető?
Ez az úgynevezett compliance elemzés nem feltétlenül tartalmazza ugyanazokat a szempontokat, mint a software audit, inkább a cég szempontjából vizsgálja az adott terméket.
Ennél egy fokkal talán objektívebbnek vehetjük a peer review-t. Egy ilyen ellenőrzés során a fejlesztő a saját munkáját vizsgálja meg, esetleg más kollégák segítségével. Ezek az elemzések változó mélységűek - bár a legtöbben törekszenek arra, hogy minél részletesebben, összehasonlítható rendszerben dolgozzanak. A szoftver ellenőrzések jelentőségéről a ebben a bejegyzésbe írtunk bővebben
Hogyan zajlik a software audit?
A software audit szempontjai részben megegyeznek a fenti elemzésekkel, de maga az elemzés másképpen zajlik.
[1.] Az elemzést egy pártatlan harmadik fél, általában valamilyen audit cég végzi.
[2.] A munka valamilyen szoftver értékelési szabvány alapján zajlik, többnyire a IEEEE 1028-2008 szempontjai szerint
[3.] Lehetőleg összehasonlíthatónak kell lennie más termékek értékelésével. Nem elég azt mondani, hogy “az egyik legjobb a piacon” - meg kell mondani azt is, miért.
A software audit tehát teljesen független attól, hogy ki kezdeményezi és ki a szoftver fejlesztője. Nem elsősorban az cél, hogy javítsák a hibákat vagy felfedezzék a kiskapukat. Nem csupán egy funkcionális tesztről van szó, nem is arról, hogy valaki véleményezi a terméket a felhasználó-barátság szempontjából. Az audit ezek megfelelő elegye.
Változó, hogy a software auditot ki kezdeményezi. Van, amikor a program potenciális megrendelője kér fel egy céget az ellenőrzés elkészítésére. Máskor maga a fejlesztő cég kér auditot minőségbiztosítási okok miatt. Előfordul az is, hogy egy audit cég maga vállalja a munkát, mert úgy érzi, ezzel hozzátehet valamit a piac működéséhez.
A software audit során az auditor cég és a fejlesztő csapat együttműködnek. Általában közös érdek, hogy a fejlesztő cég lehetőleg minden szükséges adatot megosszon a független bírálókkal, hiszen így biztosíthatja, hogy a működése átlátható és ellenőrizhető, a szoftver jól dokumentált és javítható.
Az audit cég sokszor hibalistát és fejlesztési javaslatokat is mellékel az értékelése mellé. Ezek segítik a fejlesztőket, hogy folyamatosan optimalizálhassák a terméket. Ha valaki auditálta és megfelelőnek találta a programot, az egyfajta minőségi garanciát jelent. A legtöbb esetben jóval megbízhatóbbat, mint egy puszta véleményezés.
Az audit akkor igazán megbízható, ha valamilyen nagy múltú, kifejezetten szoftverek auditálásával és/vagy biztonságával foglalkozó szoftverminősítő cég végezte a munkát. Az ő számukra ugyanis elengedhetetlen a teljes objektivitás és megbízhatóság. Jó, ha olyan cég végezte a mérést, amelyet több más IT szolgáltató is elismer. Miért igyekszünk auditált szoftvert ajánlani? Ha megfelelően auditált szoftverünk van, biztosak lehetünk benne, hogy nem tartalmaz kritikus hibát és megfelel bizonyos objektív követelményeknek. Ebben az esetben nem az jelenti a garanciát, hogy “mindenki használja” vagy hogy “ilyen nagy nevű cég biztosan nem ad ki rossz terméket.”
Az ellenőrzött szoftverek használatával nem csak a cyberbiztonság növelhető, de elkerülhetjük azt is, hogy a folyamataink valamelyik nagy gyártótól függjenek. Minden célra a lehető legjobb programot használhatjuk - anélkül, hogy egyetlen előállító termékei mellett köteleznénk el magunkat.
Amikor arra kérnek minket, tegyük biztonságosabbá egy vállalat informatikai rendszerét, leggyakrabban mi is olyan szabad szoftvereket szoktunk javasolni, amelyek a közösség folyamatos ellenőrzése mellett átestek valamelyik audit cég vizsgálatán. Ezzel segítjük a biztonságosabb, kedvezőbb árú és hatékonyabb munkavégzést.