Domanda:
È più sicuro programmare un sistema client-server in una lingua diversa dall'inglese?
GuiRitter
2018-04-30 18:48:20 UTC
view on stackexchange narkive permalink

Sto sviluppando un sistema con comunicazione tramite REST tra front (JavaScript) e back-end (Java / Spring) e questa domanda è comparsa.

Rende questo sistema più sicuro nominare le variabili, URL, ecc. In una lingua diversa dall'inglese?

Immagino di sì perché, dato che i linguaggi di programmazione più importanti sono in inglese, è probabile che la maggior parte dei programmatori ne sappia almeno un po '. Denominare le nostre cose in un'altra lingua potrebbe rendere più difficile l'hackeraggio perché l'autore dell'attacco avrebbe più difficoltà a capire cosa significa e cosa fa.

Non sono riuscito a trovare risultati su Google perché "programmare" un "linguaggio" insieme rende impossibile trovare risultati sull'altro significato di "lingua".

[Correlato] (https://security.stackexchange.com/questions/35828/obfuscating-javascript-code)
Molto JavaScript è già offuscato / minimizzato per motivi di dimensione / utilizzo della larghezza di banda.
@Joe In alternativa, [correlato] (https://xkcd.com/257/)
se consideri il tempo un aspetto della sicurezza, allora _ sì_, il codice errato impiega più tempo per essere hackerato, il che lo rende più sicuro.
Qualsiasi buon strumento di programmazione consentirebbe a qualcuno di rinominare in modo mirato le variabili, quindi anche se inizialmente non sei sicuro di cosa significhi la variabile `gezhundheit`, puoi rinominarla in` Thing1` per renderla leggibile in inglese (o nella tua lingua preferita)fino a quando non hai analizzato che dovrebbe quindi essere rinominato "BlessYou" e andare avanti da lì.
Ogni giorno in tutto il mondo le persone imparano a programmare prima di imparare l'inglese, quindi in un certo senso lavorano principalmente con concetti e non con parole traducibili significative.
Stai suggerendo russo, mandarino, cantonese o hindi?Ad ogni modo, se il linguaggio è compilato senza informazioni di debug simboliche, qual è la differenza?Il tuo codice dovrebbe essere sicuro anche se è leggibile, vuoi che venga rivisto in modo indipendente, giusto?
Se vuoi rendere il codice davvero difficile da leggere, usa un linguaggio comune ma dai nomi errati alle tue funzioni, tipi e variabili per dare nomi leggibili ma errati e fuorvianti.I miei clienti lo fanno sempre (scherzo, vedi commento precedente.)
Ciò renderebbe le cose difficili tanto per te quanto per un attaccante.Per rendere più difficile solo l'attaccante, potresti usare uno strumento (nella tua build) per rinominare gli oggetti con nomi privi di significato.Quindi i nomi non sarebbero traducibili utilizzando un traduttore linguistico.Sarebbe un piccolo miglioramento della sicurezza.Ovviamente, se pensi che il tuo codice * necessiti * di offuscamento per essere sicuro, allora non è intrinsecamente sicuro.
@dandavis Non sono d'accordo con questa affermazione.I codici errati di solito contengono più errori e quindi è * più facile * attaccarli.Se trovi un punto di iniezione SQL vulnerabile non ti interessa più del codice, ma solo di sfruttarlo.Lo stesso con altre vulnerabilità di iniezioni di comandi: una volta scoperte che sfruttano è una questione di tentativi ed errori.Comprendere la porzione limitata di codice che crea il buco di sicurezza rende più semplice capire come sfruttarlo, ma sono sufficienti solo tentativi ed errori.E codice cattivo = più buchi = più veloce per trovare un punto sfruttabile.
@dandavis: c'è qualche motivo per considerare il codice scritto in una lingua diversa dall'inglese come un male oltre al proprio bigottismo?
Il bigottismo di @Davor: non è la tolleranza di un _opinion_.OP non suggerisce la codifica in un'altra lingua parlata, il che va bene se coerente, il problema riguarda l'uso di nomi di variabili oscuri, alias codice errato.Vale a dire: un programmatore francese che usa nomi swahili è un codice errato.
@dandavis - hai scritto chiaramente che l'uso di altre lingue oltre all'inglese rende il codice cattivo.Se volevi dire qualcosa di diverso, non ci sei riuscito.
Dein attacker savoir każdy wording
Come qualcuno che ha dovuto leggere codice con commenti giapponesi, ho trovato i commenti giapponesi più facili da capire rispetto alla loro strana miscela di notazione ungherese e nomi di variabili stupidamente brevi.Se i nomi delle variabili fossero stati in giapponese, penso che sarebbe stato molto più facile da leggere perché avrei potuto semplicemente cercare i nomi in un dizionario invece di cercare di indovinare il loro intento dalle iniziali.
Dieci risposte:
Peter Harmann
2018-04-30 19:03:36 UTC
view on stackexchange narkive permalink

Tecnicamente leggermente, sì. Ma:

  • Sarebbe sicurezza per oscurità, che è una cattiva idea
  • Non aumenta la fiducia nel tuo prodotto
  • Sarebbe molto facile capire cosa fa cosa, ci vorrebbe solo un po 'di tempo
  • Google Traduttore, puoi semplicemente usare nomi privi di significato, non sarebbe comunque di grande aiuto
  • Renderebbe più difficile la manutenzione
  • Renderebbe molto difficili gli audit, poiché gli auditor potrebbero non capire la lingua

Tutto considerato, probabilmente non vale mai la pena it.

Per sottolineare il punto di Peter sulla manutenzione con una certa esperienza personale: è già difficile lavorare su un vecchio codice o codice scritto da qualcun altro.Aggiungere una lingua straniera al mix sarebbe da incubo.Soprattutto se i commenti non sono in inglese.Se il tuo staff parla una lingua oltre l'inglese, OK, allora fai quello che vuoi.Altrimenti, darei all'idea un "No" deciso.
@DoubleD: dici che rende la manipolazione del codice (ovvero la manutenzione) "da incubo", ma poi dici "hard no" su "è più sicuro"?Se non riesco a capire come funziona qualcosa, o come modificarlo con successo, non è per definizione più sicuro, simile all'aggiunta di spool a un lucchetto per aumentare il tempo di prelievo?
È un malinteso comune che la sicurezza attraverso l'oscurità sia una "cattiva idea" * di per sé * ma non è corretto.La cattiva idea è * fare affidamento * sulla sicurezza attraverso l'oscurità.Se stai seguendo le migliori pratiche altrove, può andare bene come componente aggiuntivo per la difesa in profondità.Spesso tali tattiche sono inutili nel peggiore dei casi e marginalmente utili nella migliore delle ipotesi.Un buon esempio è l'esecuzione di SSH su una porta non predefinita.(Non sto dicendo che l'esempio dell'OP sia tuttavia giustificato).
[* "Il nemico conosce il sistema." *] (Https://en.wikipedia.org/wiki/Kerckhoffs%27s_principle)
Sento che stai minimizzando gli ultimi due punti.Un'oscurità di questo tipo renderà più difficile per gli altri individuare i punti deboli del sistema, no?Mi sembra che possiamo aspettarci che la sicurezza sia attivamente * indebolita * da questa pratica.
Le maggiori vulnerabilità che ho riscontrato sono bug o problemi con il design dell'applicazione scoperti attraverso l'ispezione del codice.Se devo gestire variabili con nomi strani, sarà più difficile trovare queste vulnerabilità.Semmai questo approccio lo rende meno sicuro IMO.
@dandavis La correzione delle vulnerabilità è una parte importante del ciclo di vita del software.Tutto ciò che complica questo processo è generalmente negativo, e questo è particolarmente vero per i giorni zero.Se rallenti il processo di sviluppo, estendi la finestra di vulnerabilità zero-day.Non vedo un miglioramento significativo da un simile approccio.Inoltre, solo perché i tuoi programmatori non hanno familiarità con una lingua non significa che lo siano anche i tuoi avversari.Presumo che ci siano avversari fluenti in una determinata lingua, il che è in realtà un handicap se i tuoi programmatori non lo sono.
In realtà, se qualcuno potesse decodificare il flusso di dati non elaborato avendolo in una lingua diversa dall'inglese su cui si basa la maggior parte dei linguaggi di programmazione, sarebbe PIÙ FACILE scegliere le variabili.
@Jon Bentley era d'accordo: per la maggior parte, gli aggressori opportunisti sono il problema molto più probabile di quelli dedicati - e gli opportunisti possono essere tenuti a bada se sono inopportuni.
@MaxBarraclough: "L'oscurità di questo tipo renderà più difficile per gli altri individuare i punti deboli del sistema, no?"- che, così come gli ultimi due punti indicati nella risposta, dipendono molto dal fatto che gli "altri" che hanno maggiori probabilità di vedere, controllare o mantenere il codice siano fluenti nella lingua utilizzata piuttosto che in inglese.
@JonBentley, `È un malinteso comune che la sicurezza attraverso l'oscurità sia una" cattiva idea "di per sé, ma non è corretto.“Sì, beh, sai, è proprio come la tua opinione, amico!- Il ragazzo.
Bene, probabilmente la sicurezza attraverso l'oscurità a volte è l'unico modo, guarda tutti i DRM.E può essere ragionevolmente efficace in quei casi, ma dovrebbe essere evitato quando può esserlo.E in questa situazione può essere.Ancora una volta, praticamente tutti i DRM prima o poi vengono interrotti, se c'è abbastanza interesse a romperli.
+1 per il problema di manutenzione.* Potrebbe * confondere leggermente gli aspiranti hacker;* farà * sì che un manutentore di codice adirato tra cinque anni da ora voglia darti la caccia e farti roteare con un ferro da stiro.Detto manutentore irato potresti anche essere tu.
@JonBentley ** Stai dimostrando esattamente perché la sicurezza attraverso l'oscurità _è_ cattiva. ** L'esecuzione di SSH su una porta non predefinita può effettivamente ridurre _attivamente la sicurezza_, se è in esecuzione su una porta elevata (cosa che la maggior parte delle persone sembra fare).La tua affermazione che nel peggiore dei casi è inutile è semplicemente errata.
@forest 1. Ho detto ** spesso ** che nel peggiore dei casi è inutile, non sempre.Ovviamente devi decidere ogni caso in base ai suoi meriti.2. Il tuo controesempio dimostra che implementare qualcosa ** ingenuamente o erroneamente ** è un male, non che la sicurezza attraverso l'oscurità ** di per sé ** è male.Lo stesso principio si applica anche alle misure di sicurezza standard.Molti sistemi consentono password estremamente comuni o facilmente forzate.Ciò non rende le password una cattiva idea.
@JonBentley La sicurezza attraverso l'oscurità aumenta le possibilità di fare qualcosa in modo errato.Ovviamente la semplice conoscenza che un attaccante ha di un algoritmo o di un sistema non migliora e non può migliorare la sicurezza, ma ciò non significa che cercare di impedire attivamente loro di acquisire questa conoscenza non comporta alti rischi di peggiorare le cose.
In buona coscienza non posso esprimere un giudizio positivo su questo fino a quando inizia con "tecnicamente leggermente sì".Perché semplicemente non è vero.
@jpmc26 Per quanto sconsigli di farlo, è difficile negare che avrebbe qualche vantaggio.Sebbene non faccia nulla contro un aggressore determinato, la maggior parte degli attaccanti è opportunista.Se un sito è più difficile da hackerare a causa di una lingua diversa rispetto a un altro sito simile, potrebbero scegliere l'altro.E la maggior parte degli svantaggi che ho elencato sono un po 'situazionali / possono essere evitati.Quindi fornisce un vantaggio molto piccolo, se riescono a gestire gli svantaggi.Mentirei se provassi a negarlo.
@PeterHarmann Gli aggressori opportunisti trascorreranno del tempo su un'app Web personalizzata che richiede il codice in primo luogo?Se l'interfaccia utente è nella lingua dell'aggressore (o in una in cui parla fluentemente), non può essere molto difficile capire cosa è correlato alle informazioni che stanno cercando e cosa no.Semplicemente non vedo alcuna prova che ci sia un reale miglioramento, anche contro gli aggressori opportunisti.
@jpmc26 Wall, ecco perché sottolineo sempre piccolo, leggero, non ne vale la pena e così via.Ovviamente non scoraggerà di gran lunga ogni attaccante opportunista, altrimenti potrebbe valerne la pena.Riguardo al fatto di essere in grado di scoraggiare chiunque, è solo una mia ipotesi plausibile, che potrebbe esserci qualcuno che si arrende a causa di ciò in teoria, anche se ovviamente non ci sono prove adeguate per questo.
@Shadur: "* farà * indurre un manutentore di codice adirato tra cinque anni a desiderare di darti la caccia e farti roteare con un ferro da stiro" - questo è un punto di vista terribilmente anglocentrico.
Ho scelto questo come risposta perché riassume la maggior parte dei punti discussi qui, ma mi è piaciuto molto quello che non è in questo elenco sul fatto che il sistema deve essere sicuro anche se l'attaccante sa tutto al riguardo.
forest
2018-05-01 11:05:44 UTC
view on stackexchange narkive permalink

Non sarebbe sensibilmente più sicuro. I reverse engineer sono spesso costretti a lavorare con sistemi che non hanno alcun nome originale intatto (il software di produzione spesso rimuove i nomi dei simboli), quindi si abituano a gestire i nomi che sono stati generati da un computer. Un esempio , preso da Wikipedia, di uno snippet del tipo di codice C decompilato che si vede spesso:

  struct T1 * ebx; struct T1 {int v0004; int v0008; int v000C;}; ebx->v000C - = ebx->v0004 + ebx->v0008;  

Le persone che sono abituate a lavorare con questo tipo di rappresentazione non si lasciano ingannare dall'uso di variabili e simili a cui vengono dati nomi irrilevanti. Questo non è specifico per il codice compilato e l'uso di C era solo un esempio. I reverse engineer in generale sono abituati a comprendere il codice che non è intuitivo. Non importa se stai usando JavaScript, Java o C.Non importa nemmeno se non stanno analizzando nient'altro che la comunicazione con l'API stessa. I reverse engineer non si lasceranno ingannare dall'uso di nomi di funzioni o variabili casuali o irrilevanti.

Matthew
2018-04-30 19:03:10 UTC
view on stackexchange narkive permalink

Non proprio: tutte le funzioni integrate saranno ancora in inglese, quindi non ci vorrà molto sforzo in più per capire cosa rappresenteranno le tue variabili. Potrebbe rallentare leggermente qualcuno, ma dato che le persone riescono ancora a decodificare il codice con variabili a carattere singolo ovunque, o che è stato eseguito attraverso offuscatori, scambiare il linguaggio utilizzato per variabili e funzioni significa semplicemente fare una ricerca e sostituzione una volta che hai capito a cosa serve una delle tue variabili, poi ripeti finché non hai abbastanza comprensione.

Per aggiungere, le persone possono decodificare il codice dal codice macchina.Le persone hanno capito come hackerare giochi complicati semplicemente osservando come cambia la loro memoria quando compiono azioni.E questo senza il modo in cui il front-end del web ti obbliga a fornire il codice sorgente effettivo (anche ridotto al minimo, è un livello notevolmente più alto, e quindi i modelli sono più evidenti).Esistono anche strumenti anti-obfusification che cercano di annullare in qualche modo alcune delle tecniche di obfusification più complicate (e, naturalmente, aiutano anche i formattatori di codice).
Sebbene ciò sia corretto nel caso di Java / JavaScript, esistono anche alcuni linguaggi di programmazione che utilizzano una lingua diversa dall'inglese per la loro funzionalità incorporata.Sebbene l'oscurità di quelle lingue possa essere più rilevante per la sicurezza dei loro nomi di funzione.
Non solo il reverse engineering dei giochi dall'analisi del runtime, ma anche la creazione di codice sorgente completamente funzionante che si compila in un bytecode esattamente equivalente, trasformando un gioco closed source in un gioco multipiattaforma!
Tom
2018-05-01 00:11:16 UTC
view on stackexchange narkive permalink

Questa è sicurezza attraverso l'oscurità e ritarderà di cinque minuti un attaccante dedicato.

Se vuoi confondere un attaccante, nominare le cose il loro contrario o qualcosa di non correlato avrebbe lo stesso effetto. Quindi la tua funzione "crea utente" potrebbe essere chiamata "BakeCake". Ora puoi rispondere a te stesso quanta sicurezza ti dà. In realtà, questo sarebbe più sicuro, in quanto non può essere sconfitto semplicemente utilizzando un dizionario.

Sì, all'inizio confonderebbe, ma uno sguardo al sistema in operazione e tutto diventa immediatamente cristallino.

Non sarebbe più sicuro, soprattutto perché i reverse engineer (ad esempio) spesso non hanno nemmeno i nomi dei simboli originali con cui lavorare, quindi sono _gre_ abituati a lavorare con nomi o identificatori completamente inventati.
Stiamo parlando di un REST, ovvero un'applicazione web.È molto più probabile che un utente malintenzionato analizzi l'interazione web rispetto al bytecode Java.
Il punto è che i reverse engineer sono già abituati a questo genere di cose, anche se non stanno facendo la decompilazione effettiva.Ho scritto una risposta in tal senso, con il reverse engineering in C solo come esempio.
Dare un nome alle cose dopo i loro opposti avrebbe più probabilità di introdurre bug che nominare in una lingua straniera."E poi, chiamiamo` create_user` e ... Aspetta, perché continua a dire 'account non esiste'? Ovviamente non esiste - ecco perché sto cercando di crearlo! "Ma +1 per il tuo punto più generale.
Ovviamente è un'idea stupida e non la consiglio.Ma da una prospettiva puramente di sicurezza, sarebbe più sicuro.:-) (non tutte le idee sicure sono una buona idea)
Ángel
2018-05-02 02:15:39 UTC
view on stackexchange narkive permalink

Il tuo sistema DEVE essere sicuro da solo. Se si basa sul javascript lato utente che passa un parametro con il valore "open sesame", stai sbagliando.

Dovresti sviluppare il programma nella lingua che ti è più conveniente (es. Basata sulla tua competenza di programmatore, coerenza con la tua base di codice, o anche con i termini che stai usando).

Altre risposte hanno già sottolineato come non fornisca realmente sicurezza. Se vuoi creare un programma sicuro, piuttosto che preoccuparti di potenziali hacker che leggono facilmente il tuo codice e apprendono un buco segreto, dovresti probabilmente preoccuparti di renderlo leggibile alle persone che lo controllano .

Se c'è un parametro di funzione chiamato nonce e un commento che dice come ci assicuriamo che sia unico tra le richieste, ma non viene inviato sulla richiesta, puoi essere certo che si tratta di un errore. In realtà, avere quel codice facilmente leggibile ridurrà le possibilità che quel parametro venga eliminato / vuoto (dopotutto, tutto ha funzionato senza di esso...), o se ciò accade davvero, renderà più facile che un altro dei tuoi gli sviluppatori notano il problema.

(Anche terze parti potrebbero suggerirti di farlo. Probabilmente, ci saranno più persone che lo guardano casualmente di quelle che stanno effettivamente cercando di romperlo. Molto probabilmente un attaccante casuale lo farà inizia lanciando uno strumento automatico e sperando che trovi qualcosa.)

TL; DR: produce codice leggibile. Per le persone che dovrebbero affrontarlo. In caso di dubbio, dovresti preferire quello di cui la maggior parte delle persone conosce.

Certo, non ho mai inteso usare il linguaggio come misura di sicurezza.Ero solo curioso dei pensieri della comunità in merito.
Questo.O la tua applicazione è sicura o non lo è.Il linguaggio utilizzato per denominare i parametri non ha alcun effetto nel renderlo più sicuro.
Chris H
2018-05-01 19:08:36 UTC
view on stackexchange narkive permalink

Potrebbe persino peggiorare le cose rendendo il sistema più difficile da mantenere.

Prendi un esempio estremo ispirato alla storia e comunica tra il fronte e il retro in Navajo. Quando (non se) hai bisogno di patchare il codice devi:

  • lavorare con ciò che per te non ha senso (con la possibilità in più di bug / errori di battitura più ci vuole più tempo per lavorare su non -codice intuitivo), o
  • assumere / mantenere fluenti programmatori in Navajo (una combinazione di abilità rara e potenzialmente costosa, forse impossibile da trovare un appaltatore)
Il tuo confronto ha gravi problemi.Il navajo era estremamente raro e non era una lingua scritta.L'OP potrebbe semplicemente chiedere informazioni su una lingua comune nella sua posizione geografica (ovvero il pool di talenti di sviluppo disponibile lo parla).Inoltre, le traduzioni potrebbero essere mantenute anche sul lato sviluppatore.
@schroeder La mia scelta di una lingua orale era forse scarsa, ma l'aspetto storico costituiva un'interessante analogia.Ho letto attentamente la domanda per qualsiasi suggerimento sul linguaggio degli sviluppatori, ma anche in questo caso ci sono importanti aspetti aziendali in termini di futuro out- o anche in-sourcing.per esempio.prendi il caso stereotipato dell'outsourcing in India e usa l'hindi.Quando poi i boss decidono di portare in casa la manutenzione per motivi politici devi trovare sviluppatori fluenti.Ho detto che era estremo, per fare un punto
Paddy
2018-05-01 17:56:41 UTC
view on stackexchange narkive permalink

Vorrei anche notare che nella maggior parte dei casi per javascript sul lato client, lo script così come sviluppato (con nomi di variabili significativi, ecc.) verrebbe "minimizzato" per aumentare le prestazioni sul client (file di dimensioni inferiori da scaricare).

Come parte di questo, la maggior parte dei nomi delle variabili viene ridotta a singoli caratteri e viene eliminato il maggior numero di spazi bianchi possibile. Questo diventa quasi illeggibile come qualsiasi altra cosa che potresti scrivere.

Vorrei anche notare che chrome (ad esempio) ha metodi che accettano un file "meno leggibile dall'uomo" come questo e lo "stampano abbastanza" rendendo molto più facile capire cosa sta succedendo.

In breve, il linguaggio umano che usi per scrivere il codice lato client non fa davvero una grande differenza.

Gaius
2018-05-04 02:36:22 UTC
view on stackexchange narkive permalink

Se si deve credere ai mass media, la maggior parte degli hacker sono russi, cinesi, nordcoreani, quindi già operano con l '"handicap" di dover hackerare i sistemi occidentali in un lingua non nativa. Pertanto, a meno che tu non scelga qualcosa di incredibilmente oscuro, come nel film Windtalkers , non farà alcuna differenza per loro. Ma lo sforzo extra per te significa meno tempo per trovare e correggere i bug, quindi semmai questa strategia renderebbe la tua sicurezza più debole .

Julie in Austin
2018-05-04 02:47:01 UTC
view on stackexchange narkive permalink

Diverse risposte hanno (giustamente) sottolineato che questa è "sicurezza attraverso l'oscurità", che in realtà non è una forma di sicurezza. È più sicuro presumere che l'aggressore abbia del codice sorgente completamente annotato di fronte a sé mentre attacca attivamente.

Il software è "sicuro" quando sa tutto ciò che può essere conosciuto prima di una richiesta / transazione / la sessione è di dominio pubblico E questo non ha alcun impatto sulla sicurezza effettiva del prodotto.

Il codice sorgente deve essere considerato di pubblico dominio, se non altro perché i dipendenti scontenti non vengono presi sul retro e sparati quando vengono eliminati. O come si dice spesso, "L'unico modo per due persone di mantenere un segreto è se una di loro è morta". Pertanto, si deve presumere che qualsiasi "conoscenza speciale" nascosta da offuscamento di qualsiasi tipo sia diventata "conoscenza generale" non appena viene prodotta.

La sicurezza, in sostanza, non è altro che " dire quello che fai e fare quello che dici ". L'analisi della sicurezza - controllo del codice e schemi di valutazione formale, come quelli condotti in base ai Common Criteria - richiede che i meccanismi per eseguire un'azione siano ben documentati e che tutte le transizioni da uno stato protetto a un altro stato protetto siano possibili solo quando tutti i requisiti sono soddisfatti. Un rischio con offuscamento di tutti i tipi è che questi requisiti sono oscurati da una codifica intelligente - vedere l'esempio di "create_user ()" che fallisce perché è "segretamente" il metodo "cancella utente" o "rinomina utente" o qualcos'altro. Per un esempio reale di quanto sia difficile tale ridenominazione sul cervello, ci sono test in linea in cui è necessario leggere il nome di un colore che è stampato sullo schermo in un colore diverso. Ad esempio, la parola "ROSSO" scritta in un carattere blu farà sì che un certo numero di persone dica "BLU" invece di "ROSSO".

JoaoBotelho
2018-05-01 10:15:33 UTC
view on stackexchange narkive permalink

Potrebbe essere irrilevante. Considera lo scenario in cui stai programmando in (ad esempio) italiano invece che inglese, ma la maggior parte dei tuoi clienti è in Italia, naturalmente gli hacker di lingua italiana hanno una maggiore motivazione / ricompensa dall'attaccarti.

In questo scenario, la codifica in un'altra lingua non ha alcun effetto o può persino rendere più facile l'hackeraggio.

Questo è solo un atto legislativo.Lo schema sarebbe quindi ovviamente inutile se la lingua scelta fosse quella parlata dalla maggior parte degli utenti che possiamo essere certi che il richiedente intendeva escluderla.
Sì, ma presumibilmente non ci sono molti scenari in cui si può fare affidamento sul team di sviluppo per conoscere sempre la stessa lingua diversa dall'inglese e la comunità che utilizza l'applicazione non conosce quella lingua.
In realtà ci sono molte comunità e mercati bilingue.Molti sviluppatori per il mercato italiano sono in Albania, quindi possono fare lo sviluppo in una lingua diversa.Lo stesso vale per lo sviluppo in Hindu per un'app in lingua inglese, ecc. Tutto quello che volevo sottolineare è che la lingua degli utenti / target giocherà un ruolo importante sulla "sicurezza" che questo fattore può fornire.


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