2021. július 19., hétfő

Biztonságos-e a nyílt forráskódú szoftver?

 A kód nyílt, bárki láthatja. Biztonsági kockázatot jelent?



Aki a Linuxot részesíti előnyben az asztali gépeken, és a nyílt forráskódú szoftverek használatát szorgalmazza, az a címben feltett kérdésre egy nagy "Igen" választ várhat.

De nem fogom korlátozni a nyílt forráskódú szoftverek előnyeinek megvitatását. Fedezzünk fel többet!


Itt azt tervezem, hogy megosztom a gondolataimat arról, hogy a nyílt forráskódú szoftver biztonságos-e, és mik azok a dolgok, amelyek biztonságossá vagy bizonytalanná teszik.


Miért kellene, hogy érdekeljen, hogy a nyílt forráskódú szoftver biztonságos-e?

Nem számít, hogy Linuxot vagy bármilyen más operációs rendszert használsz, valamilyen módon (közvetlenül/közvetve) körül leszel véve nyílt forráskódú szoftverekkel.

Hogy egy példát mondjak, a legtöbb szabadalmaztatott szoftvereszköz valamilyen nyílt forráskódú könyvtáraktól függ, hogy a dolgok működjenek.


Továbbá nem véletlen, hogy a különböző méretű vállalatok (köztük a Google, a Microsoft és a Facebook) miért támaszkodnak nyílt forráskódú szoftverekre, vagy miért járulnak hozzá így vagy úgy erőforrásaikkal a nyílt forráskódú közösséghez.


Ezért a nyílt forráskódú szoftverek biztonságáról tudni kell.


Mítoszok a nyílt forráskódú szoftverek biztonságáról



Bár számos érv szól a nyílt forráskódú szoftverek ellenérvei mellett a biztonság szempontjából, néhányuknak egyszerűen nincs értelme.

Bárki láthatja és kihasználhatja a kódot

A kód mindenki számára elérhető, igen. De csak azért, mert láthatod a kódot - ez azt jelenti, hogy bárki ki tudja használni?


Nem igazán.


Bár bárki létrehozhat egy forkot (vagy másolatot) a szoftverből, az eredeti szoftver nem manipulálható könnyen.


Általában a projekt karbantartója (vagy egy csoportja) kezeli a kódtárat, és fogadja el a közreműködők commitjait. A kódot jóváhagyás előtt felülvizsgálják. És senki nem tudja csak úgy eltéríteni a kódot.

Egy támadónak erőfeszítésébe kerül, hogy kihasználjon egy sebezhetőséget vagy rosszindulatú kódot illesszen be egy szoftverbe, függetlenül attól, hogy az nyílt vagy zárt forráskódú.


Dedikált erőforrások nélkül a biztonság megbomlik

Sokan úgy vélik, hogy egy nyílt forráskódú szoftverhez dedikált alkalmazottak vagy egy csapat nélkül nehéz fenntartani a biztonságot.


Ezzel szemben, mivel többféle közreműködő csatlakozik és távozik, a szoftver több figyelmet kap a fejlesztők széles körétől.


Ők pedig talán jobban észreveszik a biztonsági problémákat, mint a szabadalmaztatott szoftverhez rendelt néhány alkalmazott.


Néhány olyan projektnek, mint a Mozilla, van egy külön erre a célra létrehozott csapata, amely hatékonyan orvosolja a biztonsági problémákat. Hasonlóképpen, a legtöbb sikeres nyílt forráskódú projektnek rengeteg erőforrást kell a biztonságra fordítania.


Ezért a nyílt forráskódú szoftverek ökoszisztémája vegyes képet mutat a biztonság szempontjából. A projektek még dedikált erőforrások nélkül is kapnak segítséget a különböző közreműködőktől, és egyesek nagymértékben nyereségesek, ami segít nekik több erőforrást fordítani.

A nyílt forráskódú szoftver biztonságos: Ezért




Most, hogy a mítoszokkal megbirkóztunk, hadd emeljem ki, hogyan kezelik a nyílt forráskódú szoftverek a biztonsági kérdéseket.


Más szóval, a nyílt forráskódú szoftverek biztonsági előnyeit.


Nem szabad elfelejteni, hogy a nyílt forráskódú szoftverek előnyei lefordíthatók néhány okra, amiért a Linux jobb, mint a Windows.

Több szem nézi a kódot

A szabadalmaztatott szoftverekkel ellentétben a kódhoz való hozzáférés nem korlátozódik néhány fejlesztőre.


Egyes projekteknél akár több ezer fejlesztő is figyelheti a kódot, átnézheti azokat, és jelezheti vagy javíthatja a biztonsági problémákat.


Ez pedig előnyt jelent a zárt forráskódú szoftverekkel szemben azáltal, hogy a problémák gyors azonosítására és a lehető leghamarabb történő kezelésére van lehetőség.


