Salaisuuksien havaitseminen
TL;DR
Salaisuuksien havaitseminen löytää arkaluonteista tietoa, kuten API-avaimia, salasanoja, tunnuksia ja tunnistetietoja lähdekoodista, konfiguraatiotiedostoista tai lokitiedoista, auttaen estämään tahatonta paljastumista.
Salaisuuksien havaitsemistyökalu skannaa arkistoja, putkistoja ja säiliöitä auttaen estämään tietovuotoja ja luvattomia pääsyjä.
Salaisuuksien ongelmien varhainen havaitseminen auttaa suojaamaan sovelluksiasi, API-rajapintojasi ja pilvipalveluitasi hyökkääjiltä.
Mitä on salaisuuksien havaitseminen?
Salaisuuksien havaitseminen on prosessi, jossa skannataan koodikantoja, CI/CD-putkistoja ja pilvipalveluita paljastuneiden salaisuuksien, kuten API-avainten, tunnistetietojen, salausavainten tai tunnusten, tunnistamiseksi. Tämä on tärkeää, koska hyökkääjät, kuten tunnistetietojen täyttöbotit tai pilviresurssien kaappaajat, voivat hyödyntää näitä paljastuneita salaisuuksia saadakseen luvattoman pääsyn.
Nämä “salaisuudet” käytetään usein käyttäjien todentamiseen tai palveluihin, kuten Slack-webhookeihin tai Stripe-maksu-API-rajapintoihin, yhdistämiseen. Kun ne vahingossa työnnetään julkiseen arkistoon, kuten GitHubiin, hyökkääjät voivat käyttää niitä saadakseen pääsyn järjestelmään, tietokantaan tai pilvitiliin, johon yhdistät.
Miksi salaisuuksien havaitseminen on tärkeää?
Salaisuudet voivat esiintyä ympäristötiedostoissa, lähdekoodissa, YAML-konfiguraatiotiedostoissa ja CI/CD-lokitiedoissa.
Jos salaisuudet paljastuvat, ne voivat aiheuttaa merkittäviä tietoturvaloukkauksia.
Näiden riskien ymmärtäminen ja lieventäminen voi merkittävästi parantaa tietoturvaa ja vaatimustenmukaisuutta. Neljä suurinta riskiä ovat:
- Estä luvaton pääsy: Paljastunut salainen avain voi antaa hyökkääjälle pääsyn tuotantodataan tai pilvipalveluihin.
- Vältä kalliit tietomurrot: Kompromissiin joutuneet tunnistetiedot ovat yksi suurimmista tietovuotojen syistä, kuten Uberin vuoden 2022 tietomurto, joka alkoi paljastuneesta PowerShell-skriptistä, joka sisälsi kovakoodattuja tunnuksia.
- Tukee vaatimustenmukaisuutta: Kehykset kuten SOC 2, GDPR ja ISO 27001 edellyttävät, että suojaat arkaluonteiset tiedot ja salaisuudet.
- Vähennä inhimillisiä virheitä: Salaisuuksien tunnistamisen automatisointi auttaa havaitsemaan vuotoja ennen kuin koodi otetaan käyttöön tuotannossa, estäen suurempia tietomurtoja.
Kuinka salaisuuksien tunnistus toimii
Salaisuuksien tunnistustyökalut käyttävät mallintunnistusta, entropia-analyysiä ja koneoppimista paikantaakseen ja luokitellakseen arkaluonteista tietoa koodissasi tai infrastruktuurissasi.
Tässä on tyypillinen työnkulku:
- Skannaa koodi ja konfiguraatiot: Työkalu skannaa arkistoja, kontteja ja IaC (Infrastructure as Code) -malleja tunnusten ja tokenien varalta.
- Tunnista malli: Se havaitsee yleisiä salaisuustyyppejä, kuten AWS pääsyavaimia, JWT-tokeneita tai SSH-yksityisiä avaimia.
- Korrelatoi konteksti: Työkalut arvioivat, onko havaittu merkkijono oikeasti salaisuus vai väärä hälytys.
- Hälytä ja korjaa: Tiimit saavat hälytyksen, mikä mahdollistaa paljastuneiden salaisuuksien peruutuksen ja kierrätyksen.
- Jatkuva seuranta: Integroi tunnistus versionhallintaan tai CI/CD jatkuvan suojauksen varmistamiseksi.
Kuka käyttää salaisuuksien tunnistusta
- Kehittäjät: Tunnista kovakoodatut salaisuudet ennen kuin ne sitoutetaan arkistoon.
- DevSecOps-tiimit: Integroi salaisuuksien skannaus putkistoihin.
- Tietoturva-asiantuntijat: Valvo arkistoja ja säiliöitä vuotojen varalta.
- Vaatimustenmukaisuustiimit: Varmista, että tunnistetiedot hallitaan turvallisesti.
Milloin salaisuuksien tunnistus tulisi toteuttaa?
- Ennen sitoutumista (harkitse git commit-msg hookin käyttöä): Käytä pre-commit hookeja estämään salaisuuksien paljastuminen ennen niiden sitouttamista.
- CI/CD aikana (sovita yhteen git pushin kanssa): Automatisoi tunnistus jokaisen rakennuksen tai käyttöönoton yhteydessä, jotta salaisuudet voidaan havaita ennen lopullista integrointia.
- Jatkuvasti (ajattele tätä osana git pull- tai post-deploy-prosessia): Valvo säännöllisesti tuotantoympäristöä uusien paljastuneiden salaisuuksien varalta.
Esimerkki käytännössä
Kehitystiimi työntää vahingossa AWS-tunnukset julkiseen GitHub-repoon. Muutaman tunnin kuluessa hyökkääjät yrittävät käyttää näitä avaimia EC2-instanssien käynnistämiseen, mikä aiheuttaa noin 15 000 dollarin kustannukset luvattomasta käytöstä kuuden tunnin aikana.
Kun salaisuuksien tunnistus on käytössä, järjestelmä merkitsee paljastumisen välittömästi, peruuttaa paljastuneen tunnuksen automaattisesti ja ilmoittaa DevSecOps-tiimille mahdollisen pilvikompromissin estämiseksi.
Salaisuuksien tunnistustyökalujen keskeiset ominaisuudet
| Kyvykkyys | Kuvaus |
|---|---|
| Mallin tunnistus | Tunnistaa yleiset tunnistetiedostomuodot (API-avaimet, tunnukset, SSH). |
| Entropian skannaus | Löytää satunnaisen näköisiä merkkijonoja, jotka voivat olla salaisuuksia. |
| Automaattinen peruutus | Peruuta tai kierrätä vaarantuneet tunnistetiedot. |
| Putkiston integrointi | Skannaa koodin automaattisesti CI/CD-työnkuluissa. |
| Keskitetty hallintapaneeli | Tarjoaa näkyvyyden siihen, missä salaisuuksia löytyy. |
| Politiikan täytäntöönpano | Estää salaisuuksia sisältävien sitoumusten tekemisen. |
Suositut salaisuuksien tunnistustyökalut
- Plexicus ASPM – Yhdistetty AppSec-alusta, joka yhdistää salaisuuksien tunnistuksen, SCA ja IaC-skannauksen.
- GitGuardian – Tunnistaa paljastuneet tunnistetiedot eri arkistoissa.
- TruffleHog – Avoimen lähdekoodin työkalu arkistojen ja sitoumusten historian skannaamiseen.
- Gitleaks – Kevyt skanneri salaisuuksien tunnistamiseen Git-arkistoissa.
- SpectralOps – Valvoo salaisuuksia CI/CD, konteissa ja API.
Parhaat käytännöt salaisuuksien hallintaan
- Älä koskaan kovakoodaa salaisuuksia lähdekoodiin.
- Käytä salaisuuksien hallintatyökaluja kuten AWS Secret Manager tai HashiCorp Vault.
- Vaihda tunnistetiedot säännöllisesti
- Seuraa jatkuvasti uusia paljastuneita salaisuuksia.
- Kouluta kehittäjätiimi turvallisen koodauksen parhaista käytännöistä.
Liittyvät termit
- SCA (Ohjelmistojen koostumusanalyysi)
- ASPM (Sovellusten turvallisuusaseman hallinta)
- DevSecOps
- Pilviturvallisuuden aseman hallinta (CSPM)
- CI/CD-turvallisuus
FAQ: Salaisuuksien tunnistus
1. Mikä on ero salaisuuksien tunnistamisen ja hallinnan välillä?
Salaisuuksien tunnistaminen löytää paljastuneet salaisuudet; salaisuuksien hallinta tallentaa, kierrättää ja hallitsee niiden käyttöä turvallisesti.
2. Voiko salaisuuksien tunnistus estää vuotoja automaattisesti?
Kyllä, monet työkalut estävät sitoumuksia tai peruuttavat avaimia automaattisesti, kun salaisuuksia löydetään.
3. Onko salaisuuksien tunnistus vain lähdekoodia varten?
Ei, se skannaa myös lokit, kontit, IaC-tiedostot ja pilvitallennuksen.
4. Mitä tapahtuu, kun salaisuus löydetään?
Avain tulisi peruuttaa, kierrättää ja korvata välittömästi.