Domanda:
In che modo le grandi aziende proteggono il loro codice sorgente?
SEJPM
2015-12-28 02:03:14 UTC
view on stackexchange narkive permalink

Recentemente ho letto la risposta canonica del nostro signore ursino alla domanda su In che modo le autorità di certificazione memorizzano le loro chiavi radice private?

Ho dovuto chiedermi:
In che modo le grandi aziende (ad esempio Microsoft, Apple, ...) proteggono il loro prezioso codice sorgente?

In particolare, mi chiedevo come proteggano il loro codice sorgente dal furto, da modifiche dannose basate sull'esterno e da modifiche dannose basate su informazioni interne.

La prima domanda secondaria ha già ricevuto (in qualche modo) risposta in Risposta di CodeExpress su Come impedire la divulgazione di dati privati ​​all'esterno dell'organizzazione.

Il ragionamento per le domande è semplice:

  • Se il codice sorgente venisse rubato, a) l'azienda sarebbe (almeno parzialmente) ostacolata dal venderlo eb) il prodotto sarebbe a rischio di ricerca di attacchi basati sul codice sorgente. Immagina cosa accadrebbe se il codice sorgente di Windows o iOS venisse rubato.
  • Se il codice venisse modificato da aggressori esterni dannosi, potrebbero essere aggiunte backdoor segrete che possono essere catastrofiche. Questo è quello che è successo di recente con Juniper, dove le coordinate del secondo punto DUAL_EC_DRBG sono state sostituite nella loro origine.
  • Se il codice fosse modificato da un utente malintenzionato interno (ad esempio un ingegnere Apple iOS?) quella persona potrebbe fare molti soldi vendendo tali backdoor e può mettere il prodotto a grave rischio se la versione modificata viene spedita.

Per favore don non escogitare "legge" e "contratti". Sebbene queste siano misure efficaci contro il furto e la modifica, certamente non funzionano come le difese tecniche e non fermeranno gli aggressori aggressivi ( cioè agenzie di altri governi).

Per evitare furti, non sono presenti slot per supporti rimovibili nelle workstation. Ai dipendenti non è consentito portare al lavoro media, telefoni cellulari con fotocamera, ecc. Autorizzazione richiesta per permessi su moduli non correlati / rilevanti. Separazione dei compiti. Per la prevenzione delle backdoor, hanno bisogno di un programma di analisi del codice sorgente integrato nel loro SDLC sicuro. Per gli aggressori esterni dannosi, dovrebbero essere sottoposti a Penetration Test prima del rilascio.
Per essere onesti, negli Stati Uniti, nella maggior parte dell'Europa, in Giappone, ecc. "Legge e contratti" (beh, i contratti vengono applicati o ignorati dalla "legge"; ma un piccolo cavillo semantico ...) sono spesso strumenti efficaci. Sia per punire coloro che compromettono il codice sorgente sia per limitare i vantaggi che le parti che ottengono l'accesso a quel codice possono trarne. (Non * sempre * efficace, certo.) I grossi problemi vengono molto di più dagli attori nelle aree del mondo dell'illegalità informatica. O almeno nelle aree del mondo in cui le autorità non si preoccupano di proteggere i diritti legali rivendicati delle società occidentali.
IMHO, sono due domande: proteggere il codice sorgente dal furto e dalla manomissione. Hanno diversi modelli di minaccia e dovrebbero essere richiesti separatamente.
FWIW, il nucleo del codice sorgente iOS è liberamente disponibile per chiunque: http://opensource.apple.com. Inoltre, il codice sorgente di Windows è disponibile per chiunque sia disposto a firmare un contratto (non so se è necessario pagare qualcosa): https://www.microsoft.com/en-us/sharedsource/. Quindi, per aziende davvero grandi come Apple e Microsoft, proteggono la loro proprietà intellettuale usando LA LEGGE (non la risposta che volevi ma è la verità).
Tieni inoltre presente che, a differenza di Microsoft, il cui accordo devi firmare ti impedisce di vendere la tua versione di Windows, Apple non può impedire / impedire ad altri di creare e vendere sistemi operativi basati sul kernel OSX (perché è open source). Uno di questi sistemi operativi è Darwin: http://www.puredarwin.org/
Se la closed source è l'unica cosa che ti impedisce di vulnerabilità, allora ho cattive notizie per te.
In una grande azienda, è improbabile che ogni sviluppatore debba ricompilare ogni prodotto che l'azienda ha costruito. Quindi, se gli sviluppatori hanno accesso solo al codice sorgente di cui hanno bisogno per completare i loro progetti, nessuno sviluppatore può divulgare tutto il codice sorgente dell'azienda. Tranne forse il custode delle chiavi, ma puoi evitarlo utilizzando diversi repository, con accesso amministratore per ogni progetto tenuto da diversi gestori.
Una cosa divertente che facciamo è iscriversi a servizi che indicizzano e cercano regolarmente su GitHub e simili il nome della nostra azienda e gli URL interni. Saresti sorpreso di quanto spesso i pacchetti Java proprietari con URL interni, nomi utente e password codificati vengano caricati in archivi di codice esterni.
Per inciso, a volte le grandi aziende subiscono il furto di software. Ecco il risultato: [Ex dipendente IBM dalla Cina arrestato negli Stati Uniti per furto di codice] (http://www.reuters.com/article/us-ibm-crime-china-idUSKBN0TR2X820151208)
@KrishnaPandey, diciamo solo che se la Fortune 50 per cui lavoro avesse adottato alcune di queste regole (ad esempio: divieto di trasportare i media da / verso le sedi aziendali - il che implica una linea dura contro il telelavoro), non avrebbero acquisito il avvio attraverso cui sono entrato. Tali misure hanno costi reali e tali costi possono superare i benefici.
Cosa ti fa pensare che mantenere il software così sicuro aumenti la sicurezza o che tenerlo aperto la diminuisca? per esempio. ecco la fonte per il kernel OS X: https://opensource.apple.com/source/xnu/xnu-3248.20.55/ rende automaticamente OS X meno sicuro? La verità è esattamente l'opposto; più occhi sul codice significano più persone che segnalano bug. Un altro buon esempio è Atlassian (disclaimer, lavoro per loro), che fornisce l'origine dei loro prodotti a qualsiasi cliente che lo richieda (e lascia che lo modifichi purché non ridistribuiscono le modifiche).
@CharlesDuffy Questi scenari sono già coperti dove sono in atto le politiche di InfoSec. Rischio derivante dall'acquisizione o dall'acquisizione o da fornitori di terze parti, anche il tuo notebook si perde in aeroporto. Poiché la sicurezza è forte quanto il tuo anello più debole.
@KrishnaPandey, qual è il punto di ripetere truisms a qualcuno?
"Immagina cosa succederebbe se il codice sorgente di Windows" AFAIR fosse trapelato, da qualche parte intorno a NT o 2000.
@KrishnaPandey È ancora possibile ottenere tutto il codice sorgente, comprimerlo e quindi inviarlo tramite posta elettronica. Non hai bisogno di slot USB per questo
@JonasDralle Quello sarà un modo noioso di rubare, lasciando tracce ovunque. :)
@KrishnaPandey Se lo desideri, puoi crittografarlo e automatizzare il PC per inviarlo a te stesso nel cuore della notte. Quindi devi solo eliminare l'attività pianificata. Ma per favore non inviarlo a te stesso alla tua email di lavoro
Sei risposte:
Trey Blalock
2015-12-28 03:49:54 UTC
view on stackexchange narkive permalink

Prima di tutto, voglio dire che solo perché un'azienda è grande non significa che la sua sicurezza sarà migliore.

Detto questo, menzionerò che aver svolto un lavoro di sicurezza in una grande numero di aziende Fortune 500, inclusi molti marchi famosi con cui la maggior parte delle persone ha familiarità, dirò che attualmente il 60-70% di loro non fa tutto quello che penseresti dovrebbe fare. Alcuni danno persino a centinaia di società di terze parti in tutto il mondo pieno accesso per estrarre dalla loro base di codice, ma non necessariamente per scrivere su di essa.

