1 / 36

Adatbázisok védelme

Adatbázisok védelme. DBMS - OS Többszintű Sokszínűség Komplex objektumok Dinamikus. DBMS szinten: Rendelkezésre állás Integritási Hozzáférési. Adatbázisok védelmi kérdései. Hozzáférési védelem. OS. DBMS. DBMS account. System priv. MAC. MRL. ROLE. DAC. OS account.

gefjun
Download Presentation

Adatbázisok védelme

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Adatbázisok védelme DBMS - OS Többszintű Sokszínűség Komplex objektumok Dinamikus DBMS szinten: Rendelkezésre állás Integritási Hozzáférési

  2. Adatbázisok védelmi kérdései

  3. Hozzáférési védelem OS DBMS DBMS account System priv. MAC MRL ROLE DAC OS account Int. control Profile AUDIT

  4. Felhasználó azonosítás Authentication OS szintű DBMS szintű vegyes Oracle, SQLServer,... Megbízható OS, Hálózatos struktúra, Rugalmasság,…. Jelszó tárolása : titkosítás, egyutas-kódolás, DBMS

  5. DES algoritmus Data Encryption Standard, 1976) blokk kódolás egykulcsú hatékony kétirányú rugalmas

  6. DES

  7. Adatbázis biztonsága Integrity check: az adatok egységességének, az értékek épségének ellenőrzése ellenőrző összegek alkalmazása jogosult alkalmazás védelmi szűrő titkosítás RDBMS módosítás ellenőrzés lekérdezés ellenőrzés KL

  8. Integrity check CRC : ellenőrző összeg képzése egy blokknyi adatot egy bináris polinommal reprezentál polinom osztáson alapszik, a maradék lesz az ellenőrző összeg M : k bit hosszú adat.F : n bit hosszú ellenőrző összegT = M + FP : n+1 hosszú minta (osztó). T osztható P-vel T= M*x^n + R M*x^n / P = Q + R/P

  9. CRC algoritmus FUNCTION CDC PARAMETERS szoveg P, n, N1 M = BITLSHIFT(szoveg,n) ; S = 0 FOR i = N1-1 TO 0 STEP -1 S = BITOR( BITLSHIFT(S,1), IIF( BITTEST(M,i),1,0)) IF BITTEST(S,n) THEN S = BITXOR(S,P) ENDIF S = BITAND(S,2^n-1) ENDFOR RETURN S speciális mod-2 polinom osztás művelet

  10. CRC minta M: 1010001101 P: 110101 R: 1110

  11. Adatbázis biztonsága jogosultsági adatok védelmi stratégia felhasználók (szubjektumok) DB objektumok védelmi módszerek védelmi rendszer

  12. Hozzáférés védelem Egyszintű Decentralizált, DAC Szerep-orientált RBAC Többszintű Centralizált, MAC

  13. Adatbázis biztonsága A DAC védelmi modell: - decentralizált - hozzáférési mátrix alapú - tulajdonos szabja meg a jogokat - szubjektumok csoportokat alkothatnak szubjektum peter scott li234 művelet, feltétel SELECT INSERT DELETE ... auto S,D - S dolgozo - S,I,U S kiado - S S objektum szerviz S,I,D - S hozzáférési mátrix

  14. Adatbázis biztonsága SQL védelmi utasítások: objektum jogok GRANT művelet ON objektum TO szubjektum WITH GRANT OPTION; REVOKE művelet ON objektum FROM szubjektum DENY művelet ON objektum TO szubjektum; privilégiumok GRANT művelet TO szubjektum WITH ADMIN OPTION; REVOKE művelet FROM szubjektum rendszertáblák SELECT … FROM USER_COL_PRIVS; SELECT … FROM USER_SYS_PRIVS; KL

  15. GRANT SELECT ON V TO T Felh. Obj. Jog GRANT UPDATE ON V TO T T V +S V +U T REVOKE UPDATE ON V FROM T T DENY SELECT ON V TO T T V -S REVOKE SELECT ON V FROM T grant select on dd to proba deny select on dd to proba revoke select on dd from proba create role r1 grant select on dd to proba grant select on dd to r1 grant r1 to proba deny select on dd to proba revoke select on dd from proba exec sp_addrole 'r1' exec sp_addrolemember 'r1','proba'

  16. Adatbázis biztonsága RBAC védelmi modell: centralizált hozzáférés adminisztrálás szubjektumok nem rendelkeznek az objektumokkal csoportokhoz rendeljük a jogosultságokat a szubjektumokhoz csoportokat rendelünk lehet egyszintű vagy hierarchikus Access Matrix felhasználók csoportok objektumok

  17. Adatbázis biztonsága Szerepkörök (role): jogok hierarchikus halmaza CREATE ROLE rnev IDENTIFIED BY jelszo GRANT művelet ON objektum TO rnev GRANT rnev TO szubjektum GRANT rnev1 TO rnev2 SET ROLE TO rnev IDENTIFIED BY jelszo ALTER USER fnev DEFAULT ROLE lista CREATE ROLE A CREATE ROLE B GRANT X TO A ... GRANT A TO B GRANT V TO B ... GRANT B TO U1 GRANT S TO U1 T S U2 V Role B W Y Role A Z U1 X

  18. USER A SYST. PRIV. SYST. PRIV. ROLE F OBJ. PERM. OBJ. PERM. ROLE C TABLE T TABLE Q USER B

  19. Adatbázis biztonsága UZEM DOLGOZO U S I SQL parancsok:…

  20. Oracle mintapélda

  21. Adatbázis biztonsága Az MAC védelmi modell: centralizált hozzáférés adminisztrálás a szubjektumok csak a számunkra megadott kereteken belül rendelkezhetnek a jogosultságokkal titkossági kód: L(S,A) S : titkossági szint U < C < S < TS A : terület TS S C U

  22. Olvashat !! Adatot átmásolhat !!! TH Egy trójai faló modul épül be a programba DAC és a trójai faló Brown: read, write Employee Word Processor Megosztott program Brown Black, Brown: read, write Black’s Employee Black

  23. Bell & LaPadula model

  24. Adatbázis biztonsága • Az MAC működése: • dominancia: L1  L2  S1  S2 és A1  A2 • szabályok: • - untrusted felhasználó csak olyan erőforrást olvashat, • melynek dominálja a kódját, • untrusted felhasználó csak olyan erőforrást módosíthat, • melynek kódja megegyezik az ő kódjával, • untrusted felhasználó csak olyan erőforrást bővíthet, • melynek kódja dominálja az ő kódját. TS bővítés S olvasás, írás C olvasás U

  25. Adatbázis biztonsága minta MAC védelmi séma

  26. Adatbázis biztonsága A SeaView védelmi modell: kibővített MAC: megbízhatósági kód: I(C,A) C : megbízhatósági szint U < I < VI < C A : terület + DAC elemek TS S C C VI I U U

  27. Dominancia a megbízhatóságnál dominancia: I1  I2  S1  S2 és A1  A2 szintek: U < I < VI < C szubjektumnál az U kódú mindent olvashat objektumnál a C kódút mindenki olvashatja Itt felfele irányban lehet olvasni, lefelé nem • Egy s felhasználó csak azon o erőforrást olvashatja, • melynek megbízhatósága a felhasználó megbízhatóságát • dominálja: I(o) I(s). • - Egy s felhasználó csak azon o erőforrást bővítheti, • melynek megbízhatóságát dominálja a felhasználó • megbízhatósága: I(o) I(s). • h

  28. Adatbázis biztonsága A SeaView működése: hozzáférési osztály C = (L, I) dominancia: C1  C2  L1  L2 és I1  I2 szubjektumhoz olvasási és írási hozzáférési osztály: Cr, Cw szabályok: - Egy s felhasználó csak azon o erőforrást olvashatja, melynek elérési osztályát a felhasználó olvasási osztálya dominálja: CR(s)  C(o). - Egy s felhasználó csak azon o erőforrást bővítheti, melynek elérési osztálya dominálja a felhasználó írási osztályát: CW(s)  C(o). Cw Cr

  29. Adatbázis biztonsága minta SeaView védelmi séma

  30. Adatbázis biztonsága Többszintű táblák (MLR): mező szintű védelmi objektumok R(A1,s1,A2,s2,…,sr) egyazon relációnak több védelmi szinten létezhet előfordulása polyinstantiation : egy adatelem több különböző értékkel szerepelhet a különböző szinteken névkoroszt fiz TC Jani C 45 S b1 S 34 C C Ica U 23 S b1 U 12 C U Tomi S 24 S b3 S 56 TS S TS C névkor oszt fiz Jani 45 b1 34 Ica 23 b1 12 Tomi 24 b3 56 névkor osztfiz Jani NULL NULL 34 Ica NULL b1 12 KL

  31. Adatbázis biztonsága Integritási szabályok a különböző nézetek között: - egyed integritási - hivatkozási - NULL érték kezelési - példány kapcsolati - általánosított függőségi Hivatkozási - ha  FK (kapcsolókulcs), hogy Ai, Aj FK és t[Ai]  NULL, t[Aj]  NULL  t[Ci]  t[Cj]; -  t'[PK]  ref(FK), hogy t'[PK]  t[FK]; - t'[CPK]  t[CFK]. Egyed integritási -  PK elsődleges kulcs attribútum halmaz; - Ai PK  t[Ai]  NULL; - Ai, Aj PK  t[Ci]  t[Cj]; - Ai PK  t[Ci]  t[CPK]. KL

  32. Adatbázis biztonsága Null érték szabálya - t[Ai]  NULL  t[Ci]  t[CPK]; - RC nem tartalmaz befoglalt rekordokat, ahol t befoglalja s-et, ha  Ai-re: t[Ai, Ci]  s[Ai, Ci], vagy t[Ai]  NULL és s[Ai]  NULL. Példány kapcsolati - RC'(RC, C'), ahol a  filter függvény működése:  t  RC esetén, ahol t[CPK]  C' :  t' RC': t'[PK, CPK]  t[PK, CPK] és  Ai PK : t'[Ai, Ci]  t[Ai, Ci], ha t[Ci]  C'; <NULL, t[CPK]> egyébként. Általánosított függőségi  RC elemére és  Ai-re : (PK, CPK, Ci)  Ai.

  33. Trusted Oracle Védelmi szint jelzése: ROWLABEL pszeudó-mező Join-nál a minimum szint jön át CREATE TABLE dolgozo (…. CHECK (rowlabel BETWEEN .’ ‘. AND ‘.’.))

  34. VFP zárolás Közvetett: SET EXCLUSIVE ON| OFF USE .. EXCLUSIVE | SHARED ISEXCLUSIVE() ALIAS() DBF() DBC() CLOSE TABLE (ALL) CLOSE DATABASE (ALL) PRIVATE DATA SESSION

  35. VFP zárolás Kézi: RLOCK() FLOCK() ISRLOCKED() ISFLOCKED() UNLOCK SET REPROCESS TO ON ERROR ERROR() MESSAGE()

  36. VFP zárolás Pufferelés alapú: CURSORSETPROP(”BUFFERING”,n) n = 1,2,3,4,5 CURSORGETPROP() TABLEUPDATE(n, tabla) n = 0,1,2, TABLEREVERT(n,tabla) BEGIN TRANSACTION END TRANSACTION ROLLBACK

More Related