Informatiebeveiliging in moderne databasebeheersystemen. Bescherming van informatie in databases

De database is een kritieke bedrijfsbron die goed moet worden beschermd met de juiste controles. Er zijn gevaren als:

  • * diefstal en vervalsing van gegevens;
  • * verlies van vertrouwelijkheid (schending geheimhouding);
  • * schending van de onschendbaarheid van persoonsgegevens;
  • * verlies van integriteit;
  • * verlies van beschikbaarheid.

Gegevensbeschermingskwesties worden vaak behandeld in combinatie met:

het handhaven van de gegevensintegriteit (althans in een informele context),

hoewel dit in feite totaal verschillende concepten zijn. Beschermingstermijn:

verwijst naar de beveiliging van gegevens tegen ongeoorloofde toegang, wijziging of opzettelijke vernietiging, en integriteit verwijst naar de nauwkeurigheid of betrouwbaarheid van de gegevens. Deze termen kunnen worden gedefinieerd zoals hieronder weergegeven.

  • · Gegevensbescherming betekent voorkomen dat onbevoegde gebruikers er toegang toe hebben.
  • Het handhaven van de gegevensintegriteit betekent voorkomen:

hun vernietiging wanneer ze worden geopend door geautoriseerde gebruikers.

Met andere woorden, het beschermen van uw gegevens is het verkrijgen van garanties dat gebruikers mogen doen wat ze proberen te doen, en het handhaven van integriteit is het verkrijgen van garanties dat de acties die gebruikers proberen te ondernemen legaal zijn.

Er zijn enkele overeenkomsten tussen deze concepten, aangezien zowel bij het waarborgen van gegevensbescherming als bij het handhaven van hun integriteit, het systeem wordt gedwongen te controleren of sommige van de vastgestelde beperkingen niet worden geschonden door gebruikersacties. Deze beperkingen zijn geformuleerd (meestal door de databasebeheerder) in een geschikte taal en opgeslagen in de systeemcatalogus. Bovendien moet het DBMS in beide gevallen op de een of andere manier alle acties van de gebruiker volgen en controleren of ze voldoen aan de vastgestelde beperkingen.

Deze twee onderwerpen worden afzonderlijk besproken, aangezien gegevensintegriteit een fundamenteel concept is, terwijl gegevensbescherming een secundair concept is, ondanks het grote praktische belang ervan (vooral in deze tijd van alomtegenwoordig internet, e-commerce en aanverwante toegangsmiddelen).

Veel aspecten van het gegevensbeschermingsprobleem worden hieronder beschreven.

  • · Juridische, sociale en ethische aspecten (heeft een bepaalde persoon bijvoorbeeld een wettelijke basis om bijvoorbeeld informatie op te vragen over een lening die aan een klant is toegewezen).
  • · Fysieke omstandigheden (bijvoorbeeld is de ruimte met computers of terminals afgesloten of anderszins bewaakt).
  • · Organisatorische kwesties (bijvoorbeeld hoe de onderneming die eigenaar is van het systeem beslist wie toegang krijgt tot bepaalde gegevens).
  • · Beheerskwesties (bijvoorbeeld hoe in het geval van het organiseren van de beveiliging van het systeem tegen onbevoegde toegang met behulp van een wachtwoordschema, de geheimhouding van de gebruikte wachtwoorden wordt gewaarborgd en hoe vaak deze worden gewijzigd).
  • · Hardwarebeveiliging (bijvoorbeeld of de gebruikte computerapparatuur ingebouwde beveiligingsfuncties heeft, zoals sleutels voor het beschermen van opgeslagen informatie of geprivilegieerde besturingsmodus).
  • · Mogelijkheden van het besturingssysteem (bijvoorbeeld of het gebruikte besturingssysteem de inhoud van RAM- en schijfbestanden wist nadat het werk ermee is gestopt, en hoe het herstellogboek wordt verwerkt).
  • · Aspecten die direct verband houden met het DBMS zelf (bijvoorbeeld of het gebruikte DBMS het concept van gegevenseigenaar ondersteunt).

Gewoonlijk ondersteunen moderne DBMS'en een van de twee wijdverbreide methoden voor het organiseren van gegevensbescherming - selectief of verplicht, en soms beide methoden. In beide gevallen kan de te beschermen data-eenheid (of data-object) worden gekozen uit een breed scala, van de gehele database tot specifieke onderdelen van individuele tuples. De verschillen tussen de twee methoden worden hieronder samengevat.

In het geval van selectieve controle krijgt elke gebruiker gewoonlijk verschillende toegangsrechten (ook wel privileges of bevoegdheden genoemd) tot verschillende objecten. Bovendien hebben verschillende gebruikers meestal verschillende toegangsrechten tot hetzelfde object. (Gebruiker U1 kan bijvoorbeeld wel toegang krijgen tot object A maar de toegang tot object B wordt geweigerd, terwijl gebruiker U2 mogelijk toegang krijgt tot object B maar de toegang tot object A wordt geweigerd.) Daarom zijn verkiezingsschema's zeer flexibel.

In het geval van verplichte controle daarentegen wordt aan elk dataobject een bepaald classificatieniveau toegewezen en aan elke gebruiker een bepaald beveiligingsniveau. Als gevolg hiervan krijgen alleen die gebruikers met de juiste veiligheidsmachtiging het recht op toegang tot het gegevensobject. Referentieschema's zijn meestal hiërarchisch en daarom strenger. (Als gebruiker U1 toegang heeft tot object A, maar geen toegang tot object B, dan zal object B in het beveiligingsschema op een hoger niveau moeten worden geplaatst dan object A, wat betekent dat er geen gebruiker U2 kan zijn die hebben toegang tot object B, maar hebben geen toegang tot object A.)