Alcuni utilizzano più repository Github privati ​​per progetti separati con l'autenticazione a due fattori abilitata e uno stretto controllo su chi concedono l'accesso e hanno un processo per revocare rapidamente l'accesso quando qualcuno se ne va.

Alcuni altri sono molto seri nel proteggere le cose, quindi fanno tutto in casa e usano cosa per molti altri le aziende sembrerebbero livelli eccessivi di controllo della sicurezza e monitoraggio dei dipendenti. Queste aziende utilizzano soluzioni come gli strumenti DLP (Data Loss Prevention) per controllare l'esfiltrazione di codice, l'accesso VPN interno ad ambienti fortemente rinforzati solo per lo sviluppo con una tonnellata di controlli di sicurezza e monitoraggio tradizionali e, in alcuni casi, l'acquisizione di tutti i pacchetti completi traffico nell'ambiente in cui è memorizzato il codice. Ma a partire dal 2015 questa situazione è ancora molto rara.

Una cosa che può interessare e che mi è sempre sembrata insolita è che il settore finanziario, in particolare le banche, ha una sicurezza di gran lunga peggiore di quanto si potrebbe pensare e che l'industria farmaceutica è molto migliore di altre industrie, compresi molti appaltatori della difesa. Ci sono alcune industrie che sono assolutamente orribili riguardo alla sicurezza. Dico questo perché ci sono altre dinamiche in gioco: non sono solo le grandi aziende contro quelle piccole, gran parte ha a che fare con la cultura organizzativa.

Per rispondere alla tua domanda, sottolineerò che è l'azienda nel suo insieme a prendere queste decisioni e non i team di sicurezza. Se i team di sicurezza fossero responsabili di tutto, o anche solo sapessero di tutti i progetti in corso, le cose probabilmente non sarebbero per niente come fanno oggi.

Detto questo, dovresti tenere a mente che la maggior parte le imprese sono quotate in borsa e per una serie di ragioni tendono a preoccuparsi molto di più dei profitti a breve termine, dell'incontro con i numeri trimestrali e della competizione per la quota di mercato rispetto agli altri grandi concorrenti che dei rischi per la sicurezza, anche se i rischi potrebbero effettivamente distruggere la loro attività. Quindi tienilo a mente quando leggi le seguenti risposte.

  • Se il codice sorgente fosse stato rubato:

    1. Alla maggior parte non importerebbe e non avrebbe quasi alcun impatto sul loro marchio o sulle vendite. Tieni presente che in molti casi il codice stesso non è ciò che memorizza il valore dell'offerta di un'azienda. Se qualcun altro ha ottenuto una copia della fonte di Windows 10, non potrebbe creare improvvisamente un'azienda che vende un sistema operativo clone di Windows 10 ed essere in grado di supportarlo. Il codice stesso è solo una parte della soluzione venduta.

    2. Il prodotto sarebbe maggiormente a rischio a causa di ciò? Sì, assolutamente.

  • Modifica esterna: Sì, ma è più difficile da fare e più facile da catturare. Detto questo, dal momento che la maggior parte delle aziende non lo sta monitorando seriamente, è una possibilità molto reale che ciò sia accaduto a molte grandi aziende, specialmente se l'accesso back-door al loro software è di valore significativo per altri stati-nazione. Questo probabilmente accade molto più spesso di quanto le persone credano.

  • Attaccante interno: a seconda di quanto intelligente fosse l'attaccante, questo potrebbe non essere mai notato o potrebbe sembrare un errore di programmazione poco appariscente. Al di fuori dei controlli in background e del monitoraggio del comportamento, non c'è molto che possa impedirlo, ma si spera che alcuni strumenti di analisi del codice sorgente lo catturino e costringano il team a correggerlo. Questo è un attacco particolarmente duro da cui difendersi ed è il motivo per cui alcune aziende non esternalizzano il lavoro ad altri paesi e fanno controlli approfonditi sui loro sviluppatori. Gli strumenti di analisi statica del codice sorgente stanno migliorando, ma ci sarà sempre un divario tra ciò che possono rilevare e ciò che può essere fatto.

