
Poolse onderzoekers hebben een nieuwe methode voor netwerksteganografie voorgesteld die is gebaseerd op de kenmerken van de werking van het veelgebruikte transportprotocol TCP. De auteurs van het onderzoek geloven dat hun schema bijvoorbeeld kan worden gebruikt voor het verzenden van verborgen berichten in totalitaire landen die strenge internetcensuur opleggen. Laten we proberen te begrijpen waar precies de vernieuwing uit bestaat en hoe nuttig het daadwerkelijk is.
Ten eerste moeten we definiëren wat steganografie is. Steganografie is de wetenschap van de verborgen overdracht van berichten. Dit betekent dat partijen proberen het gebruik van haar methoden te verbergen. het feit van overdracht.Dit is waar deze wetenschap zich onderscheidt van cryptografie, die probeert de inhoud van een bericht ontoegankelijk te maken voor lezen.Het is vermeldenswaard dat de professionele gemeenschap van cryptografen steganografie met een zekere minachting bekijkt vanwege de gelijkenis van de ideologie met het principe van 'Security through obscurity' (veiligheid door onwetendheid). Dit principe wordt bijvoorbeeld gebruikt door het bedrijf Skype Inc. — de broncode van de populaire beltoepassing is gesloten en niemand weet precies hoe de gegevensversleuteling plaatsvindt. Onlangs klaagde een bekende expert, Bruce Schneier, hierover op zijn blog. op uw blog.
Als we terugkijken naar steganografie, laten we dan de vraag beantwoorden: waarom is het eigenlijk nodig, als er cryptografie is? Het is waar dat je een bericht kunt encrypten met behulp van een moderne algoritme en met een voldoende lange sleutel niemand het bericht kan lezen, behalve als je dat wilt. Desondanks kan het soms nuttiger zijn om het feit van geheime overdracht zelf te verbergen. Stel je voor, als de relevante autoriteiten je versleutelde bericht opvangen, kunnen ze het niet ontcijferen, maar willen ze het zo graag dat er uiteindelijk ook niet-digitale methoden van invloed en informatieverzameling zijn. Het klinkt dystopisch, maar je moet toegeven dat dit in principe mogelijk is. Daarom is het beter om ervoor te zorgen dat degenen die het niet horen mogen, helemaal niet weten dat er een overdracht heeft plaatsgevonden. Poolse onderzoekers hebben precies zo'n methode voorgesteld. En ze stellen voor om dit te doen met behulp van een protocol dat elke internetgebruiker duizenden keren per dag gebruikt.
Hier komen we dicht bij het Transmission Control Protocol (TCP). Het is natuurlijk niet zinvol om alle details hiervan uit te leggen — dat is langdradig en saai; degenen die het nodig hebben, weten het toch al. Kort gezegd kunnen we zeggen dat TCP een transportprotocol is (d.w.z. het werkt "boven" IP en "onder" applicatieniveau protocollen, zoals HTTP, FTP of SMTP) dat zorgt voor de betrouwbare levering van gegevens van de zender naar de ontvanger. Betrouwbare levering betekent dat als een pakket verloren gaat of met afwijkingen aankomt, TCP ervoor zorgt dat dit pakket opnieuw wordt verzonden. Het is belangrijk op te merken dat met afwijkingen in het pakket hier niet opzettelijke vervorming van gegevens wordt bedoeld, maar fouten die optreden tijdens de transmissie op fysiek niveau. Bijvoorbeeld, terwijl een pakket via koperen draden reist, kunnen een paar bits van waarde veranderen of volledig verloren gaan te midden van ruis (voor Ethernet wordt de Bit Error Rate meestal gesteld op ongeveer 10-8). Het verlies van pakketten onderweg is ook een relatief veelvoorkomend fenomeen op het internet. Dit kan bijvoorbeeld gebeuren door een overbelasting van routers, waardoor buffers vollopen en als gevolg daarvan alle nieuw binnenkomende pakketten worden afgewezen. Gewoonlijk bedraagt het percentage verloren pakketten ongeveer 0,1%, en bij een percentage van enkele procenten werkt TCP helemaal niet meer goed — voor de gebruiker zal alles vreselijk traag zijn.
Zo zien we dat de verzending (hertransmissie) van pakketten een regelmatig en eigenlijk noodzakelijk verschijnsel voor TCP is. Waarom zouden we dit niet gebruiken voor de behoeften van steganografie, aangezien TCP, zoals eerder vermeld, alomtegenwoordig is (volgens verschillende schattingen bedraagt het aandeel van TCP in het internet tegenwoordig 80-95%). De essentie van de voorgestelde methode is om in het verzonden bericht niet te sturen wat in het oorspronkelijke pakket zat, maar de gegevens die we proberen te verbergen. Het is daarbij niet zo eenvoudig om een dergelijke vervanging te detecteren. Je moet immers weten waar je moet kijken — het aantal gelijktijdige TCP-verbindingen dat door de provider gaat is gewoon enorm. Als je ongeveer weet wat het niveau van hertransmissies in het netwerk is, kun je het steganografische verzendmechanisme zo aanpassen dat jouw verbinding zich niet onderscheidt van andere.
Natuurlijk is deze methode niet zonder tekortkomingen. Bijvoorbeeld, vanuit praktisch oogpunt zal het niet zo eenvoudig zijn om deze in te voeren - dit vereist wijzigingen in de netwerkstack van besturingssystemen, hoewel dit op zich niet extreem moeilijk is. Bovendien kan, zelfs met voldoende middelen, het nog steeds mogelijk zijn om 'verborgen' pakketten te detecteren; dit vereist echter dat elk pakket in het netwerk wordt bekeken en geanalyseerd. Maar doorgaans is dit praktisch onmogelijk, daarom worden vaak opvallende pakketten en verbindingen gezocht, en de voorgestelde methode maakt jouw verbinding juist onopvallend. En niemand staat je in de weg om gevoelige gegevens voor de zekerheid te versleutelen. Daarbij kan de verbinding zelf onversleuteld blijven om minder argwaan te wekken.
De auteurs van het werk (overigens, voor wie het interesseert, het) toonden op simulatie-niveau aan dat de voorgestelde methode werkt zoals bedoeld. Misschien zal in de toekomst iemand hun idee praktisch uitvoeren. En dan, laten we hopen, zal er iets minder censuur op het internet zijn.
Bron: habr.com
