Malware-analyse is een proces of een techniek om de oorsprong en de potentiële impact van een gespecificeerd malware-monster te bepalen. Malware kan alles zijn dat er kwaadaardig uitziet of zich gedraagt als een virus, worm, bug, Trojaans paard, spyware, adware, enz. Verdachte software die schade aan uw systeem kan toebrengen, kan als een malware worden beschouwd. Ongeacht het toenemend gebruik van anti-malware softwareprogramma's, is de wereld getuige van een snelle evolutie in malware-aanvallen. Alles wat met internet is verbonden, is vatbaar voor malware-aanvallen.
Malware-detectie blijft een uitdaging, aangezien potentiële aanvallers nieuwe en geavanceerde manieren vinden om te ontsnappen aan detectiemethoden. Dit is waar malware-analyse naar de foto komt.
Malware-analyse geeft een beter inzicht in de manier waarop een malware functioneert en wat kan worden gedaan om die bedreigingen te elimineren. De malware-analyse kan worden gedaan met verschillende doelen in het achterhoofd, zoals de omvang van malware-infecties te begrijpen, de gevolgen van de malware-aanval te kennen, de aard van de malware te identificeren en de functionaliteiten van de malware te bepalen.
Er zijn twee soorten methoden die worden gebruikt voor het detecteren en analyseren van malware: statische Malware-analyse en dynamische malware-analyse. Statische analyse omvat het onderzoeken van het gegeven malware monster zonder het daadwerkelijk uit te voeren, terwijl dynamische analyse systematisch wordt uitgevoerd in een gecontroleerde omgeving. We presenteren een onpartijdige vergelijking tussen deze twee om u te helpen de methoden van malware-analyse beter te begrijpen.
Statische analyse is een proces van het analyseren van een malware-binaire code zonder de code daadwerkelijk uit te voeren. Statische analyse wordt meestal uitgevoerd door de handtekening van het binaire bestand te bepalen, wat een unieke identificatie is voor het binaire bestand en kan worden gedaan door de cryptografische hash van het bestand te berekenen en elke component te begrijpen.
Het binaire bestand met malware kan reverse-engineered worden door het uitvoerbare bestand in een disassembler zoals IDA te laden. De machine-uitvoerbare code kan de assembleertaalcode worden geconverteerd zodat deze gemakkelijk door mensen kan worden gelezen en begrepen. De analist kijkt vervolgens naar het programma om een beter begrip te krijgen van wat het kan en waarvoor het geprogrammeerd is.
Dynamische analyse omvat het uitvoeren van het malware-monster en het observeren van het gedrag ervan op het systeem om de infectie te verwijderen of te voorkomen dat deze zich verspreidt naar andere systemen. Het systeem is opgezet in een gesloten, geïsoleerde virtuele omgeving, zodat het malware monster grondig kan worden bestudeerd zonder het risico van schade aan uw systeem.
In geavanceerde dynamische analyse kan een foutopsporingsprogramma worden gebruikt om de functionaliteit van het uitvoerbare programma voor malware te bepalen, wat anders moeilijk was te verkrijgen met behulp van andere technieken. In tegenstelling tot statische analyse, is het gedragsgebaseerd, dus het is moeilijk om belangrijk gedrag te missen.
Malware kan zich anders gedragen, afhankelijk van waarvoor ze geprogrammeerd zijn, waardoor het des te belangrijker is om hun functionaliteiten te begrijpen. Er zijn in principe twee methoden om dit te doen: statische analyse en dynamische analyse. Statische analyse is een proces waarbij de oorsprong van schadelijke bestanden wordt bepaald om hun gedrag te begrijpen zonder de malware daadwerkelijk uit te voeren. Dynamische analyse, aan de andere kant, is een meer gedetailleerd proces van malwaredetectie en -analyse uitgevoerd in een gecontroleerde omgeving en het hele proces wordt gecontroleerd om het gedrag van de malware te observeren.
Statische malware-analyse is een vrij eenvoudige en eenvoudige manier om een malware-steekproef te analyseren zonder het daadwerkelijk uit te voeren, dus het proces vereist niet dat de analist elke fase doorloopt. Het observeert eenvoudig het gedrag van de malware om te bepalen wat het in staat is of wat het kan doen met het systeem. Dynamische malware-analyse, aan de andere kant, omvat een grondige analyse waarbij het gedrag en de acties van het malware-monster tijdens de uitvoering worden gebruikt om de steekproef beter te begrijpen. Het systeem is opgezet in een gesloten en geïsoleerde omgeving met de juiste monitoring.
Statische analyse omvat het analyseren van de handtekening van het binaire bestand malware dat een unieke identificatie is voor het binaire bestand. Het binaire bestand kan reverse-engineered worden met behulp van een disassembler, zoals IDA, om de machine-uitvoerbare code om te zetten in assemblage-taalcode om deze leesbaar te maken voor de mens. Sommige van de technieken die worden gebruikt voor statische analyse zijn vingerafdrukken van bestanden, virusscanning, geheugendumping, packerdetectie en foutopsporing. Dynamische analyse omvat het analyseren van het gedrag van malware in een sandbox-omgeving zodat het geen invloed heeft op andere systemen. Handmatige analyse wordt vervangen door geautomatiseerde analyse via commerciële sandboxes.
Statische analyse maakt gebruik van een op handtekeningen gebaseerde aanpak voor detectie en analyse van malware. Een handtekening is niets anders dan een unieke ID voor een specifieke malware die een reeks bytes is. Verschillende patronen worden gebruikt om naar handtekeningen te zoeken. Antimalware-programma's op basis van handtekening zijn effectief tegen de meest voorkomende soorten malware, maar zijn niet effectief tegen geavanceerde en geavanceerde malwareprogramma's. Dit is waar dynamische analyse naar voren komt. In plaats van een op handtekeningen gebaseerde aanpak, gebruikt dynamische analyse een op gedrag gebaseerde aanpak om de functionaliteit van de malware te bepalen door de acties te bestuderen die door de gegeven malware worden uitgevoerd.
Detectie, identificatie en voorlopige analyse zijn cruciaal voor malware-analyse en het is zeer noodzakelijk om een systeemanalyse uit te voeren om de verspreiding van malware tegen te houden, zodat deze zich niet verder verspreidt naar andere productieve systemen of bestanden en directory's. In dit artikel hebben we malware-detectietechnieken vergeleken op basis van statische en dynamische malware-analyse. Beide zijn de veelgebruikte technieken voor malwaredetectie, maar statische analyse maakt gebruik van een op handtekeningen gebaseerde aanpak, terwijl dynamische analyse een gedragsgebaseerde benadering gebruikt voor het detecteren van malware. Ongeacht de techniek die wordt gebruikt voor malwaredetectie, stellen beide methoden ons in staat om een beter begrip te hebben van hoe de malware functioneert en wat we eraan kunnen doen.