Schat in of een be­stand be­trouw­baar is

Schat in of je een be­stand moet wan­trou­wen of niet

C’t Magazine - - Inhoud - Axel Vahl­diek

In de down­lo­ad­map staat het be­stand dat je net van een web­si­te af­ge­haald hebt. Is het vei­lig om er­op te dub­bel­klik­ken? Het kost maar een paar se­con­den om een goe­de eer­ste in­schat­ting te ma­ken.

Bij een net ge­down­load be­stand of een via e-mail ont­van­gen be­stand be­staat al­tijd een be­paald ri­si­co dat het om mal­wa­re gaat. En dat geldt ze­ker niet al­leen voor be­stan­den uit du­bi­eu­ze bron­nen, maar ook voor be­stan­den van se­ri­eu­ze aan­bie­ders en van af­zen­ders die bij­voor­beeld zelf het slacht­of­fer van een aan­val kun­nen zijn. Hoe con­tro­leer je een der­ge­lijk be­stand? Zon­der ex­pert­ken­nis en bin­nen een paar se­con­den is daar al een eer­ste uit­sluit­sel over te krij­gen. Met de tips uit dit ar­ti­kel con­tro­leer je niet al­leen de sig­na­tu­re met een en­ke­le muis­klik, maar laat je het be­stand met­een ook door meer dan 60 vi­rus­scan­ners on­der­zoe­ken.

Maar om van te­vo­ren één ding dui­de­lijk te ma­ken en hou­den: de hier voor­ge­stel­de me­tho­de voor het snel con­tro­le­ren van een be­stand is geen en­ke­le ga­ran­tie dat het be­stand ook wer­ke­lijk on­scha­de­lijk is. Ver­ge­lijk het met een voet­gan­gers­over­steek­plaats: als het licht groen is, kun je nog steeds over­re­den wor­den, maar als

het licht rood is, weet je ze­ker dat je niet moet over­ste­ken – en in dit ge­val dus niet op het be­stand moet dub­bel­klik­ken.

De tool

Dat al­les wordt mo­ge­lijk ge­maakt door de free­wa­re tool Sig­check van Sysin­ter­nals. De ma­ker is Mark Rus­si­n­o­vich, die ook de be­ken­de sys­teem­tools Au­to­runs, Pro­cess Ex­plo­rer en Pro­cess Mo­ni­tor ge­pro­gram­meerd heeft en al sinds ve­le ja­ren voor Mi­cro­soft werkt. Het slechts een paar hon­derd kB gro­te pro­gram­ma staat bij https://li­ve.sysin­ter­nals. com. Het pro­gram­ma Sig­check.exe heeft geen GUI en is dus een puur Op­dracht­prompt-pro­gram­ma. We be­schrij­ven eerst de op­ties en mo­ge­lijk­he­den van Sig­check en ver­vol­gens hoe je het tes­ten met Sig­check zo kunt con­fi­gu­re­ren dat in de toe­komst een en­ke­le muis­klik vol­doen­de is.

Sig­s­check was oor­spron­ke­lijk al­leen voor het chec­ken van de sig­na­tu­res van be­stan­den be­doeld, of om pre­cie­zer te zijn: of het als sig­na­tu­re die­nen­de cer­ti­fi­caat van een cer­ti­fi­ce­rings­in­stan­tie kwam die door Win­dows ver­trouwd werd. Dat hoeft niet di­rect te zijn, maar kan ook via meer­de­re an­de­re te ver­trou­wen cer­ti­fi­ca­ten gaan: cer­ti­fi­ce­rings­in­stan­tie A ver­trouwt cer­ti­fi­ce­rings­in­stan­tie B, die op zijn beurt weer cer­ti­fi­ce­rings­in­stan­tie C en zo ver­der (cer­ti­fi­ce­rings­ke­ten). De ma­ker stopt een gel­di­ge sig­na­tu­re in een be­stand als be­wijs dat het wer­ke­lijk van hem komt. Zo'n sig­na­tu­re zegt dus niets over het fout­vrij zijn van een pro­gram­ma en of het wel on­ge­vaar­lijk is, maar je weet in elk ge­val wel bij wie je moet zijn als er pro­ble­men zijn. De ma­kers van pro­gram­ma's met gel­di­ge sig­na­tu­res zor­gen er nor­ma­li­ter uit angst voor ima­go­scha­de wel voor dat hun pro­gram­ma's zo goed mo­ge­lijk wer­ken en geen gek­ke din­gen doen.

De sig­na­tu­re is al­leen aan dat be­stand ge­kop­peld, en wordt dus on­gel­dig als daar ook maar één bit aan ver­an­dert. Als Sig­check aan­geeft dat een be­stand door Mi­cro­soft on­der­te­kend is, kun je er re­de­lijk ze­ker van zijn dat dat ook zo is – al is het hoog­uit 're­de­lijk' ze­ker om­dat het soms voor­komt dat de sig­na­tu­re ver­valst of ge­sto­len is. Dat is ech­ter een hoop ge­doe, zo­dat de mees­te aan­val­lers die moei­te niet ne­men.

Sinds eni­ge tijd kan Sig­check ook wat an­ders: Vi­rus­to­tal.com raad­ple­gen. Die web­si­te wordt door Goog­le be­heerd. Als je daar een be­stand naar uplo­adt, wordt het door 60 vi­rus­scan­ners ge­test. Het re­sul­taat van de Vi­rus­to­tal-test krijg je meest­al al na een paar se­con­den om­dat het pro­gram­ma in eer­ste in­stan­tie niet het he­le be­stand uplo­adt, maar al­leen een hash.

In­stel­len

Om er­voor te zor­gen dat je niet voor el­ke aan­roep van Sig­check een lan­ge com­man­do­re­gel moet in­ty­pen, staat bij de link aan het eind van dit ar­ti­kel het batch­be­stand sig­check.bat. Down­load het zip-be­stand, pak het uit en zet het met sig­check,exe in een wil­le­keu­ri­ge map. Ver­vol­gens klik je in het snel­me­nu van het batch­be­stand sig­check.bat op 'Ko­pi­ë­ren'. Druk ver­vol­gens op de toets­com­bi­na­tie Win+R om het Uit­voe­ren-ven­ster te ope­nen. Typ daar het vol­gen­de in:

shell:send­to

Na het be­ves­ti­gen met En­ter opent de map waar­in de snel­kop­pe­lin­gen staan van het 'Ko­pi­ë­ren naar'-con­text­me­nu voor be­stan­den en map­pen. Klik met rechts op een leeg deel van de map en kies 'Snel­kop­pe­ling plak­ken' – klaar. Je kunt de snel­kop­pe­ling ook een an­de­re naam ge­ven als je dat wilt.

Van­af nu kun je elk be­stand met het 'Ko­pi­ë­ren naar'-me­nu aan Sig­check mee­ge­ven, waar­na je een Op­dracht­prompt met de test­re­sul­ta­ten krijgt. Bij de eer­ste aan­roep moet je de li­cen­tie­voor­waar­den van Sysin­ter­nals en Vi­rus­to­tal.com een­ma­lig ac­cep­te­ren, daar­na hoeft dat niet meer. Hoe Sig­check pre­cies te werk gaat, kun je

Ver­ge­lijk het met een voet­gan­gers­over­steek­plaats: als het licht groen is, kun je nog steeds over­re­den wor­den

con­fi­gu­re­ren. Open het batch­be­stand met een tekst­edi­tor. De eni­ge re­le­van­te re­gel is de twee­de:

sig­check.exe -vr -h %1

De op­tie -vr zorgt er­voor dat de hash van het te tes­ten be­stand naar Vi­rus­to­tal.com ge­üpload wordt en dat de re­sul­ta­ten in de stan­daard brow­ser ge­toond wor­den als ten­min­ste één vi­rus­scan­ner alarm slaat. Als al­le vi­rus­scan­ners het be­stand ge­vaar­loos vin­den, ver­schijnt al­leen het test­re­sul­taat in het Op­dracht­promt-ven­ster. Als je wilt, kun je de op­tie uit­brei­den met -vrs. Die is be­doeld voor de ge­val­len dat Vi­rus­to­tal de ge­üplo­a­de hash­waar­de niet her­kent. In dat ge­val uplo­adt Sig­check het be­stand zelf au­to­ma­tisch voor na­de­re in­spec­tie.

Als Sig­check de com­ple­te cer­ti­fi­ce­rings­ke­ten moet la­ten zien, zet je ach­ter -vr de op­tie -i. Daar­mee wordt de uit­voer ech­ter aan­zien­lijk lan­ger en daar­door on­o­ver­zich­te­lij­ker.

Met de op­tie -h geeft Sig­check bo­ven­dien ver­schil­len­de hash­waar­den voor het on­der­zoch­te be­stand (MD5, SHA256, …). Voor een con­tro­le op ver­trou­wens­waar­dig­heid is dat niet no­dig, maar het be­spaart in veel ge­val­len wel een ex­tra hash­pro­gram­ma – als je dit niet no­dig hebt, laat je die op­tie ge­woon ach­ter­we­ge. De %1 aan het eind is geen op­tie, maar een brood­no­di­ge va­ri­a­be­le die voor het aan het batch­be­stand mee­ge­ge­ven be­stand staat.

Uit­voer

De uit­voer van het script in het Op­dracht­prompt-ven­ster ver­dient eer­lijk­heids­hal­ve geen schoon­heids­prijs, maar toont de re­sul­ta­ten in dro­ge tekst­re­gels en ten de­le met af­kor­tin­gen.

De eer­ste re­gel be­gint met 'Ve­ri­fied', daar ach­ter staat nor­maal ge­spro­ken 'Sig­ned' of 'Un­sig­ned'. In elk ge­val bij gro­te be­drij­ven als Mi­cro­soft en Goog­le moet het be­stand nor­ma­li­ter on­der­te­kend zijn, ook al be­ves­ti­gen uit­zon­de­rin­gen de re­gel. In som­mi­ge ge­val­len is er wel een sig­na­tu­re voor­han­den, maar wordt die niet als ver­trou­wens­waar­dig in­ge­schat. Dat her­ken je aan mel­din­gen zo­als dat de di­gi­ta­le sig­na­tu­re van een ob­ject niet be­ves­tigd kon wor­den, dat een cer­ti­fi­caat ex­pli­ciet ge­blok­keerd wordt of dat een cer­ti­fi­ce­rings­ke­ten naar een be­trouw­ba­re stam­cer­ti­fi­ce­rings­bron niet ge­maakt kon wor­den. Het be­stand is dan ook in eer­ste in­stan­tie niet te ver­trou­wen.

De lang­ste re­gel toont een da­tum, en wel die van het aan­ma­ken van het cer­ti­fi­caat (Sig­ning da­te) of van het be­stand (Link da­te) als een cer­ti­fi­caat ont­breekt. Dan vol­gen de­ge­ne die het pro­gram­ma uit­ge­bracht heeft (Pu­blis­her), het be­drijf dat het pro­gram­ma ge­schre­ven heeft (Com­pa­ny), een be­schrij­ving (De­scrip­ti­on), de pro­duct­naam en het pro­duct­ver­sie­num­mer en het ver­sie­num­mer van het be­stand. Bij Ma­chi­neTy­pe staat of het een 32- of 64-bit pro­gram­ma is.

De uit­voer gaat ver­der met zes ver­schil­len­de hash­waar­den. Daar­na komt de 'VT de­tec­ti­on' met het re­sul­taat van de test van Vi­rus­to­tal. In het ide­a­le ge­val staat daar '0/61', waar­bij het ge­tal ach­ter de schui­ne streep licht va­ri­eert – niet elk be­stand wordt door al­le scan­ners ver­werkt. Van be­lang is de 0 voor­aan, dan heeft geen en­ke­le vi­rus­scan­ner wat te kla­gen ge­had. De link in de re­gel er­on­der leidt naar de re­sul­taat­pa­gi­na van de test, daar kun je al­les ge­de­tail­leerd te­rug­zien.

Ana­ly­se­ren

In prin­ci­pe moet je al­le pro­gram­ma's die geen gel­di­ge sig­na­tu­re heb­ben wan­trou­wig be­han­de­len en op an­de­re de­tails let­ten. Als af­zon­der­lij­ke re­gels van de uit­voer niet in­ge­vuld zijn (dan staat daar 'n/a'), dan wijst dat op ge­knoei bij het aan­ma­ken van het be­stand. Dat kan een alarm­sig­naal zijn, met na­me als een groot be­drijf als pu­blis­her wordt ge­noemd. Ook voor jou en zelfs voor Goog­le on­be­ken­de pu­blis­hers kun­nen een alarm­sig­naal zijn, maar dat hoeft niet. Wel­licht komt het be­stand van een tot nu toe on­be­ken­de, maar wel se­ri­eu­ze pro­gram­meur.

Als min­stens een van de vi­rus­scan­ners van Vi­rus­to­tal alarm slaat, opent in de brow­ser de web­pa­gi­na van Vi­rus­to­tal met een ge­de­tail­leerd be­richt. Sym­bo­len la­ten zien hoe an­de­re ge­brui­kers het re­sul­taat in­schat­ten. Een an­der aan­kno­pings­punt is of de alar­men al­leen van de wat meer exo­ti­sche scan­ners of ook van de gro­te scan­ner­pro­du­cen­ten ko­men.

Alar­men van de meer exo­ti­sche scan­ners kun je mak­ke­lij­ker ne­ge­ren. Maar het kan net zo goed geen vals alarm zijn: het komt ze­ker voor dat een vi­rus­scan­ner een ge­heel nieu­we mal­wa­re als eer­ste ont­dekt, en dat geldt voor de meer exo­ti­sche net zo goed als voor de be­ken­de scan­ners. Als je op vei­lig wilt gaan, ver­wij­der je het ge­down­lo­a­de be­stand in plaats van het te star­ten.

Als Vi­rus­to­tal.com de door Sig­check mee­ge­ge­ven hash niet kent, kan dat ook een alarm­sig­naal zijn, maar dat hoeft niet. Als je bij­voor­beeld een zelf­ge­schre­ven script wilt la­ten on­der­zoe­ken, kan Vi­rus­to­tal het be­stand niet eer­der ge­con­tro­leerd heb­ben. Het wordt een an­der ver­haal als Vi­rus­to­tal de hash van pro­mi­nen­te soft­wa­re niet kent. Dat kan be­te­ke­nen dat er net een nieu­we ver­sie ver­sche­nen is, maar ook dat de down­lo­ad­pa­gi­na ge­kraakt is. Nor­maal ge­spro­ken wor­den po­pu­lai­re be­stan­den zo vaak bij Vi­rus­to­tal ge­üpload, dat ze re­gel­ma­tig ge­con­tro­leerd wor­den en de hash daar­door al lang en breed be­kend is.

Ad­vies

Als de test­re­sul­ta­ten een­dui­dig zijn, is het ad­vies een­vou­dig: als het be­stand on­der­te­kend is door een be­ken­de aan­bie­der en geen en­ke­le vi­rus­scan­ner er moei­lijk over doet, dan is het waar­schijn­lijk een ge­vaar­loos be­stand dat je met een ge­rust hart kunt la­ten uit­voe­ren – hoe­wel, om dat nog maar eens te be­na­druk­ken, het geen ga­ran­tie is dat dit ook wer­ke­lijk zo is. Als daar­en­te­gen de sig­na­tu­re ont­breekt of de­ze ra­re din­gen laat zien en er met­een meer­de­re vi­rus­scan­ners aan­slaan, dan kun je de tips uit het ka­der pro­be­ren – maar het bes­te is dan om ge­woon voor vei­lig te gaan en het be­stand zo snel mo­ge­lijk te ver­wij­de­ren. (nkr)

Het script toont de uit­voer wel zon­der op­smuk, maar geeft in een paar se­con­den in elk ge­val in­for­ma­tie over of een pro­gram­ma on­der­te­kend is en wat meer dan 60 vi­rus­scan­ners er­van den­ken.

Een gel­di­ge sig­na­tu­re wijst er nor­maal ge­spro­ken op dat een be­stand te ver­trou­wen is, maar er zijn uit­zon­de­rin­gen. In dit ge­val slaan een aan­tal vi­rus­scan­ners alarm, zo­dat on­danks de gel­di­ge sig­na­tu­re dui­de­lijk is: voer het ge­tes­te be­stand niet uit!

Als ook maar één vi­rus­scan­ner alarm slaat, opent een web­pa­gi­na met ge­de­tail­leer­de in­for­ma­tie.

Newspapers in Dutch

Newspapers from Netherlands

© PressReader. All rights reserved.