• rigidus
    #108
    "linuxra mondjuk megjelenik 5 darab, ebbol 4 lefekteti a rendszert. szted melyiknek jobb a statja?
    linux és semilyen másik rendszer nem volt még olyan környezetben megmérettetve mint a win, úgyhogy kiváncsi lennék honnan veszed, h a linux jobban bírná."

    Ugyan nem hozzam cimeztek, de mivel tudok valaszolni a felvetett kerdesre igy megteszem:

    1. A magyarazat elsosorban a virusok neveben rejlik. Azert kaptak ezt a nevet, mert a biologaban ismert nevrokonukhoz hasonloan mukodnek. Vagyis ahhoz, hogy terjedni tudjanak, ahhoz homogen (genazonos) "egyedekre" van szukseg. A nehanyszaz evvel ezelotti europai pestisjarvanyba a lakossag tobb mint fele odaveszett, de egyetlen patkny sem pusztult el, mivel az o genrendszere mas, a virus mint genmodosito, nem tudott ervenyesulni. Viszont a patkanyok kepesek voltak hordozova valni, sot eppen ok terjesztettek el. A szamitogepes virusok a binaris allomanyokon keresztul terjednek. Ahhoz, hogy kepesek legyenek eletben maradni, ahhoz _homogen_ indithato allomanyokra van szukseg. Ha ez a feltetel nem teljesul, a virus keptelen reprodukalni onmagat ami a kihalashoz vezet.

    2. Linuxra _osszesen van_ 5 v. 10 darab, ha az emlekezetem nem csal. kb. 2000-2003 idoszakaban "keletkezett" a javareszuk, de nem terjedtek el. 2004-ben egyetlen pl. egyet sem regisztraltak. Neha akad egy-ket probalkozas, de jarvany _nem tud_ kialakulni, pont a fenti peldamba levezetettek miatt, ugyanis a *nix rendszereknel jol ismert binaris-diverzitas ellehetetleniti a terjedes alapveto feltetelet. Nezzuk ezek hol jelentkezne a Linux eseteben. Kimasoltam a kernel forraskodjabol a processzor architekturak konyvtarat. Ime:
    alpha arm26 frv i386 m32r m68knommu parisc ppc64 sh sparc um x86_64
    arm cris h8300 ia64 m68k mips ppc s390 sh64 sparc64 v850 xtensa

    A fenti listabol az i386 az amit a mai 32 bites pc-ken ismerunk. Ezeknek az architekturaknak a felepitese _gyokeresen_ elter egymastol. Teljesen mas felepitesu, logikaju binarisokat hasznalnak, ha az egyikre leforditottunk egy programot, azt atmasolva a masikra nem nyerunk semmit, hiszen a kernel mas szisztemara van allitva, igy nem tudja ertelmezni/vegrehajtani a bennefoglalt utasitasokat. Magyarul: el sem indul. A *nix rendszereket nagyon sokfele hardver-arhitekturan futtatjak. Mindegyikre kulon megirni a virust, letesztelni szinte lehetetlenseg.

    3. Ha felteszem, hogy irnek egy virust es mondjuk kihasznalnam a legfrissebben (altalam/masok altal) felfedezet legujabb rest a Linux kernelben, akkor is ott allna elottem a problema, hogy ha be is jutok a gepre vele, mi a fenet kezdjek ott? Vajon a fenti architekturak kozul melyik geptipuson lehetek mint elso fertozesemre elszant virus? Amig ez a kerdes nem tisztazott, addig nem tudja a virus, hogy milyen logikat kovessen amikor majd hozza kell irja magat egy binaris allomany vegehez, hogy az kepes legyen betoltodni a memoriaba.

    a) Ahhoz, hogy ez 100%-osan kideruljon, ahhoz kell egy masik program, amelyik lefut a rendszeren es a futasi eredmenye arulkodik az arhitekturarol. Ehhez a fentiek alapjan kell 24 fele "elovirus" ami a terepet "felderiti". Ezeket be is kell mind juttatni.

    b) Mi van akkor, ha ezt a kiszemelt szamitogepet forraskodbol telepitettek? Mindegy, tegyuk fel, hogy sikerult a manover, bejuttattunk kulonbozo arhitekturakra megirt elodetektorokat. Ekkor jon a kovetkezo kerdes, hogy milyen binaris formatumot hasznalnak az adott gepen az adott architektura mellett? ELF/A.OUT? Ez annyit jelent, hogy az elozo programocskank, amely felderitette/felderitene a terepet, meg csak nem is 24 hanem (24x2=48) tehat 48 fele kulonbozo valtozatban kell, hogy legyen elkeszitve. Mi van akkor, ha a gepen nem a fenti 2 lehetseges szabvanyositott binaris formatumot hasznalnak, hanem vmilyen teljesen egyedit amit a user allitott ossze? Ott viszont egeszen biztos, hogy megall a tudomany es meg csak a felderitesnel tartottunk. (azt hozzafuznem, hogy a /proc/cpuinfo allomanybol kinyerheto a processzor tipusa, de egyaltalan nem biztos, hogy a rendszergazdi beleforditotta a /proc tamogatast a kernelbe)

    A fenti nyugok egy zar forraskodu rendszernel meroben masok. Ezeknel a rendszereknel a binaris allomanyok formatumanak 100%-os kompatibilitasba kell lenniuk ahhoz, hogy a programok kepesek legyenek egymassal kommunikalni. Tehat ahhoz, hogy ki lehessen epiteni egy olyan uzleti modellt ahol en mint szoftvergyarto, a cegem szeellemi tulajdonat vedve kizarolagosan binarisokat adok ki a kezembol, ahhoz szuksegem vane gy egyessegre a tobbi gyartoval is, hogy a programjaink kepesek legyenek egyuttmukodni. Ez az egyesseg termeszetesen a virus iroknak is kapora jon, hiszen nem kell a diverzitas miatt felmerult problemakbol adodoan kismillio binaris formatumon tesztelni a kodjaikat, eleg egy is egy napok alatt szetszorodo vilagmeretu pusztitashoz.

    Valo igaz, hogy semmilyen mas rendszer nem volt megmerettetve olyan kornyezetben mint a windows. Batran ki merem jelenteni, hogy nem is lesz. Meg akkor sem, ha ugyanakkora nepszerusegnek orvendene mint a windows, mivel a ket rendszer muodesi alapelvei is gyokeresen masok.

    A pelda amit fentebb felvazoltam csak egyetlen akadaly volt amit kiemeltem, de ennel joval tobb problema is felmerul, mint pl disztro-diverzitas (www.distrowatch.com), vagy pl encryptelt binarisok, ahol kriptografiai modszerekkel azonositjak, hogy az adott binaris egyezik-e az eredetileg eloallitottal, stb.. Eleg sok az akadaly.