in een vorige post sprak ik over hoe je STIX, TAXII en CybOX kunt gebruiken om threat intelligence te delen.
een van de belangrijkste elementen om cyberbedreigende informatie goed te kunnen gebruiken, vereist dat de informatie uitvoerbaar of ten minste bruikbaar is. De gedeelde informatie moet nauwkeurig, volledig en relevant zijn voor uw omgeving.
CybOX biedt een gemeenschappelijke structuur voor het weergeven van cyber observables over en onder de operationele gebieden van Enterprise cybersecurity. CybOX kan hashes, strings of registersleutels bevatten. Informatie die via het systeem kan worden gebruikt om te controleren op de aanwezigheid van malware in uw omgeving. YARA is een van de alternatieven voor het gebruik van CyBOX, maar de twee zijn niet wederzijds uitsluiten.
Wat is YARA?
YARA is een hulpmiddel ontworpen om malwareonderzoekers te helpen malwarevoorbeelden te identificeren en te classificeren. Het is genoemd het patroon-matching Zwitserse zakmes voor de beveiliging onderzoekers (en iedereen). Het is multiplatform en kan worden gebruikt vanaf zowel de command-line interface of via uw eigen Python scripts.
met deze tool kunt u op handtekeningen gebaseerde detectie van malware uitvoeren, iets wat lijkt op wat antivirus-oplossingen voor u kunnen doen.
Hoe Gebruikt U Het?
om deze methode te gebruiken, hebt u een regel en een bestand nodig dat u wilt controleren. Als u het bijvoorbeeld vanaf de commandoregel wilt uitvoeren, gebruikt u:
dit zal worden uitgevoerd als de gegeven regel overeenkomt met het opgegeven bestand. Als je geen uitvoer ziet, en je hebt de optie Negeren niet gebruikt, dan betekent dit dat er geen regel overeenkomt.
u kunt het starten met een aantal configuratieschakelaars; dit zijn de twee belangrijkste :
- -n: Print alleen niet-tevreden regels (negeren).
- – r: recursief zoeken door mappen.
regels
een regel is een verzameling tekenreeksen en enige vorm van logica, geschreven in Booleaanse uitdrukkingen.
er is ondersteuning voor drie verschillende soorten tekenreeksen:
- hexadecimale tekenreeksen, die nuttig zijn voor het definiëren van ruwe bytes;
- tekstreeksen;
- reguliere expressies.
de voorwaarden zijn Booleaanse uitdrukkingen die u zult herkennen uit reguliere programmeertalen. Ze kunnen werken op een van de gegeven strings, maar ook op speciale ingebouwde variabelen, zoals de bestandsgrootte, of op externe variabelen die u definieert buiten de regel. Er is ook ondersteuning voor het gebruik van modules, zoals Koekoek, om de functies die u kunt gebruiken in de voorwaarden uit te breiden.
u zult het meest profiteren van YARA als u het een goede regelset geeft. U kunt uw eigen regels schrijven of ze van een andere provider krijgen.
schrijf uw eigen regels
het schrijven van uw eigen regels is niet zo moeilijk als u rekening houdt met deze richtlijnen:
- de criteria die u gebruikt om overeen te komen moeten een noodzakelijk onderdeel zijn van het gedrag van de malware.
- de criteria moeten voldoende zijn om de geteste malwarefamilie van andere malwarefamilies te onderscheiden.
- de criteria moeten voor verschillende monsters gemeen zijn.
zodra u de malware hebt geanalyseerd en er nuttige, herkenbare gegevens uit hebt gehaald, kunt u de informatie omzetten in Yara-strings en deze combineren met een bepaalde vorm van logica.
haal regels van externe bronnen
omdat YARA handtekeningen gebruikt die vergelijkbaar zijn met antivirusoplossingen, zou het zinvol zijn om deze handtekeningen te hergebruiken als een regeldatabase. Met het gebruik van het script clamav_to_yara.py, u kunt de ClamAV signature database converteren naar uw eigen regelset.
een andere bron voor regels is de GitHub repository YaraRules. Dit is een regelset onder de GNU-GPLv2-licentie die wordt onderhouden door een groep it-beveiligingsonderzoekers. De regels zijn opgeslagen in verschillende categorieën-regels gericht op anti-debug en anti-visualisatie technieken, kwaadaardige documenten, verpakkers, enz. – en regelmatig bijgewerkt. Je kunt ze krijgen door de GitHub repository te klonen.Sommige threat intelligence sharing platforms, zoals MISP en ThreatConnect, ondersteunen ook YARA. Hiermee kunt u regels bouwen op basis van uw eigen verzamelde dreigingsinformatie.
genereer automatisch regels
met behulp van de Regelgenerator van Joe Sandbox kunt u handtekeningen maken voor Windows op basis van statische en dynamische gedragsgegevens. Merk op dat dezelfde regels gelden als bij het gebruik van gratis online malware analyse sandboxes. U uploadt uw bestanden naar een externe cloudservice, wat niet moet worden gedaan met gevoelige bestanden of gegevens die enige vorm van gebruikersreferenties bevatten.
aanvullende Use Cases
ik zei eerder dat u de ClamAV-database kunt converteren naar een bruikbare regelset. Het gaat ook andersom. Stel je hebt een set van gedetailleerde regels. U kunt ClamAV configureren om de functieset uit te breiden met uw verstrekte regels en ondersteuning voor YARA. Hiermee kunt u de regels op gecomprimeerde of verpakte bestanden overeenkomen. De VirusTotal private API heeft ook een functie waarmee u uw eigen regels kunt invoeren en hebben ze geactiveerd wanneer een overeenkomende monster wordt geüpload.
Signature-Based Protection Is Not Enough
alleen vertrouwen op signature-based protection is niet langer goed genoeg. Aanvallers hebben tegenmaatregelen ontwikkeld die ze kunnen gebruiken om deze methode te omzeilen. Met het gebruik van verschillende crypting services, packers en polymorfisme, kunnen ze gemakkelijk malware genereren die anders genoeg is, zodat het niet langer overeenkomt met bestaande handtekeningen. Het duurt dan enige tijd voordat de nieuwe smaak wordt opgepikt en een handtekening wordt gedeeld.
deze nadelen maken detectie op basis van handtekeningen niet overbodig. De security community is sterk in het delen van nieuwe dreigingsindicatoren, dus dit soort tools zal nog steeds blijken te zijn een belangrijke aanwinst voor uw arsenaal.
conclusie
hoewel signature-based detectie met YARA zijn grenzen heeft, is het een eenvoudig te gebruiken en vrij eenvoudige manier om malware in uw omgeving te detecteren. Het zou niet verstandig zijn om te vertrouwen op het als de enige bedreiging bescherming maatregel, maar gezien het eenvoudige gebruik, het missen van deze tool zou niet een goed idee zijn, hetzij.