Guida tecnica introduttiva di 42Crunch

Overview

42Crunch consente un approccio standardizzato alla protezione delle API che automatizza l'applicazione della conformità della sicurezza delle API tra i team di sviluppo e sicurezza distribuiti. La piattaforma di sicurezza api 42Crunch consente agli sviluppatori di creare sicurezza dall'ambiente di sviluppo integrato (IDE) alla pipeline CI/CD. Questo approccio DevSecOps facile alla sicurezza delle API riduce i costi di governance e accelera la distribuzione di API sicure.

Approccio ai test di sicurezza

A differenza degli strumenti DAST tradizionali usati per analizzare applicazioni Web e per dispositivi mobili, 42Crunch esegue un set di test appositamente creati e destinati a ogni API in base alla progettazione specifica. Usando il file di definizione OpenAPI (ovvero Swagger) come origine primaria, il motore 42Crunch Scan esegue una batteria di test che convalidano la conformità dell'API alla progettazione prevista. Questa analisi di conformità identifica vari problemi di sicurezza, tra cui le prime 10 vulnerabilità OWASP, i codici di risposta non corretto e le violazioni dello schema. Questi problemi vengono segnalati con un contesto avanzato, inclusi possibili scenari di exploit e linee guida per la correzione.

Le analisi possono essere eseguite automaticamente come parte di una pipeline CI/CD o manualmente tramite un IDE o la piattaforma cloud 42Crunch.

Poiché la qualità della specifica dell'API determina in gran parte la copertura e l'efficacia della scansione, è importante che la propria specifica OpenAPI sia ben definita. 42Crunch Audit esegue un'analisi statica del file di specifica OpenAPI volto a aiutare lo sviluppatore a migliorare la sicurezza e la qualità della specifica. Il controllo determina un punteggio di sicurezza composito compreso tra 0 e 100 per ogni file di specifica. Man mano che gli sviluppatori correggeno i problemi di sicurezza e semantica identificati dal controllo, il punteggio migliora. 42Crunch consiglia un punteggio di controllo di almeno 70 prima di eseguire un'analisi di conformità.

Abilita 42Crunch in Microsoft Defender per il cloud

Note

I passaggi seguenti illustrano il processo di configurazione della versione gratuita di 42Crunch. Vedere la sezione Domande frequenti per informazioni sulle differenze tra le versioni gratuite e a pagamento di 42Crunch e come acquistare 42Crunch in Azure Marketplace.

Usando i servizi 42Crunch Audit and Scan , gli sviluppatori possono testare e rafforzare in modo proattivo le API all'interno delle pipeline CI/CD tramite test statici e dinamici delle API rispetto ai principali rischi dell'API OWASP e alle procedure consigliate per le specifiche OpenAPI. I risultati dell'analisi della sicurezza di 42Crunch sono ora disponibili all'interno di Defender per il cloud, assicurando che i team di sicurezza centrale abbiano visibilità sull'integrità delle API all'interno dell'esperienza di raccomandazione Defender per il cloud e possano eseguire passaggi di governance disponibili in modo nativo tramite raccomandazioni Defender per il cloud.

Connettere gli ambienti DevOps a Microsoft Defender per il cloud

Visualizzare i risultati della scansione 42Crunch in Defender per il cloud richiede di collegare il tuo ambiente DevOps a Defender per il cloud.

Vedere Come eseguire l'onboarding delle organizzazioni GitHub.

Vedere Come eseguire l'onboarding delle organizzazioni Azure DevOps.

Configurare il servizio 42Crunch Audit

L'azione Rest API Static Security Testing individua i contratti API REST che seguono la specifica OpenAPI (OAS, in precedenza nota come Swagger) ed esegue controlli di sicurezza approfonditi su di essi. Sia OAS v2 che v3 sono supportati, sia in formato JSON che YAML.

L'azione è basata su 42Crunch API Security Audit. Il controllo di sicurezza esegue un'analisi statica della definizione dell'API che include più di 300 controlli sulle procedure consigliate e sulle potenziali vulnerabilità sul modo in cui l'API definisce gli schemi di autenticazione, autorizzazione, trasporto e richiesta/risposta.

