Windows

Denken met DLL-aanvallen, kwetsbaarheden en detectie

Hoe werkt de gemeenteraad? (met ondertitels)

Hoe werkt de gemeenteraad? (met ondertitels)

Inhoudsopgave:

Anonim

DLL staat voor Dynamic Link Libraries en zijn externe onderdelen van applicaties die op Windows of andere besturingssystemen worden uitgevoerd. De meeste applicaties zijn op zichzelf niet compleet en slaan code op in verschillende bestanden. Als de code nodig is, wordt het gerelateerde bestand in het geheugen geladen en gebruikt. Dit vermindert de bestandsgrootte van het programma en optimaliseert het gebruik van RAM. In dit artikel wordt uitgelegd wat is DLL-kapers en hoe u dit kunt detecteren en voorkomen.

Wat zijn DLL-bestanden of Dynamic Link Libraries

DLL-bestanden zijn Dynamic Link Libraries en zoals duidelijk te zien aan de naam, zijn dit extensies van verschillende toepassingen. Elke applicatie die we gebruiken, kan wel of niet bepaalde codes gebruiken. Dergelijke codes worden opgeslagen in verschillende bestanden en worden alleen aangeroepen of in het RAM geladen als de bijbehorende code vereist is. Zo wordt een toepassingsbestand gered van te groot en wordt voorkomen dat resources door de toepassing worden opgevuld.

Het pad voor DLL-bestanden wordt ingesteld door het Windows-besturingssysteem. Het pad wordt ingesteld met behulp van globale omgevingsvariabelen. Als een toepassing een DLL-bestand aanvraagt, kijkt het besturingssysteem standaard naar dezelfde map waarin de toepassing is opgeslagen. Als het daar niet wordt gevonden, gaat het naar andere mappen zoals ingesteld door de globale variabelen. Er zijn prioriteiten verbonden aan paden en het helpt Windows bij het bepalen welke mappen moeten zoeken naar de DLl`s. Dit is waar de DLL-kaping binnenkomt.

Wat is DLL-kaping

Omdat DLl`s extensies en noodzakelijk zijn voor het gebruik van bijna alle toepassingen op uw machines, zijn ze op de computer aanwezig in verschillende mappen, zoals uitgelegd. Als het oorspronkelijke DLL-bestand wordt vervangen door een nep-DLL-bestand dat schadelijke code bevat, staat dit bekend als DLL-kaping.

Zoals eerder vermeld, zijn er prioriteiten waar het besturingssysteem naar DLL-bestanden zoekt. Ten eerste kijkt het naar dezelfde map als de applicatiemap en gaat vervolgens op zoek, op basis van de prioriteiten die zijn ingesteld door omgevingsvariabelen van het besturingssysteem. Dus als een bestand good.dll zich in de map SysWOW64 bevindt en iemand een bad.dll plaatst in een map die een hogere prioriteit heeft in vergelijking met de map SysWOW64, zal het besturingssysteem het bestand bad.dll gebruiken, omdat het bestand dezelfde naam heeft als het DLL-bestand gevraagd door de toepassing. Eenmaal in het RAM-geheugen kan het de kwaadaardige code in het bestand uitvoeren en kan het uw computer of netwerken beschadigen.

DLL-kaping detecteren

De eenvoudigste methode om DLL-kaping te detecteren en te voorkomen, is door hulpprogramma`s van derden te gebruiken. Er zijn enkele goede gratis tools beschikbaar op de markt die helpen bij het detecteren van een DLL-hackpoging en deze kunnen voorkomen. < <<<<<<<<<<<

Een ander programma om DLL-kaping te detecteren, DLL_HIJACK_DETECT, is beschikbaar via GitHub. Dit programma controleert applicaties om te zien of een van hen kwetsbaar is voor DLL-kaping. Als dit het geval is, informeert het programma de gebruiker. De toepassing heeft twee versies - x86 en x64, zodat u elk kunt gebruiken om respectievelijk zowel 32-bits als 64-bits toepassingen te scannen.

Opgemerkt moet worden dat de bovenstaande programma`s de toepassingen op Windows-platform alleen scannen op kwetsbaarheden en niet echt voorkom het kapen van DLL-bestanden.

Hoe DLL-kaping te voorkomen

De kwestie moet door de programmeurs worden aangepakt, omdat er niet veel is dat u kunt doen, behalve om uw beveiligingssystemen te verbeteren. Als programmeurs in plaats van een relatief pad het absolute pad gaan gebruiken, wordt het beveiligingslek verminderd. Het lezen van het absolute pad, het Windows of een ander besturingssysteem zal niet afhankelijk zijn van systeemvariabelen voor pad en zal rechtdoor gaan voor het beoogde DLL-bestand, waardoor de kans verdwijnt dat dezelfde DLL-naam in een pad met hogere prioriteit wordt geladen. Ook deze methode is niet foutbestendig, want als het systeem wordt gehackt en de cybercriminelen het exacte pad van DLL kennen, zullen ze de oorspronkelijke DLL vervangen door de nep-DLL. Dat zou het bestand overschrijven, zodat het originele DLL-bestand wordt veranderd in kwaadaardige code. Maar nogmaals, de cybercrimineel moet het exacte absolute pad weten dat in de toepassing wordt vermeld en dat de DLL vereist. Het proces is moeilijk voor cybercriminelen en kan daarom worden gerekend.

Keer terug naar wat u kunt doen door gewoon uw beveiligingssystemen op te schalen om uw Windows-systeem beter te beveiligen. Gebruik een goede firewall. Gebruik indien mogelijk een hardwarefirewall of schakel de firewall van de router in. Gebruik goede inbraakdetectiesystemen zodat u weet of iemand met uw computer probeert te spelen.

Als u een probleemoplossingscomputer gebruikt, kunt u ook het volgende doen om uw beveiliging te verhogen:

DLL-laden van externe netwerkshares uitschakelen

  1. Schakel het laden van DLL-bestanden van WebDAV uit
  2. Schakel de WebClient-service volledig uit of stel deze in op handmatig
  3. Blokkeer de TCP-poorten 445 en 139 zoals ze het meest worden gebruikt voor compromitterende computers
  4. Installeer de nieuwste updates voor de werking systeem en beveiligingssoftware.
  5. Microsoft

heeft een tool vrijgegeven om DLL-aanvallen op ladingskapingen te blokkeren. Deze tool beperkt het risico van aanvallen van DLL-kapingen door te voorkomen dat applicaties onveilig code uit DLL-bestanden laden. Als u iets aan het artikel wilt toevoegen, kunt u hieronder reageren.