Come affrontare il compromesso del database dell'applicazione

2

Recentemente ho trovato uno scenario in una valutazione sulla sicurezza IT. Sono nuovo in questo settore e la mia conoscenza è limitata, quindi non sono sicuro se la mia risposta allo scenario sia adatta o meno. Apprezzerà davvero se qualcuno potrebbe dare una mano. Quindi lo scenario è:

Una piccola azienda ha deciso di spostare la propria infrastruttura sul cloud. Durante l'attività di migrazione, hanno identificato uno dei server del database con 4 utenti locali sconosciuti di Windows. Ciò ha innescato una revisione tecnica e un'indagine interna.

I problemi rilevati erano:

  • C'erano 4 utenti sconosciuti locali creati sul server.
  • C'erano un totale di 30 utenti a livello di database sul database MS SQL.
  • Il server di database sta memorizzando i dati per 20 applicazioni Web.
  • I risultati di base sono stati che 5 applicazioni Web sono state compromesse, dove
  • 1 sito stava avendo problemi di iniezione
  • 1 sito stava avendo problemi di SQL injection
  • 1 sito stava avendo problemi XSS e CSRF
  • 2 siti non stavano eseguendo alcuna convalida dell'input
  • Nessuno dei siti utilizzava HTTPS
  • Due dei database sono stati trovati per avere informazioni sulla carta di credito

Le domande sono:

In base a questo scenario, si tratta di un problema di sicurezza del database, delle applicazioni o del sistema e perché?

Quali sono i registri che l'azienda può esaminare durante l'indagine?

La mia risposta:

Penso che questo sia un problema di sicurezza dell'applicazione.

La sicurezza delle applicazioni è definita come "la pratica generale di aggiungere funzionalità o funzionalità al software per prevenire una serie di diverse minacce, tra cui attacchi denial of service e altri attacchi informatici e violazioni dei dati o situazioni di furto di dati". In relazione allo scenario:

  • le applicazioni web sono memorizzate all'interno del server di database, il che significa che è più facile per un utente malintenzionato accedere ai dati perché è necessario solo rompere l'account dell'amministratore per un server per avere accesso a tutto.

  • gli utenti vengono creati tramite applicazioni Web e archiviati nel server di database, non abbiamo ancora identificato i privilegi dei 4 utenti sconosciuti. Qualcuno o tutti questi utenti sconosciuti potrebbero avere intenzioni malevole. Potrebbero essere identificati come individui con accesso non autorizzato alla rete della società, il che significa che la società potrebbe essere già stata vittima di violazioni dei dati o furto di dati.

  • problemi come SQL injection, XSS e CSRF sono un tipo comune di vulnerabilità di sicurezza delle applicazioni in cui gli hacker possono sfruttare e facilitare il crimine informatico. Di conseguenza, gli hacker potrebbero scegliere come target la disponibilità, la riservatezza e / o l'integrità dei dati dell'azienda.

  • le informazioni sulla carta di credito si trovano in due database e 5 applicazioni Web non hanno https. Questo è segno di violazioni dei dati e furto.

Suggerisco alla compagnia di esaminare i registri delle applicazioni e del database per individuare i segni di un vero e proprio exploit, inoltre esaminerò i registri di controllo di sicurezza per eventuali tentativi di autenticazione falliti e controlleremo il firewall per il traffico insolito in base alla posizione.

    
posta user2866239 26.08.2017 - 10:55
fonte

2 risposte

1

In base alla descrizione, ci sono sicuramente molti problemi di sicurezza delle applicazioni.

Based on this scenario, is this a database, application or system security issue and why?

Tuttavia, ciò non esclude altri problemi. Ad esempio, i nuovi utenti non sono stati rilevati fino all'avvio della migrazione, quindi è presente un problema di "monitoraggio della protezione" (un sottoinsieme di Protezione sistema). Allo stesso modo, i nuovi utenti di DB non sono stati rilevati, e ciò potrebbe (a seconda dei processi) essere nell'ambito di protezione del database.

What are the logs that the company can review during the investigation?

Dipende da quali registri sono abilitati per i sistemi e per l'applicazione. Sembra che tu stia utilizzando i server Windows, quindi è molto probabile che i registri degli eventi siano numerosi da sistemi Windows sia per l'attività dell'utente che per l'attività del database. Allo stesso modo, saranno disponibili anche i log di accesso al server web (indipendentemente dal sistema operativo).

Raccomando sempre la registrazione delle applicazioni (sebbene non tutte le registrazioni a livello di app siano fatte con la sicurezza in mente) e, se fatte correttamente, sono estremamente preziose quando il compromesso viene eseguito tramite le vulnerabilità delle applicazioni.

La tua indagine avrà obiettivi di gestione. I registri che controlli devono essere allineati a loro. ad esempio, se gli obiettivi non includono la scoperta del vettore di attacco iniziale, potresti essere in grado di ignorare i registri delle applicazioni. Se gli obiettivi non includono la conservazione delle prove da perseguire con l'applicazione della legge, si consiglia di limitare il tempo speso a esaminare le risorse del disco (specialmente se è possibile ripristinare l'applicazione pulita dal controllo di versione).

    
risposta data 26.08.2017 - 11:45
fonte
1

Based on this scenario, is this a database, application or system security issue and why?

Tutti.

  • Gli utenti aggiuntivi sul database MSSQL implicano che un utente malintenzionato abbia ottenuto l'accesso amministrativo al database direttamente o che gli utenti del database utilizzati dall'applicazione con l'iniezione SQL avessero molte più autorizzazioni del necessario.
  • Iniezione comandi, iniezioni SQL, XSS, CSRF e convalida dell'input mancante sono problemi di sicurezza a livello di applicazione. Metterei anche che HTTPS non fosse abilitato sul tuo server web in quella categoria, ma alcune persone potrebbero invece considerare questo un problema di sicurezza del sistema.
  • I nuovi utenti sul sistema operativo implicano che un utente malintenzionato abbia ottenuto l'accesso amministrativo a livello di sistema operativo. Forse in realtà non sono riusciti ad accedere direttamente al sistema operativo, ma hanno semplicemente abusato della vulnerabilità di iniezione di comando nell'unica applicazione. Ma in quel caso l'applicazione funzionava come utente con privilegi non necessari, che è anche un problema di sicurezza del sistema.

What are the logs that the company can review during the investigation?

  • Il registro eventi di Windows potrebbe dirti quando sono stati creati gli utenti di Windows. MSSQL registra anche vari eventi nel registro eventi di Windows, quindi potrebbe indicarti quando e come sono stati creati gli utenti del database.
  • Quando le applicazioni Web vulnerabili dispongono di una propria funzionalità di registrazione, quelle potrebbero essere utili (se questo fosse un caso reale non mi aspetterei molto da loro perché gli sviluppatori non erano ovviamente i più competenti, ma dovrebbe essere menzionato comunque).
  • Il errore MSSQL log potrebbe mostrarti alcuni degli esperimenti fatti dall'attaccante quando stavano testando le iniezioni SQL.
  • I log del server web (IIS?) potrebbero indicare quali indirizzi IP hanno avuto accesso alle applicazioni Web quando sono stati creati i nuovi utenti.

Ma tieni presente che in caso di compromissione del sistema, qualsiasi registro trovato sul sistema compromesso non è affidabile al 100%. Un aggressore molto completo potrebbe falsificarli.

    
risposta data 23.01.2018 - 16:01
fonte

Leggi altre domande sui tag