Configura 42Crunch Audit per ambienti GitHub

Installare il plug-in 42Crunch API Security Audit all'interno della pipeline CI/CD completando i passaggi seguenti:

  1. Accedi a GitHub.

  2. Selezionare un repository in cui si vuole configurare l'azione GitHub.

  3. Selezionare Azioni.

  4. Selezionare Nuovo flusso di lavoro.

    Screenshot che mostra la selezione del nuovo flusso di lavoro.

Per creare un nuovo flusso di lavoro predefinito:

  1. Scegliere Configura manualmente un flusso di lavoro.

  2. Rinominare il flusso di lavoro da main.yaml a 42crunch-audit.yml.

  3. Vai all'esempio completo del flusso di lavoro 42Crunch REST API Static Security Testing.

  4. Copiare il flusso di lavoro di esempio completo e incollarlo nell'editor del flusso di lavoro.

    Note

    Questo flusso di lavoro presuppone che sia abilitata l'analisi del codice GitHub. Se abilitata, verificare che l'opzione upload-to-code-scanning sia impostata su true. Se l'analisi del codice non è abilitata per GitHub, impostare upload-to-code-scanning su false e usare i passaggi descritti in Abilitare l'integrazione delle Defender per il cloud senza GitHub analisi del codice.

    Screenshot che mostra l'editor del flusso di lavoro GitHub.

  5. Selezionare Eseguire il commit delle modifiche. È possibile eseguire direttamente il commit nel ramo principale o creare una richiesta pull. Consigliamo di seguire le best practice di GitHub creando una PR, poiché il flusso di lavoro predefinito si avvia quando viene aperta una PR sul branch principale.

  6. Selezionare Azioni e verificare che la nuova azione sia in esecuzione.

    Screenshot che mostra la nuova azione in esecuzione.

  7. Al termine del flusso di lavoro, selezionare Sicurezza, quindi selezionare Analisi codice per visualizzare i risultati.

  8. Selezionare un avviso di analisi del codice rilevato da 42Crunch REST API Static Security Testing.Select a Code Scanning alert detected by 42Crunch REST API Static Security Testing. È anche possibile filtrare in base allo strumento nella scheda Analisi codice. Filtrare in base ai test di sicurezza statici dell'API REST 42Crunch.

    Screenshot che mostra l'avviso di analisi del codice.

Ora hai verificato che i risultati dell'audit vengano visualizzati in GitHub Code Scanning. Verificare quindi che questi risultati di controllo siano disponibili all'interno di Defender per il cloud. La visualizzazione dei risultati in Defender per il cloud potrebbe richiedere fino a 30 minuti.

Abilitare l'integrazione Defender per il cloud senza l'analisi del codice GitHub

Se l'analisi del codice GitHub non è disponibile per l'ambiente e si vuole integrare i risultati dell'analisi della sicurezza da 42Crunch in Defender per il cloud, è possibile seguire questa procedura. Dopo aver aggiunto il passaggio 42Crunch del flusso di lavoro, aggiungere i passaggi seguenti al flusso di lavoro gitHub per inviare i risultati dell'analisi direttamente a Defender per il cloud usando l'azione GitHub di Microsoft Security DevOps.

- name: save-sarif-report
        if: always()
        uses: actions/upload-artifact@v4
        with:
          name: 42Crunch_AuditReport_${{ github.run_id }}
          path: 42Crunch_AuditReport_${{ github.run_id }}.SARIF
          if-no-files-found: error
- name: Upload results to MSDO
        uses: microsoft/security-devops-action@v1
        id: msdo
        with:
          existingFilename: 42Crunch_AuditReport_${{ github.run_id }}.SARIF

Quindi, aggiungi l'autorizzazione necessaria al flusso di lavoro impostando id-token su write.

Dopo aver eseguito il flusso di lavoro, potrebbero essere necessari fino a 30 minuti prima che i risultati vengano visualizzati in Defender per il cloud.

Per visualizzare i risultati del 42Crunch Audit in Defender per il cloud, completa i seguenti passaggi:

  1. Selezionare Raccomandazioni.
  2. Selezionare Tutti i consigli.
  3. Filtrare cercando test di sicurezza API.
  4. Seleziona la raccomandazione I repository GitHub devono avere i risultati dei test di sicurezza delle API risolti.

La raccomandazione selezionata mostra tutti i risultati di 42Crunch Audit. È stato completato l'onboarding per il passaggio 42Crunch Audit.

Screenshot che mostra il riepilogo dell'API.

Configura 42Crunch Audit per ambienti Azure DevOps

Per configurare 42Crunch Audit in Azure DevOps, esegui i seguenti passaggi:

  1. Installare l'estensione 42Crunch di Azure DevOps nell'organizzazione.

  2. Creare una nuova pipeline per il progetto di Azure DevOps. Per un'esercitazione per la creazione della prima pipeline, vedere Creare la prima pipeline.

  3. Modificare la pipeline creata copiando il flusso di lavoro seguente:

    trigger:
    branches:
       include:
          - main
    
    jobs:
    - job: run_42crunch_audit
       displayName: 'Run Audit'
       pool:
          vmImage: 'ubuntu-latest'
       steps:
          - task: UsePythonVersion@0
          inputs:
             versionSpec: '3.11'
             addToPath: true
             architecture:  x64
          - task: APISecurityAuditFreemium@1
          inputs:
             enforceSQG: false
             sarifReport: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif'
             exportAsPDF: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.pdf'
          - task: PublishBuildArtifacts@1
          displayName: publishAuditSarif
          inputs:
             PathtoPublish: '$(Build.Repository.LocalPath)/42Crunch_AuditReport.sarif '
             ArtifactName: 'CodeAnalysisLogs'
             publishLocation: 'Container'
    
  4. Esegui la pipeline.

  5. Per verificare che i risultati vengano pubblicati correttamente in Azure DevOps, verificare che 42Crunch-AuditReport.sarif venga caricato nella cartella Build Artifacts nella cartella CodeAnalysisLogs .

  6. Il processo di onboarding è stato completato. Verificare quindi che i risultati siano visualizzati in Defender per il cloud.

Passare a Defender per il cloud:

  1. Selezionare Raccomandazioni.
  2. Selezionare Tutti i consigli.
  3. Filtrare cercando test di sicurezza API.
  4. Selezionare la raccomandazione Che i repository AzureDevOps devono avere i risultati dei test di sicurezza api risolti.

La raccomandazione selezionata mostra tutti i risultati di 42Crunch Audit. È stato completato l'onboarding per il passaggio 42Crunch Audit.

Screenshot che mostra la raccomandazione di Azure DevOps.

Configurare il servizio 42Crunch Scan

Analisi API analizza continuamente l'API per garantire la conformità al contratto OpenAPI e rilevare le vulnerabilità in fase di test. Rileva i primi 10 problemi di Sicurezza API OWASP all'inizio del ciclo di vita dell'API e verifica che le API possano gestire richieste impreviste.

L'analisi richiede un endpoint API live non di produzione e le credenziali necessarie (chiave API/token di accesso). Consulta il tutorial sulla sicurezza dell'API 42Crunch per configurare lo Scanning 42Crunch.

Consulta il file azure-pipelines-scan.yaml nel tutorial di sicurezza API 42Crunch per i compiti specifici di Azure DevOps.

Domande frequenti

In che modo 42Crunch aiuta gli sviluppatori a identificare e correggere i problemi di sicurezza delle API?

L'analisi di controllo e conformità della sicurezza 42Crunch identifica le potenziali vulnerabilità presenti nelle API nelle prime fasi del ciclo di vita dello sviluppo. I risultati dell'analisi includono un contesto avanzato, tra cui una descrizione della vulnerabilità e l'exploit associato e indicazioni dettagliate sulla correzione. Le analisi possono essere eseguite automaticamente nella piattaforma CI/CD o in modo incrementale dallo sviluppatore all'interno dell'IDE tramite una delle estensioni 42Crunch dell'IDE.

