Bij het tellen van wachtwoordvondsten wordt bepaald hoeveel accounts zijn gecompromitteerd als gevolg van gelekte of gekraakte wachtwoorden. Het is een cruciale stap bij het beoordelen van de impact van een datalek of wachtwoordlek. Hier is een overzicht van het proces:
1. Gegevensverzameling:
* Aggregators van inbreukgegevens: Diensten zoals Have I Been Pwned (HIBP) en soortgelijke op abonnementen gebaseerde databases verzamelen gegevens van openbaar gemaakte datalekken. Ze indexeren gebruikersnaam/e-mailadressen en soms bijbehorende wachtwoorden.
* Interne logboeken: Als u een bedrijf bent, beschikt u mogelijk over interne logboeken van mislukte inlogpogingen, verzoeken om wachtwoorden opnieuw in te stellen of afwijkingen die wijzen op gehackte accounts.
* Dark Web-monitoring: Gespecialiseerde services doorzoeken het dark web op zoek naar vermeldingen van uw domein, bedrijfsnamen of gebruikersgegevens die worden verhandeld of besproken.
* Kwetsbaarheidsscans: Beveiligingstools die controleren op veelvoorkomende kwetsbaarheden en verkeerde configuraties kunnen soms blootliggende inloggegevens in configuratiebestanden, codeopslagplaatsen of databases onthullen.
2. Gegevensverwerking en ontdubbeling:
* De gegevens opschonen: Breach-dumps bevatten vaak duplicaten, onjuiste opmaak en irrelevante gegevens. Verwijder overbodige tekens, normaliseer gegevensformaten (bijvoorbeeld e-mailadressen) en zorg voor gegevensconsistentie.
* Ontdubbeling: Elimineer dubbele vermeldingen over meerdere bronnen van inbreuken om overtelling te voorkomen. Dit kan een uitdaging zijn, omdat de gegevens op subtiele wijze van elkaar kunnen verschillen (bijvoorbeeld variaties in het hoofdlettergebruik van e-mails). Gebruik technieken zoals fuzzy matching of recordkoppeling.
* Hasen en zouten: Als de wachtwoorden in de inbreuken in platte tekst staan, moet u ze onmiddellijk hashen en zouten met behulp van een sterk algoritme (bijvoorbeeld bcrypt, Argon2, scrypt). Sla wachtwoorden nooit op in platte tekst! Als de wachtwoorden al zijn gehasht, bewaar dan de bestaande hashes om later te kunnen vergelijken.
3. Overeenkomende inloggegevens:
* Vergelijken met bestaande gebruikersdatabase: Zorg ervoor dat de gecompromitteerde gebruikersnamen/e-mailadressen uit de inbreukgegevens overeenkomen met uw bestaande gebruikersdatabase. Dit is de cruciale stap bij het identificeren van getroffen accounts.
* Wachtwoordvergelijking (direct of gehasht):
* Wachtwoorden in platte tekst (van inbreuk):
* Bewaar uw huidige gebruikerswachtwoorden nooit in platte tekst. Als u dat toch doet, is dat een groot veiligheidsrisico.
* Hash en salt de wachtwoorden in platte tekst van de inbreuk met behulp van *hetzelfde* algoritme en de salt die voor uw gebruikersdatabase worden gebruikt.
* Vergelijk de resulterende hash met de hashes van uw huidige gebruikerswachtwoorden. Een match duidt op een gecompromitteerd account (de gebruiker heeft hetzelfde wachtwoord gebruikt).
* Gehashte wachtwoorden (van inbreuk):
* Als uw gebruikersdatabase *hetzelfde* hash-algoritme gebruikt als de inbreuk (onwaarschijnlijk maar mogelijk), kunt u de hashes direct vergelijken. Een match betekent een gecompromitteerd account.
*Als de hash-algoritmen verschillen, *kun je de hashes niet rechtstreeks vergelijken*. Hashing is een eenrichtingsfunctie. U moet vertrouwen op andere indicatoren (matching van gebruikersnaam en e-mailadres) en gebruikers aanmoedigen hun wachtwoord te wijzigen.
* Alleen gebruikersnaam/e-mailadres (geen wachtwoord): Zelfs als een inbreuk alleen gebruikersnamen of e-mailadressen bevat, moet u er rekening mee houden dat deze accounts mogelijk zijn aangetast. Moedig gebruikers aan om hun wachtwoord te wijzigen, vooral als ze hetzelfde wachtwoord elders gebruiken.
4. Tellen en rapporteren:
* Tel gecompromitteerde accounts: Tel op basis van het matchingproces het aantal accounts waarvan is vastgesteld dat ze gecompromitteerde wachtwoorden hebben.
* Categoriseren op ernst: Mogelijk wilt u gecompromitteerde accounts categoriseren op basis van de gevoeligheid van de gegevens waartoe ze toegang hebben. Bijvoorbeeld:
* Hoog:accounts met beheerdersrechten of toegang tot gevoelige financiële gegevens.
* Medium:accounts met toegang tot persoonlijke informatie of vertrouwelijke bedrijfsgegevens.
* Laag:accounts met beperkte toegang of openbare informatie.
* Rapportbevindingen: Genereer een rapport met een samenvatting van het aantal gecompromitteerde accounts, de ernstniveaus en eventuele waargenomen trends. Dit rapport moet worden gedeeld met relevante belanghebbenden (bijvoorbeeld het beveiligingsteam, de IT-afdeling, het management).
* Historische tracking: Houd een overzicht bij van eerdere wachtwoordvondsten om trends in de beveiliging en de effectiviteit van mitigatie-inspanningen te volgen.
5. Sanering en mitigatie:
* Beleid voor het opnieuw instellen van wachtwoorden: Dwing wachtwoordresets af voor gecompromitteerde accounts. Idealiter forceert u bij de volgende inlogpoging een wachtwoordreset.
* Multi-Factor Authenticatie (MFA): Implementeer MFA voor alle accounts, vooral accounts met verhoogde rechten. MFA vermindert het risico op accountovername aanzienlijk, zelfs als een wachtwoord in gevaar komt.
* Vereisten voor wachtwoordcomplexiteit: Dwing sterke vereisten voor wachtwoordcomplexiteit af (lengte, tekentypen). Overweeg het gebruik van wachtwoord-entropiescores om de wachtwoordsterkte te meten.
* Wachtwoorden op de zwarte lijst zetten: Implementeer een zwarte lijst voor wachtwoorden om te voorkomen dat gebruikers gewone of gemakkelijk te raden wachtwoorden kiezen. Overweeg ook om wachtwoorden die bij bekende inbreuken zijn aangetroffen op de zwarte lijst te zetten.
* Wachtwoordcontrole en waarschuwingen: Controleer voortdurend of er inloggegevens zijn geschonden en waarschuw gebruikers als er een inbreuk op hun accounts wordt geconstateerd. Verschillende commerciële diensten bieden dit soort monitoring aan.
* Gebruikerseducatie: Informeer gebruikers over best practices voor wachtwoordbeveiliging, inclusief het belang van het gebruik van sterke, unieke wachtwoorden, het vermijden van hergebruik van wachtwoorden en het inschakelen van MFA.
* Regelmatige beveiligingsaudits: Voer regelmatig beveiligingsaudits en kwetsbaarheidsbeoordelingen uit om potentiële beveiligingszwakheden te identificeren en aan te pakken.
Belangrijke overwegingen:
* Privacy: Wees uiterst voorzichtig bij het omgaan met gevoelige gegevens zoals wachtwoorden. Voldoe aan alle relevante privacyregelgeving (bijvoorbeeld AVG, CCPA). Implementeer passende toegangscontroles en beveiligingsmaatregelen om gegevens te beschermen.
* Juridisch: Raadpleeg een juridisch adviseur om ervoor te zorgen dat alle toepasselijke wet- en regelgeving met betrekking tot het melden en herstellen van datalekken wordt nageleefd.
* Valse positieve/negatieve punten: Het matchingproces is niet perfect. Er kunnen valse positieven zijn (accounts die ten onrechte als gehackt zijn geïdentificeerd) en valse negatieven (gecompromitteerde accounts gemist). Onderzoek verdachte matches en verfijn uw processen.
* Zout: Gebruik altijd unieke salts bij het hashen van wachtwoorden. Als je voor alle wachtwoorden hetzelfde zout gebruikt, kan een aanvaller een regenboogtabel vooraf berekenen en snel meerdere wachtwoorden kraken.
* Hashing-algoritme: Kies een sterk en up-to-date hash-algoritme zoals bcrypt, Argon2 of scrypt. Vermijd oudere algoritmen zoals MD5 of SHA-1, die als onveilig worden beschouwd.
* Automatisering: Automatiseer een zo groot mogelijk deel van het proces met behulp van scripttalen (bijvoorbeeld Python) en beveiligingstools. Automatisering verbetert de efficiëntie en vermindert de kans op menselijke fouten.
Voorbeeldscenario (vereenvoudigd):
1. Inbreukgegevens verkrijgen: Download een datalekdump van een betrouwbare bron.
2. Opschonen en ontdubbelen: Verwijder dubbele vermeldingen en maak e-mailadressen consistent op.
3. Gebruikersnamen matchen: Vergelijk de e-mailadressen in de lekgegevens met de e-mailadressen van gebruikers in uw gebruikersdatabase. Laten we zeggen dat 100 e-mailadressen overeenkomen.
4. Wachtwoorden hashen en vergelijken: De inbreukgegevens bevatten platte tekstwachtwoorden. Hash en salt deze wachtwoorden met hetzelfde algoritme en dezelfde salt die u gebruikt voor uw gebruikersdatabase. Vergelijk de resulterende hashes met de gehashte wachtwoorden in uw gebruikersdatabase. Laten we zeggen dat 30 van de 100 overeenkomende accounts dezelfde wachtwoordhash hebben.
5. Taal: U heeft 30 bevestigde gecompromitteerde accounts (wachtwoorden komen overeen). Je hebt ook 70 mogelijk gecompromitteerde accounts (gebruikersnamen/e-mailadressen komen overeen, maar wachtwoorden kunnen niet worden bevestigd).
6. Herstel: Forceer het opnieuw instellen van wachtwoorden voor alle 100 accounts en moedig gebruikers aan om MFA in te schakelen.
Door deze stappen te volgen, kunt u effectief wachtwoordvondsten bijhouden, de impact op uw organisatie beoordelen en passende maatregelen nemen om de risico's te beperken. Houd er rekening mee dat dit een voortdurend proces is dat waakzaamheid en een proactieve benadering van de beveiliging vereist. |