Domanda:
Come puoi diventare un esperto di sicurezza delle applicazioni web competente senza infrangere la legge?
user3127
2011-06-27 23:21:46 UTC
view on stackexchange narkive permalink

Questa domanda è stata posta qui su Programmers Exchange, ma mi è stato suggerito di chiedere anche qui poiché la maggior parte degli esperti probabilmente frequenterebbe invece lo scambio di sicurezza IT.

Trovo che questo sia equivalente agli agenti di polizia sotto copertura che si uniscono a una banda, si drogano e infrangono la legge come ultima risorsa per farla rispettare. Per essere un esperto di sicurezza competente, ritengo che l'hacking debba essere uno sforzo pratico e costante. Tuttavia, ciò richiede la ricerca di exploit, il test su applicazioni live e la possibilità di dimostrarli con sicurezza. Per coloro che si considerano "esperti" nella sicurezza delle applicazioni Web, cosa avete fatto per imparare l'arte senza infrangere effettivamente la legge? O è questa la zona grigia di cui a nessuno piace parlare perché devi piegare la legge ai suoi limiti?

@hal10001, benvenuto nel sito! Ho copiato il testo dalla domanda originale. Anche se in linea di principio, il cross-posting è scoraggiato e sarebbe stato meglio chiedere ai mod lì di migrarlo.
i bravi hacker non lasciano mai traccia, "non è illegale se non vieni scoperto"
Questa domanda è stata fusa con una domanda migrata da un altro StackExchange, ma solo dopo aver accumulato molte risposte e commenti che presentano alcune lacune nel ragionamento, ma che hanno già ricevuto molti voti positivi da utenti non ITSecurity. Probabilmente la sicurezza IT non dispone di un gruppo di partecipanti sufficientemente ampio per ripulirlo retroattivamente. (Dal momento che è stato unito, non c'è alcun avviso della migrazione.) Quindi, avverto tutti i lettori: non dare per scontato che i numeri dei voti riflettano le opinioni di persone con un background di sicurezza. Questo è un problema con la migrazione di una domanda.
@D.W. punto molto positivo - e ovviamente l'unica risposta che abbiamo come comunità è votare quelli che sono buoni. Alla fine le cose andranno bene se tutti contribuiremo.
Ehi ragazzi, grazie per aver svolto il lavoro di fusione di questa domanda. Apprezzo il tempo impiegato per modificarlo e posizionarlo al posto giusto.
@Jarrod C'è sempre una traccia e poveri errori nel tuo passato possono tornare a morderti in futuro. È meglio rimanere puliti il ​​più possibile. Ti ritroverai con la stessa conoscenza in entrambi i casi.
Quattordici risposte:
#1
+35
Jon Hopkins
2011-06-27 19:30:40 UTC
view on stackexchange narkive permalink

Non lavoro come consulente per la sicurezza ma ho lavorato con loro (e per inciso con la polizia e la tua analogia è più una serie poliziesca che una realtà) e nessuno di loro, per quanto ne so, ha passato del tempo ad hackerare illegalmente.

L'hacking è illegale solo se non hai il permesso, ma non c'è differenza a livello tecnico (vale a dire in termini di sicurezza) tra un server che hai il permesso di hackerare e uno che non hai ' t. Se lavori per o con un'azienda, il tentativo di accedere ai suoi server (previa autorizzazione e comprensione scritta) va bene e non è meno esperienza nel mondo reale rispetto alla scelta di un sistema casuale.

non c'è motivo per cui non puoi configurare i tuoi server ospitati e tentare di comprometterli - o amico, due di voi hanno impostato un server ciascuno e il vincitore è il primo a trovare un exploit nell'altro sistema. Questo ha il duplice vantaggio di vederlo da entrambi i lati.

Per quanto riguarda il tuo primo punto, non è come una gallina prima dello scenario delle uova? Nessuno mi darà il permesso di testare la sicurezza del proprio sistema o dell'applicazione a meno che non abbia esperienza nel test della sicurezza del sistema e dell'applicazione. Per quanto riguarda il tuo secondo punto, ho pensato che potrebbe effettivamente essere il caso, ma richiederebbe una sorta di investimento finanziario personale per creare un ambiente degno di test.
@hal10001 - Molte grandi aziende hanno un team di tester di sicurezza interni o un paio di sviluppatori designati che testano la sicurezza dello sviluppo interno. Normalmente acquisiresti esperienza in quel tipo di posizione per un po 'prima di diventare un consulente di sicurezza "in the wild".
@hal10001 - Cosa dice Justin. Il percorso normale è tramite l'amministratore della rete o del server, impara a impostare le cose prima di imparare come tirare le cose.
@hal10001: Il primo passo è ottenere le certificazioni di sicurezza che ti identificano come esperto di sicurezza. In secondo luogo, trova un lavoro con una società di sicurezza / audit per ottenere l'esperienza pratica. Man mano che acquisisci competenza, ti verranno assegnati budget / risorse maggiori per iniziare la ricerca di exploit specifici in ambienti specifici. Proprio come con qualsiasi altro lavoro correlato alla programmazione: prima ottieni la certificazione, poi acquisisci esperienza. Oltre a questo, non farti prendere.
@Justin Cave: Sto scoprendo che oggigiorno molti di questi test sono in realtà affidati a società di sicurezza / audit. Vedo ancora alcune applicazioni locali, ma i siti finanziari seri che ho visto hanno tutti avuto trasparenza di audit di terze parti.
@Joel - Vengono eseguiti i test finali. Ma la maggior parte delle società finanziarie serie dispone ancora di un team di sicurezza interno che esegue almeno il primo passaggio di test durante lo sforzo di sviluppo per identificare le falle nella sicurezza.
@Justin Cave: Oh, assolutamente il primo round viene svolto internamente, ma il primo round non è ancora di solito al livello indicato dall'OP. Lo sviluppo / il primo round di test colpisce i soliti sospetti o gli exploit facilmente identificabili, quindi viene elaborato per un audit conclusivo. Personalmente ho dovuto rispondere a tale verifica con i risultati del mio primo round. Non era abbastanza divertente.
@Joel - Esatto. Ma se ottieni una certa esperienza come tester di sicurezza interno colpendo i soliti sospetti (SQL injection, cross-site scripting, ecc.), Ciò ti mette in una posizione ragionevolmente buona per passare alle aziende che eseguono controlli di sicurezza a tempo pieno.
@Justin Cave: Tru dat.
Tuttavia, il problema con l'hacking artificiale è che non è coinvolto alcun essere umano; è spesso possibile entrare in un sistema con l'aiuto di un amministratore di sistema confuso o del personale di supporto del webhost amichevole e quegli strati umani sono a volte il modo più semplice per entrare nei sistemi reali. Un vero esperto di sicurezza dovrebbe tenere conto della natura umana, non solo dei difetti e dei difetti tecnici.
@Lie - Se stai testando la sicurezza per un'azienda con il permesso, puoi (e dovresti) fare queste cose. Perché non potresti / non dovresti?
@Joel "" Il primo passo è ottenere le certificazioni di sicurezza che ti identificano come esperto di sicurezza. In secondo luogo, trova un lavoro con una società di audit / sicurezza per ottenere l'esperienza pratica "" - questo non ha senso. Prima ottenere la prova della conoscenza, quindi acquisire la conoscenza? E poi, nel campo della sicurezza i certificati sono meno importanti della competenza.
@AviD: Non sono sicuro di come non abbia senso. Mi sembra abbastanza ovvio. Questo non è uno scenario di pollo / uovo. Studiando e ottenendo i certificati richiesti, diventa più semplice ottenere un lavoro in cui si apprende l'esperienza pratica. Sono d'accordo che l'esperienza effettiva prevale sulle certificazioni in qualsiasi giorno della settimana, ma proprio come una laurea quadriennale di questi tempi, i certificati sono il prezzo dell'ammissione più che la prova della competenza.
@Joel - ah, ora ho capito - intendevi "* studia * per la certificazione, poi fai esperienza". Ha un po 'più di senso ... ma ancora sbagliato. A. modi migliori per studiare, che imparare alla prova. B. I certificati non sono necessariamente richiesti, a seconda della posizione. C. I certificati ben considerati richiedono esperienza pratica (ad esempio 3 anni per CISSP).
@AviD - In termini di esperienza, tuttavia, nessuna certificazione ben considerata sarebbe riuscita a farla franca accettando l'esperienza che infrange la legge.
@Jon ovviamente no, questo è un presupposto errato nella domanda. Inutile dire che - beh, * dovrebbe *, ma a quanto pare no ... Ci sono alcune buone soluzioni per questo, come hai detto e sono elaborate in altre risposte.
Ciò che questa risposta non dice è che l'apprendimento del pentesting potrebbe non essere il modo più prezioso per trascorrere il tuo tempo. Sembra esserci una percezione che essere un esperto di sicurezza web significa conoscere i modi più interessanti per hackerare un sito web. Questo è un mito.
@D.W. Non ha nulla a che fare con un metodo "cool", ma solo con il fatto che è una via di attacco praticabile che deve essere presa in considerazione dal punto di vista del design.
#2
+11
DKGasser
2011-06-27 23:43:45 UTC
view on stackexchange narkive permalink

La risposta a questa domanda è molto simile alla risposta a qualsiasi domanda "Come posso diventare un esperto in * *" ... alla fine si riduce al tempo e all'esperienza.

Per alcuni dettagli, tuttavia, se il college / università è un'opzione, esamina i programmi che si occupano di sicurezza delle informazioni, informatica forense e assicurazione delle informazioni ... tutti questi ti darebbero una solida base per lo sviluppo della sicurezza delle applicazioni.

Inoltre, dai un'occhiata alle specifiche di queste leggi ... per esempio puoi attaccare servizi / applicazioni / sistemi sulla tua rete legalmente nella maggior parte dei luoghi (supponendo che tu possieda l'attrezzatura e l'infrastruttura di rete utilizzata). Anche un'applicazione open source, in cui si ha la libertà di modificare / riutilizzare il codice, nella maggior parte dei casi sarebbe aperta al test di vulnerabilità, a condizione che non si eseguisse il codice "dannoso" su sistemi remoti o lo si condividesse .. ma ancora una volta, le leggi variano notevolmente da Stato / Paese.

La lettura, come sempre, è una buona fonte ... non solo sulla "sicurezza" stessa, ma sui principi generali della codifica. Una conoscenza di base è sempre una risorsa. Siti web come "hackthissite.com" forniscono anche alcune guide pratiche e "sfide" da fare. Tuttavia, quella non è affatto specifica per la "sicurezza dell'applicazione".

#3
+9
Thomas Owens
2011-06-27 19:53:06 UTC
view on stackexchange narkive permalink

Oltre alle risposte di Jetti e Jon Hopkins, ci sono anche organizzazioni e strumenti progettati per insegnare le basi della sicurezza web. Il Open Web Application Security Project (OWASP) viene in mente come un primo esempio di questo.

OWASP ha un'ampia documentazione sul proprio sito su vari exploit e tecniche di sicurezza, oltre a come creare software sicuro e trovare exploit nel software esistente. Producono anche uno strumento noto come WebGoat, che è un'applicazione JEE non sicura che puoi ospitare e conoscere diverse tecniche per danneggiare o compromettere gli ambienti web.

Grazie per il collegamento WebGoat. Sapevo di OWASP, ma non sapevo di questo progetto. Questo è molto utile.
+1 Per aver menzionato OWASP. Ottima organizzazione e sito web.
#4
+8
dboss
2011-06-27 19:54:53 UTC
view on stackexchange narkive permalink

Inoltre non lavoro nell'area della sicurezza, ma non c'è nulla che ti impedisca di simulare Internet utilizzando un paio di router e switch su una rete domestica con forse l'eccezione di alcuni hardware di sicurezza ad alto prezzo là fuori. Come ha affermato Jon, puoi facilmente configurare IIS, Apache o qualsiasi server Web desideri su una rete domestica. Esistono anche alcune app per esercitarsi come Hacme bank su cui puoi esercitarti sulle vulnerabilità web di base.

Grazie per il collegamento alla banca Hacme. Questo è molto utile per testare le vulnerabilità.
#5
+7
AviD
2011-06-28 14:54:59 UTC
view on stackexchange narkive permalink

Per prima cosa inizia imparando un po 'di teoria. Inizia con OWASP (la "bibbia" di webappsec), quindi esplora questo sito. Sono sicuro che troverai numerose domande che potrebbero interessarti ...

Successivamente trova i problemi nel tuo codice ...

Poi, ci sono diverse "app non funzionanti" kit che puoi utilizzare per scopi didattici.
Ad esempio, dai un'occhiata a Iniziare con lo sviluppo sandbox. Ho usato OWASP WebGoat per molti anni per la formazione, ma grazie a questa domanda ho trovato Google Gruyere, che ti consiglio vivamente.

A proposito, penso che dovresti anche dare un'occhiata a questa domanda: Quali sono i percorsi di carriera nel campo della sicurezza informatica? - Penso che ti aiuterà a darti una direzione.

Per continuare con il pensiero di trovare problemi nel proprio codice. Trova anche problemi con il codice nei progetti open source, c'è un ampio supporto e le persone apprezzano il tuo contributo. Oltre a distruggere le tue app web, non limitarti a fissare il codice, guardalo come un hacker. Inoltre ci sono molti gruppi che ospitano applicazioni web a scopo di test, ovvero consentono di hackerarle.
#6
+5
this.josh
2011-06-28 03:29:54 UTC
view on stackexchange narkive permalink

Sono turbato dall'implicazione che per diventare un "esperto di sicurezza delle applicazioni Web competente" il percorso più semplice sia infrangere la legge. Sono d'accordo con @DKGasser, il percorso generale per diventare un esperto è simile in tutti i campi. Devi imparare, esercitarti, discutere e sperimentare.

È probabile che le attività illegali insegnino solo come sfruttare sistemi scarsamente protetti e come sfruttare vulnerabilità molto specifiche. È improbabile che ti insegni la teoria alla base dei sistemi sicuri.

Ci sono molte cose legali che puoi fare per esplorare la sicurezza delle applicazioni web, iniziando dalla configurazione della tua rete domestica con un server web e attaccando il tuo server web. Puoi persino guardare i server web registrati in tempo reale mentre provi vari attacchi. Di solito è meglio configurare una rete cablata di due computer con un computer di attacco e un computer di destinazione come le uniche macchine sulla rete sperimentale, poiché ciò ti impedirà di attaccare accidentalmente qualcun altro.

Prova diversi sistemi operativi, diversi server web, diversi framework di applicazioni, diversi linguaggi di programmazione, ecc. Configura un server honeypot e osserva quali attacchi vengono tentati su di esso.

#7
+5
atdre
2011-06-28 04:25:58 UTC
view on stackexchange narkive permalink

Passa molto tempo di persona con qualcuno che è già un esperto di sicurezza delle applicazioni web.

Aww, qualcuno sta cercando un amico ...? ;)
#8
+5
bethlakshmi
2011-06-28 23:46:16 UTC
view on stackexchange narkive permalink

