Inom datorsäkerhet används termen " vulnerability " ( engelska vulnerability , på slang - ett hål ) för att hänvisa till ett fel i systemet, med hjälp av vilket du avsiktligt kan kränka dess integritet och orsaka felaktig drift. En sårbarhet kan vara resultatet av programmeringsfel , systemdesignfel , svaga lösenord , virus och annan skadlig kod , skript och SQL-injektioner . Vissa sårbarheter är endast kända teoretiskt, medan andra används aktivt och har kända exploateringar .
Vanligtvis tillåter en sårbarhet en angripare att "lura" en applikation att utföra åtgärder som inte var avsedda av skaparen, eller tvinga applikationen att utföra en åtgärd som den inte borde ha rättigheter till. Detta görs genom att infoga data eller kod i programmet på något sätt på sådana ställen att programmet kommer att uppfatta dem som "sina egna". Vissa sårbarheter uppstår på grund av otillräcklig validering av användarinmatning och tillåter att godtyckliga kommandon infogas i tolkad kod ( SQL-injektion , XSS , SiXSS ). Andra sårbarheter kommer från mer komplexa problem, som minnessäkerhetsbrott som buffertspill . Att hitta sårbarheter kallas ibland sondering , till exempel när de talar om att sondera en fjärrdator, menar de att söka efter öppna nätverksportar och närvaron av sårbarheter i samband med applikationer som använder dessa portar. [ett]
Metoden att rapportera sårbarheter är en stridspunkt i datasäkerhetsgemenskapen . Vissa experter förespråkar ett omedelbart fullständigt avslöjande av information om sårbarheter så snart de upptäcks. Andra rekommenderar att endast rapportera sårbarheter till de användare som är mest utsatta och att publicera fullständig information först efter en fördröjning eller inte publicerat alls. Sådana förseningar kan göra det möjligt för de som har blivit meddelade att rätta till felet genom att utveckla och applicera patchar , men kan också öka risken för dem som inte har koll på detaljerna.
Det finns verktyg som kan hjälpa dig att hitta sårbarheter i ditt system. Även om dessa verktyg kan ge revisorn en bra överblick över de möjliga sårbarheter som finns i systemet, kan de inte ersätta mänskligt engagemang i sin bedömning.
För att säkerställa systemets säkerhet och integritet är det nödvändigt att ständigt övervaka det: installera uppdateringar, använd verktyg som hjälper till att motverka eventuella attacker. Sårbarheter har hittats i alla större operativsystem, inklusive Microsoft Windows , Mac OS , olika varianter av UNIX (inklusive GNU/Linux ) och OpenVMS . Eftersom nya sårbarheter ständigt hittas, är det enda sättet att minska sannolikheten för att de används mot ett system att vara vaksam och använda uppdaterade programvaruversioner.
För att identifiera sårbarheter genomförs pentests , under vilka vanligtvis en lista över testade system och ett specifikt mål bestäms, och sedan analyseras tillgänglig information och medel väljs för att uppnå detta mål. Målet för ett penetrationstest kan vara en " vit ruta " (om vilken preliminär information och systeminformation ges till testaren i förväg) eller en " svart låda " (om vilken endast grundläggande information tillhandahålls - om någon - förutom företaget namn).
En uppsättning policyer relaterade till Information Security Management System (ISMS) har utvecklats för att hantera motåtgärder så att säkerhetsstrategin implementeras i enlighet med de regler och föreskrifter som gäller för organisationen. [2]
En resurs (fysisk eller logisk) kan ha en eller flera sårbarheter som en angripare kan utnyttja. Resultatet kan potentiellt äventyra konfidentialitet, integritet eller tillgänglighet för resurser som ägs av organisationen och/eller andra inblandade parter (kunder, leverantörer). [3]
Vanliga typer av sårbarheter inkluderar: