Un canal secret este un canal de comunicare care trimite informații folosind o metodă care nu a fost inițial destinată acestui lucru.
Conceptul de canal secret a fost introdus pentru prima dată în „A Note of the Confinement Problem” al lui Butler Lampson la 10 octombrie 1973 , ca „(canale) care nu sunt concepute pentru a transmite deloc informații, cum ar fi impactul unui program de utilitate asupra pornirea sistemului" [1] . Cel mai adesea, canalul ascuns este un parazit pe canalul principal: canalul ascuns reduce debitul canalului principal. De obicei, observatorii terți nu pot detecta că, pe lângă canalul principal de transmisie a datelor, există și unul suplimentar. Doar expeditorul și destinatarul știu asta. De exemplu, în steganografiemesajele ascunse au fost codificate în imagini grafice sau alte date în așa fel încât modificările să nu fie vizibile pentru ochi, dar destinatarul mesajului putea decoda mesajul criptat.
Canalul ascuns își ia numele de la faptul că este ascuns de sistemele de control al accesului chiar și ale sistemelor de operare securizate, deoarece nu utilizează mecanisme de transmisie legitime precum citirea și scrierea și, prin urmare, nu poate fi detectat sau monitorizat de mecanismele de securitate hardware, care stau la baza sistemelor de operare sigure. În sistemele reale, canalul ascuns este aproape imposibil de stabilit și poate fi adesea detectat prin monitorizarea performanței sistemului; în plus, dezavantajele canalelor ascunse sunt un raport semnal-zgomot scăzut și rate scăzute de date (de ordinul a câțiva biți pe secundă). Ele pot fi, de asemenea, eliminate manual din sistemele securizate, cu un grad ridicat de certitudine, folosind strategii stabilite de analiză a canalelor ascunse.
Canalele ascunse sunt adesea confundate cu utilizarea canalelor legitime, care atacă sisteme pseudo-securizate cu un grad scăzut de încredere, folosind scheme precum steganografia sau chiar scheme mai puțin sofisticate menite să ascundă obiecte interzise în interiorul obiectelor cu informații legale. Astfel de utilizări ale canalelor legitime care utilizează scheme de ascundere a datelor nu sunt canale ascunse și pot fi prevenite de sisteme de mare încredere.
Canalele ascunse pot traversa sisteme de operare securizate și necesită măsuri speciale pentru a le controla. Singura metodă dovedită de monitorizare a canalelor ascunse este așa-numita analiză a canalelor ascunse. În același timp, sistemele de operare securizate pot preveni cu ușurință utilizarea abuzivă (sau utilizarea ilegală) a canalelor legitime. Adesea, analiza canalelor legale pentru obiectele ascunse este prezentată incorect ca singura măsură de succes împotriva utilizării ilegale a canalelor legale. Întrucât în practică aceasta înseamnă necesitatea analizei unei cantități mari de software, încă din 1972 s-a demonstrat că astfel de măsuri sunt ineficiente [2] . Fără să știe acest lucru, mulți cred că o astfel de analiză poate ajuta la a face față riscurilor asociate canalelor legale.
TCSEC este un set de standarde stabilite de Departamentul de Apărare al SUA .
Definiția lui Lampson a unui canal secret a fost reformulată în TCSEC [2] pentru a se referi la modul în care informațiile sunt transferate de la un strat mai sigur la unul mai puțin sigur. Într-un mediu de calcul partajat, este dificil să se separe complet un proces de efectele pe care le-ar fi putut avea alt proces asupra mediului de operare. Un canal ascuns este creat de procesul de trimitere, care modulează o anumită stare (cum ar fi spațiul liber, disponibilitatea unui serviciu, expirarea timpului de pornire etc.) care poate fi detectată de procesul de recepție.
Criteriile definesc două tipuri de canale secrete:
Criteriile, cunoscute și sub numele de Cartea Orange , [3] necesită ca analiza canalului ascuns de memorie să fie clasificată ca o cerință pentru un sistem de clasă B2 și analiza canalului ascuns în timp ca o cerință pentru clasa B3.
Posibilitatea canalelor ascunse nu poate fi eliminată complet, dar poate fi redusă foarte mult prin proiectarea și analiza atentă a sistemului.
Detectarea canalelor secrete poate fi făcută mai dificilă prin utilizarea caracteristicilor media pentru canalele legale care nu sunt niciodată controlate sau verificate de utilizatori. De exemplu, un program poate deschide și închide un fișier într-un mod specific, sincronizat, care poate fi înțeles de un alt proces ca o secvență de biți, formând astfel un canal ascuns. Deoarece este puțin probabil ca utilizatorii legitimi să încerce să găsească un model în deschiderea și închiderea fișierelor, acest tip de canal secret poate trece neobservat pentru o lungă perioadă de timp.
Un caz similar este tehnologia „ port knocking ”. De obicei, atunci când se transmit informații, distribuirea cererilor în timp nu este importantă și nu este monitorizată, dar atunci când se folosește „port knocking” devine semnificativă.
Handel și Sanford au încercat să extindă perspectiva și să se concentreze asupra canalelor ascunse în modelul general al protocoalelor de rețea. Ei iau modelul de rețea OSI ca bază a raționamentului lor și apoi caracterizează elementele sistemului care pot fi folosite pentru a ascunde datele. Abordarea adoptată are avantaje față de cea a lui Handel și Sanford, deoarece acesta din urmă se adresează standardelor care se opun unora dintre mediile și arhitecturile de rețea utilizate. De asemenea, nu a fost dezvoltată o schemă de stenografie fiabilă.
Cu toate acestea, au fost stabilite principii generale pentru ascunderea datelor la fiecare dintre cele șapte straturi ale modelului OSI. Pe lângă faptul că sugerează utilizarea câmpurilor de antet de protocol rezervate (care este ușor de detectat), Handel și Sanford au sugerat, de asemenea, posibilitatea de a stabili canale de sincronizare privind funcționarea stratului fizic CSMA/CD .
Munca lor determină valoarea unui canal secret în funcție de următorii parametri:
A fost prezentată și o analiză a canalului secret, dar nu ia în considerare probleme precum: interacțiunea folosind metodele menționate între nodurile rețelei, estimarea capacității canalului, efectul pe care ascunderea datelor îl are asupra rețelei. În plus, aplicabilitatea metodelor nu poate fi pe deplin justificată în practică, deoarece modelul OSI nu există ca atare în sistemele active.
Girling a fost prima persoană care a analizat canalele ascunse în mediul LAN. Activitatea sa se concentrează pe rețelele locale (LAN), în care sunt definite trei canale ascunse aparente - două în memorie și unul în timp. Aceasta arată exemple reale de lățimi de bandă posibile pentru canale secrete simple în LAS. Pentru mediul special LAS, autorul a introdus conceptul de interceptor care monitorizează acțiunile unui anumit transmițător în LAN. Părțile implicate în transmisia sub acoperire sunt transmițătorul și interceptorul. Informațiile ascunse, potrivit Girling, pot fi comunicate în oricare dintre următoarele moduri:
O abordare mai specifică a fost adoptată de Rowland. Concentrându-se pe anteturile IP și TCP ale pachetului de protocol TCP/IP, Rowland deduce metodele corecte de codificare și decodare folosind câmpul de identificare IP și câmpurile pentru numărul de secvență de pornire TCP și numărul de secvență de confirmare. Aceste metode sunt implementate într-o aplicație simplă scrisă pentru sistemele Linux care rulează pe nucleul 2.0.
Rowland demonstrează pur și simplu ideea existenței canalelor ascunse în TCP / IP, precum și utilizarea lor. În consecință, munca sa poate fi apreciată ca o descoperire practică în acest domeniu. Metodele de codificare și decodare adoptate de acesta sunt mai pragmatice în comparație cu lucrările propuse anterior. Aceste metode sunt analizate ținând cont de mecanismele de securitate precum traducerea adreselor de rețea de către firewall.
Cu toate acestea, indetectabilitatea acestor metode de transmisie sub acoperire este discutabilă. De exemplu, în cazul în care se efectuează operații pe câmpul numărului de secvență al antetului TCP, se adoptă o schemă în care alfabetul este transmis secret de fiecare dată, dar totuși codificat de același număr de secvență.
Mai mult, utilizarea câmpului de număr de secvență, precum și a câmpului de confirmare, nu se poate face cu referire la codificarea ASCII a alfabetului englez, așa cum se sugerează, deoarece ambele câmpuri iau în considerare primirea octeților de date aferente anumitor pachete de rețea. .
Ascunderea datelor într-un pachet de protocol TCP/IP are următoarele aspecte importante: