image

Hoe je PDF-malware echt moet verstoppen

woensdag 14 juli 2010, 11:49 door Redactie, 12 reacties

De laatste tijd verschijnt er veel geobfusceerde PDF-malware, toch is er nog voldoende ruimte voor verbetering, aldus een beveiligingsonderzoeker. Volgens Sebastian Porst van beveiligingsbedrijf Zynamics is de obfuscatie die in het 'wild' wordt aangetroffen zeer beperkt en hebben virusschrijvers het niet goed uitgedacht. Porst onderzocht daarom hoe je echt PDF-malware moet obfusceren.

Adobe Reader
Op dit moment gebruiken virusschrijvers vier manieren om PDF-bestanden te misbruiken: gebroken PDF parsers, kwetsbare JavaScript engine, kwetsbare externe libraries en de /Launch functie. Om de exploit te verbergen passen de virusschrijvers obfuscatie toe. "Verschillende trucs voor verschillende doeleinden", aldus Porst. Het kan dan gaan om het bemoeilijken van handmatig analyse, het blokkeren van geautomatiseerde analyse of het voorkomen van detectie door virusscanners.

Daarbij botsen twee doelen, namelijk het voorkomen van detectie door er normaal uit te zien of het bemoeilijken van analyse door het bestand te misvormen. In zijn presentatie demonstreert Porst verschillende manieren om PDF-malware beter te verstoppen. De meeste trucs zijn bedoeld voor Adobe Reader, hoewel er ook tactieken zijn die voor andere PDF-lezers gelden.

Reacties (12)
14-07-2010, 12:04 door Anoniem
Zucht, weer eens iemand die denkt slim te zijn en uit eigenbelang meent zich op de borst te moeten kloppen met informatie die iedere malwarebestrijder al weet.
14-07-2010, 12:42 door [Account Verwijderd]
[Verwijderd]
14-07-2010, 18:22 door [Account Verwijderd]
[Verwijderd]
14-07-2010, 18:24 door [Account Verwijderd]
[Verwijderd]
14-07-2010, 23:57 door Bert de Beveiliger
Door unaniem:
Door unaniem:
Door Peter V: Ik heb een antivirusbedrijf eens laten zien hoe je malware verbergt die vervolgens door geen enkele scanner kan worden gevonden. Maar wat bewijs je ermee? Het probleem bestaat gewoon. Dat is alles.

En daar kom je nu mee. Die auteur over data verstoppen kon het geheel zelf uitzoeken. Er was slechts één reactie die er toe deed en later nog weg gehoond werd ook.

Ik krijg soms echt de pest aan mensen die graag alleen opscheppen en verder anderen laten doodvallen.

Mee eens, hoewel het probleem van malware die door virusscanners niet gevonden kan worden al van alle tijden is. Als het AV bedrijf aan de hand van PeterV's demo signatures of heuristics heeft kunnen ontwerpen om dergelijk stealth methods te kunnen pareren is het overigens wel goed geweest van hem :-)
15-07-2010, 01:23 door Anoniem
Door AlexK:
Mee eens, hoewel het probleem van malware die door virusscanners niet gevonden kan worden al van alle tijden is. Als het AV bedrijf aan de hand van PeterV's demo signatures of heuristics heeft kunnen ontwerpen om dergelijk stealth methods te kunnen pareren is het overigens wel goed geweest van hem :-)

Leer het verschil tussen (nog) niet gedetecteerd en ondetecteerbaar.

Er bestaat niet zoiets als malware die niet gevonden kan worden. Je kunt bestaande malware wijzigen/obfusceren zodat die niet meer gevonden wordt, maar zodra er samples anti-virus leveranciers bereiken wordt het wel gedetecteerd.
15-07-2010, 10:59 door Didier Stevens
Door Anoniem: Er bestaat niet zoiets als malware die niet gevonden kan worden. Je kunt bestaande malware wijzigen/obfusceren zodat die niet meer gevonden wordt, maar zodra er samples anti-virus leveranciers bereiken wordt het wel gedetecteerd.

