Diventa Autore per CoreTech | Scopri di più





Fare shift left o no?

18/11/21 CoreTech Blog

Fare shift left è ora una tendenza popolare nella sicurezza delle informazioni. Significa che dovresti saltare sul carro e strapparti i capelli solo per spostare la sicurezza a sinistra? No. In realtà, nella maggior parte dei casi, se salti alla cieca su questo carrozzone, potresti spararti ai piedi. Ecco perché.

Cosa vuol dire shifting left?

Fare shift left non è un nuovo termine. Non è un termine di sicurezza delle applicazioni web. Non è nemmeno un termine di sicurezza delle informazioni.

Ciò a cui si applica lo shift left è, fondamentalmente, trovare tutti i tipi di difetti del software il prima possibile. Questo vale per la sicurezza delle informazioni o per le vulnerabilità della sicurezza delle applicazioni Web, ma può anche significare difetti della logica aziendale che non hanno nulla a che fare con la sicurezza.

Perché questa strana combinazione di parole? Bene, i diagrammi dell'organizzazione dello sviluppo del software di solito vanno da sinistra a destra, dove a sinistra hai le prime fasi di sviluppo e a destra hai il rilascio. Pertanto, spostare la fase di test verso le fasi precedenti è, nel diagramma, sinonimo di spostare una casella (shift) da destra a sinistra (left).

Il termine è stato coniato nel lontano 2001. È stato utilizzato per la prima volta in un articolo di Larry Smith nel Dr. Dobb's Journal. Come ha scritto Larry Smith, "il test shift-left è il modo in cui mi riferisco a un modo migliore per integrare la garanzia di qualità (QA) e le parti di sviluppo di un progetto software".

L'ideologia dello spostamento a sinistra è molto in linea con le pratiche di sviluppo agile. Nel caso di tali metodologie, il QA è incluso nel processo di sviluppo, non solo rimandato alle fasi successive prima del rilascio come nelle metodologie più vecchie come la cascata.

Cosa significa per te shift left?

Il problema più grande con il termine spostamento a sinistra (shift left) è che è molto probabile che venga frainteso. La parola spostamento (shift) significa spostare o far muovere da un luogo all'altro, specialmente su una piccola distanza. Pertanto, spostarsi a sinistra significa rimuovere i test dalle fasi successive.

Invece del termine shift left, dovremmo usare il termine expand left! In caso contrario, molte persone, entusiaste di seguire la tendenza, distoglieranno effettivamente i propri sforzi per la sicurezza dagli ambienti di staging e cercheranno di fare tutto il prima possibile. E questo è un terribile errore.

È anche un errore che in realtà è incoraggiato e vantaggioso per i fornitori di soluzioni, che funzionano solo nelle fasi iniziali, ad esempio gli strumenti SAST. Uno strumento SAST non può essere utilizzato in fasi successive (a differenza di uno strumento DAST che può farlo) perché si occupa solo del codice sorgente o del codice precompilato. Se fraintendi il termine shift a sinistra potresti effettivamente pensare che la scansione delle tue app web con uno strumento SAST sarà sufficiente per la loro sicurezza. Beh, non lo farà.

Stai altrettanto attento con shift right

Il termine spostamento a destra (shift right) è stato coniato per contrastare l'equivoco del termine spostamento a sinistra, ma è anche suscettibile di essere frainteso. Prima di qualsiasi spostamento, il test viene eseguito in ambienti di staging (che si trovano sul lato destro dei diagrammi). Pertanto, se ci spostiamo a sinistra e a destra dalla posizione originale di test (già a destra), otteniamo test nello sviluppo iniziale e test in produzione (che è a destra dello staging). Ciò significa che non rimangono prove di stadiazione!

Considera anche il fatto che mentre il nostro software è assolutamente in grado di testare un'applicazione in produzione, dovresti esaminare molto attentamente le potenziali conseguenze. Certo, le nostre applicazioni eseguono i test in modo innocuo, ma i test possono essere molto intensi e avere effetti collaterali, che possono includere negazione del servizio accidentale, inondazione di e-mail e altro ancora. A meno che tu non sia consapevole e pronto a mitigare tali effetti collaterali, il test in un ambiente di produzione live potrebbe effettivamente essere più dannoso che non testarlo affatto.

Banner

Non fraintendetemi, i test in produzione sono fantastici se fatti nel modo giusto e testati con molta attenzione prima con mitigazione e consapevolezza adeguate. Proprio come lo spostamento a sinistra, l'espansione a destra è solo qualcosa che non dovrebbe essere seguito ciecamente!

Per essere sicuro di avere la sicurezza della tua applicazione web coperta, non c'è modo al mondo che tu possa saltare l'ultima fase del test quando tutto è in un ambiente di staging. Dopotutto, è solo qui che hai tempo per eseguire ulteriori test di penetrazione manuali per scoprire vulnerabilità che gli strumenti automatizzati non riescono a trovare.


Articoli su Sicurezza

