Application e Information Security mercato dello sviluppo software [chiuso]

1

Questa è una domanda in più su come il mercato è per un ingegnere del software con particolare attenzione alla sicurezza delle applicazioni e delle informazioni, principalmente sviluppo e ingegneria del software, sia di pratiche sicure durante lo sviluppo di app / sistemi, sia di sviluppo di software di sicurezza reale (sia strumenti o implementazioni crittografiche). Ho passato un po 'di tempo in questo campo negli ultimi due anni e mi sono chiesto come sarebbe il mio futuro.

Una delle mie preoccupazioni è che la maggior parte del tempo trascorso a lavorare in questo campo sembra essere focalizzata sull'uso corretto di librerie / apis sicure e sulla gestione / configurazione dei sistemi, e pochissimo tempo dedicato allo sviluppo effettivo di protocolli di sicurezza personalizzati usando le primitive di sicurezza ( librerie / implementazioni crittografiche, ecc.). Il più delle volte lo sviluppo di flussi personalizzati è strongmente scoraggiato, per ottime ragioni. A meno che tu non abbia esperienza sufficiente, e anche in questo caso si tratta di non avere abbastanza occhi sulle implementazioni. E non ho intenzione di menzionare l'implementazione di librerie crittografiche che è un enorme altro tipo di worm.

Ma alla fine vedo che per essere completamente investito in questo campo (come implementatore, e non come semplice consumatore di implementazioni) è necessario essere molto esperti, ma ovunque si senta non si ha esperienza nei sistemi di produzione come è troppo rischioso (come ho detto, per ragioni molto buone e comprensibili). Quindi, sto considerando quali sono i percorsi di attività in questo campo. In realtà, gran parte dell'attività si riduce al mantenimento delle best practice e al corretto uso di implementazioni / configurazioni appropriate)

E l'unica possibilità di lavorare come realizzatore effettivo è nei circoli accademici, e forse il tuo lavoro otterrà un riconoscimento sufficiente e sarà riesaminato abbastanza da farla accettare. O lavorare per società di software davvero grandi che investono davvero nella ricerca di progetti di sicurezza e implementazioni.

Quindi, dopo questo lungo preambolo, la mia domanda: è vero che la maggior parte del tempo trascorso nello sviluppo di software con particolare attenzione alla sicurezza si riduce a consumare librerie / implementazioni di sicurezza e a configurarne l'uso. Con molta meno attenzione sull'implementazione di flussi di sicurezza o primitive di sicurezza? E se vuoi concentrarti sullo sviluppo reale, le tue migliori possibilità sono nel mondo accademico o nelle grandi aziende che sono effettivamente investite in ricerca e sviluppo.

    
posta danutz_plusplus 30.03.2018 - 09:47
fonte

1 risposta

1

Considero questo tipo di domande (e risposte) valide ai fini di riferimento, quindi ti darò alcune risposte:

1. is it true that most of the time spent in software development with a 
focus on security comes down to consuming security libraries and 
implementations, and configuring the use of those, with far less focus 
on implementing security flows or security primitives? 

Sì, la stragrande maggioranza del settore consuma piuttosto che produce primitive di sicurezza. (Si potrebbe dire, con conseguente produzione di più insicurezza ...)

2. And if you want to focus on actual development, your best chances are 
either in academia or large companies that are actually invested in
research and development.

Ordina. Una dinamica migliore consiste nel guardare le relazioni produttore / consumatore nell'ecosistema software. Il test specifico non dipende necessariamente dalle dimensioni dell'azienda, ma dalla distinzione tra ciò che è essenziale e ciò che è secondario rispetto alla missione dell'azienda / organizzazione. Una piccola azienda che si concentra su una specifica nicchia di sicurezza - ce ne sono molte di queste ora - dovrà avere talenti profondamente qualificati che lavorano su primitive uniche. E molte grandi aziende che per diritti e per il rischio dovrebbero avere sicurezza come focus produttivo sono invece solo consumatori, con problemi di dimensioni molto grandi che consumano librerie e gestiscono la configurazione.

Tocco su un altro aspetto-

And the only chance to work as an actual implementer is either in 
academic circles, and maybe your work will get enough recognition 
and be reviewed enough that it starts to get acceptation. Or working 
for really big software companies that truly invest in researching 
security design and implementations. 

L'implementazione ha MOLTI significati diversi. Usare il termine implementazione per descrivere il processo accademico - lavorare su documenti, POC, ottenere riconoscimento, rivedere ecc. - nella mia esperienza, non è un uso comune di quel termine. In genere l'implementazione significherebbe scrivere il codice, costruire un sistema. Gli accademici di solito si allenano e costruiscono modelli; molto, pochissimi costruiscono sistemi di lavoro nel mondo accademico.

Re: il significato di implementazione che comprende la scrittura di codice e la costruzione di un sistema - vi è una tonnellata di opportunità / necessità di scrivere effettivamente e, meglio, di codice sensibile alla lettura nella comunità open source. Qualche anno fa è sufficiente guardare alla crisi di OpenSSL per vedere quanto sia stato disperato il settore - e lo è ancora - per i contributori ei revisori a livello di implementazione. Non ci sono barriere strutturali: basta leggere il codice, trovare problemi, presentare miglioramenti. In prima approssimazione, le PR accuratamente costruite sono un grande equalizzatore.

    
risposta data 31.03.2018 - 02:11
fonte