Covert Channels


  Share  
|


Covert kanalen gebruik van het gedeelde middelen als wegen van de communicatie. Dit vereist het delen van de ruimte of het delen van de tijd.

Een verkapte opslag kanaal maakt gebruik van een attribuut van de gedeelde bron. Een verkapte timing kanaal maakt gebruik van een in tijd of bestellen relatie tussen de toegangen tot een gedeelde bron.

Een geheime timing kanaal wordt meestal gedefinieerd in termen van een real-time klok of een timer, maar temporele relaties soms gebruik geen van beide. Een bestelling van evenementen betekent een time-gebaseerde relatie die bestaat noch een real-time klok, noch een timer.

Een tweede eigenschap maakt onderscheid tussen een verkapte kanaal dat alleen de afzender en de ontvanger toegang hebben tot en een verkapte kanaal dat anderen toegang hebben tot ook.

Een geruisloze geheime zender is een verkapte kanaal dat een bron ter beschikking van de afzender en de ontvanger alleen gebruikt. Een lawaaierige geheime kanaal is een verkapte kanaal dat een resource beschikbaar voor andere onderwerpen dan de afzender en de ontvanger, alsmede naar de afzender en de ontvanger gebruikt.

Het verschil tussen deze twee soorten kanalen ligt in de noodzaak om te filteren op externe informatie. Alle informatie die de ontvanger krijgt van een geruisloze kanaal komt van de afzender. Echter, in een lawaaierige kanaal, informatie van de afzender wordt gemengd met zinloze informatie of het lawaai van andere instellingen die gebruik maken van de bron. Een lawaaierige verkapte kanaal vereist een protocol bij deze storingen te minimaliseren.

De belangrijkste eigenschappen van geheime kanalen zijn bestaan en bandbreedte. Bestaan vertelt ons dat er een kanaal waarlangs informatie kan worden doorgegeven. Bandbreedte vertelt ons hoe snel informatie kan worden verzonden. Covert kanaal analyse vaststelt beide eigenschappen. Dan is de kanalen kunnen worden geëlimineerd of hun bandbreedtes kunnen worden verminderd.

Detectie van Covert Channels

Covert kanalen vereisen delen. De wijze waarop de bron wordt gedeeld controles die onderwerpen kunnen verzenden en ontvangen van informatie met behulp van die gedeelde bron. Detectiemethoden beginnen met deze observatie.

Porras en Kemmerer hebben bedacht een aanpak voor die veiligheid schendingen die voortkomen uit de toepassing van de schuld bomen. Het model van de doorstroming van informatie via gedeelde bronnen met een boom. De paden van stroom worden geïdentificeerd in deze structuur. De analist bepaalt of elke stroom legitiem is of verkapte.

Een geheime flow boom is een boom-gestructureerde representatie van de opeenvolging van handelingen die bewegen informatie van het ene proces naar het andere. Het bestaat uit vijf soorten van knooppunten.

  1. Doelpunt symbolen specificeren dat moet bestaan voor de informatie te stromen. Er zijn verschillende dergelijke staten:

    1. Een wijziging doel is bereikt wanneer een attribuut wordt gewijzigd.

    2. Een erkenning doel is bereikt, wanneer een wijziging van een attribuut wordt gedetecteerd.

    3. Een directe erkenning doel is bereikt wanneer een onderwerp van de wijziging van een attribuut kunnen detecteren door te verwijzen naar het direct of te bellen naar een functie die wordt afgeleverd.

    4. Een erkenning afgeleid doel is bereikt wanneer een onderwerp van de wijziging van een attribuut kan detecteren zonder referencement rechtstreeks en zonder dat een functie die verwijst naar de attribuut rechtstreeks. Zo kan het onderwerp bel een functie vervult die een van de twee berekeningen afhankelijk van de waarde van het kenmerk in kwestie.

    5. Een-via afgeleid doel is bereikt wanneer de informatie wordt doorgegeven van de ene attribuut naar andere attributen met behulp van een bepaald primitieve operatie (zoals een system call).

    6. Een erkennen-new-state doel is bereikt wanneer een attribuut dat werd gewijzigd toen informatie werd doorgegeven gebruikt wordt door de gespecificeerde-via een afgeleid doel. De waarde niet te worden bepaald, maar het feit dat het kenmerk is gewijzigd moet worden bepaald.

  2. Een operatie symbool is een symbool dat een primitieve operatie vertegenwoordigt. De operatie symbolen kunnen variëren tussen systemen, indien zij hebben verschillende primitieve operaties.

  3. Een mislukking symbool geeft aan dat informatie kan niet worden verzonden langs het pad waarop het ligt. Het betekent dat het doel waarvoor zij is verbonden kan niet worden voldaan.

  4. Een en symbool is een doel dat wordt bereikt wanneer beide van de volgende gelden voor alle kinderen:

    1. Als het kind is een doel, dan is het doel is bereikt.

    2. Het kind is een operatie.

  5. Een of symbool is een doel dat wordt bereikt wanneer een van de volgende geldt voor alle kinderen:

    1. Als het kind is een doel, dan is het doel is bereikt.

    2. Het kind is een operatie.