Ongeacht welk schema wordt gebruikt (verkiezing of mandaat), alle beslissingen met betrekking tot het verlenen van rechten aan gebruikers om bepaalde bewerkingen met bepaalde objecten uit te voeren, moeten uitsluitend worden genomen door het managementpersoneel. Daarom gaan al deze problemen verder dan de mogelijkheden van het DBMS zelf, en het enige dat het in deze situatie kan doen, is beslissingen teweegbrengen die op een ander niveau zullen worden genomen. Op basis van deze overwegingen kunnen de volgende voorwaarden worden bepaald.

  • · De aangenomen organisatorische beslissingen moeten aan het systeem worden gecommuniceerd (d.w.z. gepresenteerd als beschermingsbeperkingen uitgedrukt in een bepaalde taal om de beschermingsvereisten te beschrijven) en moeten constant beschikbaar zijn voor het systeem (opgeslagen in de systeemcatalogus).
  • · Het is duidelijk dat het systeem bepaalde middelen moet hebben om inkomende verzoeken om toegang te controleren in relatie tot de vastgestelde beschermingsregels. (Hier verwijst een toegangsverzoek naar een specifieke combinatie van de gevraagde bewerking, het aangevraagde object en de verzoekende gebruiker.) Deze controle wordt doorgaans uitgevoerd door het DBMS-beveiligingssubsysteem, dat soms ook het autorisatiesubsysteem wordt genoemd.
  • · Om te beslissen welke specifieke beveiligingsbeperkingen van toepassing zijn op een bepaald toegangsverzoek, moet het systeem de bron van dat verzoek kunnen identificeren, d.w.z. de verzoekende gebruiker kunnen identificeren. Daarom moet de gebruiker bij het verbinden met het systeem meestal niet alleen zijn identificatiecode invoeren (om aan te geven wie hij is), maar ook een wachtwoord (om te bevestigen dat hij is wie hij beweert te zijn). Er wordt aangenomen dat het wachtwoord alleen bekend is bij het systeem en bij die personen die het recht hebben om dit gebruikers-ID te gebruiken. Het proces van het verifiëren van een wachtwoord (d.w.z. verifiëren dat gebruikers zijn wie ze zeggen dat ze zijn) wordt authenticatie genoemd.

Er moet ook worden opgemerkt dat er nu veel geavanceerdere authenticatiemethoden zijn dan eenvoudige wachtwoordcontrole, die een reeks biometrische apparaten gebruiken voor authenticatie: vingerafdruklezers, irisscanners, handpalmanalysers, stemcontroles, apparaten voor handtekeningherkenning, enz. Al deze apparaten kunnen effectief worden gebruikt om 'persoonlijke kenmerken waar niet mee geknoeid kan worden' te testen.

Overigens moet met betrekking tot gebruikers-ID's worden opgemerkt dat hetzelfde ID kan worden gedeeld met een aantal verschillende gebruikers binnen een groep. Op deze manier kan het systeem groepen gebruikers ondersteunen (ook wel rollen genoemd), waarbij alle leden dezelfde toegangsrechten krijgen, bijvoorbeeld alle medewerkers van de boekhoudafdeling. Bovendien kunnen de bewerkingen voor het toevoegen van nieuwe gebruikers aan een groep of het verwijderen ervan onafhankelijk van de bewerkingen voor het instellen van toegangsprivileges voor deze groep tot bepaalde objecten worden uitgevoerd.

Selectief toegangscontroleschema

Er moet nogmaals worden opgemerkt dat veel DBMS's ofwel selectieve of verplichte toegangscontroleschema's ondersteunen, of beide soorten toegang tegelijkertijd. Het zou echter nauwkeuriger zijn om te zeggen dat in werkelijkheid in de meeste DBMS alleen selectieve toegang wordt ondersteund en alleen in sommige - alleen verplicht. Omdat in de praktijk de regeling voor selectieve toegang veel gebruikelijker is.

Er moet enige taal worden gebruikt om selectieve beveiligingsbeperkingen te definiëren. Om voor de hand liggende redenen is het veel gemakkelijker om aan te geven wat is toegestaan ​​dan wat niet. Daarom ondersteunen dergelijke talen meestal de definitie van niet de beschermingsbeperkingen zelf, maar de bevoegdheden, die in wezen tegengesteld zijn aan de beschermingsbeperkingen (dat wil zeggen, ze staan ​​sommige acties toe en verbieden ze niet). Laten we een korte beschrijving geven van een hypothetische taal voor het definiëren van bevoegdheden aan de hand van het volgende voorbeeld.