Sicurezza aziendale: da cosa è minacciata e come proteggerla?Il threat modeling per la sicurezza delle applicazioniScanner di vulnerabilità: ecco come funzionanoWeb security: 5 motivi per cui è essenziale contro i ransomwareChe cos'è DevSecOps e come dovrebbe funzionare?Test di penetrazione vs scansione delle vulnerabilitàConsiderazioni sui test di correzione delle applicazioni WebQuattro modi in cui l'analisi AppSec aiuta i tuoi professionisti DevSecOpsQuattro modi per combattere il divario di competenze di sicurezza informaticaDove i framework di cybersecurity incontrano la sicurezza webCome costruire un piano di risposta agli incidenti informaticiRendi i tuoi utenti parte della soluzione di sicurezza webSei l'unico che può proteggere le tue applicazioni webNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaConvergenza Dev-Sec: i progressi e le sfide sulla strada per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?Sei l'unico che può proteggere le tue applicazioni webCos'è la sicurezza del sito Web: come proteggere il tuo sito Web dall'hackingRendi i tuoi utenti parte della soluzione di sicurezza webConvergenza Dev-Sec: la ricerca illustra i progressi per garantire l'innovazioneAggiornamento FISMA: cosa sta cambiando e perché è importanteChe cos'è la sicurezza continua delle applicazioni Web?La differenza tra XSS e CSRFNuovo studio di settore: il 70% dei team salta i passaggi di sicurezzaPrevenzione e mitigazione XSSStop ai compromessi sulla sicurezza delle applicazioni webSfatare 5 miti sulla sicurezza informaticaBasta compromessi sulla sicurezza delle applicazioni webNozioni di base sulla sicurezza web: la tua applicazione web è sicura?Che cos'è l'iniezione dell’header HTTP?Fare shift left o no?Individuazione e correzione di falle di sicurezza in software di terze partiClassi di vulnerabilità Web nel contesto delle certificazioniScripting tra siti (XSS)Che cos'è un attacco CSRFChe cos'è una SQL Injection (SQLi) e come prevenirlaAttacchi di attraversamento di directoryChe cos'è la falsificazione delle richieste lato server (SSRF)?7 migliori pratiche per la sicurezza delle applicazioni WebBlack Hat 2021: la più grande minaccia alla sicurezza informaticaÈ ben fatto? Chiedi allo sviluppatore!Scegli la soluzione di sicurezza delle applicazioni web che fa per teSicurezza fai-da-te: lo stai facendo bene?Sulla sicurezza delle applicazioni web professionali per MSSPLa cattiva comunicazione è al centro delle sfide di AppSecImpostazione e raggiungimento degli obiettivi di sicurezza delle applicazioniMetriche di sicurezza informatica per le applicazioni WebCome evitare attacchi alla supply chainPerché la maggior parte delle misure di sicurezza delle applicazioni fallisceVuoi che la tua sicurezza sia costruita su scuse?Cos'è SCA e perché ne hai bisognoLa scansione ad hoc non è sufficienteEsposizione dei dati sensibili: come si verificano le violazioniHai paura dei test di sicurezza nell'SDLC?Vantaggi di Web Asset DiscoveryStrumenti di scansione delle vulnerabilità: perché non open source?Protezione WAF - Ottieni il massimo dal tuo firewall per applicazioni webL'errore di comunicazione è al centro delle sfide di AppSecDebugger remoti come vettore di attaccoDAST è una parte essenziale di un programma completo per la sicurezza delle applicazioniCome difendersi dagli attacchi recenti su Microsoft Exchange5 principali vantaggi dei primi test di sicurezzaTecniche di attacco Denial-of-Service con avvelenamento della cacheQuali principali attacchi web possiamo aspettarci nella nuova top 10 di OWASP?Hack di SolarWindsPillole di Sicurezza | Episodio 38Pillole di Sicurezza | Episodio 37Perché gli sviluppatori evitano la sicurezza e cosa puoi fare al riguardoPillole di Sicurezza | Episodio 36Cos'è l'attacco RUDYCos'è la navigazione forzataCome gli scanner trovano le vulnerabilitàPillole di Sicurezza | Episodio 34Pillole di Sicurezza | Episodio 35Come eseguire il benchmark di uno scanner di vulnerabilità Web?Pillole di Sicurezza | Episodio 33Pillole di Sicurezza | Episodio 325 proposte di vendita comuni sulla sicurezza delle applicazioni web5 motivi per non fare affidamento sui programmi BountyPillole di Sicurezza | Episodio 315 motivi per cui la sicurezza web è importante quanto la sicurezza degli endpointPillole di Sicurezza | Episodio 305 motivi per cui la sicurezza web è importante per evitare il ransomwarePillole di Sicurezza | Episodio 293 motivi per cui DAST è il migliore per la sicurezza delle applicazioni WebPillole di Sicurezza | Episodio 28Pillole di Sicurezza | Episodio 27Pillole di Sicurezza | Episodio 24Pillole di Sicurezza | Episodio 25Pillole di Sicurezza | Episodio 21Pillole di Sicurezza | Episodio 22Pillole di Sicurezza | Episodio 20Pillole di Sicurezza | Episodio 17Il flag HttpOnly: protezione dei cookie da XSSPillole di Sicurezza | Episodio 16Il Bug Heartbleed – I vecchi Bug sono duri a morirePillole di Sicurezza | Episodio 15Pillole di Sicurezza | Episodio 14Pillole di Sicurezza | Episodio 13Pillole di Sicurezza | Episodio 12Pillole di Sicurezza | Episodio 11Pillole di Sicurezza | Episodio 10Sicurezza delle reti: gli hacker puntano CitrixCyber hacking: la Germania chiede l’intervento dell’UESicurezza informatica: Cisco rilascia aggiornamentiOcchio al cryptojacking: malware infiltrato in Docker HubSIGRed: bug di sistema in Windows Server scovato dopo 17 anniPillole di Sicurezza | Episodio 9Summit Live - Disponibili le registrazioni delle live di MonteleoneCriminalità informatica: Schmersal sventa un cyber-attaccoPillole di Sicurezza | Episodio 8Pillole di Sicurezza | Episodio 7Analisi pratica dei rischi per il SysAdmin, DevOps e Dev | Summit LivePillole di Sicurezza | Episodio 6Pillole di Sicurezza | Episodio 5Pillole di Sicurezza | Episodio 4Pillole di Sicurezza | Episodio 3Pillole di Sicurezza | Episodio 2Pillole di Sicurezza | Episodio 1Pillole di Sicurezza | Episodio 23