Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 47 reacties
Bron: Kaspersky Lab

Volgens het Russische Kaspersky Lab is er een nieuw soort virussen op komst. Onder de naam "Stream Companion" maken de boosaardige stukjes programmacode gebruik van het NTFS bestandssysteem van Windows 2000 en NT. Dit systeem ondersteunt dat meerdere streams tegelijk uitgevoerd worden, voor bijvoorbeeld encryptie. Het virus gaat nu in één van de onderliggende stromen zitten, waardoor virusscanners het niet kunnen onderscheppen, want momenteel wordt alleen de bovenste stroom op virussen gechecked. Antivirus-software zal dus moeten worden aangepast. Het eerste Stream-virus is overigens al gefabriceerd:

Kaspersky Lab, an international anti-virus software development company, announces the discovery of W2K.Stream virus, which represents a new generation of malicious programs for Windows 2000. This virus uses a new breakthrough technology based on the "Stream Companion" method for self-embedding into the NTFS file system.

"Certainly, this virus begins a new era in computer virus creation," said Eugene Kaspersky, Head of Anti-Virus Research at Kaspersky Lab. "The ’Stream Companion’ technology the virus uses to plant itself into files makes its detection and disinfection extremely difficult to complete.”

Unlike previously known methods of file infection (adding the virus body at beginning, ending or any other part of a host file), the "Stream" virus exploits the NTFS file system (Windows NT/2000) feature, which allows multiple data streams. For instance, in Windows 95/98 (FAT) files, there is only one data stream – the program code itself. Windows NT/2000 (NTFS) enables users to create any number of data streams within the file: independent executable program modules, as well as various service streams (file access rights, encryption data, processing time etc.). This makes NTFS files very flexible, allowing for the creation of user-defined data streams aimed at completing specific tasks. [break]
File before infection   File after infection

main stream

program body

service streams
 
main stream
virus body

additional stream
program body

service streams

Kijk hier voor meer informatie.

Lees meer over

Moderatie-faq Wijzig weergave

Reacties (47)

In de jaren dat ik nog DOS draaide, had ik een virusscanner die CRCs kon berekenen voor alle executables op mijn harddisk. Als er dan een file veranderde, werd dat opgemerkt tijdens een scan.

Als ik die streams goed begrepen heb, zal een programma dat niet "stream aware" is altijd de main stream voorgeschoteld krijgen. Aangezien die voor het virus compleet anders is als voor het originele programma, is dit ook door een al bestaande virusscanner eenvoudig op te merken.

Het zou pas een probleem worden als het virus zich zou kunnen verstoppen in een andere stream dan de main stream en zichzelf toch opgestart zou kunnen krijgen. Maar als ik het plaatje bovenaan mag geloven, is dat niet het geval. De site van Kaspersky krijg ik helaas niet te zien, die zal door alle publiciteit wel overbelast zijn.
CRC checking was inderdaad een goeie techniek, ware het niet dat het in de praktijk gebleken is niet geweldig te zijn. Een signature scanner zal zelden een vals alarm geven omdat een signature erop gemaakt is om (vrijwel) alleen bij een virus(familie) te passen. Maar een CRC checker controleert of een programma veranderd is. Als je dus even een nieuwe versie van een programma installeert of een patch eroverheen gooit (neem die outlook security patch), dan slaat dat ding ook alarm, tenzij je de crc database OOK meteen update. En wat wil een gewone(lees: in onze ogen domme) gebruiker? Juist, een programma dat alarm slaat bij een virus en verder zijn kop houdt. Ik ken in mijn buurt aardig wat mensen die in het goeie ouwe TBAV CRC checking helemaal uit hadden gezet omdat ze er gek van werden dat ze elke keer dat geblaat kregen als ze een nieuwe versie van een programma hadden geinstalleerd. Dat kan dan wel gemakzuchtig zijn, daar ben ik het mee eens, maar het is de praktijk en CRC checking werkt dus niet, vandaar dat veel antivirusfabrikanten het helemaal weg hebben gelaten, in mijn ogen redelijk terecht, want CRC checking heeft 1 grote beperking:

Er moet iets bekend zijn over de originele staat van het programma (VOOR de infectie dus), voordat er alarm geslagen kan worden. Dus als iemand een cd'tje bij een pakje roomboter krijgt met de tekst 'Jaaaa installeer nu voor dit geweeeeldige programma' en hij stopt dat in zijn cdrom speler terwijl er een virus op die cd staat, kan die CRC checker nooit weten of er iets veranderd is aan het programma, want dit is de eerste keer dat hij dat programma ziet! Natuurlijk kan je het wel zien als dit virus programma's op je harde schijf gaat aantasten, maar de bron is op deze manier onvindbaar. Bovendien identificeert CRC checking virussen niet, wie weet heb je wel 20 van die krengen op je systeem zitten.

Maar het is natuurlijk wel, mits goed gebruikt, een hulpmiddel... wie weet dat deze generatie virussen de virusmakers min of meer gaat verplichten om het weer in te voeren?
Hmm misschien maken we ons wel een beetje te druk. Zdnet:

"They have not proven anything here except that they can write data to an alternate data stream," said Russ Cooper, editor of Windows NT security watcher NTBugtraq.com, who moderated a discussion of the possible dangers posed by alternate data streams in 1997. That discussion concluded there was very little danger posed by the exploitation of the file streams system..."
"This is highly theoretical and not all that new," said Cooper, who pointed out that to infect a computer, the virus would have to infect the main stream of the program. That would make it visible to current anti-virus programs. The virus, created by two writers using the names Benny/29A and Ratter, does little else except infect files and it doesn't do that very well either, said Patrick Martin, product manager for Symantec Corp.'s (Nasdaq: SYMC) anti-virus research labs.
Users should not worry about the virus attacking their computers. "This is a proof of concept," he said. "This virus is not going anywhere. It is not in the wild."

totaal verhaal op www.zdnet.com/zdnn/stories/news/0,4586,2624500,00.html
Hmmm.... op deze manier is het dus eigenlijk mogelijk virussen die deze methode gebruiken overal te pas en te onpas opduiken. Vooral met vpn's kan dit ook erg grappig worden.
Het wordt tijd dat de AV-bedrijven weer wat geld gaan pompen in hun R&D om dit soort grappen tegen te gaan. Het erge hieraan is dat het NTFS filesystem vrij flexibel is, wat dus ook de programmeur van het virus heel veel ruimte geeft om allerlei controles van viruscheckers te omzeilen. Erg gevaarlijke ontwikkeling dit, mede als je bedenkt (zie de laatste poll) zeer veel bedrijven toch NT/2000 draaien.
NT als server ja... als workstation zullen het er wel redelijk wat minder zijn.
Maar bedrijven kopen over het algemeen hun software en downloaden maar sporadisch een service pack of wat dan ook en op een server worden geen email attachments geopend (zou niet moeten althans :) dus de kans is klein dat zo'n virus op de server komt.
Tenzei de software al besmet is bij de distributeur natuurlijk.

Het gevaar zit hem dan ook bij de NT/2k workstations.
jtm, totdat je een virus gaat maken dat via userprofielen werkt, want dan kun je dus wel wat makkelijker virussen via een pdc of bdc verspreiden. En als je als virus daar bent is het natuurlijk ook erg leuk om je in delen te nestelen waar onder andere de replication service op draait. Of virussen distribueren via de (win)logon scripts. En er zijn nog veel meer mogelijkheden en zwakheden te vinden.
Uhm, kan aan mij liggen hoor, maarreh meestal zijn er meer workstations dan servers.

En aangezien NT nog steeds gebruiksvriendelijker is dan *nix lijkt het me dat er ook meer NT op de workstations zal staan dan een *nix systeem.

Tja, beste oplossing hiervoor is de virusmakers opknopen na ze eerst van hun minst vitale ledematen te hebben ontdaan.
Grappig dat je dit gelijk zegt over die R&D geldstromen...

Ik ben benieuwd wie die geldstromen op moeten gaan hoesten (wij dus) en in hoeverre (Mjah, klinkt wat paranoide, weet ik) de AV-bedrijven meeontwikkelen aan dit soort "virus-doorbraken"... Is al een oude complottheorie, maja, ik haal hem maar eens van stal...