SUBSIDIE OPHALEN (S #, NAAM, STAD), VERWIJDEREN

AAN Jim, Fred, Mary;

Dit voorbeeld illustreert het feit dat toegangsautorisaties in het algemeen vier componenten bevatten die hieronder worden beschreven.

  • 1. Naam (in dit voorbeeld SA3 is "leveranciersautoriteit drie" de bevoegdheid van leverancier nummer 3). De in te stellen referenties worden onder deze naam in de systeemdirectory geregistreerd.
  • 2. Een of meer privileges gespecificeerd in de GRANT-clausule.
  • 3. De naam van de relatievariabele waarop de rechten worden toegepast, gespecificeerd in de ON-constructie.
  • 4. Veel gebruikers (meer precies, gebruikers-ID's), die de gespecificeerde privileges krijgen met betrekking tot de gespecificeerde relatievariabele gespecificeerd door de TO-component.

Het volgende is de algemene syntaxis van de autorisatieverklaring.

GEZAG

STUDIEBEURS

AAN

TOT ;

Verplicht toegangscontroleschema

Verplichte methoden voor toegangscontrole worden toegepast op die databases waarin de opgeslagen informatie een vrij statische en rigide structuur heeft, wat typerend is voor bijvoorbeeld sommige militaire of overheidsorganisaties. Het basisidee is dat elk data-object een bepaald classificatieniveau krijgt toegewezen (of het vereiste geheimhoudingslabel, bijvoorbeeld "Top Secret", "Secret", "For official use", enz.), en dat elke gebruiker een niveau van beveiliging met gradaties, vergelijkbaar met bestaande classificatieniveaus. Er wordt aangenomen dat deze niveaus een strikt hiërarchisch systeem vormen (bijvoorbeeld "Top Secret"> "Secret"> "Officieel gebruik", enz.). Vervolgens kunnen we op basis van deze bepalingen twee zeer eenvoudige regels formuleren, eerst voorgesteld door Bell en La Padula.

  • 1. Gebruiker i kan alleen gegevens van object j ophalen als het goedkeuringsniveau groter is dan of gelijk is aan het classificatieniveau van object j (eenvoudige beveiligingseigenschap).
  • 2. Gebruiker i kan object j alleen wijzigen als zijn vrijgaveniveau gelijk is aan het classificatieniveau van object j (stereigenschap).

De eerste regel is vrij voor de hand liggend, terwijl de tweede nadere uitleg behoeft. Allereerst moet worden opgemerkt dat anders de tweede regel als volgt kan worden geformuleerd: "Elke informatie die door gebruiker i wordt geregistreerd, krijgt per definitie automatisch een classificatieniveau dat gelijk is aan het goedkeuringsniveau van gebruiker i". Zo'n regel is bijvoorbeeld nodig om te voorkomen dat een gebruiker met een veiligheidsmachtiging geheime gegevens vastlegt

"Geheim", in een bestand met een lager classificatieniveau, dat het hele systeem van geheimhouding schendt.

Data encryptie

Voorheen werd aangenomen dat een kwaadwillende gebruiker illegaal probeert in te breken in de database met behulp van de normale toegangsmiddelen die op het systeem beschikbaar zijn. Nu moeten we het geval overwegen waarin hij probeert in te breken in de database, omzeilend systeem, d.w.z. fysiek verplaatsen van externe opslagmedia of verbinding maken met een communicatielijn. De meest effectieve methode om met dergelijke bedreigingen om te gaan, is gegevensversleuteling, d.w.z. opslag en verzending van bijzonder belangrijke gegevens in gecodeerde vorm.

Om de basisconcepten van gegevenscodering te leren, moeten enkele nieuwe concepten worden geïntroduceerd. De originele (niet-versleutelde) gegevens worden platte tekst genoemd.

De platte tekst wordt versleuteld met een speciaal versleutelingsalgoritme. De invoergegevens voor een dergelijk algoritme zijn de platte tekst en de coderingssleutel, en de uitvoergegevens zijn de getransformeerde vorm van de platte tekst, die de cijfertekst wordt genoemd. De details van het coderingsalgoritme kunnen worden gepubliceerd, maar de coderingssleutel wordt in geen geval bekendgemaakt. Het is de cijfertekst, onbegrijpelijk voor iedereen die de coderingssleutel niet heeft, die in de database wordt opgeslagen en via de communicatielijn wordt verzonden.

Voorbeeld 5.1. Laat de volgende regel als leesbare tekst worden gegeven.

AS KINGFISHERS VALLEN UIT (Voor de eenvoud wordt ervan uitgegaan dat de gegevens alleen spaties en hoofdletters bevatten.) Neem ook aan dat de volgende regel de coderingssleutel is.

Het gebruikte versleutelingsalgoritme wordt hieronder beschreven.

1. Splits de platte tekst op in blokken waarvan de lengte gelijk is aan de lengte van de encryptiesleutel.

AS + KI NGFIS HERS + CATCH + FIRE

  • (Spaties worden hier aangegeven met een "+".)
  • 2. Vervang elk leesteken door een geheel getal in het bereik 00-26 met 00 voor een spatie, 01, ... voor A en 26 voor Z. Het resultaat is de volgende reeks cijfers.
  • 0119001109 1407060919 0805181900 0301200308 0006091805
  • 3. Herhaal stap 2 voor de coderingssleutel, wat resulteert in de volgende reeks cijfers.
  • 0512091520
  • 4. Nu worden de waarden die in plaats van elk teken in elk blok leesbare tekst zijn geplaatst, opgeteld met de overeenkomstige waarden vervangen door de tekens van de coderingssleutel, en voor elke som van deze twee waarden, bepaal en noteer de rest van de deling door 27.
  • 5. Vervang elk nummer op de onderste regel van item 4 door het bijbehorende tekstteken.

FDIZB SSOXL MQ + GT HMBRA ERRFY

Als de coderingssleutel bekend is, kan de decoderingsprocedure in dit voorbeeld vrij eenvoudig worden uitgevoerd. De vraag is hoe moeilijk het is voor een illegale gebruiker om de coderingssleutel te bepalen, die zowel de leesbare tekst als de cijfertekst heeft. In dit eenvoudige voorbeeld is dit niet erg moeilijk te bereiken, maar het is vrij duidelijk dat complexere versleutelingsschema's kunnen worden ontwikkeld. Idealiter zou het versleutelingsschema zo moeten zijn dat de moeite die het kost om het te ontcijferen vele malen groter is dan de verkregen voordelen. (In feite is deze opmerking van toepassing op alle aspecten van het beveiligingsprobleem, dwz de kosten van een poging om het beveiligingssysteem te doorbreken moeten veel hoger zijn dan het potentiële voordeel hiervan.) Het uiteindelijke doel van het vinden van dergelijke schema's moet worden beschouwd als een schema voor waarvan de ontwikkelaar zelf, met open en versleutelde varianten van hetzelfde deel van de tekst, niet in staat is de sleutel te bepalen en daarom een ​​ander deel van de cijfertekst ontsleutelt.

Beveiligingsbeheer wordt meestal op drie niveaus uitgevoerd:

  • * databaseniveau;
  • * besturingssysteem niveau;
  • * netwerklaag.

Op het niveau van het besturingssysteem moet de databasebeheerder (DBA) rechten hebben om databasegerelateerde bestanden te maken en te verwijderen. Integendeel, gewone gebruikers zouden dergelijke rechten niet moeten hebben. Raadpleeg de standaarddocumentatie van Oracle voor informatie over de beveiliging van het besturingssysteem. In veel grote organisaties werkt de DBA- of databasebeveiligingsbeheerder nauw samen met computersysteembeheerders om de inspanningen te coördineren om beveiligingsvereisten en -praktijken te ontwikkelen.

Databasebeveiligingsvereisten beschrijven procedures voor het verlenen van toegang tot een database door aan elke gebruiker een gebruikersnaam/wachtwoordpaar toe te wijzen. De vereisten kunnen ook een beperking opleggen aan de hoeveelheid middelen (schijfruimte en processortijd) die aan één gebruiker worden toegewezen, en de noodzaak om gebruikersacties te auditen stellen. Het beveiligingsmechanisme op databaseniveau biedt ook toegangscontrole tot specifieke objecten in het databaseschema.

Beveiliging houdt in dat een bepaalde gebruiker een bepaalde handeling mag uitvoeren.
DBMS moet voldoen aan 3 hoofdaspecten van informatiebeveiliging:
1. Vertrouwelijkheid
2. Integriteit
3. Beschikbaarheid

In dit bericht zullen we het hebben over privacy
A) Beveiligingsbeheer
In moderne DBMS worden zowel selectieve als verplichte benaderingen van gegevensbeveiliging ondersteund.

In het geval van selectieve controle heeft een bepaalde gebruiker verschillende rechten, of privileges, en bevoegdheden bij het werken met verschillende objecten. Aangezien verschillende gebruikers verschillende toegangsrechten tot hetzelfde object kunnen hebben, zijn dergelijke systemen zeer flexibel.

Bij verplicht beheer krijgt elk object een bepaald kwalificatieniveau, maar krijgt elke gebruiker toegangsrechten tot een of ander niveau; en dienovereenkomstig, als je toegangsrechten hebt tot een bepaald niveau - alles wat op dit niveau is vastgelegd, heb je toegang tot alles. Er wordt aangenomen dat dergelijke systemen rigide en statisch zijn, maar ze zijn gemakkelijker te beheren: het is gemakkelijk om alle objecten een willekeurig nummer (1, 2, 3, 4 ...) te geven en vervolgens toegang aan de gebruiker toe te kennen aan iemand tot 5e, iemand tot 6e, aan wie tot 7e niveau, etc. in volgorde van toenemende prioriteit.

In conventionele DBMS'en wordt ofwel het juiste besturingssysteemmechanisme of wat in de connect SQL-instructie staat gebruikt om een ​​gebruiker te identificeren en te authenticeren (er zijn speciale parameters voor toegang bij het verbinden). Op het moment dat een sessie met de databaseserver wordt gestart, identificeert de gebruiker de contactpersoon of login met zijn naam en het wachtwoord is het authenticatiemiddel.

ID Is een korte naam die de gebruiker voor het DBMS op unieke wijze identificeert. Het is de basis van beveiligingssystemen. Voor gebruikers worden geschikte accounts aangemaakt.

Identiteit stelt een entiteit (d.w.z. een gebruiker of proces dat optreedt namens een gebruiker) in staat zichzelf een naam te geven, d.w.z. geef uw naam (login).

Door middel van authenticatie (d.w.z. authenticatie) zorgt de tweede partij (het besturingssysteem of het eigenlijke DBMS) ervoor dat de persoon werkelijk is wie hij beweert te zijn.

Voor bijzonder kwetsbare systemen (bijvoorbeeld bankieren, etc.) worden complexere beveiligingssystemen gebruikt. Zo zijn er bijvoorbeeld systemen bekend met de opeenvolgende creatie van verschillende vragen van persoonlijke aard, met een tijdslimiet voor hun antwoord en het aantal pogingen (zoals bij elke mobiele telefoon).

De ANSI ISO-standaard gebruikt de term autorisatie-ID in plaats van gebruikers-ID.

Het beveiligingssysteem op de server kan op 3 manieren worden georganiseerd:
1. standaard beveiliging: wanneer de server afzonderlijke toegang vereist (d.w.z. u betreedt het besturingssysteem met één wachtwoord en de databaseserver met een ander);
2. geïntegreerde beveiliging (vaak gebruikt): voer het besturingssysteem in met een gebruikerswachtwoord en dezelfde naam met hetzelfde wachtwoord wordt geregistreerd in het DBMS. Het is niet nodig om de tweede keer in te voeren. Ooit kwam een ​​persoon op de server, maar ach, laat hem alles gebruiken wat er is.
3. een gemengd systeem waarmee je zowel op de eerste als op de tweede manier binnen kunt komen.

B) Toegangscontrole
Meestal gebruikt een DBMS willekeurige toegangscontrole: wanneer de eigenaar van een object (in een mum van tijd de databasebeheerder, maar vaker de eigenaar) machtigingen aan iemand overdraagt. In dit geval kunnen rechten worden overgedragen aan individuele gebruikers, gebruikersgroepen of rollen.

