Hur Windows skyddar din dator
NyheterDin Windows-dator ska, om du är förnuftig, redan ha ett formidabelt försvar i form av avancerad anti-malware.
Men nu går vi in i en ålder av cloud computing, fylld med nedladdningsbara applets, i en tid då vi också kämpar för en intensiv vapen race mot allt mer geniala malware författare.
På grund av detta måste din PCs försvar hantera kod från många källor och skydda dig fortfarande från yttre hot.
Hur är detta möjligt, och på vilka sätt har de dåliga killarna redan stött på dessa ansträngningar? Viktigast av allt, hur kan du vara säker på att din dator bara kör vad du tycker att den körs?
Loggar in
Till skillnad från applikationer som köpts av betrodda leverantörer, är det inte så att den genomsnittliga användaren (eller till och med säkerhetsprofessorn) kan vara säker på att programvaran som de tycker är igång, inte är något annat helt.
Med armarna mellan utvecklare och hackare som nu samlar takten, kan det ta mer än bara avancerad antivirusprogramvara som matchar toppmodern i skadlig programmering. Lyckligtvis har Windows ett genialt sätt att skydda sig. Detta är Microsofts Authenticode-system.
Du har sett bevis på Authenticode i funktion när du försöker installera programvara som inte har gått igenom en process som kallas signering. En varningspopp visas och förklarar att installationsprogrammets utgivare inte kunde verifieras och ger dig chansen att sluta att köra det.
Unik signatur
Programmen är signerade med en krypteringsalgoritm som RSA. Detta använder en allmänt tillgänglig krypteringsnyckel för att skapa en globalt unik signaturkod som beskriver programmet som verifieras. Att vara allmän, kan vem som helst få nyckeln som används för att underteckna koden.
Operativsystemet hämtar det, genererar en egen kopia av signaturen och jämför den med den som medföljde programmet. Om de matchar är koden vad leverantören säger att den är, och det kan tillåtas att springa.
Dessa krypteringsnycklar hålls av flera stora och pålitliga säkerhetsföretag (certifikatmyndigheter) i form av offentligt tillgängliga digitala certifikat som innehåller detaljerna i det företag som utfärdade det program operativsystemet försöker verifiera, samt den unika signaturen för själva programmet.
Om du är en utvecklare har en certifieringsmyndighet ett digitalt certifikat som visar att du och din kod kan lita på. Det är vanligtvis en kostsam och inblandad process. Att erhålla ett kommersiellt certifikat för ditt företag innebär att du är säker på att du är den som du påstår sig vara.
Enligt Microsoft kan din fysiska närvaro begäras som representant för ditt företag för att verifiera din identitet mot foto-ID. Verksamheten måste också ha en lämplig Dun- och Bradstreet-rating. Denna rating är ett mått på ditt företags finansiella stabilitet och indikerar bland annat att företaget fortfarande är verksamt. Detta förhindrar hackare från att helt enkelt posera som ett företag som tyst har slutat handel för att få ett falskt intyg för skadliga ändamål.
Slutligen måste sökande också lova att inte distribuera skadlig kod. Huruvida den här sista åtgärden är mer än läpptjänsten är upp till debatt.
Individuella utvecklare kan också få ett personligt intyg för att underteckna sina produkter. I detta fall krävs ingen Dun- och Bradstreet-rating, men dina uppgifter kommer att kontrolleras mot konsumentdatabaser för att du är den du säger att du är. I båda fallen kommer det att kosta en hel del pengar för att få ett certifikat.
Med så många certifikatmyndigheter betalar det sig att handla om det bästa. Ett ettårigt Microsoft Authenticode-certifikat från VeriSign, till exempel, kostar dig $ 499 (ca £ 250). Om du förväntar dig att personer ska ladda ner och installera programvaran efter ett år måste du förnya certifikatet eller din kod kommer att bli osignerad igen.
Offentliga nycklar
Eagle-eyed-läsare kan ha märkt att användningen av offentliga nycklar är samma generella mekanism som används för att kryptera e-post och SSH, där det används för att bevisa att servern som du försöker skapa en säker, krypterad anslutning till är den riktiga saken och inte en dummy som har blivit upprättad för att skumma användarnamn och lösenord.
Det största problemet med signeringskoden är att den genomsnittliga användaren inte har någon aning om vad den associerade popupen betyder när kodens utgivare inte kan verifieras. Det finns en tendens att ta en chans att bli smittade och att lämna allt till antivirusprogrammet, men vad händer om det här misslyckas med att upptäcka skadlig kod?