Het construeren van de boom is een drie-stappen. Om de stappen beton, presenteren we een eenvoudige set van operaties en dan vragen of ze een verkapte kanaal kan maken.

Voorbeeld: Neem een bestand systeem waarbij elk bestand heeft drie kenmerken. De boolean attributen op slot en ISOpen waar zijn wanneer het bestand wordt gesloten of geopend, respectievelijk, en zijn valse anders. Het derde kenmerk, inuse, is een set die het proces bevat ID van elk proces dat het bestand geopend. De functie read_access (p, f) is waar als p proces heeft gelezen rechten over bestand f, en lege (s) is waar indien ingesteld en heeft geen leden. De functie retourneert willekeurig een van haar argumenten willekeurig gekozen. De volgende activiteiten worden gedefinieerd.

(* Slot het bestand als het niet is vergrendeld en niet geopend *) (* anders vermeld wordt vergrendeld door terugkerende valse *) procedure lockfile (f: bestand): Boolean; beginnen indien niet f.locked en lege (f.inuse) dan f.locked: = true; end; (* openen van het bestand *) procedure Unlockfile (f: file); beginnen indien f.locked dan f.locked: = false; end; (* zeggen of het bestand is vergrendeld *) functie Filelocked (f: bestand): Boolean; begin Filelocked: = f.locked; end; (* open het bestand als het niet is vergrendeld en de *) (* proces heeft het recht om het bestand te lezen *) procedure OpenFile ( F: file); beginnen indien niet f.locked en read_access (process_id, f) vervolgens (* voeg het proces ID aan de inuse set *) f.inuse = f.inuse + process_id; einde te maken; (* als het proces kan lezen het dossier, zeggen als het *) (* bestand is geopend, anders een waarde terug willekeurig *) functie Fileopened (f: bestand): Boolean; beginnen indien niet read_access (process_id, f) vervolgens Fileopened: = random (true, false ); else Fileopened: = niet isleeg (f.inuse); einde

Ervan uitgaande dat processen niet toegestaan om te communiceren met elkaar, wordt de lezer uitgenodigd om te proberen een verkapte opslag kanaal te vinden.

De eerste stap in de bouw van een verkapte stroom boom is te bepalen welke kenmerken (indien van toepassing) de primitieve operaties referentie, wijzigen en terug te keren.

VOORBEELD: De functies in het voorgaande voorbeeld van invloed bestandskenmerken op verschillende manieren, als volgt.

  Lockfile Unlockfile Filelocked Openfile Fileopened
referentie vergrendeld, inuse vergrendeld vergrendeld vergrendeld, inuse inuse
wijzigen vergrendeld Ø Ø inuse Ø
terug Ø Ø vergrendeld Ø inuse

Ø Het symbool betekent dat er geen attribuut wordt beïnvloed in de aangegeven wijze.

De tweede stap begint met het doel het vinden van een geheime opslag kanaal dat sommige attribuut gebruikt. De analist construeert de geheime stroom boom. Het type doel de controles op de bouw, als volgt.

  1. De bovenste doel vereist dat het attribuut worden gewijzigd en dat de wijziging kunnen worden herkend. Vandaar dat zij een kind heeft (en een symbool), die op zijn beurt heeft twee kinderen (een wijziging doel symbool en een erkenning doel symbool).

  2. Een wijziging doel vereist enige primitieve operatie om het attribuut te wijzigen. Daarom heeft zij een of kind, die een kind operatie symbool per transactie voor alle activiteiten die passen het kenmerk heeft.

  3. Een erkenning doelstelling vereist dat een onderwerp, hetzij direct herkennen of afleiden, een verandering in een attribuut. Het heeft een of symbool als haar kind. Het of symbool heeft twee kinderen, een directe erkenning doel symbool en de andere een afgeleid doel erkenning symbool.

  4. Een directe erkenning doel vereist dat een operatie toegang tot het attribuut. Net als de wijziging doel, heeft het een of kind, en dat kind heeft op zijn beurt een kind operatie symbool voor elke operatie die geeft het attribuut. Als er geen operatie geeft het attribuut, een mislukking symbool is bijgevoegd.

  5. Een afgeleid doel erkenning vereist dat de wijziging worden afgeleid aan de hand van een of meer andere attributen. Daarom heeft zij een kind, of een symbool, dat een kind afgeleid-via symbool voor elke actie die verwijst naar een attribuut heeft en dat sommige attribuut (mogelijk dezelfde als die werd verwezen) wijzigt.

  6. Een afgeleid-via doel vereist dat de waarde van het attribuut worden afgeleid via een operatie en een erkenning van de nieuwe staat van het attribuut als gevolg van deze operatie. Vandaar dat zij een kind heeft (en een symbool), die twee kinderen heeft (een operatie symbool voor de primitieve operatie gebruikt om de conclusie te trekken en een nieuwe herkennen-doel staat symbool).

  7. Een erkennen-new-state doel vereist dat de waarde van het attribuut worden afgeleid via een operatie en een erkenning van de nieuwe staat van het attribuut als gevolg van deze operatie. Dit laatste vereist een erkenning doel voor het attribuut. Dus, het kind erkennen knoop van de-nieuwe-state doel is een symbool of het symbool, en voor elk attribuut waarmee de gevolgtrekking van de wijziging van het kenmerk in kwestie, of het symbool is een erkenning doel symbool kind.

