En skjult kanal er en kommunikationskanal, der sender information ved hjælp af en metode, der ikke oprindeligt var beregnet til dette.
Konceptet med en skjult kanal blev først introduceret i Butler Lampsons "A Note of the Confinement Problem" den 10. oktober 1973 , som "(kanaler), der overhovedet ikke er designet til at transmittere information, såsom virkningen af et hjælpeprogram på systemstart" [1] . Oftest er den skjulte kanal en parasit på hovedkanalen: den skjulte kanal reducerer hovedkanalens gennemstrømning. Tredjepartsobservatører kan normalt ikke opdage, at der ud over hoveddatatransmissionskanalen også er en yderligere. Det ved kun afsender og modtager. For eksempel i steganografi blev skjulte beskeder kodet i grafik eller andre data på en sådan måde, at ændringerne ikke var synlige for øjet, men modtageren af beskeden kunne afkode den krypterede besked.
Den hemmelige kanal tager sit navn fra det faktum, at den er skjult for adgangskontrolsystemerne i selv sikre operativsystemer, da den ikke bruger legitime transmissionsmekanismer såsom læse og skrive, og derfor ikke kan detekteres eller overvåges af hardwaresikkerhedsmekanismer, der ligger til grund for sikre operativsystemer. I rigtige systemer er den skjulte kanal næsten umulig at etablere, og kan også ofte detekteres ved at overvåge systemets ydeevne; desuden er ulemperne ved skjulte kanaler et lavt signal-til-støj-forhold og lave datahastigheder (i størrelsesordenen adskillige bit pr. sekund). De kan også fjernes manuelt fra sikre systemer med en høj grad af sikkerhed ved hjælp af etablerede skjulte kanalanalysestrategier.
Hemmelige kanaler forveksles ofte med brugen af legitime kanaler, som angriber pseudo-sikre systemer med en lav grad af tillid, ved at bruge skemaer som steganografi eller endnu mindre sofistikerede skemaer designet til at skjule forbudte objekter inde i objekter med juridisk information. Sådan brug af legitime kanaler ved hjælp af dataskjulningsordninger er ikke skjulte kanaler og kan forhindres af højt betroede systemer.
Hemmelige kanaler kan krydse sikre operativsystemer og kræver særlige foranstaltninger for at kontrollere dem. Den eneste gennemprøvede metode til at overvåge skjulte kanaler er den såkaldte skjulte kanalanalyse. Samtidig kan sikre operativsystemer nemt forhindre misbrug (eller ulovlig) brug af legitime kanaler. Ofte præsenteres analysen af lovlige kanaler for skjulte genstande forkert som den eneste vellykkede foranstaltning mod ulovlig brug af lovlige kanaler. Da dette i praksis betyder behovet for at analysere en stor mængde software, blev det allerede i 1972 vist, at sådanne foranstaltninger er ineffektive [2] . Uden at vide dette mener mange, at en sådan analyse kan være med til at håndtere de risici, der er forbundet med juridiske kanaler.
TCSEC er et sæt standarder fastsat af det amerikanske forsvarsministerium .
Lampsons definition af en skjult kanal er blevet omformuleret i TCSEC [2] for at henvise til, hvordan information overføres fra et mere sikkert lag til et mindre sikkert lag. I et delt computermiljø er det svært helt at adskille én proces fra de effekter, som en anden proces kan have haft på driftsmiljøet. En skjult kanal skabes af afsendelsesprocessen, som modulerer en tilstand (såsom ledig plads, tilgængelighed af en tjeneste, opstartstimeout osv.), som kan detekteres af modtageprocessen.
Kriterierne definerer to typer hemmelige kanaler:
Kriterierne, også kendt som Orange Book , [3] kræver, at hukommelses-covert channel-analyse klassificeres som et krav til et klasse B2-system og time covert channel-analyse som et krav for klasse B3.
Muligheden for skjulte kanaler kan ikke helt elimineres, men den kan reduceres kraftigt ved omhyggelig systemdesign og analyse.
Registrering af skjulte kanaler kan gøres vanskeligere ved at bruge medieegenskaber til lovlige kanaler, som aldrig kontrolleres eller verificeres af brugere. For eksempel kan et program åbne og lukke en fil på en bestemt, synkroniseret måde, der af en anden proces kan forstås som en bitsekvens, og dermed danne en skjult kanal. Da det er usandsynligt, at legitime brugere vil forsøge at finde et mønster i at åbne og lukke filer, kan denne type hemmelige kanal gå ubemærket hen i lang tid.
Et lignende tilfælde er " port banking "-teknologien. Normalt når information transmitteres, er fordelingen af forespørgsler i tid ikke vigtig, og den overvåges ikke, men ved brug af "port banking" bliver det væsentligt.
Et forsøg blev gjort af Handel og Sanford på at udvide perspektivet og fokusere på skjulte kanaler i den generelle model for netværksprotokoller. De tager OSI-netværksmodellen som grundlag for deres ræsonnement og karakteriserer derefter de elementer i systemet, der kan bruges til at skjule data. Den anvendte tilgang har fordele i forhold til Handel og Sanfords, da sidstnævnte adresserer standarder, der er i modsætning til nogle af de netværksmiljøer og -arkitekturer, der er i brug. Der er heller ikke udviklet en pålidelig stenografiordning.
Der er dog etableret generelle principper for at skjule data på hvert af de syv lag i OSI-modellen. Ud over at foreslå brugen af reserverede protokolheader-felter (som let kan detekteres), foreslog Handel og Sanford også muligheden for timing-kanaler vedrørende fysisk lag CSMA/CD- drift.
Deres arbejde bestemmer værdien af en skjult kanal i henhold til følgende parametre:
En skjult kanalanalyse blev også præsenteret, men den tager ikke højde for problemer som: interaktion med de nævnte metoder mellem netværksknuder, estimering af kanalkapaciteten, den effekt, dataskjulning har på netværket. Derudover kan metodernes anvendelighed ikke fuldt ud begrundes i praksis, da OSI-modellen ikke eksisterer som sådan i levende systemer.
Girling var den første person til at analysere skjulte kanaler i LAN-miljøet. Hans arbejde fokuserer på lokale netværk (LAN'er), hvor tre tilsyneladende skjulte kanaler er defineret - to i hukommelsen og en i tiden. Dette viser rigtige eksempler på mulige båndbredder for simple skjulte kanaler i LAS. For det specielle LAS-miljø introducerede forfatteren konceptet med en interceptor, der overvåger handlingerne af en specifik sender i LAN. Parterne involveret i hemmelig transmission er senderen og aflytteren. Skjult information kan ifølge Girling kommunikeres på en af følgende måder:
En mere specifik tilgang blev taget af Rowland. Med fokus på IP- og TCP-headerne af TCP/IP-protokolpakken udleder Rowland de korrekte kodnings- og afkodningsmetoder ved hjælp af IP-identifikationsfeltet og TCP-startsekvensnummer- og bekræftelsessekvensnummerfelterne. Disse metoder er implementeret i en simpel applikation skrevet til Linux-systemer, der kører på 2.0-kernen.
Rowland beviser simpelthen selve ideen om eksistensen af hemmelige kanaler i TCP / IP, såvel som deres brug. Derfor kan hans arbejde vurderes som et praktisk gennembrud på dette område. De metoder til kodning og afkodning, som han har vedtaget, er mere pragmatiske sammenlignet med tidligere foreslåede værker. Disse metoder analyseres under hensyntagen til sikkerhedsmekanismer såsom netværksadresseoversættelse af firewallen.
Det er imidlertid tvivlsomt, om disse hemmelige transmissionsmetoder ikke kan spores. For eksempel, i det tilfælde, hvor operationer udføres på sekvensnummerfeltet i TCP-headeren, vedtages et skema, hvor alfabetet hemmeligt transmitteres hver gang, men ikke desto mindre kodes af det samme sekvensnummer.
Desuden kan brugen af sekvensnummerfeltet, såvel som bekræftelsesfeltet, ikke ske med reference til ASCII - kodningen af det engelske alfabet, som foreslået, da begge felter tager højde for modtagelse af databytes relateret til bestemte netværkspakker .
At skjule data i en TCP/IP-protokolpakke har følgende vigtige aspekter: