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 , , 43 reacties

Trend Micro heeft de antimalwaretool HijackThis uitgebracht op Sourceforge onder een GPLv2-licentie. Het bedrijf blijft de software ontwikkelen via de projectpagina. De oorspronkelijke ontwikkelaar wil dat mensen samen het programma verbeteren.

Het antimalwareprogramma, dat in Visual Basic is geschreven, licht de computer door op malware en andere ongewilde programma's. Het maakt dan een uitvoerig rapport over zijn bevindingen. Experts kunnen in dat rapport zien wat er schort aan de Windowsinstallatie. De tool is heel populair op bepaalde fora, waar standaard eerst om een HJT-logbestand wordt gevraagd voordat naar verdere fouten wordt gezocht.

Waarom de software nu opensource wordt gemaakt is niet bekend. Wel zegt de oorspronkelijke ontwikkelaar, de Nederlander Merijn Bellekom, in een verklaring: "Dit betekent dat mensen hiermee een solide basis krijgen om hun eigen antimalwareprogramma's te maken of verbeteren."

Het Japanse beveiligingsbedrijf heeft in 2007 HijackThis gekocht van Merijn Bellekom. Trend Micro voegde toen een feature toe waarmee gebruikers de logbestanden ter analyse naar het bedrijf konden sturen. Het programma is nu te downloaden van de projectpagina op Sourceforge.

HijackThis 2.0.4 screenshot (481 pix)

Moderatie-faq Wijzig weergave

Reacties (43)

Als Software Engineer ben ik toch altijd nieuwsgierig hoe de code van zo'n programma er nou uitziet (kwaliteit van code etc), en zoals ik verwacht had word ik hier weer verdrietig van.

Ok, het is in Visual Basic geschreven, en daar kan je natuurlijk niet te veel van verwachten, maar het ziet er uit alsof het een lelijk in elkaar gehackt is programma is. En kom ik dingen tegen als:
sEncryptionPhrase = "FUCK YOU SPYWARENUKER AND BPS SPYWARE REMOVER!"
Neemt natuurlijk niet weg dat de deur nu open staat voor geintereseerde om het project door te zetten, in een geadvanceerdere programmeertaal, bijvoorbeeld VB.NET of C# is een leuke vanaf VB.

En over het obfuscaten van zo'n programma, ik denk niet dat het veel zin heeft. Het is een
'remover' en geen 'protector', dus het loopt sowieso achter de feiten aan, en komt niet met iets nieuws. Malware nesteld zich daar en daar? Mooi, gaan we daar en daar kijken of er iets is wat niet pluis is.

[Reactie gewijzigd door ThomasG op 21 februari 2012 12:05]

Oh, da's nog niets. Kijk maar 'ns op The Daily WTF (CodeSOD) ... daar zie je echt bedroevend slechte code voorbijkomen.
OMFG wat zit daar allemaal tussen.
Oh nee! Nee!

Waarom?!

Dit...

zo erg...
Wat ik zelf een keer ben tegen gekomen:

(pseudo)
negativeVar = positiveVar - (2 * positiveVar)
Whaha best geniaal eigenlijk. Zou ik zelf niet opgekomen zijn :+
Huh, da's toch hetzelfde als X = -Y ? Ik vraag me af wat die programmeur dan gewild had. :+
Als Software Gebruiker ben ik toch altijd weer nieuwsgierig naar de argumenten van een Software Engineer waarom de manier waarop een goed werkend programma dat zijn nut al vele jaren heeft bewezen en de programmeertaal waarin het geschreven is ertoe doen.
Ik begrijp dat er bepaalde zaken verdere ontwikkelingen vergemakkelijken, maar daar heb ik als gebruiker geen boodschap aan. Het resultaat is goed en doet wat het moet doen.
Inderdaad, dat is natuurlijk ook belangrijk voor een programma, dat het goed werkt. Ik wil ook helemaal niet zeggen dat dat niet het geval is. Maar er is natuurlijk ook een andere kant, namelijk het onderhouden van het programma.

De code en rommelig, en zijn er veel dingen die geoptimaliseerd kunnen worden. Als je dit programma niet gaan onderhouden, dwz. nieuwe dingen toevoegen, bugs eruit halen, etc. word je hier niet vrolijk van. Nu is dit nog een relatief klein programma, dus valt het allemaal wel mee. Maar stel je eens voor dat, ik noem maar wat, FireFox zo was geschreven? Dan zouden de onderhoudskosten de pan uit reizen, en wordt het een hele kleus voor de programmeurs om zo veel mogelijk bugs te vermijden etc.

Aan gezien vergelijkingen met auto's nog al populair is tweakers, je zou het zo kunnen zien: Je hebt een nieuwe radio in je auto, en in plaats van het netjes in te bouwen plak je de boel maar vast het duct tape. Gaat lekker snel, het werkt, en zal ongetwijfeld goed vast zitten, maar of het nou handig is..?

Of stel je werkt in een magazijn of archief, en in plaats van dat alles netjes geordend flikker je alles gewoon op een hoop.

[Reactie gewijzigd door ThomasG op 21 februari 2012 12:30]

De code en rommelig

tja, en dat is natuurlijk in the eye of the beholder, elke programmeur heeft zo zijn eigen denkwijze wat wel en niet goed is.. Zeker nu het steeds langzamerhand mensen meer afhankelijk raken van hun IDE om dingen te achterhalen, weinig commentaar (want tja waarom zou je commentaar schrijven, goed geschreven code wijst zichzelf toch? Yeah right, slecht geschreven code wijst zichzelf ook), en een overkill van gebruik van lamba-expressions (ja, tuurlijk kun je ze overal gebruiken, maar je code wordt er niet duidelijker op (zeker niet als dus dat commentaar weggelaten is)).

Er is ook geen taal waar je geen puinhoop in kunt schrijven (in tegenstelling tot wat sommige mensen denken), en in elke taal kun je ook nette code schrijven.

Als ik soms zie wat een prutswerk er afgeleverd wordt door de grote dure bedrijven zoals pinkroccade (waar het dus allemaal volgens de 'regels' zou moeten gaan) dan vraag ik me af wat genoeg mensen goede code vinden..

tja, en als jij alles op een hoop gooit en het daar perfect weet te vinden, dan is het voor jou dus goede code, maar voor iemand anders een nachtmerrie.. Zoals ik al zei, goede code is in the eye of the beholder...
Of stel je werkt in een magazijn of archief, en in plaats van dat alles netjes geordend flikker je alles gewoon op een hoop.
Ja maar de gebruiker ziet dat archief toch niet? :+

(die staat aan de voorkant te klagen waarom het zo lang duurt)
Precies, en diezelfde klanten die daar staan te zeuren waarom dat het zo lang duurt staan in softwareland ook te klagen waarom het zo lang duurt waarom dat bug XXX nog niet is opgelost.

Goede code werkt nou eenmaal prettiger, overzichtelijker en sneller. En aangezien het overzichtelijker is komen erover het algemeen minder bugs in de software.
En aangezien het overzichtelijker is komen erover het algemeen minder bugs in de software

dat is dus klinkklare onzin.. want, wat is overzichtelijk, en wat is goede code? wat voor JOU overzichtelijk/goede code is, hoeft voor MIJ niet overzichtelijk/goede code te zijn en omgekeerd. Ook met 'overzichtelijke' code kan het zo zijn dat je bug XXX niet kunt oplossen omdat je gewoon een verkeerde opzet hebt gebruikt die een complete rewrite nodig zal hebben om bug XXX te kunnen oplossen.
Of er zijn gewoon zoveel bugs dat de bug waar je telkens last (bepaalde situatie) van hebt nooit aan de beurt komt omdat de anderen zoveel makkelijker op te lossen zijn.
Goede code is goed gedocumenteerde code. Dit kan natuurlijk ook in de variabele/functienamen zijn, want die zie je immers bij de aanroep ervan. En eventuele fouten moeten duidelijk zijn waar ze vandaan komen zodat evt. bugs makkelijk op te sporen zijn. (exception handling bijv.)
Goh, dit programma heeft talloze mensen gelukkig gemaakt. Maar jij weet het wel eventjes beter.. Echt, iets meer respect voor de makers van dit programma, wat jarenlang gratis op de markt is gebracht en onderhouden is is wel op zijn plaats hoor.

Misschien moet je je maar met het project bemoeien in de opensource fase, mensen die verstand van zaken lijken te hebben zijn natuurlijk altijd welkom.
Ik begrijp je reactie, ik zal het wel niet goed verwoord hebben, en ik ben ook wel een zuurpruim, maar zo bedoel ik het niet. Het gaat mij er niet zozeer om of het programma werkt, want dat doet het, en het is ook een geweldig programma wat mij betreft.

Maar kwa code is het een andere wereld, en voor mensen zoals jij irrelevant. Maar mensen die een programmeur's bril op hebben en kwalitatief goede code willen snappen wat ik bedoel. Nogmaals, dat het programma zelf verder goed werkt doet er wat dat betreft niet toe.
ah, oke. Bedankt voor je toelichting :-)
Is dit dan in VB6 geschreven :o
Gebruik deze tool al jaren. Erg fijn om "tripple" malware the verwijderen (bestand, registerkey, opstartsleutel). Je moet wel precies weten wat wel en niet op de pc thuishoort.
Nu zo modificeren met een online database erachter, wat automatisch de gevonden een stempel geef (veilig, onveilig, onbekend).
Bestanden die onbekend zijn, zouden dan een optie moeten hebben om gescreend te worden (door de community).

Hijackthis is een super fijn programma, zolang je weet wat je doet.
Wanneer het idee van hierboven geÔmplementeerd wordt, wordt hijackthis een stuk gebruiksvriendelijker.
Gooi je log maar eens door www.hijackthis.de, je krijgt een hele analyse te zien met community votes!
Online database er achter is makkelijk te re-routen door een malware programma. Die schrijft wat nieuwe 'hosts' regeltjes en je hijack this servers kunnen niet meer gevonden worden.
inderdaad 1 verkeerde regel repairen/verwijderen en je systeem start niet meer op

Als je de kennis in huis hebt is het een fijne tool !
Hmm.. Is dit nou wel handig? Kun je als malware maker weer mooi wat ideeŽn opdoen + manieren gaan zoeken om het eea te omzeilen.
Aan de andere kant zullen de meeste methoden ook al wel bekend zijn.

[Reactie gewijzigd door MaZeS op 21 februari 2012 11:43]

Security through obscurity is in mijn optiek een achterhaalde beveilgingstechniek.
http://en.wikipedia.org/wiki/Security_through_obscurity
An attacker's first step is usually information gathering; this step is delayed by security through obscurity. The technique stands in contrast with security by design and open security, although many real-world projects include elements of all strategies.
Oftewel, het is wel degelijk een bruikbare techniek.

Om te voorkomen dat je webserver gekraakt wordt kun je bijvoorbeeld ervoor zorgen dat hij niet bij foutpagina's e.d. weergeeft welke server het is. Zo geeft de Tweakers webserver op de foutpagina aan dat deze site op een Apache server draait en dat maakt het toch net weer een tikje makkelijker voor een aanvaller om aan een aanval te beginnen.

Overigens maak ik zelf liever het onderscheid tussen security through secrecy en security through obscurity. Obscuur is dan iets onbekend i.p.v. geheims. Tweakers zou bijvoorbeeld op een webserver kunnen gaan draaien waar nog nooit iemand ooit van gehoord heeft. Is dat dan veiliger dan draaien op een bekende server als Apache? Wie zal het zeggen?
Daar kan je met TCP finger printing wel achter komen, is net zo makkelijk. Het is niet zo dat een aanvaller denkt: hey! daar staat apache 2.1.3! Nu ga ik hacken! Het is eerder: ik heb een doelwit in gedachten, volledige analyse maken en vectoren zoeken!

Je gaat niet per ongeluk iemand hacken om dat je wat gegevens kon vinden :)
Voor bots en malware kan het wel handig zijn.
Als je een lek hebt gevonden in een bepaalde versie van een webserver, dan kan je daar naar zoeken en alle versie's die je vinden kan infecteren en daar foute dingen mee te doen.
Als je niet zo makkelijk weer geeft welke versie je draait is het minder makkelijk om die automatisch te infecteren.
maar het werkt nog steeds wel goed, want het kost meer tijd om dit uit te pluizen dan zonder obscurity.. maaaaaaar, je moet dat niet als basis gebruiken...
Goede vraag, maar ik denk dat het sowieso makkelijk is om te kijken waar de applicatie naar kijkt. Je kunt de applicatie ook disassemblen (OllyDBG, IDA, w32dasm) en in de code kijken wat die doet. Daar komt ook bij dat wanneer ik een malware applicatie maak ik ook weet waar ik naar moet zoeken (files, registry etc.). Ik denk niet dat er iets interessants te vinden is mits je maar iets uitbrengt wat de applicatie nog niet oppakt.

Misschien een teken dat ze binnenkort ophouden met support voor deze applicatie?

[Reactie gewijzigd door Squ1zZy op 21 februari 2012 11:52]

Misschien een teken dat ze binnenkort ophouden met support voor deze applicatie?
Ik denk het wel. Met CWShredder zijn ze ook al gestopt.
Geen zin in zelf developen, dus maak het maar open source...
Eerder: *Geen zin in support, maar er is een user base, dus probeer ik het een community-backed product te maken door de source open te stellen en hopelijk andere ontwikkelaars het product zelfstandig laten voortzetten in plaats van het ding droppen en het langzaam laten verdwijnen.*
Deed sommige malware nu al. ;)
Wat HiJack This allemaal napluist zijn plekken waar malware gebruik van kan maken; kortom deze plekken zijn bij malware-makers toch al bekend.
presies wat ik dacht. nu kan de malware maker presies zien waar die zich wel of niet moet bevinden
Obfuscaten van de software kan makkelijk.
Het is een VB app, dus dat is simpeler zelfs.
Dan kunnen malware het moeilijker herkennen omdat de data in het geheugen anders is dan ze denken, kwestie van de EXE aan te pakken ;)
Obfuscaten is voor mensen die 'even snel' wat willen stelen/misbruiken. Om dat het tijd kost en de 'even snel' factor dus buiten spel valt. Voor de rest is Obfuscaten nutteloos.
Voor mensen die zeggen dat ze nu gaan uitvinden hoe het werkt en hoe ze het bypassen: hadden ze al gedaan. Ik kan me herinneren dat Vundo de O4 items verborg. Werkte iets te goed. plus. zelfs zonder mod sdk voor minecraft zijn er nu al mods...
Daarbij is security by obscurity nooit echt zo'n schitterend idee.
Zou je ook met een eigen HijackThis prog met virus kunnen uitbrengen zodat je denkt dat je systeem brandschoon terwijl het virustuig aan het rondrennen op je platters. Hmm ook interessant aan het worden. Sommige dingen moeten ze laten zoals het is en niet allemaal opensource maken.
Vroeger gebruikte ik deze tool ook geregeld om een systeem te controleren. Maar nu ik autoruns van sysinternals heb ontdekt, gaat mijn voorkeur uit naar de laatste. Die vindt nog veel meer dan hijackthis. Neemt niet weg dat hijackthis een handig proggie is.

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