Biztonság, védelem a számítástechnikában Wagner György Általános Informatikai Tanszék 3. előadás
Computer Security Előzmények: DoD CSP CSEC DoD szerepe korábban: SACDIN DDN
Computer Security Igény: többszintű biztonsági rendszerek számítógépek összekapcsolása a lenini-elv Iparvállalatok: pénz? - Van! DoD szabványok, ajánlások EPL
Computer Security 17000 DoD computer felmérése felénél kell a DAC Hardver és operációs rendszerek átvizsgálása 3 felel meg csak IBM: RACF SKK: ACF2 CGA: TopSecret A DoD gépeinek 1/3-ánál csere kell a kötelező AC miatt Honywell: SCOMP 1984: AIS rendszerek becslés (1983!): a computerek, PC-k 46%-a hálózatba lesz kötve
Computer Security (Az akkori) jelenlegi helyzet: BLOCKER (tervezés) ANSI/ISO: GKS (szabvány) azonosítási rendszerek: OK BBS (hackerek-é): tipps for stupids!!! Processzorok: Motorola 68000, Intel 80x86, de populáris, védett módú OS sehol
Computer Security TCSEC CSC-STD-,,1-83 Library No S225,711
Computer Security Újabb változata: DoD 5200.28-STD, 85 december Célok: felhasználók: gyártók: közbeszerzés:
Computer Security Biztonságos? Mi az? Ellenőrizni többféle, különböző biztonsági rendszer segítségével az információhoz való hozzáférést, hogy csak megfelelően azonosított személy, ill. processz végezhessen írást, törlést, keresést... 6 alapvető igény: 4 a hozzáférést vezérli, ellenőrzi 2 biztosítékot szolgáltat arról, hogy ez valóban egy védett rendszerben hajtódott végre
Computer Security Politika Biztonságpolitika: fő, hogy legyen, de: legyen világos, egyértelmű, legyenek azonosított objektumok, szubjektumok, és szabálygyűjtemény Megjelölés: A hozzáférést vezérlő címkéket össze kell rendelni az objektumokkal. A címke megadja az objektum védettségi szintjét, és a hozzáférési módszereket
Computer Security Naplózási lehetőség Azonosítás: Az egyes szubjektumokat is(!) azonosítani kell tudni, ki az aki a hozzáférést igényelte, van-e rá jogosultsága. Ezt az információt biztonságban kell őrizni! Naplózási lehetőség: A felelősség megállapítása érdekében őrizni kell azokat az eseményeket amelyek riasztást váltottak ki. Lehessen szűrni! A logfile-t is(!) védeni kell.
Computer Security Szavatolás Szavatolás: A rendszer tartalmazzon olyan hardver/szoftver komponenst, amely garantálja, hogy a rendszer megfelel az 1-4 pontigényeinek Folytonos védelem: A rendszer maga biztosítsa azt, hogy ez a védelem folyamatosan fenn áll. Ez megvalósítható szoftveresen ill. hardveresen is.
Computer Security A kritérium kiértékelés osztályai: 4 hierarchia szint segítségével D (minimális védelem) C (szelektív és ellenőrzött védelem, saját teszt) B (kötelező és ellenőrzött védelem, független tesztelők) A (bizonyított védelem) 7 kritérium osztály: D, C1, C2, B1, B2, B3, A1 (A1-en túli, a jövőbeni fejlesztésekre)
Computer Security A lefedett elvek: tesztelés: a tervezés és megvalósítás ellenőrzésére TCB: (TCSEC, Appendix C). Ha nincs egy adott termék minősítve, ökölszabály : C2: az NCSC által elfogadott legtöbb ACL szoftver B1: NCSC előtti időkből: a mainframe kategóriájú gépek ACL szoftverei B2: általában az új, biztonság orientált rendszerek
Computer Security D: Minimális védelem: Inkább csak ideiglenes jelleggel C1: korlátozott hozzáférés védelem: a TCB csak névlegesen szolgáltat biztonságot. Elkülöníti a user-eket és az adatokat. (Együtt dolgozó userek azonos érzékenységi szinten levő adatokat dolgoznak fel). Jól dokumentált legyen
Computer Security C2: Nem szabályozott, de ellenőrzött hozzáférés védelem: a felhasználók önálló account-tal rendelkeznek. Adott egy login-procedura, ami egyértelműen azonosít Előírás szerint lennie kell belépési parancsfájlnak Audit (készül naplózás a biztonsági eseményekről) elkülöníti az erőforrásokat
Computer Security B1: címkézett védelem: a biztonságpolitika megléte az adatcímkézés (rendelkezik nevesített objektumokkal és szubjektumokkal) Kötelező hozzáférés vezérlés (MAC) A tesztelés során felderített hibákat el kell távolítani (!)
Computer Security B2: struktúrált védelem: a TCB a hivatalos biztonság-politikai modellen alapuljon, és struktúrálva legyen kritikus és nem kritikus védelmi elemekre a DAC és az ACL minden szubjektumra és objektumra ki legyen terjesztve A TCB tartalmazzon Referencia Monitor-t megerősített azonosítás, tesztelés, konfigurálás jól ellenálljon a behatolásoknak Tervezési dokumentum, benne a biztonsági stratégia matematikai formális leírása (OS-eknél éles választóvonal a B1 és B2 között)
Computer Security B3: biztonsági tartományok: a TCB moduláris legyen a TCB csak védelmi funkciókat tartalmazhat álljon ellen az illegális módosítási kísérleteknek kialakítható legyen egy biztonsági rendszergazda igen erősen álljon ellen a behatolási kísérleteknek bővüljenek az ellenőrzési lehetőségek
Computer Security A1: Bizonyított védelmi tervezés: NEM(!) szerkezeti vagy politikai bővítéseket tartalmaz, hanem: hivatalos tervezési és ellenőrzési módszereket kell használni A1-en túli: (terv) valószínűleg a hivatalos ellenőrzés kibővülését fogja eredményezni.
Computer Security Európai változata az ITSEC (Information Technology Security Evaluation Criteria) Az első változat kidolgozói: Anglia, Franciaország, Hollandia, Németország. 1.2 változata az Európai Közösség számára készült el. (1991) 8 alapfunkciót határoztak meg: azonosítás hitelesítés jogosultság kiosztás jogosultság ellenőrzés bizonyíték biztosítás újraindítási képesség hiba áthidalás átviteli biztonság
ITSEC A 8 alapfunkció 3 alapfenyegetettség ellen hat: bizalmasság elvesztése sértetlenség elvesztése rendelkezésre állás elvesztése Biztonsági osztályok (10 osztályt ajánl): F-C1, F-C2, F-B1, F-B2, F-B3, F-IN, F-AV, F-DI, F-DC, F-DX (Speciális irányultságúak, azaz: adatbázis kezelés, gyártási folyamatok, adat integritás, adatátvitel, végül azonosítás-hitelesítés-átvitelbiztonság-bizonyítás biztonság)
ITB ajánlás A MEH ITB 3 osztály alkalmazását ajánlja: alapszintű biztonság fokozott biztonság kiemelt biztonság Összefüggés a TCSEC, az ITSEC, és az ITB között: TCSEC ITSEC ITB 12.sz B3 F-B3 B2 F-B2 Kiemelt B1 F-B1 Fokozott C2 F-C2 Alap C1 F-C1
Common Criteria (1) Eddig volt: TCSEC ITSEC INFOSEC (a NATO-ban) (de van még CTCPEC, X-Open, stb. biztonsági osztály is ) Ezek sok mindenben különböznek, helyenként egymásnak ellentmondanak, ugyanakkor használatban vannak. Kéne egy közös nyelv
Common Criteria (2) Egységes követelményeket határoz meg a megvalósítás módjától függetlenül Egységes kiértékelési módszert ad a rendszerek, termékek biztonsági értékeléséhez Meghatározza az informatikai rendszerek biztonsági követelményeinek katalógusát. Ebben van: Osztály Család Komponens Elem Használható szoftver és hardver elemekhez is
Common Criteria (3) A követelmények nem hardver vagy szoftver specifikusak Definiálható a biztonsági funkcionalitás, azaz a CC megfogalmazás szerint a védelmi profil (VP, angol: PP - Protection Profile) A kiértékelés eredménye egy dokumentum, amely kijelenti A rendszer egy adott védelmi profilnak megfelel Egy adott biztonsági cél követelményeinek megfelel A definiált 7 biztonsági osztály valamelyikének való megfelelés (EAL 1-7) (ÉGSz Értékelési Garancia Szint, angol: EAL - Evaluation Assurance Level)
A Common Criteria dokumentum felépítése Bevezető és általános modell Funkcionális biztonsági követelmények Biztonsági tanúsítás, biztonsági osztályba sorolás
Bevezető és általános modell A vizsgált rendszer (ÉT Értékelés Tárgya, angol: TOE Target Of Evaluation) Védelmi profilok (PP Protection Profile) o o TOE meghatározása Biztonsági környezet, célok, követelmények Védelmi cél (BRT: Biztonsági Rendszer Terv, angol: ST Security Target) o o o TOE meghatározása Biztonsági környezet, elemek, követelmények PP felhasználási megjegyzések
Funkcionális biztonsági követelmények CC funkcionális osztályok: o Audit o Kommunikáció o Kriptográfiai funkciók o Adatvédelem Most a családok, pl.: adatvédelmi családok: o Hozzáférés jogosultsági politika o Hozzáférés jogosultsági funkciók o Adathitelesség o Adatforgalom ellenőrzési funkciók o Sértetlenség,
Biztonsági tanúsítás, biztonsági osztályba sorolás Objektumok (Assurance Classes) Biztonsági követelmény osztályok (Security Assurance) o EAL1: Funkcionálisan tesztelt o EAL2: Strukturálisan tesztelt o EAL3: Módszertanilag tesztelt és ellenőrzött o EAL4: Módszertanilag tervezett, tesztelt, auditált o EAL5: Félformális módszerrel tervezett és tesztelt o EAL6: Félformális módon ellenőrzött tervezés és tesztelés o EAL7: Formálisan ellenőrzött tervezés és tesztelés A CC biztonsági osztályok megfeleltetése a TCSEC/ITSEC-nek
Common Criteria Eredmények(?): Viszonylag kevés a létező, felhasználható védelmi profil, ami van, az is nagyrészt a tűzfalakra vonatkozik Bár precízen megfogalmazott követelményei vannak, nagyobb szaktudást igényel Még nem elterjedt (a jelenlegi termékek többnyire TCSEC, ITSEC minősítéssel rendelkeznek)
MEH ITB 12. ajánlás Hazai ajánlás, Címe: Informatikai Rendszerek Biztonsági Követelményei Elsősorban az ITSEC-re épül, 3 biztonsági osztályt határoz meg: Információ védelmi alapbiztonsági osztály: IV-A: (személyes adatok, üzleti titkok, pénzügyi adatok, ) Információ védelmi fokozott biztonsági osztály: IV-F (szolgálati titkok, különleges személyi adatok, banktitkok, ) Információ védelmi kiemelt biztonsági osztály: IV-K (államtitkok, katonai szolgálati titkok, nagy értékű üzleti titkok, )
Ajánlások közötti biztonsági megfeleltetés TCSEC ITSEC X-Open CC 12. sz. ajánlás B3 F-B3 EAL6 B2 F-B2 X-PRIV EAL5 K B1 F-B1 X-MAC EAL4 F C2 F-C2 X-DAC, X-AUDIT EAL3 A C1 F-C1 X-BASE EAL2
Támadási módok DoS SYN flood ICMP flood OOB Nuke Sniffer Address Spoofing DDoS
DoS támadások Olyan tevékenység, amelynek során (eredményeképp) egy bizonyos szolgáltatás színvonala csökken vagy a szolgáltatás megszűnik. Ilyenek pl.: SYN flood ICMP flood OOB Nuke,
SYN flood (1) A TCP kapcsolat felépülésének sérülékenységén alapul A kapcsolat felépülése röviden: A kliens (amelyik kapcsolatot akar teremteni a másik géppel) kérelmet küld a célgépnek, megadva a portot, amelyhez csatlakozni akar A server visszaküldi a kérelem nyugtázását, valamint lefoglalja a memóriájában a kapcsolathoz szükséges adatterületet. A kliens nyugtázza a server válaszát, és ezzel a kapcsolat létrejött, lehet TCP csomagokat küldözgetni mindkét irányban.
SYN flood (2) Kicsit bővebben: A kliens egy SYN (Synchronize) kérelmet küld a servernek egy ISN-nel (Initial Sequence Number) együtt. Az operációs rendszer az ISN-ből rakja sorrendbe az érkező TCP csomagokat A server megkapja a SYN-t, és válaszol egy SYN-nel, egy ISN-nel és egy ACK-val (nyugtázás) A kliens nyugtázza a server válaszát (ACK). A SYN flood lényege, hogy a kliens az első lépést végrehajtja, de a harmadikat már nem.
SYN flood (3) A server nem kap választ a nyugtázásra, tehát várakozni kezd. Egy idő után törli a kapcsolatot, és felszabadítja a memóriát. Ha ez idő alatt elég sok kérelem érkezik, a port használhatatlanná válik, akár le is fagyhat Ha a csomagok mindig más és más IP címről érkeznek, akkor egy közbenső tűzfalat is ki lehet ütni (ha nem elegendően nagy a memóriája)
Land támadások A támadó hamis forráscímet vagy portszámot tartalmazó SYN csomagot küld (csak egyet). Ettől a célgép kiakadhat. Oka a TCP/IP hibás implementálása (programozói hiba)
IP spoofing (IP hamisítás) IP hamisítás, amikor a támadó olyan forrást szimulál, amelyben a célgép megbízik, ezáltal a szimulált gépnek megfelelő jogosultságot kap a betolakodó. IP spoofing-nak neveznek egy másik támadási módot is, amikor a támadó (hamis IP címmel, hogy ne keveredjen gyanúba) az elküldött SYN csomag után újabbat, majd megint újabbat küldd ugyanarról a fiktív címről. Az összeomlás oka a kapcsolatnyitási eljárás hibája.
Teardrop Hamis fejlécekkel rendelkező TCP vagy UDP csomag küldése a célgépnek, amelyekben az IP fejléc: Azonosítás Zászló (Flag) és Darabeltolás mezői valótlan adatokkal vannak feltöltve. A célgép ezek után megpróbálja összerakni a teljes csomagot, amitől lelassul, ill. lefagy.
Ping of Death Nagyobb, mint 64 Kbyte-os ICMP csomag küldése a célgépnek. Az akkori OS-ek jelentős része azonnal lefagyott tőle.
ICMP flood (1) ICMP (Internet Control Message Protocol): adminisztrációs protokoll, amely szétkapcsolódott gépeknek (is) szolgáltat jelentéseket Az ICMP flood programok segítségével hamis jelentéseket lehet készíteni, így a TCP/IP implementációk azt hiszik, megszakadt kapcsolatuk a célgéppel. Protocol Unreachable Port Unreachable Network Unreachable Host Unreachable Source Route Failed,...
ICMP flood (2) Az ICMP Echo nem szétkapcsolást okoz, hanem választ vár a célgéptől (ping) Sok csomag esetén (sok kliens) a server nem győzi a válaszolást, lassítja a servert, bedugítja a hálózatot
OOB Nuke Windows-os gépek esetében a NETBIOS portján (139-es port) speciális csomagokat lehet küldeni. Eredmény: Kék halál hálózat lefagyás (reboot)
Sniffer a hálózati kártyát ún. promiscuous módba kell kapcsolni (minden MAC címre reagál ) Detektálása (több módon is lehet, pl: Ping, ARP, DNS, Sourcerouting, Decoy, Host metódus) Ez vegyes: Ping + Arp módszer: végig pingelni a lokális hálózatot, így megszerezni minden interface MAC címét Ezután egyenként (!) minden IP-hez tartozó MAC címet véletlenszerűen megváltozatni az ARP cache-ben, és újra pingelni. Amelyik gép erre válaszol, annak az interface-e promiscuous módban van...
Address spoofing (1) Adott A és B, akik kommunikálnak egymással, Adott C, ami át akarja venni B szerepét Ha C képes figyelni B szegmensét, úgy adott pillanatban A routerének küld egy ICMP redirect csomagot B router-e nevében. Ezután A router-e úgy tudja majd, hogy B (akivel kommunikálni akar) C router-ének irányába van. Védekezés tűzfallal, ha kívülről jött a támadás.
Address spoofing (2) Ha a támadó nem tudja figyelni a hálózat forgalmát: Első lépésként a támadó (C) A router-ébe tör be. És átírja a routing táblát, Ekkor A a C irányába fogja kezdeményezni a kapcsolatot C gépe természetesen B gépének IP címét veszi fel de ha a router SNMP-vel menedzselt, úgy esetleg lehetséges átkonfigurálni betörés nélkül is. Célszerű ARPWATCH-ot használni, amely figyeli a hálózati forgalmat, és a detektált IP és MAC címeket folyamatosan kiírja...
Még DDoS Buffer overflow (stack overflow) Programok: trinoo tribe flood network stacheldracht,