Come definiresti un tentativo di hacker "avanzato"?

8

Questo argomento potrebbe essere a malapena un argomento di programmazione. Sebbene, dal mio punto di vista, sia di grande interesse per i programmatori a causa della nostra responsabilità nello sviluppo di codice sicuro.

Recentemente, si è parlato molto degli exploit web nel mio paese. Alcune organizzazioni continuano a pubblicare password e database che hanno hackerato negli ultimi mesi. In pochi giorni, oltre 200.000 credenziali di accesso sono state esposte al pubblico. La maggior parte dei proprietari del sito non sapeva nulla dei tentativi, fino a questo punto.

Questa citazione da un pressista mi ha davvero impressionato:

This is no advanced attack. The method used to obtain the passwords is relatively simple.

Voglio sapere: quali sono alcune caratteristiche di "attacchi avanzati?"

I miei pensieri:

Diresti che la forzatura bruta di un servizio di accesso è avanzata? Probabilmente no. Tipo di bassa tecnologia. È stato avanzato una volta, quando hai collegato gli auto-dialer e finalmente sei entrato in comunicazione-line-in (telefono) presso banche e federazioni? Allora, forse.

Se esegui la forza bruta di un servizio di accesso ed eviti i registri e i sistemi di blocco incorporati, il tuo attacco potrebbe essere considerato avanzato. Se copi con successo un intero database tramite un modulo di input non protetto, è avanzato o no?

È avanzato se una persona (Bill?) senza competenze IT ha preso il database dalla società XY? Perché? Perché Bill è un tecnico dell'assistenza HVAC e il suo amico è impiegato su XY. Probabilmente, è avanzato, ma non molto avanzato tecnicamente.

Se parliamo di un utente che è venuto attraverso il connectiontring attraverso una webpart di adminpage - Ho provato che il connectiontring ha scoperto che non ci sono filtri ip - okey che difficilmente viene chiamato tentativo di hacking. Ma, se l'utente al primo posto, ha avuto accesso al file system (perdita in un controllo file-browser?) E scaricato tutto il web.config / app.config al primo posto. È avanzato? L'utente, senza dubbio, troverà diversi siti che utilizzano gli stessi controlli del browser dei file. È grave? Probabilmente ..

Una domanda che, almeno io, ho incontrato spesso domande "sono md5-hash abbastanza sicuri?", il fatto "sì se hanno bisogno di forzarlo, per ottenere i tuoi dati". Se hanno il db con login e password, alcuni di voi già sanno: No.

Domanda
È più simile a un comwiki qui, che a una domanda specifica. Mi piacerebbe leggere le prospettive e l'esperienza sull'argomento. Cosa fai per "più sicuro"? Quali sono i difetti di sicurezza ovvi o noti? Tali domande e discussioni sono utili per dare più sicurezza e un maggior numero di sistemi anti-intrusione in fase di sviluppo.

    
posta Independent 27.10.2011 - 14:21
fonte

5 risposte

11

what defines a advanced kind of attack? Advanced for who and how?

In definitiva, un attacco è un attacco. Non importa se hanno usato tecniche di ingegneria sociale per convincere un utente ignaro a divulgare le proprie credenziali, i metodi di forza bruta, ottenere una copia del software ed eseguire il reverse engineering o utilizzare il sistema in metodi diversi da quelli previsti, o strumenti semplicemente portare il sistema verso il basso e renderlo inoperativo per un periodo di tempo.

La maggior parte degli attacchi richiede una certa raffinatezza e conoscenza degli utenti del sistema, come funziona il sistema, o dove risiedono i componenti e come accedervi. Si potrebbe dire che qualsiasi attacco riuscito è avanzato: ha superato le misure di sicurezza per prevenire gli attacchi. Potresti anche dire che qualsiasi attacco che degrada il servizio, anche se non disabilita il sistema, ha successo anche perché il tuo sistema attuale non può sopportarlo.

What do you do for "more secure"?

Più sicuro dipende dal sistema in costruzione.

Consiglierei di leggere il lavoro di Gary McGraw. Ha scritto tre libri che sono particolarmente interessanti per le persone che costruiscono software. Creazione di software sicuro: come evitare problemi di sicurezza nel modo giusto , Software di ottimizzazione: come rompere il codice e Sicurezza del software: creazione Sicurezza In discutere su come creare software sicuro, come rompere il software esistente, eseguire test di sicurezza sui sistemi che si stanno creando e completare gli approcci al ciclo di vita dello sviluppo del software per la sicurezza. Per quanto posso dire, questi sono i libri canonici sull'argomento.

What do you define as obvous or well-known security flaws?

Cose che sono state viste prima e che sono state studiate sono, o almeno dovrebbero essere ovvie. Ecco perché è stato fatto un grande lavoro per studiare la sicurezza, dalla creazione di software sicuro all'analisi degli incidenti di sicurezza per determinare come e perché sono accaduti, e quindi produrre documentazione in modo che altre persone non siano vittime degli stessi problemi.

La Divisione di sicurezza informatica nazionale del Dipartimento della Sicurezza Nazionale degli Stati Uniti ha un programma di sicurezza Build In sulla ricerca e organizzare le informazioni relative alle persone che costruiscono sistemi che devono essere sicuri. Il Open Web Application Security Project produce anche documentazione e risorse su molti aspetti della sicurezza del software in modo che siano facilmente accessibili per persone che costruiscono sistemi in cui la sicurezza è una preoccupazione. La MITER Corporation funziona anche in per trovare, identificare e produrre vocabolari per discutere problemi di sicurezza .

    
risposta data 27.10.2011 - 14:59
fonte
11

Di base: utilizzare strumenti, script, exploit ecc. per compromettere i sistemi. Nessuna conoscenza approfondita di ciò che stai sfruttando o come. Limitato agli attacchi Internet rivolti al pubblico. Comunemente definito come script kiddies.

Avanzate: creazione di strumenti personalizzati per sfruttare buchi che hai scoperto e / o acquistato. Capire esattamente come si stanno traboccando questi buffer. Attaccare bersagli non pubblici.

    
risposta data 27.10.2011 - 17:20
fonte
4

L'iniezione SQL non è avanzata. Probabilmente è la ragione della perdita di quelle 200.000 password di cui stai parlando.

Il problema con l'hacking è che le tecniche veramente "avanzate" possono diventare improvvisamente "semplici" se qualcuno scrive uno strumento per farlo. Un buon esempio di questo è lo strumento Metasploit . Quando le persone trovano nuove tecniche avanzate, le aggiungono a Metasploit, il che rende più facile l'avvio di hacker poco qualificati.

Un'altra tecnica non avanzata sono i virus personalizzati. È facile creare un virus personalizzato (da un toolkit di virus) che non può essere rilevato dall'antivirus, quindi inviarlo a un target e intervenire. Successivamente verrà aggiunto il rilevamento per il virus, ma a quel punto hai violato.

"Avanzato" non è usato dagli stessi hacker per descrivere queste tecniche, ma dai difensori. Quando vengono violati, sono imbarazzati. Non sono disposti ad ammettere che sono stati hackerati da una di queste semplici tecniche, quindi fingono che gli attacchi siano "avanzati". Sottolineano anche "l'illegalità" degli attacchi.

    
risposta data 08.11.2011 - 03:30
fonte
2

Ovviamente non c'è una linea chiara, ma ci sono certamente alcuni tipi di attacchi che sono abbastanza facili e possono essere fatti casualmente, se il bersaglio ha vulnerabilità adeguate. Cose come semplice iniezione SQL, attraversamento di percorsi, XSS, spoofing di sessioni, ecc., O semplicemente vecchio annusamento su una rete pubblica. Tutti questi sono facili da eseguire e facili da difendere, ma anche molto comuni. Un trojan standard potrebbe anche essere considerato "facile".

    
risposta data 27.10.2011 - 23:47
fonte
2

Direi che puoi guadagnare un badge "avanzato" dimostrando una grande quantità di impegno e conoscenza.

Dai un'occhiata a questa storia , che descrive l'hacking del sito web apache.org. Ci sono voluti una settimana e sono state necessarie molte osservazioni su piccoli dettagli di sicurezza, quindi molta patitietà per sfruttarli al fine di ottenere un maggiore controllo sul sistema di destinazione. Ogni passaggio richiedeva la conoscenza dei diversi aspetti dei sistemi operativi e / o dei tipici software server. Ogni piccolo dettaglio conta. Ad esempio, il web server Apache in esecuzione in una casella di solito ha un numero di processi "httpd" in esecuzione. Questo è il motivo per cui hanno chiamato il loro bindshell "httpd" e non solo "bindshell" che sarebbe molto più sospetto.

Anche lo sfruttamento degli overflow dello stack è considerato avanzato (è necessario avere una conoscenza di basso livello) ma in questi giorni ci sono molti strumenti che automatizzano tali tentativi. Quindi, puoi considerarlo avanzato fino a quando uno script viene pubblicato su qualche sito di hacking per i bambini con cui giocare.

    
risposta data 27.10.2011 - 19:39
fonte

Leggi altre domande sui tag