1. Voor individuele gebruikers wordt een account aangemaakt met een login en wachtwoord. Meestal wordt dit gedaan door de databasebeheerder.

2. Groep - een benoemde verzameling gebruikers, meestal zijn groepen verenigd op basis van een organisatie (per afdeling, per kamer, per team, enz.). Formeel gezien kan een gebruiker verschillende groepen betreden en het systeem betreden met verschillende mogelijkheden (moet aangeven namens welke groep hij is opgenomen).

3. Rol - een bepaalde, vaak dienstverlenende, lijst met kansen. Bijvoorbeeld een accountant, winkelier, etc. Een persoon komt naar zijn werk, hij krijgt dergelijke toegangsrechten toegewezen en hij kan ermee naar binnen. Deze optie wordt nu vrij goed gebruikt, aangezien het is best handig om erover te onderhandelen bij de onderneming. Als je wilt, kun je deze rol herzien, en het zal iedereen in één keer veranderen. Over het algemeen wordt aangenomen dat rolprivileges voorrang hebben op groepsprivileges.

Hogere veiligheidseisen nemen we op dit moment niet in overweging. Dergelijke beveiligingssystemen met meerdere niveaus werden in de jaren 70 van de twintigste eeuw ontwikkeld. Beroemde achternamen: Bella, Lapadula.

