Senza essere un programmatore o un esperto di computer, come faccio a sapere se un particolare programma o qualsiasi parte di software in generale non ha funzioni indesiderate nascoste che compromettono la privacy e la sicurezza?
Senza essere un programmatore o un esperto di computer, come faccio a sapere se un particolare programma o qualsiasi parte di software in generale non ha funzioni indesiderate nascoste che compromettono la privacy e la sicurezza?
Puoi sapere se alcuni software fanno solo ciò che annuncia allo stesso modo in cui puoi sapere se il cibo che ti servono nei ristoranti è avvelenato o meno. In parole semplici, non puoi, ma la società ha escogitato vari schemi per affrontare il problema:
Tutto ciò può essere trasposto direttamente nel mondo del software. Metodi estremi per accertare la qualità del software e l'aderenza al suo comportamento pubblicato includono cose molto costose e noiose come Common Criteria che si riducono, fondamentalmente, a sapere chi ha realizzato il programma e con quali strumenti.
Risposta alternativa: ogni pezzo di software ha dei bug, quindi è garantito al 100% che non fa esattamente quello che dovrebbe fare. (Questa affermazione include il software che gira nella dozzina di computer piccoli che sono incorporati nella tua auto, tra l'altro.)
Non puoi, almeno non con una precisione del 100%. Parlando come programmatore, è molto facile programmare ciò che voglio, e non è necessariamente solo ciò che viene pubblicizzato.
Non tutte le attività impreviste, tuttavia, sono dannose. Presumo che tu sia preoccupato di più per attività dannose. Anche se non è sempre possibile rilevarlo al 100%, ma c'è speranza.
Puoi utilizzare un software che monitora cose come il traffico di rete, l'attività dei file, ecc., Per trovare indizi che il software si sta comportando in modo imprevisto modo. Ad esempio (e so che questo è solo uno strumento di base) puoi utilizzare Fiddler per vedere se una particolare applicazione accede a Internet tramite http (s). (Sì, so che ci sono strumenti migliori là fuori, però. Fiddler è solo il primo che mi viene in mente.) Su Windows, puoi utilizzare Process Monitor per avere ancora più informazioni. Esistono strumenti simili per altre piattaforme.
Ci sono anche molti altri servizi disponibili da utilizzare che eseguiranno l'analisi per te.
Soprattutto quando il software diventa più grande e più complicato, diventa impossibile * anche per gli esperti rispondere. In tal senso, la privacy e la sicurezza di un'applicazione vengono gestite al meglio utilizzando i metodi sandbox o controllo dell'accesso obbligatorio. L'idea alla base di questi metodi è che il software viene eseguito in un sistema che controlla ciò che può fare e tu gli permetti di fare solo ciò che ti aspetti che faccia. Fatto correttamente, puoi limitare le possibili connessioni e ricevere una notifica se il programma tenta di accedere a file che non ti aspettavi. È possibile utilizzare metodi molto avanzati per monitorare la memoria o decrittografare il traffico di rete tramite un servizio proxy.
In breve, se non riesci a capire tutto ciò che fa, la risposta è limitare tutto ciò che può fare con qualcosa viene eseguito all'interno di (il sistema operativo).
Nella sua famosa conferenza ACM Turing Award "Reflections on Trusting Trust" (ora quasi esattamente 30 anni fa!) Ken Thompson ha detto "Non puoi fidarti del codice che non hai creato totalmente da solo." In pratica il software commerciale non fa eccezione ad altri prodotti commerciali in quanto quelli di produttori che hanno buoni nomi sul mercato hanno solitamente una maggiore probabilità di essere migliori. Tuttavia non vi è alcuna garanzia assoluta per questo. Decenni fa ho ricevuto dischetti da un noto produttore che aveva un virus. In tal caso, personalmente ritengo che non sia stato un atto doloso di nessuno all'interno dell'azienda, ma che alcuni computer dell'azienda siano stati infettati da virus dall'esterno. Tuttavia, evidentemente non è possibile in generale escludere al 100% la possibilità che le backdoor vengano introdotte nel software da addetti ai lavori dell'azienda, che questo sia noto o meno al suo CEO. Le backdoor potrebbero essere, secondo me, una questione estremamente critica, ora che le guerre cibernetiche si profilano nel mondo. Un'agenzia segreta di un governo potrebbe cioè riuscire in qualche modo (tramite denaro, coersione o persino malware) ad avere tali backdoor impiantate in determinati software che normalmente servono a garantire la sicurezza delle comunicazioni (ad esempio quelle relative alle firme digitali) e che vengono vendute e utilizzati da alcune nazioni straniere non amichevoli o potenzialmente non amichevoli e immediatamente o in momenti successivi appropriati ("bombe a orologeria" ecc.) sfruttano le backdoor per raggiungere i loro obiettivi di interrompere le infrastrutture critiche delle nazioni target, ecc. ecc. Stuxnet, Flame e Gauss sono un paio di nomi che dovrebbero dare alcune indicazioni sulle capacità dei potenziali malfaiteurs.
Sfortunatamente, non puoi ...
Dato che un buon programmatore potrebbe essere chiamato wizard dai suoi utenti, un buon trojan lo farebbe completamente falso un ambiente normale per rendere silenziosa la vittima.
Alcuni virus / trojan eseguono una disinfezione del sistema della vittima, al fine di
Quindi non puoi !! In caso di dubbio consultare !!!!
Alla fine si tratta di fiducia. Ti fidi della reputazione dell'azienda che rilascia il software. Se è open source, viene utilizzato da un numero sufficiente di sviluppatori da sollevare flag in caso di problemi. C'è una certa forza nei numeri poiché è più probabile che un prodotto di uso comune venga sottoposto a ricerche approfondite se è affidabile. A meno che tu non sia molto paranoico, generalmente guardare ciò che la comunità ha da dire su un particolare software è la soluzione migliore, ma ci saranno sempre bug e ci saranno sempre errori.
Come sottolineato da altri, non esiste un modo garantito per saperlo. Per la maggior parte del tempo, devi fidarti dell'integrità e della reputazione del venditore. Seguire pratiche sicure, come installare solo software da fonti attendibili può essere d'aiuto, ma proprio come nella vita reale, a volte, ci fidiamo delle persone sbagliate.
Alla fine, penso che dovremmo adottare un certo livello di paranoia. Se installi un'app sul tuo telefono, non limitarti ad accettare o dire di sì quando il sistema operativo del tuo telefono ti informa che il telefono vuole accedere alle tue informazioni private, alla tua posizione, ecc. Chiediti, perché ha bisogno di tale accesso. Se ritieni che l'accesso richiesto dall'applicazione sia giustificato in base a ciò che ti aspetti che faccia, allora dire di sì forse OK. D'altra parte, se sembra richiedere l'accesso a informazioni o servizi che sono ben al di fuori di ciò di cui dovrebbe aver bisogno o di cui dovrebbe essere interessato, sii un po 'sospettoso e consier attentamente prima di dire semplicemente di sì.