Shiny Copperpot#54
Hát az még önmagában kevés. Az alapállapot, hogy az ember a szűk keresztmetszet, az emberi hülyeséget az OS nem állítja meg. :) De ha csak szigorúan a technikai támadásokat nézzük, akkor is, egy megfelelő erőforrások felett rendelkező ember vagy szervezet találhat valamilyen sérülékeny pontot. Ha máshogy nem, például egy elfogott/ellopott/leselejtezett gép visszafejtésével. Ha pl. ismert hardver használnak, elegendő valamilyen közvetlen kód injektálás a processzor végrehajtási sorába, és már át is vette a támadó egy privilegizált processz vagy szál felett az uralmat. Persze a legtöbbféle támadás ellen lehet védekezni _valahogyan, valamennyire_. Mint említettem, minden fejlesztésnél - a katonaiaknál is, vagy mostanában főleg azoknál - nagyon fontos a költségkorlátok és a határidők tartása, ezért kompromisszumot kell kötni, hogy pl. publikusan (is) használt megoldásokat integrálnak.
A DARPA helyében én pl. csak annyit csináltam volna, hogy egy saját, sokbites titkosítással (vagy akár AES-el) ellátott protokollt íratok, kiépítek egy saját, megbízható kulcskezelő rendszert (a'la PKI), az irányító gépeket pedig egyedileg konfigurált linux vagy windows (érts: csak a szükséges dolgok + protokollvezérlő) változatokkal láttam volna el, amelyeket mondjuk minden nap 0-ról újratelepítenek egy deployement szerverről, image-ből. Update-ek szintén deployement szerverről, csak központilag jóváhagyottan. A kliensek nem rendelkeznek semmilyen io porttal (egy fizikai netkapcsolat), se cserélhető eszközökkel. A selejtezett eszközöket, kivétel nélkül fizikai megsemmisíttetem + egyéb adminisztratív intézkedések. Havonta felülvizsgálat, minden eltérést kivizsgálni, stbstb. Persze ki tudja, lehet, hogy így egy központi fertőzés kockázatát növelném meg...
A vicces az, hogy erről van több, saját, nagyon durva előírásuk, amit jól láthatóan nem tartottak be, szóval lehet, hogy fejek is fognak hullani, lásd:
http://en.wikipedia.org/wiki/Trusted_Computing_Base
http://en.wikipedia.org/wiki/Common_Criteria
(még mielőtt valaki kárörvendően megjegyezné, persze, ez sem biztosíték, de egyrészt van még egy pár biztonsági szabvány, ami leírja, hogy hogy lehet jól csinálni, lásd: http://en.wikipedia.org/wiki/Cyber_security_standards . Másrészt pedig, az embert nyilván nem lehet kiküszöbölni...