In poche parole, i buchi arriveranno sempre prima delle correzioni, quindi affrontare la maggior parte dei problemi di sicurezza diventa una specie di corsa contro il tempo. Gli strumenti di sicurezza aiutano a darti dei compromessi in termini di tempo, ma non avrai mai una sicurezza "perfetta" e avvicinarti a questo può diventare molto costoso in termini di tempo (rallentando gli sviluppatori o richiedendo molte più ore di lavoro da qualche altra parte).

Di nuovo, solo perché un'azienda è grande non significa che abbia una buona sicurezza. Ho visto alcune piccole aziende con una sicurezza molto migliore rispetto ai loro concorrenti più grandi e penso che questo sarà sempre più il caso poiché le aziende più piccole che vogliono prendere la loro sicurezza più seriamente non devono fare cambiamenti organizzativi, in cui le aziende più grandi saranno costrette a mantenere il modo in cui hanno fatto le cose in passato a causa dei costi di transizione.

Ancora più importante, penso che sia più facile per una nuova azienda (di qualsiasi dimensione, ma soprattutto quelle più piccole) avere la sicurezza fortemente integrata nella sua cultura di base piuttosto che dover cambiare le loro culture attuali / legacy come devono fare le aziende più vecchie. Potrebbero anche esserci opportunità per sottrarre quote di mercato a un prodotto meno sicuro creando una versione molto sicura di esso. Allo stesso modo, penso che la tua domanda sia importante per un motivo completamente diverso: la sicurezza è ancora agli inizi, quindi abbiamo bisogno di soluzioni migliori in aree come la gestione del codice in cui c'è molto spazio per miglioramenti.

Per aggiungere al punto che la maggior parte delle persone non si preoccuperebbe se il codice sorgente venisse rubato: in generale il vero valore dell'azienda sono i dati nei loro database, non il codice sorgente. È probabile che la maggior parte di quel codice sorgente sia noiosa reinvenzione della ruota che puoi trovare ovunque.
Come nota a margine, un gigante della tecnologia richiede che tu porti i tuoi dispositivi (PC, telefono) con te tutto il tempo.
Potrebbe essere importante sottolineare che "perdita di dati", in questo contesto, si riferisce a esfiltrazione o divulgazione.
tylerl
2015-12-28 05:25:47 UTC
view on stackexchange narkive permalink

Disclaimer : lavoro per un'azienda molto grande che fa un buon lavoro in questo settore, ma la mia risposta è la mia opinione personale e non è indicativa della posizione del mio datore di lavoro o criteri.

Prima di tutto, come proteggere il codice dalla fuga di notizie:

  • Sicurezza di rete: Questo è ovvio: se gli hacker cinesi inseriscono le credenziali nei tuoi sistemi interni, cercheranno il tuo codice sorgente (se non altro per il fatto che il codice sorgente dirà loro dove andare dopo). Quindi la sicurezza informatica di base deve essere un "dato".
  • Controllo degli accessi: il tuo addetto alla reception ha bisogno di accedere al tuo archivio di codice? Probabilmente no. Limita la tua esposizione.
  • Sii selettivo nelle assunzioni e mantieni un ambiente di lavoro sano: le misure DLP come la scansione della posta in uscita sono in teoria ingegnose, ma se il tuo ingegnere è abbastanza intelligente da essere qualsiasi utilità per te, sono abbastanza intelligenti da capire come aggirare le tue misure DLP. I tuoi dipendenti non dovrebbero avere un motivo per far trapelare il tuo codice sorgente. Se lo fanno, hai fatto qualcosa di orribilmente, orribilmente sbagliato.
  • Monitora la tua rete: questa è un'estensione della risposta "sicurezza di rete" ma con un'enfasi sulla prevenzione della perdita digitale . Se vedi un picco improvviso nel traffico DNS, potrebbe essere il tuo codice sorgente che viene esfiltrato da un aggressore. OK, ora chiediti se vuoi sapere se c'è stato un picco improvviso nel traffico DNS dalla tua rete. Probabilmente no.
  • Tratta i dispositivi mobili in modo diverso: telefoni e laptop si perdono molto spesso. Vengono anche rubati davvero spesso. Non memorizzare mai informazioni sensibili (inclusi codice sorgente, dati dei clienti e segreti commerciali) su dispositivi mobili. Sul serio. Mai. Ciò non significa che non puoi utilizzare i dispositivi mobili per accedere e modificare il codice sorgente. Ma se un laptop scompare, dovresti essere in grado di revocare da remoto qualsiasi accesso che il laptop ha ai dati sensibili. In genere ciò significa che il codice e i documenti vengono modificati "nel cloud" (vedere c9.io, koding.com, Google Docs, ecc.) Con un'autenticazione appropriata e tutto il resto. Questo può essere fatto con o senza fidarsi di una terza parte, a seconda di quanto lavoro vuoi dedicarci. Se la tua soluzione non supporta 2 fattori, scegli un'altra soluzione; vuoi ridurre la tua esposizione con questa misura, non aumentarla .

Secondo, come prevenire la modifica del codice dannoso; c'è davvero una sola risposta a questa domanda: cambia il controllo.

Per ogni carattere di codice nel tuo repository, devi sapere esattamente chi ha aggiunto (o eliminato) quel codice e quando. È così facile da fare con la tecnologia odierna che è quasi più difficile non disporre del monitoraggio delle modifiche. Se utilizzi Git o Mercurial o qualsiasi sistema di controllo del codice sorgente utilizzabile in modo modesto, ottieni il monitoraggio delle modifiche e fai molto affidamento su di esso.

Ma per aumentare un po 'l'affidabilità, aggiungerei che ogni modifica a il tuo repository deve essere firmato da almeno un'altra persona oltre all'autore che ha inviato la modifica. Strumenti come Gerrit possono renderlo semplice. Molti regimi di certificazione richiedono comunque revisioni del codice, quindi l'applicazione di tali revisioni al momento del check-in significa che gli attori malintenzionati non possono agire da soli nell'introdurre codice errato nel repository, aiuta a prevenire il commit di codice scritto male e aiuta a garantire che almeno 2 le persone comprendono ogni modifica inviata.

Sì. Questo fondamentalmente descrive il mio ambiente di lavoro quando ero in Nokia
WRT "Per ogni carattere del codice ... devi sapere esattamente chi ha aggiunto ... quel codice e quando. È così facile .. Git o Mercurial" Git, hg e altri tengono traccia dell'autore del codice, ma a meno che usi qualcosa come i commit con firma gpg (la maggior parte non lo fanno), è facile per gli hacker aggirarli.
@emory, anche senza commit firmati, qualcuno non può cambiare la cronologia senza modificare gli hash correnti e (per i luoghi con flussi di lavoro non consentiti dal rebasing, che chiunque su questa scala dovrebbe avere in atto) viene notato.
@CharlesDuffy perché l'hacker dovrebbe cambiare la storia. Basta spingere un nuovo commit con alcune nuove falle di sicurezza e attribuirlo a un membro del team fidato.
@emory, dove vivo, i nuovi commit vengono esaminati rigorosamente dove quelli vecchi no.
@emory, ... btw, nel mondo git è pratica comune assicurarsi che la chiave SSH utilizzata per caricare un changeset sia allineata con l'identità Committed-By nell'intestazione. Pertanto, dovresti compromettere SCM o rubare le credenziali per quel membro fidato del personale.
@emory se la tua organizzazione ha un senso, è impossibile eseguire il commit del codice senza credenziali e le credenziali utilizzate vengono registrate come committer. Se non hai quel livello di sicurezza di base, non ci stai nemmeno provando.
@tylerl La mia esperienza ha utilizzato le chiavi ssh per inviare il codice al repository organizzativo (non sono necessarie le credenziali per eseguire il commit) e il repository dell'organizzazione è su una VPN. L'organizzazione può essere ragionevolmente sicura che solo i membri dell'organizzazione stanno spingendo il codice, ma i membri dell'organizzazione possono impersonarsi a vicenda. gpg ha firmato i commit o la limitazione dei push alle chiavi ssh in cui la chiave corrisponde all'identificatore Committed-By consentirebbe all'organizzazione di sapere esattamente chi ha commesso quale codice, ma non penso che queste misure siano comuni - potrei sbagliarmi su questo.
@CharlesDuffy assicurarsi che la chiave SSH utilizzata per caricare un changeset sia allineata con l'identità Committed-By ha senso, ma non ne ho mai sentito parlare in pratica, quindi non posso essere d'accordo con la pratica comune. Forse dovrebbe esserlo.
Perché scegli gli hacker * cinesi *? Sembra un po 'strano.
@emory, se Github Enterprise non ha quel supporto per far rispettare quella politica fuori dagli schemi, la mia memoria mi sta fallendo gravemente.
@Kobi Lo spionaggio industriale tende a provenire dalla Cina. Se vieni hackerato da aggressori siriani o brasiliani, generalmente è per un altro motivo.
+1 per la parte con i dipendenti non dovrebbe avere motivazione a rubare
o.m.
2015-12-28 23:06:50 UTC
view on stackexchange narkive permalink

Saranno in atto misure per prevenire l'inserimento accidentale di codice problematico, noto anche come bug. Alcuni di questi aiuteranno anche contro l'inserimento deliberato di codice problematico.

  • Quando uno sviluppatore vuole eseguire il commit del codice nel repository, un altro sviluppatore deve esaminare questa richiesta di unione. Forse il secondo sviluppatore dovrà spiegare al primo sviluppatore cosa fa il nuovo codice. Ciò significa superare ogni riga.
  • Se il codice sembra confuso, potrebbe essere rifiutato come cattivo stile e non gestibile.
  • Il codice ha unità automatizzate e test di integrazione. Quando non esiste un test per una certa riga di codice, la gente si chiede. Quindi ci dovrebbe essere un test che la backdoor funzioni, o una sorta di offuscamento.
  • Quando viene creata una nuova versione del software, gli sviluppatori e il controllo qualità controllano quali commit fanno parte della build e perché . Ogni commit deve avere uno scopo documentato.
  • Il software viene creato e distribuito utilizzando script automatizzati. Questo non è solo per la sicurezza, ma anche per semplificare il carico di lavoro.

Ovviamente tali misure si basano sull'onestà e sulla buona volontà di tutti i partecipanti. Qualcuno con accesso amministrativo al server di compilazione o al repository potrebbe causare molti danni. D'altra parte, i programmatori ordinari non hanno bisogno di questo tipo di accesso.

Anche gli amministratori di sistema non dovrebbero avere questo tipo di accesso. Quando i programmatori devono controllare il lavoro degli altri programmatori, perché i sysAdmins non dovrebbero ricontrollare ciò che fanno gli altri amministratori
Floris
2015-12-29 00:56:33 UTC
view on stackexchange narkive permalink

Nella mia (grande) azienda, i nostri laptop utilizzano tutti dischi rigidi crittografati. Utilizziamo uno strumento chiamato Digital Guardian che monitora tutti i trasferimenti / caricamenti di file e che blocca le porte USB per la scrittura di file. Chiunque abbia bisogno di un'eccezione deve utilizzare un'unità USB crittografata con hardware (di nuovo, per impedire l'accesso ai file nel caso in cui l'unità venga persa o rubata). Tali eccezioni sono temporanee e occorre giustificare i file in fase di scrittura (che vengono registrati). Digital Guardian impedisce l'invio della maggior parte dei tipi di allegati a indirizzi e-mail esterni. Qualsiasi scambio di file interno viene eseguito utilizzando cartelle basate sul Web con controllo degli accessi e una traccia di controllo di chi ha eseguito l'accesso a cosa: ciò significa che la condivisione di file "per esigenze aziendali" è piuttosto semplice e tutto il resto è difficile.