Ho pensato di intervenire e sottolineare che l'analogia con la polizia è un po 'imperfetta se quello che stai cercando è istruzione , contro rilevamento. Certo, la mia esperienza nelle forze dell'ordine è limitata a un amore eccessivo per Law & Order, ma seguendo l'analogia con lo spettacolo poliziesco - quando le offerte della polizia vanno sotto copertura - è generalmente il ragazzo intelligente, esperto e stabile che si è laureato con voti decenti all'accademia di polizia. Non lo stagista estivo. :)

Stessa cosa per un penetration test (come descrive John Hopkins): le aziende vengono assunte per pen test in base all'esperienza aziendale, alle credenziali dei singoli ingegneri del team, alla reputazione professionale di tutte le persone coinvolte, e il costo e il programma proposti dal team. Proprio come non vuoi davvero che il poliziotto pazzo e non qualificato sia il tizio sotto copertura, non assumi un'azienda senza nome e non affidabile per eseguire i tuoi test di penetrazione.

La strada per arrivare al punto di essere un individuo in un team di pen test?

È la stessa di quasi tutte le altre carriere in ingegneria:

  • studia la tecnologia che consente e previene gli exploit di sicurezza - conoscere il maggior numero possibile di aree del commercio della sicurezza: fattori umani, fisica, rete, software, sistemi operativi, protezione dei dati, ecc.

  • utilizzare istituzioni accademiche e professionisti certificazioni per stabilire credenziali - alcune organizzazioni professionali includono anche una promessa di etica.

  • stabilire legami come un modo per fornire ulteriore rassicurazione di onestà - questo è sulla stessa linea di lavoro come un fabbro.

  • lavora sul campo in lavori meno ad alto rischio: sviluppo di sistemi di sicurezza, amministrazione di sistema, gruppi di sicurezza IT, team di gestione del rischio, ecc.

  • realizza progetti indipendenti per acquisire esperienza, come allestire un vaso di miele a casa o giocare con configurazioni di sicurezza su dispositivi di rete.

  • ottenere tutoraggio da qualcuno più anziano.

Proprio come i poliziotti sotto copertura sono un gruppo speciale di agenti di polizia, che ricevono una formazione speciale, un trattamento unico e hanno credenziali particolari: i penetration tester sono un gruppo unico di professionisti della sicurezza. Le persone che ho incontrato che fanno questo tipo di lavoro hanno spesso un tipo di personalità simile a quello del programmatore / architetto / CTO di una società di startup aggressiva: molto intelligente, molto motivato, intensamente concentrato sullo stato dell'arte e piuttosto intellettualmente aggressivo . Generalmente sono dotati di credenziali di livello molto alto e sono molto costosi.

Sono sicuro che ci sono molte persone là fuori che sono stupide e cercheranno di violare le risorse senza l'autorizzazione dell'azienda, ma le persone che considero i veri professionisti in questo settore sono troppo intelligenti per questo. Sono a conoscenza delle leggi in questo campo e sono troppo intelligenti per mettere a repentaglio le loro carriere hackerando lateralmente. Un buon tester di penna sa che una parte del suo alto compenso deriva dal fatto che l'azienda è disposta a fidarsi di lui e se fa qualcosa per rompere quella fiducia, allora è senza lavoro e probabilmente senza carriera.

#9
+4
Jetti
2011-06-27 19:45:04 UTC
view on stackexchange narkive permalink

