Potremmo creare un server impervio con software di sola lettura e senza accesso root?

1

Molto tempo fa la gente parlava dell'architettura di Harvard, che aveva il programma separato dai dati. Allo stesso modo, se il software di un server non fosse modificabile (masterizzato in un cristallo o qualcosa del genere - nota: ipotetico, non attaccare questa premessa) ed è uscito dalla scatola senza utente root e nessun modo per aggiungere o modificare qualcosa ( tranne i dati), avremmo una sorta di "appliance" che funzionava come qualsiasi altro hardware familiare e non poteva essere requisita.

Qualcuno lo fa ora e se no, c'è un motivo tecnico per cui no? Fondamentalmente sto proponendo un dispositivo usa e getta che forse non memorizza nemmeno i dati in sé, ma controlla solo l'accesso a una fattoria disco separata o qualcosa del genere. Se qualcosa va storto, lo scolleghi e ne inserisci uno nuovo e vai avanti, come il RAID per il server stesso.

    
posta 10.03.2016 - 15:23
fonte

4 risposte

2

Ciò impedirebbe al server di eseguire codice scritto da un utente malintenzionato, che sembra una buona idea, ma rimane un altro problema. Dovrai includere del software all'inizio, quando crei il server. Ogni parte del software ha un'anomalia da qualche parte, indipendentemente da quanti test svolti. Se si scrive questo software sul server e 2 mesi dopo, viene rilevato un exploit in cui l'utente malintenzionato non inserisce il codice (poiché ciò non è possibile per premessa), ma utilizza il codice esistente nel software per interrompere qualcosa, inviando i dati coder non si aspettava. Poiché non è possibile modificare il codice del server, ora non è possibile applicare la patch di sicurezza.

    
risposta data 10.03.2016 - 15:55
fonte
2

Esistono molte macchine commerciali di architettura di Harvard, ad esempio la serie PIC di Microchip.

Creare un sistema embedded statico è certamente possibile.

Detto questo, i PIC ecc., spesso hanno un modo per modificare il proprio flash e, per praticità, spesso lo usano per includere un bootloader che consenta la riprogrammazione senza hardware speciale.

In realtà, un'architettura di Harvard non è davvero un requisito. Principalmente ciò di cui hai bisogno è la memoria di sola lettura per mantenere il programma. Molti sistemi utilizzavano z80 e '86 micros esaurendo la ROM.

Questo non vuol dire che potrebbe esserci qualche tipo di exploit che potrebbe far entrare un'architettura Von Neumann nella RAM. Ma non c'è nulla di intrinseco in Harvard che lo renda resistente agli exploit di programmazione orientata al ritorno

    
risposta data 10.03.2016 - 16:08
fonte
0

Puoi farlo davvero. Ci sono molti modi per realizzarlo: O si utilizza l'avvio PXE per avviare un'immagine, che viene quindi caricata nella RAM utilizzando un disco RAM virtuale. Oppure fai la stessa cosa usando i media di sola lettura locali.

Ovviamente questo significa che il server può essere modificato durante l'operazione, perché è necessario che il server funzioni (deve mantenere gli stati e così in memoria, memorizzare le variabili in memoria e così via), ma il vantaggio è che qualsiasi modifica di un utente malintenzionato sul server non viene mai scritto da nessuna parte in modo permanente, quindi un semplice riavvio del server garantirà il flush delle modifiche apportate dall'hacker.

Eseguire un server in questo modo, e anche configurarlo per il riavvio, diciamo una volta al giorno di eliminare qualsiasi danno, è un modo molto efficace per prevenire qualsiasi sfruttamento. In genere, l'esecuzione senza un account di root non è raccomandata, hai bisogno di servizi per utilizzare un account di root per configurare porte basse e simili.

    
risposta data 10.03.2016 - 19:39
fonte
-2

No. Se fossi motivato abbastanza $$$ potrei hackerare il tuo Impervious Server.

link ha affermato che "Dovrai includere del software all'inizio, quando crei il server ". e questo è certamente un punto debole, ma per il gusto di questa risposta supponiamo che il software non abbia punti deboli.

Un computer contiene una serie di interruttori fisici (pensa interruttore della luce) che possono essere in una delle due posizioni (pensa on o off). Questa non è una metafora. C'è davvero un incredibile numero di switch incredibilmente piccoli nel tuo computer.

Gli interruttori determinano lo stato del computer. Di volta in volta, la radiazione cosmica capovolge un interruttore. Questo accade incredibilmente raramente e quando succede, di solito ci sono procedure di checksum che rilevano e correggono l'errore, ma questo è il modo in cui si verificano "veri" errori del computer.

Sarà una sfida per me - ma fattibile con un budget sufficiente - per colpire il tuo server impervio con il giusto tipo di radiazione per cambiare il suo stato in "pwned by me".

    
risposta data 10.03.2016 - 17:12
fonte

Leggi altre domande sui tag