Il test di penetrazione diventa oggettivamente "più difficile" man mano che le app / i protocolli / i sistemi operativi diventano più sicuri?

7

Attualmente sono iscritto al corso "Penetration Testing with Kali" di Offensive Security, rivolto ai neofiti dei test di penetrazione. Il corso è eccezionale, con molti esempi / esercizi e un ambiente di laboratorio virtuale che mi consente di connettermi tramite VPN e praticare tutto ciò che stavamo imparando.

Una cosa che ho notato è che molte delle vulnerabilità che stavamo studiando / esercitavano sono state in età avanzata per es. Sistemi Windows XP / 2003, versioni Linux precedenti o si sono basati su sistemi mal configurati (che, se configurati correttamente , sarebbero molto più sicuri) o protocolli noti per avere gravi difetti in essi. / p>

Sono ben consapevole che le versioni più recenti di questi sistemi hanno vulnerabilità proprie. Immagino anche che molti dei vecchi sistemi continuino a essere utilizzati all'interno delle organizzazioni. Tuttavia, il peso del materiale di studio che viene collocato su sistemi precedenti mi chiede se in futuro i test di penetrazione diventeranno necessariamente meno utili o necessitino di cambiare i suoi metodi man mano che gli sviluppatori diventano più attenti alla sicurezza nella creazione dei loro protocolli / app / SO e man mano che i loro strumenti diventano più avanzati. Ad esempio, molti linguaggi di livello superiore gestiscono la memoria per gli sviluppatori, rendendo il buffer-overflow molto meno probabile, anche per gli sviluppatori incuranti. Inoltre, è la mia percezione (anche se potrei sbagliare molto, non sono esperto) che i sistemi operativi moderni sono significativamente più sicuri dei loro predecessori.

So che QUALSIASI sistema avrà QUALCHE vulnerabilità da qualche parte, tuttavia sembra che il test di penetrazione come livello professionale implichi per definizione un certo grado di scansione / sfruttamento standardizzato delle vulnerabilità note. La mia domanda allora è: l'area superficiale che i tester per la penetrazione professionale si restringono, poiché aumenta la consapevolezza della sicurezza tra gli sviluppatori di app / protocolli / SO e come migliora la sicurezza integrata dei loro strumenti?

Non sto insinuando che penso che i test di penetrazione "andranno via", ma ad es. potrebbe iniziare a fare affidamento più sull'ingegneria sociale che sulle attuali vulnerabilità tecniche nelle reti o nel software.

    
posta loneboat 01.05.2017 - 17:36
fonte

3 risposte

10

L'obiettivo dei test di penetrazione non è quello di trovare vulnerabilità, e quindi non ha fallito se non ne trova. È per verificare se sono presenti o meno vulnerabilità. Non diventa più difficile se i sistemi diventano più sicuri, presenta solo meno vulnerabilità. In effetti, sarà più semplice se l'elenco delle vulnerabilità note da controllare diventa più piccolo.

    
risposta data 01.05.2017 - 22:10
fonte
4

La vulnerabilità e il panorama IT sono in costante cambiamento e direi che mentre alcuni tipi di problemi stanno diventando meno prevalenti, altri prendono il loro posto come più comune, mentre alcuni problemi sono per sempre (sembra)

Cose come i classici problemi sfruttabili in rete in sistemi operativi ampiamente distribuiti (es. MS08-067) sono meno comuni (anche se le discariche di Shadowbrokers hanno dimostrato che sono ancora possibili), e dove esistono tendono ad essere più difficili da sfruttare come i produttori di sistemi operativi aggiungono più difese al loro sistema (es. ASLR / DEP ecc.)

Tuttavia, non penso che ciò significhi necessariamente che non ci saranno problemi per i tester. Alcune cose, come i problemi di autorizzazione nelle applicazioni web, sono molto difficili da risolvere in modo generico su tutte le piattaforme e si basano su singoli sviluppatori, quindi sono una possibilità in ogni applicazione che si prova.

Anche le cose che si basano su un gran numero di persone che ottengono la sicurezza, come le buone scelte di password, sembrano persistere praticamente per sempre.

Accanto a questi, nuove strade si aprono per i tester da guardare. Ad esempio, rispetto a 15 anni fa, molti più sistemi aziendali sono ospitati "nel cloud" che possono esporli ad attaccare più facilmente che se si trovassero in una rete aziendale interna dietro diversi livelli di sistemi difensivi, quindi ci sono nuovi modi in cui i tester possono cercare di sfruttarlo.

I tester hanno sicuramente bisogno di adattarsi ai nuovi sistemi che arrivano e vecchi sistemi vanno fuori moda, ma non vedo che a corto di cose da trovare in qualunque momento presto.

    
risposta data 02.05.2017 - 09:49
fonte
3

Secondo me no ... Io trovo regolarmente iniezioni SQL perché gli sviluppatori stanno costruendo le loro applicazioni personalizzate in PHP invece di usare i framework. Lo stesso vale per le API (specialmente quelle per le applicazioni mobili nella mia esperienza). Per quanto riguarda l'infrastruttura esterna, direi che la ricerca di vulnerabilità note (con moduli metasploit) è rara, per il motivo che sarebbero già state compromesse. L'analisi normalmente porta a dei risultati, ad esempio ho trovato stampanti esposte su Internet con credenziali predefinite che consentivano la rotazione nella rete interna. Per quanto riguarda l'infrastruttura interna ci sono sempre punti deboli, ma l'uso di strumenti come Responder (per avvelenamento da LLMNR) ti porterà DA come l'80% delle volte a seconda delle politiche sulle password, quindi stai praticamente sondando altri luoghi mentre Responder è in esecuzione solo nel caso in cui non funzioni Ti forniamo un hash NTLM che puoi utilizzare per inoltrare a DA.

    
risposta data 01.05.2017 - 22:06
fonte