Boom bouw eindigt wanneer alle paden door de boom te beëindigen in een van beide een operatie symbool of een mislukking symbool. Omdat de bouw recursieve is, kan de analist ontmoeting een lus in de boom bouw. Mocht dit gebeuren, een parameter genoemd herhalen definieert het aantal keren dat de weg kan worden afgelegd. Dit plaatst een bovengrens voor de grootte van de boom.

De gedeelde bron matrix model en de geheime stroom bomen het voorjaar van het idee van de behandeling van gedeelde bronnen voor de wijziging en vindplaats operaties en beide gebruikt kan worden op elk punt in de ontwikkeling van software levenscyclus. Een voordeel van verkapte stroom bomen over de SRM-model is dat de voormalige identificeert expliciete sequenties van de activiteiten die ervoor zorgen dat informatie van de ene proces naar het andere. Laatstgenoemde identificeert kanalen in plaats van sequenties van de operaties. In vergelijking met toegang tot het systeem bestand operaties en de Secure Ada Target, de geheime stroom boom methode geïdentificeerd sequenties van acties die tot de geheime kanalen opslag gevonden door de SRM-methode en de non-interventie methode, evenals een niet gevonden door de andere twee.

Beperking van Covert Channels

Covert kanalen informatie overbrengen door het variëren van het gebruik van gedeelde bronnen. Een voor de hand liggende manier om alle geheime kanalen weg is om te eisen processen welke middelen zij nodig hebben voor de uitvoering en deze middelen te voorzien op een zodanige wijze dat alleen het proces kan toegang tot deze toestand. Dit omvat runtime, en wanneer de aangegeven runtime is bereikt, wordt het proces beëindigd en de middelen worden vrijgegeven. De middelen blijven toegewezen voor de volledige runtime, zelfs als het proces eindigt eerder. Anders zou een tweede proces afleiden informatie van de timing van de release van de middelen (inclusief toegang tot de CPU). Deze strategie implementeert effectief idee Lampson in de totale isolatie, maar het is meestal in de praktijk onwerkbaar.

Een alternatieve aanpak is om duistere het bedrag van de middelen die een proces gebruikt. Een ontvangende proces kan niet bepalen welk bedrag van de middelen gebruik is toe te schrijven aan de afzender en welk bedrag is te wijten aan de verwarring. Dit kan op twee manieren. Ten eerste, de middelen die voor elk proces kan uniform worden gemaakt. Dit is een variant van isolement, omdat elk proces dezelfde hoeveelheid middelen krijgt en niet kan vertellen of een tweede proces is de toegang tot de bron door het meten van de timing of het bedrag van de beschikbare middelen. In wezen is het systeem elimineert zinvolle onregelmatigheden bij de toewijzing van middelen en het gebruik. Ten tweede kan een systeem injecteren willekeur in de toewijzing en het gebruik van middelen. Het doel is om de geheime zender een luidruchtige een te maken en het geluid domineren het kanaal hebben. Dit betekent niet sluiten van de geheime zender (omdat het nog bestaat), maar maakt het nutteloos.

Beide technieken van invloed zijn efficiëntie. Toewijzen van vaste toewijzingen en dwingend gebruik van afvalstoffen middelen. Vaststelling van de tijd plakken op de KVM-systeem betekent dat de CPU wordt niet gebruikt worden (of zullen een idle proces uitvoeren) wanneer een andere virtuele machine kan draaien een niet-idle proces. Het verhogen van de waarschijnlijkheid van afbreekt in de multilevel beveiligde database systeem zal afbreken sommige transacties die normaal zou plegen, waardoor het verwachte aantal probeert het bijwerken van de database. Of de sluiting van de geheime zender of de beperking van de bandbreedte voldoende compenseert voor het verlies aan efficiëntie is een politiek besluit.

Een apparaat bekend als een pomp is de basis van verschillende technieken voor het verslaan van geheime kanalen.

een artikel afkomstig van Fred Foster


Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions