Scenario peggiore di avere la possibilità di scrivere da remoto i file sul disco come amministratore

6

Sto lavorando alla creazione di un programma ("Il mio programma") che comunichi con un altro programma ("Il loro programma") tramite comandi XML su una connessione TCP / IP non elaborata. Il loro programma consente ai file di essere scritti sul disco in remoto con i privilegi di amministratore. Questa interfaccia è abilitata per impostazione predefinita (errore di sicurezza MAJOR, lo so), e sto cercando di dare all'altra azienda una situazione peggiore di ciò che potrebbe accadere se un hacker venisse a conoscenza di questa vulnerabilità e lo sfruttasse su una società. computer connesso alla rete.

  1. Quanto è localizzata la minaccia alla sicurezza?
  2. L'attaccante può compromettere la sicurezza di rete / server usando solo questo exploit (possibilmente per sfruttare altri vulns)? L'utente è un amministratore locale ma un utente di rete standard.
  3. Quali altre possibili minacce potrebbero essere sfruttate a causa di questa "funzione" che forse ho trascurato?
  4. Quale sarebbe il modo migliore per proteggersi da questo, pur mantenendo le funzionalità richieste? C'è un modo per sandbox artificialmente del programma, o controllare se i file scritti sul disco non si trovano in un posto sensibile?
posta Matt 24.08.2012 - 11:36
fonte

4 risposte

9

Ok, questo è un difetto piuttosto sgradevole. Se l'attraversamento di directory è possibile, l'utente malintenzionato potrebbe sovrascrivere file eseguibili utilizzati spesso per infettare la scatola di malware. Da lì, il resto della rete potrebbe essere infettato attraverso una serie di meccanismi diversi: diffusione USB, vulnerabilità di esecuzione di codice in remoto, spear phishing, ecc.

Peggio, potrebbero usare l'infezione da malware per rubare qualsiasi credenziale memorizzata sulla macchina (se è Windows, ci sono cache di Active Directory criptate in memoria) e accedere ad altri sistemi.

Se esegui server pubblici che offrono file (ad esempio HTTP, FTP, SharePoint, ecc.), l'autore dell'attacco potrebbe sovrascrivere quei file con informazioni false o malware.

Come minimo, stai esaminando una vulnerabilità DoS, in cui l'autore dell'attacco riempie il tuo sistema di file di grandi dimensioni fino a quando il disco non è pieno.

    
risposta data 24.08.2012 - 11:50
fonte
7

Se l'utente malintenzionato sceglie i file che può sovrascrivere, allora deve solo sostituire alcuni file del sistema operativo per possedere completamente la macchina (ad esempio, sostituire il kernel e attendere il prossimo riavvio).

Se i nomi dei file sono "contenuti" (cioè i file scritti dall'attaccante appariranno necessariamente in una specifica directory o una loro sottodirectory, senza alcuna possibilità di sovrascrivere i file di sistema), allora la maggior parte dei problemi può essere evitata, ma consente comunque all'utente malintenzionato di caricare "cose brutte", il tipo che preferiamo non vedere mai sui nostri server (ad esempio virus e altri malware). Come linea di base, la funzione "upload file" consente a un utente malintenzionato di riempire il server di pedofilia pornografica, che è una responsabilità (questo argomento da solo dovrebbe essere sufficiente a convincere qualsiasi uomo d'affari sano che questa funzione è una cattiva idea).

    
risposta data 24.08.2012 - 15:26
fonte
6

Solo per aggiungere un punto di vista: hai sentito le 10 leggi di sicurezza immutabili ? È un po 'vecchio, semplice, ecc., Ma va al punto.

Al suo interno troverai alcune regole:

Law #1: If a bad guy can persuade you to run his program on your computer, it's not your computer anymore

Law #2: If a bad guy can alter the operating system on your computer, it's not your computer anymore

Law #4: If you allow a bad guy to upload programs to your website, it's not your website any more

Se qualcuno può caricare file su un server, salva quei file ovunque, con qualsiasi nome, con privilegi di amministratore, in pratica possiede il computer. Se l'interfaccia è abilitata per impostazione predefinita, non ha nemmeno bisogno di ingannare qualcuno per caricare quei file!

Cosa può fare:

  • DoS riempiendo l'intero spazio
  • Utilizza il server per archiviare le informazioni come repository, ovvero quelle informazioni: pirateria, pornografia, informazioni rubate relative alle carte di credito ...
  • Sovrascrivi i file di sistema e ottieni accesso illimitato al sistema operativo, quindi fai tutto ciò che vuole
  • Diffondi i file contaminati sovrascrivendo i file scaricati da altri utenti
  • Accedere a qualsiasi informazione memorizzata nel computer, inclusi gli archivi di sicurezza
  • Spread worms (ricorda il worm Nimda ?
  • Essere la fonte di attacchi di qualsiasi altro computer / sistema nella rete / Internet?
  • È così che i contenuti protetti vengono offerti tramite HTTPS, le persone accedono ad esso pensando che sia sicuro, ma non sarebbe ...
risposta data 24.08.2012 - 19:37
fonte
2

Sono d'accordo con tutti gli altri che dicono che è sbagliato.

Quello che voglio aggiungere è rispondere alla tua domanda su come mitigare la minaccia. La risposta dipenderà dall'esatta funzionalità di "Il loro programma" e dalle risorse necessarie per poter accedere come parte della sua legittima e ordinaria funzionalità.

Il primo e più naturale suggerimento da provare: lanciare "Il loro programma" in una macchina virtuale, in modo che non possa accedere al vero filesystem. In questo modo, può scrivere sul filesystem della macchina virtuale, ma non viene fatto alcun danno; nel peggiore dei casi, la VM viene compromessa, ma non la macchina fisica sottostante. Se questo funzionerà dipende dal tipo di accesso che il "Programma" ha legittimamente bisogno.

Se questo è troppo restrittivo, puoi anche considerare la tecnologia sandboxing, come SELinux, AppArmor, Systrace, seccomp e altro. (Se è in esecuzione su Windows, sono perplesso.Non conosco un buon programma sandboxing per Windows.Questo non significa che non esiste, ovviamente.)

    
risposta data 29.08.2012 - 09:58
fonte