42Crunch può essere usato per applicare la conformità con gli standard minimi di qualità e sicurezza per gli sviluppatori?

Yes. 42Crunch include la possibilità di garantire la conformità tramite Security Quality Gates (SQG). Gli SQG sono costituiti da specifici criteri che devono essere soddisfatti per superare con successo un audit o una scansione. Ad esempio, un sqG può garantire che un controllo o un'analisi con uno o più problemi di gravità critici non venga superato. In CI/CD, il controllo 42Crunch o l'analisi possono essere configurati in modo da non riuscire a eseguire una compilazione se non riesce a superare un SQG, richiedendo quindi a uno sviluppatore di risolvere il problema sottostante prima di eseguire il push del codice.

La versione gratuita di 42Crunch usa gli SQG predefiniti per Audit e Scan, mentre la versione enterprise a pagamento consente la personalizzazione di SQG e tag, che consentono l'applicazione selettiva degli SQG ai raggruppamenti delle API.

Quali dati vengono archiviati nel servizio SaaS di 42Crunch?

Una versione di prova gratuita limitata di Audit di sicurezza e scansione di conformità di 42Crunch può essere distribuita in CI/CD e genera report in locale senza necessità di una connessione al SaaS di 42Crunch. In questa versione non sono presenti dati condivisi con la piattaforma 42Crunch.

Per la versione enterprise completa della piattaforma 42Crunch, i dati seguenti vengono archiviati nella piattaforma SaaS:

  • Nome, Cognome, indirizzi di posta elettronica degli utenti della piattaforma 42Crunch.
  • File OpenAPI/Swagger (descrizioni delle API dei clienti).
  • Report generati durante le attività di analisi di conformità e controllo della sicurezza eseguite da 42Crunch.

Come viene concessa la licenza 42Crunch?

42Crunch viene concesso in licenza in base a una combinazione del numero di API e del numero di sviluppatori di cui viene effettuato il provisioning nella piattaforma. Ad esempio i bundle di prezzi, vedi l'elenco del marketplace della piattaforma di sicurezza API di 42Crunch Developer-First. I prezzi personalizzati sono disponibili tramite offerte private nel marketplace commerciale di Azure. Per un preventivo personalizzato, contattare mailto:sales@42crunch.com.

Qual è la differenza tra la versione gratuita e a pagamento di 42Crunch?

42Crunch offre sia una versione limitata gratuita che una versione enterprise a pagamento dell'analisi di controllo di sicurezza e conformità.

Per la versione gratuita di 42Crunch, i plug-in CI/CD 42Crunch funzionano autonomamente, senza dover accedere alla piattaforma 42Crunch. I risultati di controllo e analisi vengono quindi resi disponibili in Microsoft Defender per il cloud e all'interno della piattaforma CI/CD. I controlli e le analisi sono limitati a un massimo di 25 esecuzioni al mese per ogni repository, con un massimo di tre repository.

Per la versione enterprise a pagamento di 42Crunch, i controlli e le analisi vengono ancora eseguiti localmente in CI/CD, ma possono essere sincronizzati con il servizio piattaforma 42Crunch, in cui è possibile usare diverse funzionalità avanzate, tra cui controlli di qualità della sicurezza personalizzabili, dizionari dati e tag. Anche se la versione enterprise è concessa in licenza per un determinato numero di API, non esistono limiti al numero di controlli e analisi che possono essere eseguiti su base mensile.

42Crunch è disponibile nel marketplace commerciale di Azure?

Sì, 42Crunch è disponibile per l'acquisto sull'offerta 42Crunch Developer-First API Security Platform su Marketplace commerciale Microsoft.

Gli acquisti di 42Crunch effettuati tramite il Marketplace commerciale di Azure concorrono agli impegni minimi di consumo di Azure (MACC).

Passaggi successivi