B) Hoofdcategorieën gebruikers
Over het algemeen kunnen DBMS-gebruikers worden onderverdeeld in 3 grote grote groepen:
1.databaseserverbeheerder (en zijn assistenten): beheer installatie, serverconfiguratie, registratie van gebruikers, groepen, rollen, enz. Bezit alle databankrechten.
2. de beheerder van een aparte database (de server kan duizenden databases bedienen).
3. andere eindgebruikers: programmeurs (maak programma's voor het beheer van bepaalde processen: boekhouding, personeel ...), werknemers van bedrijven, enz.

Doorgaans wordt een eerste account gemaakt voor databasebeheerders om de eerste aanmelding uit te voeren. Bijvoorbeeld in InterBase: SISDBA met masterkey. In SQL-server: SA en leeg wachtwoord. Oracle heeft 3 originele accounts: SIS, SYSTEM en MANAGER.

D) Soorten privileges
In feite zijn het er twee:
... beveiligingsprivileges: toegewezen aan een specifieke gebruiker, worden in de regel opdrachten van het type gebruiker aanmaken aangemaakt. Maar het aanmaken van een gebruiker in de database betekent niet dat je hem overal rechten op geeft. Hij kan gewoon de database in, maar er is niets te zien. Na creatie moet het nog rechten krijgen.
... toegangsprivileges of permissies: verleen de aangemaakte gebruiker bepaalde privileges. Andere 2 commando's worden hier gebruikt: Grant - verleen het recht op iets (lezen, toevoegen, verwijderen, een invoer wijzigen ...), Revolce.

Hoe worden toegangsrechten geïmplementeerd of beperkt:
... er zijn operationele beperkingen - het recht om bepaalde operators uit te voeren. Meestal zijn dit selecteren, invoegen, verwijderen en bijwerken. In veel DBMS'en (inclusief Oracle) kunnen ongeveer 25 verschillende operationele rechten worden verleend.
... Waardenbeperkingen geïmplementeerd door de View-engine.
... Beperkingen op resources geïmplementeerd via toegangsrechten voor databases.
... Rechten op systeemniveau (voor Oracle). Wanneer de gebruiker maximaal 80 verschillende instructies mag uitvoeren.

De verzameling van alle privileges die kunnen worden bezeten wordt PUBLIEK genoemd. Standaard heeft de databasebeheerder PUBLIEKE rechten - rechten op alle objecten en acties.

E) Controlestudies
Aangezien er geen absoluut onkwetsbare systemen zijn, of in ieder geval onkwetsbaar in zekere zin, bij het werken met zeer belangrijke gegevens of bij het uitvoeren van zeer ernstige kritieke bewerkingen, gebruiken ze de registratie van sommige acties (d.w.z. bij het uitvoeren van een actie, automatisch een lok-bestand is geschreven, meestal een tekstbestand, is het gemakkelijk om het via triggers te maken). Dus als je alles in meer detail in dit bestand schrijft, kun je bijhouden wie wat wanneer heeft gedaan.

E) Loggen en controleren
Onder logging wordt verstaan ​​het verzamelen en accumuleren van informatie over gebeurtenissen die plaatsvinden in het informatiesysteem. Inclusief het gebruik van lok-bestanden.

Een audit wordt opgevat als een analyse van de verzamelde informatie, die ofwel onmiddellijk (bijna in realtime), ofwel periodiek (eenmaal per dag, eenmaal per week ...) wordt uitgevoerd.

Waar wordt logging en auditing voor gebruikt?
Er zijn hier verschillende hoofddoelen:
... Zorgdragen voor verantwoordelijkheid van gebruikers en beheerders. Hierdoor is het mogelijk om te bepalen wie waar heeft aangevraagd, of iemand onbegrijpelijke rechten heeft, of iemand het wachtwoord heeft bespioneerd, etc.
... Om de volgorde van gebeurtenissen te kunnen reconstrueren. Eventuele ongewenste wijzigingen - u kunt teruggaan.
... Detectie van pogingen om de informatiebeveiliging te doorbreken (hacking).
... Identificatie van verschillende problemen in de werking van het informatiesysteem (bijvoorbeeld iemand kreeg weinig gegevens voor zijn werk, iemand veel)

Als we het hebben over het Oracle DBMS, als over het vlaggenschip van de basisconstructie, zijn er 3 auditlogboeken:
... Privilege-logboek (bijhouden van het gebruik van privileges)
... Operator log (houdt bij welke operators vaak worden gebruikt voor objecten, dan kun je iets omzetten in procedures, performance verbeteren, belangrijk log)
... Logboek op objectniveau (controleert de toegang tot objecten)

  • Dudkina Anastasia Sergejevna, vrijgezel, student
  • Agrarische Staatsuniversiteit van Bashkir
  • BESCHERMING
  • PHPMYADMIN
  • MYSQL
  • DATABASE

Het artikel bespreekt de belangrijkste gebieden van gegevensbescherming die zijn opgeslagen of verwerkt in databasebeheersystemen (DBMS). Er worden manieren beschreven om de vertrouwelijkheid en integriteit van informatie te beschermen met gebruiksvriendelijke tools die in het DBMS zijn ingebouwd.

  • Informatietechnologieën van interactie in gemeentelijk bestuur
  • Op sommige eigenschappen van uitgebreide structuren op distributies van bi-metrische variëteiten
  • Over een klasse van uitgebreide bi-metrische structuren op distributies van sub-Riemann-variëteiten
  • Visuele presentatie van statistieken met behulp van een bellendiagram

Op dit moment kan vrijwel geen enkele moderne organisatie niet zonder het gebruik van databases bij haar activiteiten. Databases (DB) zijn het belangrijkste en meest waardevolle bezit voor elk bedrijf. Aangezien de database zeer gevoelige of vertrouwelijke informatie kan bevatten, moet u de bescherming ervan zeer serieus nemen. Eventuele storingen in de werking van het DBMS en databases kunnen catastrofale gevolgen hebben.

De belangrijkste manieren om informatie te beschermen zijn onder meer:

  • wachtwoord beveiliging;
  • bescherming van velden en records van databasetabellen.
  • het vaststellen van toegangsrechten tot database-objecten;
  • encryptie van gegevens en programma's;

De database is op twee niveaus beveiligd:

  • op wachtwoordniveau;
  • op gebruikersniveau (bescherming van gebruikersaccounts en geïdentificeerde objecten).

