Come faccio a sapere se i miei strumenti non sono stati compromessi? [chiuso]

5

Dopo aver letto diversi articoli, in particolare / riguardo:

Mi chiedo: come posso essere sicuro che i miei toolchain e il software applicativo non siano compromessi?

La risposta ovvia ma allungata è scrivere un compilatore nel linguaggio macchina per un processore specifico, quindi un sistema operativo e così via da lì. (Anche se questo non esclude la possibilità di compromettere l'hardware.) Il software open source è fantastico, ma ciò non toglie la possibilità di un trucco di Kevin Thompson come non permettere ad un'applicazione compilata di aprire una connessione su Porta TCP 12345 (per esempio) e collegandolo senza interruzioni a (diciamo) 12344 a meno che non siano soddisfatte determinate condizioni. (Critico per un'applicazione come nmap).

Quanto è probabile che questi exploit essenzialmente "invisibili" vengano inseriti nel nostro software a nostra insaputa?

    
posta Ephemera 02.02.2015 - 09:32
fonte

2 risposte

8

In realtà, non puoi. Anche senza parlare di un vero compromesso, dal punto di vista della sicurezza si può presumere che l'applicazione contenga già bug che possono essere almeno altrettanto efficaci di un compromesso software.

Ecco perché, quando si crea un sistema sicuro, la sicurezza non deve basarsi su un singolo strumento. Invece, è necessario utilizzare un approccio di sicurezza a livelli, l'applicazione finale è al centro, aggiungendo diversi livelli di sicurezza su ciascuno con il seguente approccio:

  • Lo strato esterno N + 1 è responsabile del controllo della sicurezza dello strato interno N,
  • Mentre ci può essere un modo per passare dati / sessione dal livello N + 1 al livello N (pensa a proxy, firewall, ecc.), non ci deve essere un modo semplice per passare dal livello N a N + 1.

Tale schema può essere raggiunto:

  • Su un host che utilizza una combinazione di tutti i diversi strumenti di segmentazione forniti dal tuo sistema operativo (ogni servizio che esegue un altro utente con diritti minimi, uso di jail / container / ..., ecc.),
  • Su una rete che usa proxy, firewall, NIDS, monitoraggio, ecc. (potrebbe essere una buona idea usare piattaforme leggermente eterogenee)

Ciò ti fornirà due vantaggi in caso di utilizzo di qualsiasi tipo di backdoor:

  • L'attività insolita ha molte più probabilità di essere rilevata poiché richiederebbe almeno un po 'di tempo prima di salire sugli strati,
  • Se imposti correttamente il tuo sistema, il difetto sarà limitato all'area effettivamente accessibile alla backdoor, il resto dei dati rimarrà al sicuro.
risposta data 02.02.2015 - 11:11
fonte
7

Uno degli articoli si collega a - Se la NSA ha state hackerando tutto, come mai nessuno li ha visti arrivare? - fa un'ipotesi nel porre la domanda:

"If the NSA was owning everything in sight (and by all accounts they have) then how is it that nobody ever spotted them?"

La premessa per questa domanda è errata, perché per tutti abbiamo scoperto le capacità avanzate di attacco della NSA, abbiamo anche scoperto che sono molto riluttanti a usare attacchi attivi e che i loro le procedure interne indicano anche stop se qualcosa sembra strano o se vengono rilevati segni di strumenti di rilevamento delle intrusioni. (Mi sembra di ricordare Tripwire menzionato specificamente in questo contesto da qualche parte.)

Il modus operandi della NSA sembra essere principalmente il monitoraggio passivo, occasionalmente l'infiltrazione di obiettivi succosi, e raramente attivo, semplicemente perché gli attacchi attivi rischiano di essere rilevati . Probabilmente ancora di più in questi giorni, ora che la conoscenza della minaccia, se probabilmente non vicino ad ogni specifico attacco, è allo scoperto. Sì, gli attacchi attivi vengono usati, ma poiché vengono con il rischio di essere rilevati e possibilmente anche di ingegneria inversa (a seconda delle capacità percepite e effettive del bersaglio) vengono utilizzati molto meno spesso di quanto si possa avere l'impressione.

Per, come GZBK scrisse , l'attuazione di un approccio multi-livello per la sicurezza, tra cui banali bug , tu anche riduci l'impatto di una violazione. E dal momento che per quasi chiunque meri errori banali sono quasi certamente molto più probabile di essere violato dalla NSA e avendo backdoor impiantati nel software, questo ti protegge contro una probabilità significativamente maggiore minaccia mentre anche ti fornisce un livello di protezione contro la minaccia meno probabile.

Uno strumento come un compilatore o un sistema operativo è un software molto complesso e i processi di sviluppo software standard non sono affatto rigorosi come quelli trovati ad esempio nell'hardware spaziale o nell'aviazione. Le probabilità di un insetto banale che la rende in un sistema operativo sembrano significativamente più alte di quelle che ti vengono rivolte da un avversario di livello nazionale. Ciò non significa ignorare completamente la possibilità di attaccanti di livello nazionale, ma significa dare la priorità e implementare le contromisure ragionevoli basate sul modello di minaccia determinato. Lo spasimo della mongering può aiutare un politico a essere rieletto, ma non è un buon approccio alla sicurezza generale.

    
risposta data 02.02.2015 - 11:54
fonte

Leggi altre domande sui tag