Natália
-3 °C
7 °C

Biztonságos termék - biztonságos üzem III/I.

2003.01.28. 13:25
Egy-egy új szoftvertermék ötletének megszületésétől a bevezetéséig számtalan lehetőség adódik a biztonsági rések kialakulására. Vegyük sorra, hogy milyen veszélyek is leselkednek valójában egy-egy új termékre.
Sorozatunk első részében a tervezés és kivitelezés témakörét vizsgáljuk meg.

Tervezési hibák

A hibák jó része már a tervezőasztalon "megszületik". A cégek felkészültségétől függően ez jelentheti azt is, hogy valójában nem is készülnek alapos tervek, csupán skiccek, vázlatok, vagy még az sem, hiszen sajnos még ma is sok cég gondolja úgy, hogy "majd adja magát a program", a valódi tervekkel pedig sok esetben az a baj, hogy csak funkcionalitás szempontjából ellenőrzik őket, biztonságiból nem.

A termékfejlesztés központú szemléleten igen gyorsan túl kell lépni, ha valójában használni is szeretnénk szoftvereinket, és nem csak fölösleges kiadások, károk bekövetkezése ellen szeretnénk küzdeni.

Mit lehet tenni a tervezési hibák ellen? Ha rosszmájú szeretnék lenni, akkor azt mondanám, hogy először is készítsünk "valódi" terveket, olyanokat, amelyeket ténylegesen fel is használunk a szoftverek kifejlesztéséhez. Az alaposan, és megfelelő mélységig elkészített terveket még a kód elkészülte előtt kell biztonsági szempontból elemezni.

Az előbbi epés megjegyzésemnek az adja az alapját, hogy ezidáig igen kevés valódi programtervhez volt szerencsém. Mivel a tervek meglétét egyre több megrendelő követeli meg, sokan próbálkoznak utólag "tervezni", ami legfeljebb az adott állapot jó-rossz ábrázolását jelenti, de semmiképpen sem egy tudatos, átgondolt folyamatot.

Alapvető szemléleti változás kellene, hogy a programok terveit önmagukban is terméknek tekintsük. Minőségbiztosításukkal, folyamatszervezésükkel is foglalkozni kell.

Kivitelezési hibák

Tervezhetik házunkat a világ legkitűnőbb tervezői, ha kontárokkal, vagy hulladékból építtetjük fel azt.

Esetünkben tehát igen fontos, hogy az adott technológiát jól ismerő szakemberek készítsék el a programokat. Információval való ellátásuk, továbbképzésük feltétlenül fontos és szükséges. A konkrét eszközök alapos ismeretén túl ismereteiknek ki kell terjedniük a biztonságos szoftverfejlesztéssel kapcsolatos ismeretekre is.

A legjobban felkészült szakemberek sem tudnak túl jó dolgot kihozni selejtes anyagokból. A fejlesztések során gondosan kell kiválasztani a megfelelő fejlesztőeszközöket, kerülni kell az ismeretlen, megbízhatatlan helyről származó komponensek alkalmazását.

A fejlesztési munka során sok esetben kell tesztelési célból kódrészleteket, kiskapukat elhelyezni a programban, vagy bizonyos ágak elkészítését későbbre hagyni. Ezek a hibák, ha bennmaradnak a késztermékben, óriási kockázatot jelenthetnek. Ellenük elsősorban folyamatos és teljes körű dokumentálással, minőségellenőrzéssel, minőségbiztosítással lehet védekezni.

Az elkészült programok, ha magukban nem is tartalmaznak különösebb biztonsági hiányosságokat, hibákat, mindenképpen meg kell őket vizsgálni együttműködési szempontból, azaz arra kell választ kapni, hogy más szoftverekkel együtt használva, vagy az azokkal való kommunikációjuk révén nem találunk-e problémákat.

A tervezési és kivitelezési hibák kiszűrése csupán az egyik, noha alapvető lépése a valódi biztonság megteremtésének. Sorozatunk következő cikkében a telepítéssel kapcsolatos hibákat igyekszünk áttekinteni.