Penso che Jon Hopkins abbia un buon punto, non c'è differenza tra hackerare illegalmente e hackerare qualcosa che ti è stato permesso di hackerare. Da adolescente ricordo che volevo entrare nell'hacking (grazie al meraviglioso film Hackers) e c'erano siti che sono stati impostati che incoraggiano le persone ad hackerarli per imparare. Vorrei poter ricordare i siti, ma so che sono là fuori e sono sicuro che siano ancora vivi e vegeti.

Alcune cose da considerare:

  • Potresti lasciare che il tuo ISP sappi che lo stai facendo e che hai il pieno consenso. In questo modo, se vedono qualcosa di sospetto non interrompono il tuo servizio o, peggio, non ti segnalano alle autorità.
  • In realtà l'hacking in un sistema non è l'unico modo per conoscere la sicurezza. Essere in grado di riconoscere quando il codice è insicuro o altre vulnerabilità è altrettanto importante.
  • Ci sono un bel po 'di persone che sono ex hacker che ora gestiscono le proprie società di sicurezza, tuttavia hanno anche dovuto trascorrere del tempo in Prigione federale per arrivarci. Kevin Mitnick è il primo che mi viene in mente, ma so che ce ne sono altri. Quindi fai attenzione con la "zona grigia"
  • "nessuna differenza tra hackerare illegalmente e hackerare qualcosa che ti era permesso di hackerare" - eh? Che ne dici della differenza che, diciamo, uno è illegale e l'altro è legale?
    @Jetti - indovinando intendi "funzionalmente - nessuna differenza"?
    #10
    +3
    Peter Smith
    2011-06-27 20:36:58 UTC
    view on stackexchange narkive permalink

    La differenza è che se vuoi diventare un esperto di sicurezza, devi sapere PERCHÉ cose come exploit, buffer overflow e crittografia funzionano. Non sarai solo responsabile di trovare un buco, ma saprai come correggerlo correttamente, inclusa la riprogettazione del software e della rete.

    Gli attacchi e gli exploit vengono pubblicati online. Potresti leggere le ultime patch di sicurezza per vari sistemi, quindi provarle su una copia locale di quel software sul tuo computer, la virtualizzazione sarebbe ottima per questo.

    #11
    +3
    D.W.
    2011-06-28 18:56:45 UTC
    view on stackexchange narkive permalink

    Questa domanda è piena di premesse errate e preconcetti.

    È NON VERO che devi infrangere la legge per imparare a essere un esperto di sicurezza, o che infrangere il la legge è anche particolarmente utile per renderti esperto in questo settore. Sembra che tu stia presumendo che il modo per imparare la sicurezza web sia infrangere la legge, e questo semplicemente non è accurato.

    La domanda sembra anche presumere che essere un esperto di sicurezza web significa solo conoscere le cose più interessanti modi per hackerare un sito web, quindi il modo migliore per diventare un esperto di sicurezza web è hackerare molti siti web. Neanche questo è accurato.

    Otterresti risposte migliori se chiedessi come imparare a essere un esperto di sicurezza, senza fare supposizioni in anticipo sulla forma della risposta.

    #12
    +3
    bstpierre
    2011-12-22 03:26:18 UTC
    view on stackexchange narkive permalink

    Fare pratica sul proprio hardware non è illegale!

    Fare pratica con il permesso scritto non è illegale!

    Presumo che tu abbia già una formazione tecnologica sufficiente per comprendere il le basi. Detto questo, è banalmente facile esercitarsi sul proprio hardware e con un investimento minimo è possibile noleggiare macchine virtuali in base alle necessità per esercitarsi su altre piattaforme (ad esempio Amazon EC2).

    C'è abbondanza di materiale con cui esercitarsi sul proprio hardware:

    • Impara a lavorare con le macchine virtuali. Essere in grado di avviare rapidamente una nuova macchina che esegue un determinato sistema operativo in una determinata configurazione è utile per esercitare (e ripetere) determinate abilità. (Ti consente anche di fare buone segnalazioni di bug dato che sarai in grado di ricreare facilmente un bug su un sistema pulito.)
    • Tieni un taccuino o hai qualche mezzo per organizzare il materiale che stai apprendimento. Uso una combinazione di wiki (auto-gestito, privato) e strumenti di bookmarking per tenere traccia delle cose mentre imparo nuovo materiale.
    • Segui le mailing list o i forum come questo sito, bugtraq, ecc. sei al passo con gli attacchi attuali ed emergenti.
    • Scopri la sicurezza delle applicazioni web in generale. Ci sono molti buoni siti web (ad esempio OWASP) e libri (ad esempio The Web Application Hacker's Handbook, di Stuttard e Pinto). Questi riferimenti forniscono elenchi di strumenti e tecniche che puoi mettere in pratica immediatamente. WAHH ha esercizi sparsi in ogni capitolo: fai questi .
    • Informazioni sull'infrastruttura web. Le distribuzioni di fascia alta saranno molto più sofisticate di quelle che puoi configurare nel tuo laboratorio. Bilanciatori del carico, firewall, cache, ecc. Possono rendere la vita di un penetration tester più difficile (ad esempio agendo come difese a più livelli) o più facile (ad esempio introducendo complessità e più superficie di attacco).
    • Informazioni sull'infrastruttura Internet. Capire come funziona il DNS, ad esempio; quali sono le vulnerabilità come sistema e come possono essere sia protette che attaccate.
    • Installa alcune applicazioni nella tua VM. Per esempio. LAMP con app popolari - phpMyAdmin, phpBB, ecc. O IIS. O micio. (Alla fine, vorrai esercitarti su tutti loro! Ciò ti darà esperienza con una varietà di piattaforme, lingue, configurazioni e problemi diversi.)
      1. Lasciali nella configurazione predefinita.
      2. Attaccali. (DoS, intrusion, XSS, SQLi, firesheep, ecc.)
      3. Proteggili da questi attacchi.
      4. Vai a 2.
    • Buddy up: trova un partner con cui esercitarti. Ad esempio, puoi eseguire esercizi "cattura la bandiera" (CTF) in cui ognuno di voi imposta un sistema e quindi tenta di infiltrarsi nel sistema del partner. Questo ti dà pratica sia nella creazione e nel mantenimento di una configurazione sicura che nei test di penetrazione. (Fai solo attenzione a dove imposti i tuoi sistemi: non consiglierei di attaccare il tuo partner da casa tua; il suo ISP o il tuo ISP potrebbero avere una visione oscura di determinate attività che attraversano le loro reti. E probabilmente non vuoi che attacchi il tuo home; al tuo ISP potrebbe non piacere che tu attiri traffico dannoso.)
    • Se hai un budget per strumenti e libri:
      • Mantieni una coda di lettura o simili (ad es. lista dei desideri su Amazon) per i nuovi libri che vedi consigliati. Quando vedo un libro consigliato più di 3 o 4 volte, lo metto in coda di lettura.
      • Puoi acquistare hardware economico per esercitarti se tieni d'occhio craigslist, freecycle, ebay, ecc. Le VM possono fare molto, ma avere pochi PC economici e un router è utile per esercitarsi a configurare un firewall-dmz-intranet con hardware reale.
      • Avere hardware di riserva rende anche più facile avere una "LAN CTF in stile party con il tuo amico. Configura un PC in base alle regole del gioco di questa settimana, prendi uno switch / router / ecc. E unisciti alla festa.
    • Esci e incontra persone. OWASP ha capitoli dappertutto. Cerca meetup per riunioni orientate alla sicurezza. (O riunioni relative alle applicazioni Web, ad esempio il tuo incontro PHP o RoR locale potrebbe occasionalmente avere una sessione sulla sicurezza.)
      • Questi incontri sono sempre alla ricerca di relatori. Impara abbastanza su un argomento di nicchia, o crea un nuovo strumento o tecnica speciale, o scopri una nuova classe di vulnerabilità correlata all'argomento della riunione, o prendi una nuova tecnica che hai visto su bugtraq e rendila pertinente per il meetup, e preparati un "discorso lampo". (Se ti iscrivi a un corso universitario dovrai spesso fare questo genere di cose.)
    • Trova un lavoro o uno stage di livello base. Trova un mentore.

    Ci sono alcuni siti web e applicazioni configurati come esercizi per l'hacking. Ho scoperto che questi tendono ad essere molto introduttivi, ma sono utili come materiale per principianti:

    • gioco hACME
    • Hack This Site!
    • Prova a cercare "computer security wargame" o "capture the flag computer security".
    • Dannazione Applicazione Web vulnerabile: questa è un'app Web che puoi inserire in una delle tue VM; è strutturato in modo simile ai siti di hacking menzionati sopra
    • Hackme Bank, Google Gruyere, OWASP WebGoat. (Non li ho ancora provati, ma li ho visti consigliati.)
    • Installa un framework web popolare con molti plugin. Mi viene in mente Wordpress. (Ok, non è inteso come pratica per l'hacking, ma potrebbe anche essere ...)
      • Installalo in una VM, installa una manciata di plugin, aggiungine contenuto di riempimento.
      • Inizia con le basi, facendo le cose "a mano". Ad esempio, installa firebug in firefox, modifica i cookie, modifica i campi del modulo, imposta i punti di interruzione in javascript per alterare la convalida lato client, ecc. Puoi anche utilizzare curl e altri strumenti di basso livello per creare richieste per aggirare la sicurezza. Farlo "nel modo più duro" ti darà una buona comprensione di ciò che gli strumenti stanno facendo per te, in modo da comprenderne i limiti e la migliore applicazione.
      • Dopo aver avuto un'idea di cosa sta succedendo le copertine (e sei riuscito a trovare e segnalare responsabilmente un paio di falle di sicurezza), inizia ad apprendere gli strumenti che hai scoperto durante la lettura e che hai registrato nel tuo taccuino.
      • Dovresti essere in grado di trovare un punto debole della sicurezza entro poche ore dall'hacking, ad esempio, di Wordpress con una manciata di plugin. Sono riuscito a trovare un 3 o 4 XSS, più alcuni altri bug, in 3 o 4 ore di test di alcuni plugin WP molto popolari, senza usare molto per strumenti oltre FF + firebug, chrome e curl. Se guardi bugtraq o altri elenchi simili, avrai un'idea di quali applicazioni andranno bene installate e testate.
    • Allo stesso modo per le applicazioni con una lunga storia di difetti di sicurezza . Vengono in mente phpMyAdmin e BIND. (È vero, BIND non è una "applicazione web", ma sarebbe un interessante test lungo un diverso tipo di asse, ed è un pezzo importante di infrastruttura da cui dipende la tua applicazione web.) Anche Apache sarebbe un gioco leale.

    Ovviamente tutto questo non ti renderà un esperto , ma sarai sulla strada e almeno avrai raggiunto " incompetenza cosciente ": saprai quali sono i passaggi successivi per aumentare il tuo livello di abilità.

    #13
    +1
    M'vy
    2011-06-28 14:54:36 UTC
    view on stackexchange narkive permalink

    Penso che la prima cosa sia prendere un corso accademico. Ma non è obbligatorio. E non è sufficiente, perché devi confrontarti con il mondo reale. Per ottenere più esperienza hai due scelte (mi vengono in mente)

    • Entra a far parte di un'azienda che opera nel campo della sicurezza: pen-test, rilevamento / prevenzione delle intrusioni, disaster recovery. Questo ti insegnerà anche ciò che l'azienda vuole dagli esperti di sicurezza e ti darà una direzione su cosa imparare.
    • Curiosità: costruisci una sandbox per testare da solo (questo dovrebbe evitare di infrangere l'apprendimento). Tieniti informato sui problemi di sicurezza su Internet, sugli argomenti di tendenza, sulle violazioni più sfruttate. Usa la tua sandbox per riprodurlo e trova come contrastarlo. In quest'area imparerai ciò di cui l'azienda ha bisogno da esperti di sicurezza ma di cui non sei a conoscenza.
    E ad essere onesti, la maggior parte dei miei pen tester non aveva titoli accademici in sicurezza informatica. Molti avevano un modulo informatico o almeno qualcosa nell'IT, ma il nucleo era per loro dimostrare di avere un'attitudine a capire come funzionavano le cose, o a elaborare modi per smontare qualcosa e ricostruirlo meglio ...
    #14
    +1
    Matt
    2011-06-27 21:39:35 UTC
    view on stackexchange narkive permalink

    C'è una grande differenza nel trovare falle di sicurezza e nello sfruttarle. Ovviamente il primo può ancora essere illegale a seconda di ciò che stai facendo.



    Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
    Loading...