PhpMyAdmin is een programma geschreven in PHP en ontworpen om een ​​MySQL-server over het world wide web te beheren. phpMyAdmin ondersteunt een breed scala aan MySQL-bewerkingen. De meest gebruikte bewerkingen worden ondersteund via de gebruikersinterface (databasebeheer, tabellen, velden, links, indexen, gebruikers, rechten, enz.), terwijl u tegelijkertijd elke SQL-query direct kunt uitvoeren.

De informatiebeveiliging van het ontwikkelde project is op verschillende niveaus gewaarborgd. Op het eerste niveau wordt de bescherming van informatie verzorgd door het phpMyAdmin-systeem zelf, te beginnen bij de ingang naar het controlepaneel waar het paneel een gebruikersnaam en wachtwoord moet invoeren.

Het volgende niveau van bescherming wordt geboden door het MySQL DBMS, dat ook toegangsrechten afbakent.


Figuur 2. Overzicht rekeningen

Daarnaast kunt u niet alleen de toegang beperken tot het databasebeheersysteem zelf, maar ook afzonderlijk tot databases, tot databasetabellen, tot records van specifieke tabellen en zelfs tot de waarden van velden van tabellen of records. Opgemerkt moet worden dat niet alle DBMS ingebouwde coderingsfuncties hebben. Daarom kan deze methode niet universeel worden genoemd. Dit DBMS biedt twee sets van hetzelfde type coderingsfuncties, waarvan de ene het DES-algoritme implementeert en de andere - AES. Daarnaast heeft MySQL verschillende hash-algoritmen. De set cryptografische functies van dit DBMS ziet er als volgt uit:

Tabel 1. Cryptografische functies van het DBMS

AES-gegevenscoderingsfuncties gebruiken een 128-bits coderingssleutel, dat wil zeggen, codering met sleutels van 192 en 256 bits, geleverd door de AES-standaard, is niet geïmplementeerd in MySQL. De coderingssleutel wordt expliciet gespecificeerd als een van de functieparameters. Daarentegen bieden de functies DES_ENCRYPT () en DES_DECRYPT (), die versleutelen met het TripleDES-algoritme, naast het expliciet specificeren van de versleutelingssleutel, de eenvoudigste manier om sleutels te beheren in de vorm van een sleutelbestand met genummerde sleutelwaarden. Deze functies zijn echter standaard uitgeschakeld; om ze te gebruiken, moet u SSL-ondersteuning inschakelen in de DBMS-configuratie.

De functie ENCRYPT () kan alleen worden gebruikt op Unix-besturingssystemen omdat het gegevens versleutelt met behulp van de systeemaanroep crypt (). Wat betreft de gebruikte hash-functies, bevat de MySQL-documentatie een waarschuwing dat de onderliggende algoritmen zijn gekraakt (voor details, zie met name in, dus u moet ze voorzichtig gebruiken). MySQL biedt echter nog geen meer persistente hash-functies in plaats van de bestaande. De bovenstaande cryptografische functies zijn ook heel gemakkelijk te gebruiken. De volgende query plaatst bijvoorbeeld de waarde "tekst" versleuteld op de sleutel "wachtwoord" in de tabeltabel: INSERT INTO table VALUES (1, AES_ENCRYPT ( "tekst", "wachtwoord" )); Merk op dat het formaat van het veld waarin de gecodeerde waarde wordt geschreven, moet voldoen aan de beperkingen die worden opgelegd door het gebruikte crypto-algoritme - in dit geval moet het binair zijn (bijvoorbeeld van de VARBINARY type) en ga uit van uitlijning in overeenstemming met de blokgrootte van het 128-bit AES-algoritme ...

Het databasebeveiligingssysteem speelt een cruciale rol bij het automatiseren van de controle over gebruikersacties die met databases werken, het beschermen tegen externe en interne bedreigingen en het vergroten van de betrouwbaarheid van de database.

Bibliografie

  1. Melnikov, V.P. Informatiebeveiliging en informatiebescherming. / VP Melnikov,
  2. S.A. Kleimenov, A.M. Petrakov // 3e druk, Sr. - M.: Academie, 2008 .-- 336 d.
  3. SP Panasenko Uitgebreide informatiebeveiliging. // Informatie Technologie. -2001 - nr. 3 - p. 14-16
  4. Het werkprogramma van de discipline "Informatiebeveiliging": richting van de opleiding 080500 Bedrijfsinformatica [elektronische bron]: profiel van de opleiding Informatiesystemen in het bedrijfsleven: kwalificatie (graad) van een afgestudeerde bachelor / Bashkir State Agrarian University, [Dept. informatica en informatietechnologie; comp. AR Basyrov]. - Oefa: [b. en.], 2013. - 16 p. - B.c.
  5. Site van de PHP-webtoepassing "phpMyAdmin" [Elektronische bron]. - Toegangsmodus: http://www.phpmyadmin.net/home_page/, gratis

Onderwerp: Databasebeveiligingsproblemen. Zorgen voor veiligheid in de sms

Type: Cursussen | Grootte: 46,53K | Gedownload: 76 | Toegevoegd 15-10-16 om 05:44 | Beoordeling: 0 | Meer cursussen


INLEIDING ... 3

Hoofdstuk 1: Informatiebeveiliging definiëren ... 7

1.1 Basisdefinities en concepten.. 7

1.2. Bescherming van informatie in databases.. 10

Hoofdstuk 2: Sleutelbenaderingen voor databasebeveiliging 15

2.1 Beleid van gegevenstoegangsrechten... 15

2.2. Toegang tot DBMS-beveiligingssysteem. 16

2.3. Organisatie van het beveiligingssysteem voor de MS SQL Server DBMS.. 21

CONCLUSIE ... 33

LIJST VAN GEBRUIKTE LITERATUUR ..... 37

INVOERING

Toegang tot de bronnen van het informatiesysteem is in feite toegang tot de gegevens die zijn opgeslagen in de opslag onder beheer van het DBMS. In deze context is een inbreuk op de beveiliging ongeautoriseerde toegang die een potentiële aanvaller op de een of andere manier kan verkrijgen. Daarom is het bieden van betrouwbare en veilige authenticatie een cruciale taak voor zowel ontwikkelaars als systeembeheerders. Er zijn verschillende basisverificatiemethoden die een verschillende mate van beveiliging bieden. De keuze van de methode moet gebaseerd zijn op de volgende factoren:

Betrouwbaarheid, geldigheid en onweerlegbaarheid;

Oplossingskosten, administratiekosten;

Naleving van algemeen aanvaarde normen;

Gemakkelijke integratie in kant-en-klare oplossingen en nieuwe ontwikkelingen.

Over het algemeen zijn betrouwbaardere methoden duurder om te ontwikkelen en toe te passen. De veiligste authenticatiemethode van vandaag is tweefactorauthenticatie met behulp van X.509 digitale certificaten die zijn opgeslagen in het beveiligde geheugen van smartcards of USB-sleutels. Beide apparaten bieden dezelfde mate van authenticatiebeveiliging, maar smartcards vereisen extra hardware, wat natuurlijk de kosten van de oplossing verhoogt.

Verder moet je letten op de volgende aspecten:

Integratie met externe authenticatiesystemen;

Verbindingsbeveiliging;

Gegevensbescherming op elk niveau;

Selectieve gegevenscodering;

Gedetailleerde audit van gebruikersacties;

Gecentraliseerd beheer van gebruikersauthenticatie en autorisatie.

Gewoonlijk besteden softwareontwikkelaars niet de nodige aandacht aan gegevensbeschermingskwesties en proberen ze maximaal te voldoen aan de wensen van klanten voor de functionaliteit van het systeem. Dientengevolge worden dergelijke problemen vaak opgelost tijdens de implementatie van het systeem, en dit leidt tot situaties waarin de "beschermde" applicatie "geheime" codes bevat, gestikt in de broncode van programma's of in de configuratiebestanden.

Bepaalde moeilijkheden voor ontwikkelaars worden gevormd door situaties waarin de klant van het systeem zelf niet echt weet tegen wie en wat eigenlijk moet worden beschermd.

Bij het integreren van systemen bij de onderneming van een klant besteden integrators veel aandacht aan bescherming, maar hier verschuift de nadruk naar externe aanvallen - trojans, virussen, hackers.

In dit geval blijven de vragen van "interne" veiligheid open. In een dergelijke situatie zijn de inspanningen van systeembeheerders, die niet volledig op de hoogte zijn van de bedrijfsprocessen van de onderneming, gericht op het "knippen" van gebruikersrechten, wat de werking van het systeem als geheel aanzienlijk bemoeilijkt en soms leidt tot volledig stoppen.

Maatregelen voor informatiebescherming moeten het aanpakken van de volgende problemen omvatten:

Identificatie van veiligheidsbedreigingen en groepen potentiële overtreders;

Definitie van groepen applicaties die de bedrijfsprocessen van de onderneming ondersteunen;

Definitie van systeemgebruikersgroepen;

Bepaling van objecten die gegevens opslaan en onderworpen zijn aan bescherming;

Definitie van beveiligingsbeleid;

Bepaling van opslagmethoden voor links gebruiker - toegangsrechten - gegevens;

Keuze van authenticatiemethode en methoden voor de implementatie ervan;

Voorbereiding van een methodologie voor het waarborgen van de veiligheid van de netwerkinfrastructuur, DBMS, applicatieservers, clientapplicaties.

Een zeer populaire manier om ongeautoriseerde toegang tot de inhoud van de database te krijgen, is door te proberen de databasebestanden op OS-niveau te lezen (zoals gewone bestanden). Als de databasebeheerder geen aanvullende maatregelen heeft genomen om de informatie erin te versleutelen (en dit is meestal het geval), dan kan een aanvaller door eenvoudig de databasebestanden over het netwerk te kopiëren en de inhoud ervan direct te bekijken. toegang tot de informatie die is opgeslagen in de database.

Daarom moet een veilig systeem zo ontworpen en gebouwd worden dat:

De DBMS-softwarebestanden waren niet beschikbaar via het netwerk;

Er was geen netwerktoegang tot de databasebestanden op de server - gebruikers krijgen toegang

op de informatie die is opgeslagen in de database, alleen via het DBMS;

De databasebestanden zelf waren versleuteld. Versleuteling van databasebestanden wordt gebruikt als:

eenvoudige en effectieve manier om gegevens te beschermen tegen ongeoorloofde toegang

bij een fysieke aanval door een indringer op de informatiedrager;

De databaseserver fungeerde niet als bestandsserver. De relevantie van dit onderwerp is te wijten aan het feit dat het gebruik van databases tegenwoordig wordt gevonden in bijna elk werkterrein, van een bibliotheek tot een organisatie die zich bezighoudt met transport.

Het doel van dit werk is om de belangrijkste taken en problemen te overwegen bij de ontwikkeling van een optimaal systeem van bescherming en beveiliging dat aan de databasebeheerder is toegewezen. In dit artikel gaan we in principe in op de problemen die met beveiliging te maken hebben, en ook op het handhaven van de integriteit van de database.

Het object van onderzoek in dit werk is een database. We zullen zowel het concept van een database als een geheel beschouwen, en we zullen specifieke voorbeelden bekijken van enkele van de belangrijkste databases, zoals MS SQL Server, Oracle, Microsoft Access.

De meeste termen en basisconcepten zijn ontleend aan het boek van de auteurs O.L. Golitsyn, N.V. Maksimov. en andere "Databases", dit maakte het mogelijk om in het begin een soort introductie te geven van het belangrijkste deel van het cursuswerk.

In dit werk zullen we dus zowel algemene concepten en databasetaken beschouwen, als specifieke voorbeelden en problemen die we tegenkomen in speciale gevallen.

Het grootste deel van dit werk zal gericht zijn op het overwegen van de belangrijkste aspecten van databasebescherming, evenals op de implementatie ervan op verschillende voorbeelden van bestaande DBMS.