Il sistema non è infallibile e ha un impatto sulla larghezza di banda, ma i soli strumenti di controllo hanno rilevato più istanze di dipendenti (spesso dipendenti che stavano per lasciare l'azienda) che hanno tentato di prendere il codice sorgente / documenti di progettazione ecc. Almeno stiamo fermando alcuni di questi tentativi.

E nel caso qualcuno pensasse che i caricamenti https sarebbero "invisibili": tutto il traffico web esterno è gestito da un proxy-in -il cloud che utilizza un certificato MITM per ispezionare il traffico https. È senza dubbio possibile aggirare queste misure - ci sono molti dipendenti intelligenti - ma a volte è sufficiente per rendere il tuo obiettivo più difficile di quello degli altri ragazzi.

oh eh ... oh ... le tue workstation hanno quei pratici drive dvd? .. Ho aperto accidentalmente il case quando nessuno stava guardando, ho sostituito un secondo hard disk nel case, ho copiato i miei file, ho disconnesso l'HDD e sono a posto :-)
@MichaelDibbets no, la scrittura su qualsiasi disco rigido non riconosciuto non funziona. E se tu fossi in grado di falsificare un disco "noto", la scrittura di un gruppo di file su un'altra unità verrebbe contrassegnata e non supereresti la sicurezza all'uscita senza spiegare perché era necessario farlo e dove si trova ora il disco . Ancora una volta qualcosa che potresti cercare di aggirare ... Ma la domanda era "come fanno le grandi aziende ..." Non "qual è un modo infallibile per ...". È così che fa una grande azienda. Come tale risponde alla domanda.
Nota anche che questo è solo un dettaglio più dettagliato che riflette ciò che il paragrafo 4 della risposta accettata afferma: "alcuni altri sono molto seri ... DLP ..."
BlueWizard
2016-01-03 12:21:03 UTC
view on stackexchange narkive permalink

Questa è una domanda delicata e poiché non ho mai lavorato in quel settore la mia idea potrebbe essere teorica o molto poco pratica.

E se i dipendenti con bassa gerarchia ricevessero solo piccole parti del codice sorgente? Il team di explorer.exe deve solo accedere al codice sorgente di explorer.exe, il che renderebbe più difficile il furto del codice sorgente dall'interno, poiché sarebbe necessario essere in posizioni più elevate per ottenere informazioni su più parti del codice sorgente.

Sicuramente avresti bisogno di una buona documentazione su tutte le parti di cui il team potrebbe aver bisogno ma non può vedere. Anche il debug diventerebbe più complicato perché dovresti unire il codice sorgente precomilato con quello appena compilato dal team explorer.exe Potrebbe esserci un server di compilazione che contiene tutto il codice sorgente e può compilare versioni complete del prodotto anche per quelli che hanno modificato solo un piccolo pezzo. (Perché hanno bisogno di testare le loro modifiche) Questo server sa anche chi ha accesso a quali parti del codice.

Non so se questo sia un approccio pratico o se sta realmente accadendo nel settore o non. È solo un concetto che penso avrebbe senso per prevenire il furto del codice sorgente.

4 mesi dopo e penso: "perché ho provato a rispondere a questa domanda sottolineando che non ho esperienza"
Santanu Dey
2015-12-29 08:43:41 UTC
view on stackexchange narkive permalink

Il valore di mercato di un software è una funzione diretta del

  • Valore dei casi aziendali che supporta. RoI, cioè.
  • Valore di mercato dei prodotti competitivi
  • Il fatto che continuerà ad essere migliorato e supportato dall'azienda
  • Marchio dell'azienda. Attività di marketing e vendita relative al prodotto
  • Numero di clienti, sviluppatori e membri della comunità soddisfatti esistenti
  • Caratteristiche, LoC, numero di brevetti, completezza e qualità del software

Quindi il codice sorgente è solo una parte del gioco. Non tutto.

Il codice sorgente stesso è protetto da

  • Contratti legali / T&C firmati dai dipendenti e dall'appaltatore
  • Brevetti
  • Scomposizione del prodotto in più componenti black-box a cui nessuna singola persona o team ha accesso.
  • Utilizzo di meccanismi di sicurezza a livello di software e fisico per proteggere l'accesso al codice
questo non risponde alla domanda - il PO afferma esplicitamente che "legge" e "contratti" non sono risposte valide - il punto centrale della domanda è espandere il "livello software e meccanismi di sicurezza a livello fisico"


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...