Levert ze waarschijnlijk enorme bergen klanten en gelden op, in het spoor van "I love you" en zo...
its detection and disinfection extremely difficult to complete.?
Correct me if I'm wrong. maar d'r zal toch een API zijn voor het lezen van die streams ?. je moet dus gewoon meerdere streams scannen.
het verwijderen lijkt me eerder makkelijker dan een gewoon virus.
nadat je de stream met het virus gevonden hebt, open je alle streams en schrijf je alle streams behalve die met het virus weer naar disk.
het hele streams gebeuren houd dus het virus mooi gescheiden van het programma.
Ik denk dat je daar wel gelijk in hebt, maar dat is ook precies wat Kapersky zegt: de software moet aangepast worden. De 2000 API's zijn uiteraard anders dan die van '9x en als daarin opeens deze nieuwe mogelijkheden uitvloeien moeten de ontwikkelaars dus software herschrijven.
Godver achter de hele verkeerde post :(
Het VFS system in NT/win2000 is zo opgezet dat het in lagen is ingedeeld. Anti virus software zit in DIE laag waar de rauwe data doorheen kachelt. Hoe die data daarBOVEN semantisch aan programma's wordt gevoerd is niet interessant. Hierdoor kun je dus middels bestaande antivirus software ook dit soort virii onderscheppen, om de doodeenvoudige reden dat het virus langs het anti-virus programma komt (het moet immers wel ingeladen worden, of wil zichzelf wegschrijven).

Elk virus wat de antivirus software niet kent komt er door, en DAT is dus het enige gevaar hier.

NEXT!
Het klinkt heel logisch wat je zegt
(het moet immers wel ingeladen worden, of wil zichzelf wegschrijven)
Kijk en daar zit het hem nou de meeste virus scanners herkennen pas een virus als er eentje geschreven is en dan is het al te laat, want dan zit het virus zich al te nesten in die "semantisch" laag.
Ik ga er vanuit dat dat virus eenmaal opgestart in die laag blijft zitten en geen kop buiten de deur steekt.
NTFS streams bestaan al sinds NT 3.x, daar is niks nieuws aan. Het is alleen nieuw dat virussen zich hierin gaan verbergen, en dat is eigenlijk wel logisch, want Microsoft is zo dom geweest om nergens iets in Windows te bouwen waarmee je iets over die streams te weten kunt komen.

Er is wel een tooltje van SysInternals (de jongens van RegMon en FileMon) waarmee je informatie over streams kunt krijgen. Zie daarvoor www.sysinternals.com/misc.htm#Streams
Als deze info klopt zijn we daar dus weer mooi klaar mee! Wéér een generatie virussen die niet zonder meer door een scanner gepakt kunnen worden :(

Eén 'voordeel' zie ik er nog wèl in: volgens mij is een dergelijk virus niet door Jan-en-alleman te maken, dus de aantallen verschillende virussen zullen misschien nog wel mee gaan vallen.

* 786562 rené
Jan en alleman zullen niet snel in staat zijn om een dergelijk virus in elkaar te knutselen, maar als er éénmaal een Jan is die het wel gelukt is, dan is het voor alleman even wachten en dan is de user-friendly GUI versie overal en nergens neer te halen. Dat is een levensgroot risico waar we mee geconfronteerd worden.

Op een gegeven moment wordt het common knowledge en dan breekt de pleuris pas goed uit, dan gaat iedere 13-jarige zo'n virusje bakken en klaar ben je...

In dit verband is het begrip virus nog aardig onderschat!

* 786562 TgF
rené van den berg betrapt zich er bijna op het woord Linux in dit verband te willen gebruiken!
Jazeker, Linux krijgt in de toekomst waarschijnlijk ook meerdere streams (forks) per file. En daar zou ik best blij mee zijn, het is een mooie feature. BeOS schijnt het trouwens al een tijdje te hebben, net als de Mac.
Volgens mij gooi je wat in de war, want de bestandsvork bij de Macintosh (BeOS? volgens mij niet) herbergt volgens mij heel wat anders (ik heb hier niet zo heel veel verstand van maar toch), als ik een file of programma open met resedit (supertool!!!!) dan zie ik gewoon wat icoontjes, menuutjes, je kan een beetje hexediten, eigenlijk het hele programma veranderen.
Resedit is in mijn bescheiden kennis een tool wat de bestandsvork opent waardoor je dingen kunt editen in een file. Wat die vork met streams te maken heeft kan ik niet zo goed volgen.....
--------------------------------
Als ik een vanaf een Mac iets op een DOS-flop opsla, dan zie ik een bestand en een map, en in die map zit weer een bestand met dezelfde naam, en er slingert nog iets als resource.fork ofzo rond. Volgens mij houdt bij het MacOS die resource.fork het hele zootje bij mekaar, terwijl het eigenlijk losse onderdelen zijn.

Kan hier iemand ff zijn licht op laten schijnen?
Streams is volgens mij de MS benaming van bestandsvorken. Een beetje verwarrend, want een serieele datastroom wordt ook stream genoemd (als in "streaming audio").

BeOS heeft in ieder geval een equivalent van wat MS "service streams" noemt. Hierin worden o.a. het mimetype en keywords opgeslagen. Ik meen ergens gelezen te hebben dat BeOS ook forks ondersteunt die voor willekeurige doeleinden gebruikt kunnen worden, maar dat kan ik zo snel niet terugvinden.
De benaming is overgenomen van het 'orgineel'. De hoofdontwerper van NT was een vd VMS ontwikkelaars. De VMS 'feature' is overgenomen. Het was dus al onder NT 3.5 aanwezig.
Het lijkt me juist erg makkelijk om te maken, je hoeft niet te klooien om je programma aan een ander te knopen op een manier dat het origineel nog werkt.
d'r zal wel een API zijn om streams te gebruiken en zal het dus relatief eenvoudig zijn om je virus hier gebruikt te van laten maken.
Dit zal altijd door blijven gaa. Programma's en pc's zijn door mensen gemaakt, dus worden er ook virussen door mensen gemaakt. Dit kun je niet voorkomen, wel bestrijden. Met o.a. de nieuwste virusprogramma's.

I've spoken
Ik ben zelf een erg happy Linux en Unix gebruiker en vind het dan ook helemaal niet erg dat er op dit platform weinig tot geen virussen zijn.
Ik ben mij er echter wel terdege van bewust dat dit komt omdat het nog steeds niet een erg veel gebruikt OS is, zeker niet bij gewone users en dat er daarom gewoon minder interesse is bij "programmeurs" om hier virussen voor te schrijven.
Echter dit zal in de toekomst zeker gaan gebeuren, hoe meer users er komen des te meer virussen.
Nou toch maar over gaan op WindowsME dan...!?

Dat gezeur met al die virussen.. Je bent eigenlijk best ziek als je je met zulke nog ziekere dingen bezig houd...

Het kost een hoop geld al die virussen.. Dat geld kan toch veel beter besteed worden??
Over gaan op Windows ME behoed je niet voor een virus-attack. Ik zal je de server opmerking besparen, dat heeft basb al goed verwoord.

Juist de OS'en die voor thuisgebruik goed geschikt zijn (95/98/98SE en nu ME) zijn extra vatbaarder voor een virus, om de eenvoudige reden: worden veel gebruikt, is een hoop kennis van aanwezig (dus makkelijker om een virusje te bouwen) en wat is er nu "leuker" dan een virus te bakken wat een groot besmettingsgebied heeft, omdat er heel veel met dat programma of OS gewerkt wordt?

Kijk bijvoorbeeld naar het OS van (voormalig) Digital: VMS, het moet best mogelijk zijn om daar een virus voor te bakken, maar daar hebben die gekken geen plezier van en kennis van VMS doe je niet zomaar op, dus pakken "ze" liever een OS wat veel gebruikt wordt en waarvan "ze" zelf ook de nodige kennis hebben.

En wat je zegt: "Dat geld kan veel beter besteed worden" da's de understatement van het jaar, maar ja, alsof een virusbakker zich daar wat van aantrekt.

Het probleem is gewoon moeilijk (zo niet) onmogelijk aan te pakken, er zullen altijd mensen plezier hebben in het verne*ken van andermans spullen en je kunt wel weer iets bedenken in de voorkoming ervan, maar daar vinden die zieke geesten ook wel weer wat op.

En de cirkel is weer rond...
Je bent eigenlijk best ziek als je je met zulke nog ziekere dingen bezig houd
Kijk.. het maken van een goede virus is best een uitdaging... De meeste virussen zijn programmeertechnische hoogstandjes... Ik bedoel.. bijvoorbeeld zo'n NTFS virus bakken is geen kattepis.

En das natuurlijk niet hetzelfde als het virus loslaten op de wereld. Want dat zijn gewoon criminele bezigheden.
Eguan,
windows millenium is gewoon een nieuwe op dos gebaseerde versie van windows 95/98. Deze operatingsystems zijn eigenlijk alleen geschikt voor spelletjes en eenvoudige dingen als tekstverwerking. Maar ronduit ongeschikt om als server te gebruiken.

Voor een server draai je windowsNT, dit is een een heel ander os en is ook veel stabieler an windows95/98/millenium.
Voor servers heb je natuurlijk ook novel, linux en unix; nt is natuurlijk niet de enigiste maar wel degene die gevoelig is voor ntfs virussen immers ntfs is van nt :)
Dat is niet helemaal waar.
Even een volledige Synopsis:

Streams komen van de mac waar ze forks worden genoemd. Ze worden gebruikt om meerdere informatie bronnen in een file op te slaan, bijv iconen, plaatjes aka resources. WindowsNT heeft support voor appletalk en companen dus is zijn streams dan ook nodig om je nt-server goed te kunnen gebruiken in een apple-netwerk. Daarom zitten er streams in NTFS.

Het grote probleem is dat ms nooit echt veel heeft gedaan rond streams, ze zijn dus ook niet via de standaard win32-api's te benaderen. Alleen via low-level NT api's zijn ze te lezen. Die api's zijn niet gedocumenteerd en "ms-only".

Het gebruiken van streams in een virus heeft 2 problemen :
1- het werkt alleen via NTFS, op ieder ander fs ben je je streams gewoon kwijt, zelfs als je het verstuurd ( email, ftp ) raak je alles behalve de hoof-stream kwijt.

2- Meestal wil je dat je virus opstart ipv. de main .exe, dus moet je je virus-code in de main-stream dumpen, en die kan nu juist wel gewoon gelezen worden.

Alleen als virus-code al actief is zou je het kunnen gebruiken om data te hiden, maar als het virus al actief is dan kan alles.
Het grote probleem is dat ms nooit echt veel heeft gedaan rond streams, ze zijn dus ook niet via de standaard win32-api's te benaderen. Alleen via low-level NT api's zijn ze te lezen. Die api's zijn niet gedocumenteerd en "ms-only".
onzin:
KB artikel ID: Q105763.
Of kijk eens rond bij de COM interfaces van het storage object, bv door te beginnen bij StgCreateStorageEx, of IPropertySetStorage in de MSDN.

Ik word zo ziek van dat gepiemel over 'undocumented features' en 'ms-only'. Doe eens wat research voordat je iets roept. Zoeken in de MSDN op 'stream AND NTFS' leverde al 207 topics op. Meer leesvoer dan ik aankan op een zondag middag :)
Is het niet zo dat als je iets binnenhaalt via internet of een cd er in tjokt dat ie gaat scannen als er gelezen wordt ??

Of ben ik nou iets te simpel bezig ?
Zalig zijn de simpele van geest ;)

Op zich heb je wel gelijk, maar als ik in mijn viri-scanner zeg dat ie niks moet doen, dan doet ie niks (ook al floep ik er een CD in).

Daarnaast heb je te maken met signature files (data waaraan de scanner een virus kan herkennen) en daar zit 'm de kneep. Die signature files moet je updaten, als ik nu zo'n bestand heb met mijn scanner en er komt een nieuw virus uit (van enige inteligentie) dan herkent mij scanner deze niet en dan heb ik een probleem.

Je signature bestanden kunnen pas geupdated worden nadat een nieuw virus in het veld is aangetroffen, je loopt dus altijd achter.

Dit is ook niet te voorkomen (logisch).

Daarnaast is het een hobby (?) van een virusbouwer om een virus te maken wat niet door de top-10 scanners gevonden wordt, zo blijven ze bezig, de mensen die een virus maken en zij die dat weer ongedaan proberen te krijgen.

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True