Nem csak a több fejlesztőre korlátozódik, gyakran a vállalatok is bekapcsolódnak az általuk használt nyílt forráskódú projektekbe. És amikor ezt megteszik, akkor a kódot is átnézik és felülvizsgálják.


Ez egy újabb külső ellenőrzési forrást biztosít, amely segíthet a szoftver biztonságának javításában.


Ezzel szemben egy zárt forráskódú szoftver esetében a korlátozott számú fejlesztő nem biztos, hogy mindenféle biztonsági problémát megtalál. És hosszabb időbe telhet, amíg az összes problémát egyenként kijavítják.

Közösségi döntéshozatal a biztonsági kérdések prioritásainak meghatározása érdekében

Egy zárt forráskódú szoftver fejlesztőinek bizonyos korlátozások és prioritások lehetnek arra vonatkozóan, hogy min dolgozzanak, és mikor oldjanak meg egy problémát.


Egy nyílt forráskódú projekt esetében azonban a közreműködők közössége maga határozhatja meg a prioritásokat és jelölheti ki, hogy min akar dolgozni, és mikor kell megoldani egy problémát. Nem kell egy szállítótól függenie, és nem kell követnie az ő utasításait egy biztonsági probléma megoldásához.


A biztonsági problémák kezelésével és javításával kapcsolatos döntéshozatal átláthatóbb és rugalmasabb egy nyílt forráskódú szoftver esetében. Ezért hatékonyabbnak bizonyulhat, és három konkrét előnnyel járhat:


  • Átláthatóság
  • Nincs függőség a szállítótól
  • Gyorsabb biztonsági frissítések

A nyílt forráskódú szoftver nem golyóálló: Miért?



Bár vannak olyan esetek, amikor a nyílt forráskódú szoftverek biztonsági szempontból előnyben részesülhetnek, lehetnek olyan esetek vagy tényezők, amelyek ezt befolyásolják.


Fontos tudomásul venni, hogy ezek a problémák léteznek, és ennek megfelelően egy vállalkozás vagy egy magánszemély jobb döntést hozhat a nyílt forráskódú szoftverek biztonsági állapotáról.


Nincs elég szem a kód felülvizsgálatához és a bizonytalansághoz.

Még ha a kód hozzáférhető is a fejlesztők világa számára, van esély arra, hogy egy projektnek nincs elég közreműködője/fejlesztője ahhoz, hogy alaposan átnézze a kódot.


Ebben az esetben nem bízhatunk nagyon abban, hogy egy nyílt forráskódú szoftver szakértői felülvizsgálat alatt áll, mert pontosan ez hiányzik.


A nyílt forráskódú szoftver "állíthatja", hogy a legjobb biztonsággal rendelkezik, csak azért, mert nyílt forráskódú, ami félrevezető, ha nem dolgozik rajta elég fejlesztő.


Azt sem tudjuk, hogy hány fejlesztő nézi/ellenőrzi a kódot, és hogy pontosan hogyan zajlik a kód átjárása.


Például a Heartbleed hibát 2 évvel a bevezetése után fedezték fel egy olyan projektben, amely már népszerű volt, azaz az OpenSSL-ben.

Szoftver felelősség vagy elszámoltathatóság

Lehet, hogy magánszemélyek számára ez nem fontos, de a nyílt forráskódú szoftverek gyakran nem tartalmaznak garanciát.


Ha tehát egy vállalkozás használja, akkor vállalnia kell a felelősséget a szoftver használata által okozott veszteségekért vagy károkért.


Ez egy olyan dolog, ami azt üzeni, hogy semmi sem lehet 100%-ig biztonságos és hibamentes. Nem számít, hogy hány szem van egy kódon, vagy mennyire képzettek a közreműködők, valamilyen formában mindig lesznek kockázatok, legyen szó biztonságról vagy adatvesztésről.


És ezzel el is érkeztünk ahhoz a tényhez, hogy a nyílt forráskódú szoftverek nem golyóállóak.


A nyílt forráskódnak lehet előnye a jobb biztonság szempontjából, de...

Semmi sem jobb, ha a biztonságról van szó. Nem számít, hogy zárt forráskódú vagy nyílt forráskódú, ugyanazok az elvek érvényesek, amikor a biztonságról van szó.


Számos külső tényező befolyásolhatja egy szoftver biztonságát, és ezek közül sok nem függ a forrástól.


A kódot ugyanúgy ellenőrizni kell a biztonság érdekében.


Igen, a nyílt forráskódú megközelítés olyan előnyöket vezet be, amelyekkel a zárt forráskódú szoftverek soha nem fognak rendelkezni, de ez nem jelenti azt, hogy golyóálló.


Mit gondolsz a biztonság helyzetéről a nyílt forráskódú szoftverek esetében? Szerinted jobb, mint a szabadalmaztatott megoldások?


Örülnék, ha értékes gondolatokat írnál lentebb a hozzászólásokban.

Forrás: Is Open-Source Software Secure?



Nincsenek megjegyzések:

Megjegyzés küldése