Theoretisch gezien is het onmogelijk om automatisch alle malware te detecteren.
Fred Cohen heeft bewezen dat het automatisch detecteren van malware gelijkwaardig is aan het halt probleem (wat niet opgelost kan worden).
http://en.wikipedia.org/wiki/Fred_Cohen
http://en.wikipedia.org/wiki/Halting_problem
15-07-2010, 12:28 door Anoniem
Door Didier Stevens:
Door Anoniem: Er bestaat niet zoiets als malware die niet gevonden kan worden. Je kunt bestaande malware wijzigen/obfusceren zodat die niet meer gevonden wordt, maar zodra er samples anti-virus leveranciers bereiken wordt het wel gedetecteerd.

Theoretisch gezien is het onmogelijk om automatisch alle malware te detecteren.
Fred Cohen heeft bewezen dat het automatisch detecteren van malware gelijkwaardig is aan het halt probleem (wat niet opgelost kan worden).
http://en.wikipedia.org/wiki/Fred_Cohen
http://en.wikipedia.org/wiki/Halting_problem

Het gaat in AV niet om automatische detectie, detectie is al sinds het begin vooral reactief, al zijn er wel generieke (pro-actieve) detectiemethoden.

Het standaard weerwoord overigens voor beweringen dat niet alle malware gedetecteerd kan worden is piepkleine batch file met de naam scan.bat die roept dat malware is gevonden. Hiermee detecteer je alle malware. Echt waar. (Over de fp's hebben we het dan maar even niet.)

Terug in de werkelijkheid. Tot nu toe is er geen malware ondetecteerbaar gebleken. Het is wel zo dat sommige AV producten een afweging maken tussen praktisch nut en de resources die nodig zijn voor detectie. Sophos bijvoorbeeld heeft jarenlang veel Virus Bulletin awards aan zich voorbij laten gaan om die reden. Dat zegt misschien ook iets over het praktisch nut van Virus Bulletin awards destijds.
15-07-2010, 13:47 door Anoniem
Door Anoniem:
Het gaat in AV niet om automatische detectie
Huh???

Door Anoniem:
Het standaard weerwoord overigens voor beweringen dat niet alle malware gedetecteerd kan worden is piepkleine batch file met de naam scan.bat die roept dat malware is gevonden. Hiermee detecteer je alle malware. Echt waar. (Over de fp's hebben we het dan maar even niet.)
Onzin. Jouw programma moet geen enkele beslissing nemen.
15-07-2010, 15:48 door Anoniem
Door Anoniem:
Door Anoniem:
Het gaat in AV niet om automatische detectie
Huh???

Door Anoniem:
Het standaard weerwoord overigens voor beweringen dat niet alle malware gedetecteerd kan worden is piepkleine batch file met de naam scan.bat die roept dat malware is gevonden. Hiermee detecteer je alle malware. Echt waar. (Over de fp's hebben we het dan maar even niet.)
Onzin. Jouw programma moet geen enkele beslissing nemen.

Is dat een voorwaarde dan?

Speciaal voor jou:

scan.bat
if %1==%1 echo gedecteerd

Zonder gekheid, je begrijpt kennelijk niet wat de bedoeling is. Simpel gezegd heeft een scanner een bereik van niet-malware naar malware, met alles wat daartussen in zit. De beslissing is geheel afhankelijk van manier waarop de scanner gemaakt is. Er is een relatie tussen een hoge detectiegraad en veel fp's. Wil je een scanner die alle malware detecteert? Prima, maar leer dan ook leven met de fp's.

Nu wil het geval dat de meeste scanners niet alles detecteren, althans niet zolang de er geen detectie voor gemaakt is. Traditioneel AV is vooral reactief, dat werkt goed tegen fp's.

Duidelijk?
15-07-2010, 16:43 door [Account Verwijderd]
[Verwijderd]
15-07-2010, 21:47 door Anoniem
Daarbij is je BBcode totaal nutteloos geworden, dus wie gaat dat nu lezen?

"Mijn" BBcode? Als je goed oplet zie je dat de quotes in "Vandaag,13:47 doorAnoniem" staan. Het forum zet daarna alle quote processing af. Helaas ben ik niet te porren om andersmans fouten op te lossen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.