BIBLIOGRAFIE

  1. Artyomov.DK, "Microsoft SQL Server 2000: Professionals for Professionals" - Rostov on Don: Russian Edition, 2005, blz. 88-112
  2. Golitsyna O.L., Maksimov N.V. en anderen "Databases" - Moskou: INFRA-M, 2007, p. 10-135.
  3. Goliev Yu.I., Larin DA, Trishin AE, Shankin GP Cryptografische activiteit in de VS in de 18e-19e eeuw. // Bescherming van informatie. Zelfverzekerd. nr. 6, 2004, blz. 68-74
  4. Greenwald R., Stakoviak R., Stern J. Oraclee 11g. De basis. 4e druk." - Moskou: Symbool, 2009 - S. 65-97
  5. GashkovS. B. U., E. A. Primenko, M. A. Cherepnev "Cryptografische methoden voor informatiebescherming" - Moskou: Academie, 2010, blz. 40-45
  6. Dunaev V. I. "Databases. SQL-taal voor de student "- St. Petersburg: SPb: Peter, 2007, pp. 91-95"
  7. Isheynov V. Ya., MV Metsatunyan "Bescherming van vertrouwelijke informatie" - Chelyabinsk: Forum, 2009, blz. 114-145
  8. Korneev I.K., E.A. "Bescherming van informatie op kantoor" - Kazan: TC Welby, 2008, blz. 38-56
  9. Koshelev VE, "Databases in Access 2007" - Moskou: Binom, 2009, blz. 47 - 98
  10. Krigel A.K., Boris Trukhnov “SQL. User's Bible "- Moskou: William, 2010, blz. 68 - 71"
  11. Kumskova I. A. "Databases" .- Moskou: KnoRus, 2011, blz. 140-142
  12. Partyka TL, Popov I.I. "Informatiebeveiliging" - Moskou: Forum: infra, 2004, pp. 45-87
  13. Severin V. A. "Uitgebreide informatiebescherming bij de onderneming" - Moskou: Gorodets, 2008, C 92
  14. Sergeeva Yu. S. "Informatiebeveiliging. Lecture notes "- St. Petersburg: A-Prior, 2011, blz. 150-176"
  15. Smirnov, S. N. "Beveiliging van databasesystemen" - Moskou: Helios ARV, 2007, 224 p.
  16. Databasebeveiliging op het voorbeeld van Oraclee [elektronische bron] .URL: http://www.flenov.info/favorite.php?artid=32
Het eerste deel van het artikel is gewijd aan innovaties in data- en servicetoegangscontrole. Het vervolg van het artikel is gewijd aan het minimaliseren van bevoegdheden voor uitvoerbare code, het versleutelen van verkeer en gegevens in SQL Server 2005, evenals enkele andere aspecten van de beveiliging van dit DBMS. Het derde deel van het artikel biedt enige begeleiding voor netwerkbeheerders en applicatieontwikkelaars, en bespreekt ook de beveiligingshulpmiddelen van verschillende edities van SQL Server in vergelijking met sommige andere DBMS. Het doel van dit artikel is om databasebeheerders en inop dit probleem te attenderen en een van de mogelijkheden te laten zien om een ​​aanval op het MS SQL DBMS uit te voeren, waardoor een potentiële indringer niet alleen toegang krijgt tot de informatie die is opgeslagen in de database, maar ook volledige controle over de DBMS-server. Het beveiligen van bedrijfsdatabases is tegenwoordig een van de hotste onderwerpen. En dit is begrijpelijk. De paradox is echter dat met veel aandacht voor het beschermen van databases van buitenaf, velen vergeten om ze van binnenuit te beschermen. Na de tragedie van 11 september begon de Amerikaanse regering een breed scala aan maatregelen te nemen om terroristische aanslagen te voorkomen. Een van deze maatregelen is het ondersteunen van de ontwikkeling en implementatie van IT om verdachte personen te identificeren en aan te houden, het risico op veiligheidsdreigingen te verkleinen en situaties te voorkomen die tot dergelijke aanvallen kunnen leiden. Een van de technologische elementen die met name nodig zijn om uitingen van terrorisme te voorkomen, is databasetechnologie. Meestal wordt deze taak toevertrouwd aan databasebeheerders die hiervoor noch de tijd noch de nodige opleiding hebben. Waaruit bestaat de werkdag van een DBA? Het hangt natuurlijk allemaal af van wat voor soort antwoord je wilt krijgen - kort of gedetailleerd. Het lange antwoord strekt zich mijlenver uit: installatie, upgrades, prestatieplanning, afstemming, het verzekeren van de gezondheid van de applicatie en het herstellen van gegevens van back-ups. Dit zijn slechts de eerste punten van de lijst, er zijn geen dringende maatregelen die dagelijks moeten worden genomen. In moderne omstandigheden wordt elke activiteit geassocieerd met de werking van grote hoeveelheden informatie, die door een breed scala aan mensen wordt uitgevoerd. Gegevensbescherming tegen ongeoorloofde toegang is een van de prioritaire taken bij het ontwerp van elk informatiesysteem. De recente toename van het belang van informatie heeft geleid tot hoge eisen aan de vertrouwelijkheid van gegevens. Databasebeheersystemen, met name relationele DBMS'en, zijn op dit gebied het dominante hulpmiddel geworden. Het waarborgen van de informatiebeveiliging van een DBMS wordt cruciaal bij het kiezen van een specifiek middel om het vereiste beveiligingsniveau voor een organisatie als geheel te waarborgen. ALS EEN BEDRIJF HAAR INTELLECTUELE EIGENDOM VERHOGT EN ELKE WERKNEMER GEMAKKELIJK DE NODIGE (EN NIET MEER DAN) INFORMATIE KAN VERKRIJGEN, MAG HET BEDRIJF HOPEN OP EEN VERHOGING VAN DE PRODUCTIVITEIT. MAAR ALS DE GEGEVENS NIET BESTELD WORDEN, DAN VERWACHT DE ONDERNEMING, ONDANKS HET ENTHOUSIASME VAN DE MEDEWERKERS, IN DE MEESTE GEVALLEN DE FALEN. Bijna geen enkel modern bedrijf kan zonder het gebruik van databases. In het eenvoudigste geval, om kleine hoeveelheden gegevens op te slaan, kan Microsoft Access worden gebruikt als een databasebeheersysteem (DBMS).