Sanasto Secret Detection

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:

  1. Skannaa koodi ja konfiguraatiot: Työkalu skannaa arkistoja, kontteja ja IaC (Infrastructure as Code) -malleja tunnusten ja tokenien varalta.
  2. Tunnista malli: Se havaitsee yleisiä salaisuustyyppejä, kuten AWS
    pääsyavaimia, JWT-tokeneita tai SSH-yksityisiä avaimia.
  3. Korrelatoi konteksti: Työkalut arvioivat, onko havaittu merkkijono oikeasti salaisuus vai väärä hälytys.
  4. Hälytä ja korjaa: Tiimit saavat hälytyksen, mikä mahdollistaa paljastuneiden salaisuuksien peruutuksen ja kierrätyksen.
  5. 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

KyvykkyysKuvaus
Mallin tunnistusTunnistaa yleiset tunnistetiedostomuodot (API-avaimet, tunnukset, SSH).
Entropian skannausLöytää satunnaisen näköisiä merkkijonoja, jotka voivat olla salaisuuksia.
Automaattinen peruutusPeruuta tai kierrätä vaarantuneet tunnistetiedot.
Putkiston integrointiSkannaa koodin automaattisesti CI/CD-työnkuluissa.
Keskitetty hallintapaneeliTarjoaa näkyvyyden siihen, missä salaisuuksia löytyy.
Politiikan täytäntöönpanoEstää 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

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.

Seuraavat askeleet

Valmis turvaamaan sovelluksesi? Valitse polkusi eteenpäin.

Liity yli 500 yritykseen, jotka jo turvaavat sovelluksensa Plexicuksen avulla

SOC 2 Compliant
ISO 27001 Certified
Enterprise Ready