1
00:00:14,820 --> 00:00:17,940
Benvenuti ad un nuovo episodio. 
Prima iniziare con l'argomento 

2
00:00:17,940 --> 00:00:20,020
di oggi. 
Vi invito a iscrivervi, attivare

3
00:00:20,020 --> 00:00:22,500
la campanella e a lasciare una 
valutazione positiva. 

4
00:00:23,180 --> 00:00:25,740
Il vostro supporto è 
fondamentale per far crescere 

5
00:00:25,740 --> 00:00:27,620
questa comunità e migliorare 
ogni episodio. 

6
00:00:28,300 --> 00:00:33,420
Se 
avetedubbidomandeocuriositapoteteiscrivermiamaurospezzaferrogmail.com.

7
00:00:34,990 --> 00:00:37,670
Quotidianamente effettuiamo 
operazioni che ormai diamo per 

8
00:00:37,670 --> 00:00:41,070
scontate, siamo abituati al 
fatto che quando scarichiamo 

9
00:00:41,070 --> 00:00:44,150
l'applicazione prima di poterla 
utilizzare davvero dobbiamo 

10
00:00:44,150 --> 00:00:47,750
concedere una serie di permessi.
Ed è proprio qui che avviene 

11
00:00:47,750 --> 00:00:51,550
qualcosa di interessante, quella
che percepiamo come una semplice

12
00:00:51,550 --> 00:00:54,710
operazione di routine, in realtà
rappresenta il confine tra ciò 

13
00:00:54,710 --> 00:00:56,990
che il nostro dispositivo 
conosce di noi e ciò che 

14
00:00:56,990 --> 00:00:58,750
permettiamo a qualcun altro di 
conoscere. 

15
00:01:00,520 --> 00:01:02,600
La storia dei permessi però non 
nasce con le applicazioni 

16
00:01:02,600 --> 00:01:06,240
moderne, nasce molto prima degli
smartphone, prima degli store 

17
00:01:06,240 --> 00:01:09,200
digitali e persino prima di 
Android e iOS. 

18
00:01:10,310 --> 00:01:13,510
I permessi derivano direttamente
dal mondo dei sistemi operativi 

19
00:01:13,510 --> 00:01:17,150
multimediali, dove più persone 
utilizzavano la stessa macchina 

20
00:01:17,150 --> 00:01:21,110
contemporaneamente. 
Era necessario impedire che un 

21
00:01:21,110 --> 00:01:24,150
utente potesse leggere, 
modificare o cancellare i file 

22
00:01:24,150 --> 00:01:27,070
di un'altro. 
Ed è proprio da lì che nasce uno

23
00:01:27,070 --> 00:01:29,630
dei concetti più importanti 
della sicurezza informatica, 

24
00:01:29,790 --> 00:01:33,030
l'isolamento. 
Ogni programma doveva operare 

25
00:01:33,030 --> 00:01:36,750
entro determinati limiti, poteva
accedere solo a specifiche 

26
00:01:36,750 --> 00:01:40,270
risorse, eseguire certe 
operazioni e utilizzare solo ciò

27
00:01:40,270 --> 00:01:43,350
che il sistema gli concedeva con
il tempo. 

28
00:01:43,350 --> 00:01:46,470
Questo modello si è evoluto, dai
permessi sui file dei sistemi 

29
00:01:46,470 --> 00:01:50,350
unix alle ACL nei sistemi 
moderni, fino ad arrivare alle 

30
00:01:50,350 --> 00:01:54,400
sandbox degli smartphone oggi. 
Quando premiamo consenti accesso

31
00:01:54,400 --> 00:01:57,360
alla fotocamera in realtà stiamo
utilizzando un concetto NATO 

32
00:01:57,360 --> 00:02:01,280
decenni fa nei primi sistemi 
operativi, decidere chi può fare

33
00:02:01,280 --> 00:02:04,040
cosa, su quali risorse e in 
quali condizioni. 

34
00:02:05,030 --> 00:02:08,190
La differenza è che un tempo 
questi meccanismi erano pensati 

35
00:02:08,190 --> 00:02:11,790
per proteggere gli utenti da 
altri utenti, oggi servono 

36
00:02:11,790 --> 00:02:13,990
soprattutto a proteggere gli 
utenti dalle applicazioni 

37
00:02:13,990 --> 00:02:16,830
stesse. 
Per capire davvero i permessi 

38
00:02:16,830 --> 00:02:20,190
moderni dobbiamo fare un salto 
indietro nel tempo, molto prima 

39
00:02:20,190 --> 00:02:24,030
degli smartphone dobbiamo 
tornare ai sistemi unix nati 

40
00:02:24,030 --> 00:02:27,910
negli anni 70, da cui derivano 
direttamente anche Linux e 

41
00:02:27,910 --> 00:02:30,950
Android e in particolar modo il 
modello di sicurezza che 

42
00:02:30,950 --> 00:02:34,790
utilizziamo ancora oggi. 
Yunix introduceva un concetto 

43
00:02:34,790 --> 00:02:37,950
rivoluzionario per l'epoca, più 
utenti potevano usare 

44
00:02:37,950 --> 00:02:40,950
contemporaneamente la stessa 
macchina, ma senza interferire 

45
00:02:40,950 --> 00:02:45,270
tra loro, e per farlo serviva un
sistema rigoroso di permessi. 

46
00:02:46,110 --> 00:02:49,910
Ogni file e ogni cartella ha un 
proprietario, un gruppo e una 

47
00:02:49,910 --> 00:02:54,590
serie di autorizzazioni, quelle 
famose lettere RWX che sta per 

48
00:02:54,590 --> 00:02:57,990
Read, ride ed Execute, che 
spesso vengono rappresentate 

49
00:02:57,990 --> 00:03:03,000
anche in forma numerica. 
Ad esempio, il famoso 777 è uno 

50
00:03:03,000 --> 00:03:06,160
di quei concetti che chi lavora 
con Linux o sistemi unix 

51
00:03:06,160 --> 00:03:10,470
incontra quasi subito. 
Quando vidi un numero come 777, 

52
00:03:10,470 --> 00:03:13,150
in realtà stai leggendo tre 
gruppi distinti di permessi. 

53
00:03:13,910 --> 00:03:17,590
Primo numero proprietario del 
file, il secondo numero è il 

54
00:03:17,590 --> 00:03:19,910
gruppo, terzo numero tutti gli 
altri utenti. 

55
00:03:19,910 --> 00:03:24,710
Ogni cifra è la somma di questi 
valori, quattro per la lettura, 

56
00:03:24,830 --> 00:03:27,550
due per la scrittura, uno per 
l'esecuzione. 

57
00:03:28,030 --> 00:03:33,590
Dunque 4+2+1 fa 7, cioè lettura 
più scrittura più esecuzione. 

58
00:03:34,030 --> 00:03:38,790
Di conseguenza un permesso 777 
significa il proprietario può 

59
00:03:38,790 --> 00:03:41,710
leggere, scrivere ed eseguire il
gruppo. 

60
00:03:41,760 --> 00:03:44,080
Il gruppo può leggere, scrivere 
ed eseguire. 

61
00:03:44,440 --> 00:03:47,680
Tutti gli altri utenti possono 
leggere, scrivere ed eseguire. 

62
00:03:48,310 --> 00:03:51,870
In pratica chiunque sul sistema 
ha il pieno controllo del file o

63
00:03:51,870 --> 00:03:54,830
delle cartelle. 
Ed ecco alcuni esempi comuni. 

64
00:03:56,830 --> 00:04:00,830
755 il proprietario può fare 
tutto, gli altri solo leggere ed

65
00:04:00,830 --> 00:04:05,110
eseguire. 644 il proprietario 
può leggere e scrivere, gli 

66
00:04:05,110 --> 00:04:09,590
altri solo leggere 700 solo il 
proprietario accesso completo 

67
00:04:10,150 --> 00:04:14,910
per questo motivo il famoso.ch 
mod. 777 è spesso considerato 

68
00:04:14,910 --> 00:04:18,190
rischioso, rende il file 
completamente aperto a chiunque 

69
00:04:18,190 --> 00:04:21,670
abbia accesso al sistema. 
Ed è proprio qui che nasce uno 

70
00:04:21,670 --> 00:04:24,310
dei problemi storici della 
sicurezza, trovare. 

71
00:04:24,360 --> 00:04:27,280
Trovare il giusto equilibrio tra
comodità e controllo. 

72
00:04:27,960 --> 00:04:31,600
Col tempo Junix e Linux 
introdussero meccanismi sempre 

73
00:04:31,600 --> 00:04:35,080
più avanzati, uno dei più 
importanti fu il concetto di 

74
00:04:35,080 --> 00:04:39,350
isolamento tramite chiarot. 
Questo comando permette a un 

75
00:04:39,350 --> 00:04:42,710
processo di vedere solo una 
parte del file system, come se 

76
00:04:42,710 --> 00:04:45,110
quella cartella fosse l'intero 
sistema operativo. 

77
00:04:45,750 --> 00:04:49,070
In pratica si iniziava già a 
costruire l'idea di gabbia per i

78
00:04:49,070 --> 00:04:53,030
programmi, puoi esistere qui 
dentro, ma non puoi vedere tutto

79
00:04:53,030 --> 00:04:55,670
il resto. 
Ed è incredibile pensare che il 

80
00:04:55,670 --> 00:04:58,630
principio alla base delle 
sandbox moderne degli smartphone

81
00:04:58,910 --> 00:05:01,710
nasca proprio dall'idea di 
simile sviluppate decenni fa. 

82
00:05:02,800 --> 00:05:06,160
Con Linux il modello si è 
evoluto ancora, utenti separati,

83
00:05:06,280 --> 00:05:10,400
permessi granulari, processi 
isolati, container e quando 

84
00:05:10,400 --> 00:05:14,200
arrivano Android e iOS. 
Il concetto cambia forma ma non 

85
00:05:14,200 --> 00:05:17,230
filosofia. 
Ogni applicazione diventa quasi 

86
00:05:17,230 --> 00:05:21,310
un utente separato dal sistema, 
ha il suo spazio, i suoi file, i

87
00:05:21,310 --> 00:05:24,870
suoi limiti e quando chiedi 
accesso a fotocamere, microfono 

88
00:05:24,870 --> 00:05:28,030
o posizioni se essenzialmente 
chiedendo al sistema operativo 

89
00:05:28,030 --> 00:05:30,950
di oltrepassare temporaneamente 
quei confini. 

90
00:05:32,350 --> 00:05:35,270
Quella finestra con su scritto 
consenti non è quindi un 

91
00:05:35,270 --> 00:05:37,670
semplice popup. 
E l'eredità di oltre 

92
00:05:37,670 --> 00:05:40,870
cinquant'anni di evoluzione 
della sicurezza informatica e 

93
00:05:40,870 --> 00:05:43,870
più gli smartphone diventano 
centrali nelle nostre vite, più 

94
00:05:43,870 --> 00:05:47,430
questo sistema diventa 
fondamentale perché, a 

95
00:05:47,430 --> 00:05:50,670
differenza dei vecchi computer, 
il telefono non contiene 

96
00:05:50,670 --> 00:05:53,990
soltanto documenti o programmi, 
contiene praticamente la nostra 

97
00:05:53,990 --> 00:05:57,990
identità digitale, fotografie, 
conversazioni, posizioni, carte 

98
00:05:57,990 --> 00:06:00,990
di pagamento, cronologia degli 
spostamenti, abitudini, 

99
00:06:00,990 --> 00:06:04,400
biometria. 
Ed è per questo che Android e 

100
00:06:04,400 --> 00:06:07,880
iOS hanno spinto il concetto di 
sandbox ancora oltre. 

101
00:06:08,550 --> 00:06:11,710
Ogni applicazione gira come un 
processo separato, con un 

102
00:06:11,710 --> 00:06:15,270
identificativo unico e con un 
accesso limitato esclusivamente 

103
00:06:15,270 --> 00:06:18,630
alle proprie risorse. 
Un'APP normalmente non può 

104
00:06:18,630 --> 00:06:22,070
leggere direttamente i dati da 
un'altra APP, ed è qui che entra

105
00:06:22,070 --> 00:06:25,070
in gioco. 
I permessi era a runtime in 

106
00:06:25,070 --> 00:06:28,190
passato, soprattutto le prime 
versioni di Android, I permessi 

107
00:06:28,190 --> 00:06:29,870
venivano accettati tutti 
insieme. 

108
00:06:29,870 --> 00:06:34,190
Durante l'installazione l'utente
vedeva una lista enorme accesso.

109
00:06:34,280 --> 00:06:38,440
Sms, rubrica, memoria, chiamate,
posizione e spesso premeva, 

110
00:06:38,440 --> 00:06:42,200
accetta senza leggere nulla. 
Col tempo però ci si rese conto 

111
00:06:42,200 --> 00:06:45,480
che quel modello non funzionava 
davvero perché le persone non 

112
00:06:45,480 --> 00:06:48,800
comprendevano cosa stessero 
autorizzando, così avevo 

113
00:06:48,800 --> 00:06:51,680
l'approccio diverso. 
I permessi vengono richiesti nel

114
00:06:51,680 --> 00:06:54,680
momento esatto in cui servono, 
vuoi usare la fotocamera? 

115
00:06:54,720 --> 00:06:57,920
Il sistema mostra la richiesta, 
vuoi registrare l'audio? 

116
00:06:58,000 --> 00:07:00,840
Nuova richiesta, vuoi accedere 
alla posizione in background? 

117
00:07:00,880 --> 00:07:02,640
Ulteriori autorizzazione 
separata. 

118
00:07:03,720 --> 00:07:06,560
In pratica, il sistema operativo
cerca di trasformare i permessi 

119
00:07:06,560 --> 00:07:09,360
in qualcosa di più comprensibile
e controllabile. 

120
00:07:09,950 --> 00:07:12,870
Ma sotto una superficie il 
meccanismo è molto più 

121
00:07:12,870 --> 00:07:14,790
complesso. 
Quando un'APP richiede un 

122
00:07:14,790 --> 00:07:19,150
accesso, il kernel verifica i 
privilegi, il sistema controlla 

123
00:07:19,150 --> 00:07:22,310
il contesto del processo, 
vengono applicate policy di 

124
00:07:22,310 --> 00:07:24,990
sicurezza e solo allora 
l'operazione può essere 

125
00:07:24,990 --> 00:07:29,640
eseguita. 
Su Android, ad esempio, entra in

126
00:07:29,640 --> 00:07:34,200
gioco anche se Linux, un sistema
di controllo obbligatorio NATO 

127
00:07:34,200 --> 00:07:37,800
nel mondo Linux, non basta 
essere autorizzati dall'utente, 

128
00:07:37,960 --> 00:07:41,120
l'APP deve anche rispettare le 
polizze imposte dal sistema. 

129
00:07:41,640 --> 00:07:44,680
Questo significa che persino 
un'APP con determinati permessi 

130
00:07:44,680 --> 00:07:47,560
potrebbe comunque essere 
bloccata se tento operazioni 

131
00:07:47,560 --> 00:07:51,950
considerate anom o pericolose. 
Ed è qui che si comprende una 

132
00:07:51,950 --> 00:07:55,670
cosa importante, la sicurezza 
moderna non si basa più sulla 

133
00:07:55,670 --> 00:07:59,190
fiducia delle applicazioni, si 
basa sulla limitazione costante 

134
00:07:59,190 --> 00:08:02,990
dei privilegi, ovvero concedere 
a ogni processo soltanto ciò che

135
00:08:02,990 --> 00:08:05,590
è strettamente necessario per 
funzionare. 

136
00:08:06,190 --> 00:08:08,830
Perché nella sicurezza 
informatica esiste una regola 

137
00:08:08,830 --> 00:08:12,110
implicita, ogni permesso 
concesso è una superficie 

138
00:08:12,110 --> 00:08:14,630
d'attacco in più. 
Ma soffermiamoci per un momento 

139
00:08:14,630 --> 00:08:17,880
su un aspetto fondamentale. 
I permessi non proteggono 

140
00:08:17,880 --> 00:08:21,240
soltanto dai malware, proteggono
anche dagli errori. 

141
00:08:21,600 --> 00:08:24,800
Moltissimi incidenti informatici
non nascono infatti da hacker 

142
00:08:24,800 --> 00:08:28,240
sofisticati, ma da applicazioni 
progettate m configurazioni 

143
00:08:28,240 --> 00:08:30,840
errate o privilegi concessi in 
maniera eccessiva. 

144
00:08:30,840 --> 00:08:34,159
Ed è qui che entra in gioco il 
principio del non fidarsi me 

145
00:08:34,159 --> 00:08:36,760
completamente. 
Pensiamo ad esempio a un APP 

146
00:08:36,760 --> 00:08:40,480
torcia, per funzionare davvero 
le serve accesso ai contatti, 

147
00:08:40,480 --> 00:08:42,480
alla posizione GPS, al 
microfono? 

148
00:08:42,520 --> 00:08:45,640
Probabilmente no. 
Eppure per anni tantissime 

149
00:08:45,640 --> 00:08:47,560
applicazioni richiedevano 
autorizzazioni totalmente 

150
00:08:47,560 --> 00:08:50,680
sproporzionate rispetto alle 
loro funzioni reali, questo 

151
00:08:50,680 --> 00:08:54,520
perché ogni dato raccolto ha 
valore economico, statistico, 

152
00:08:54,640 --> 00:08:58,710
pubblicitario, comportamentale. 
La cronologia delle posizioni 

153
00:08:58,710 --> 00:09:02,270
può raccontare dove lavoriamo, 
le abitudini di utilizzo possono

154
00:09:02,270 --> 00:09:04,390
suggerire interessi politici o 
commerciali. 

155
00:09:04,790 --> 00:09:07,830
Persino i metadati, cioè le 
informazioni indirette generate 

156
00:09:07,830 --> 00:09:10,590
dalla nostra attività, possono 
diventare estremamente preziose,

157
00:09:10,590 --> 00:09:14,310
ed è per questo che i sistemi 
operativi moderni cercano 

158
00:09:14,310 --> 00:09:16,590
continuamente di ridurre la 
quantità di informazioni 

159
00:09:16,590 --> 00:09:20,910
accessibili alle applicazioni. 
Negli ultimi anni abbiamo visto 

160
00:09:20,910 --> 00:09:24,150
comparire autorizzazioni sempre 
più granulari, accesso alle 

161
00:09:24,150 --> 00:09:27,390
posizioni precise o 
approssimative, permessi vari 

162
00:09:27,390 --> 00:09:30,830
solo una volta, accesso alle 
foto selezionate invece che 

163
00:09:30,830 --> 00:09:33,870
all'intera galleria, indicatori 
visivi per microfono e 

164
00:09:33,870 --> 00:09:37,110
fotocamere attivi, dashboard 
dedicate alla privacy. 

165
00:09:37,590 --> 00:09:40,670
In pratica il sistema operativo 
sta cercando di fare una cosa 

166
00:09:40,670 --> 00:09:44,230
molto difficile, mantenere le 
applicazioni utili senza 

167
00:09:44,230 --> 00:09:47,680
renderle onniscienti. 
Ma la battaglia non riguarda 

168
00:09:47,680 --> 00:09:51,120
solo gli smartphone, anche nel 
mondo desktop e server i 

169
00:09:51,120 --> 00:09:54,240
permessi continuano a evolversi,
pensiamo ai container come 

170
00:09:54,240 --> 00:09:57,560
Docker, oppure alle macchine 
virtuali o ai sistemi cloud, 

171
00:09:57,560 --> 00:10:00,320
dove ogni servizio comunica con 
altri servizi tramite 

172
00:10:00,320 --> 00:10:03,200
autorizzazioni temporanee e 
token di accesso. 

173
00:10:04,070 --> 00:10:07,750
Ancora una volta ritorna sempre 
lo stesso concetto, isolare, 

174
00:10:07,830 --> 00:10:11,670
limitare, controllare, perché in
informatica la sicurezza 

175
00:10:11,670 --> 00:10:15,390
assoluta non esiste, esiste per 
la riduzione del rischio e ogni 

176
00:10:15,390 --> 00:10:18,230
livello di isolamento aggiunge 
un ostacolo in più tra un 

177
00:10:18,230 --> 00:10:20,790
problema locale e un disastro 
globale. 

178
00:10:20,790 --> 00:10:24,350
Ed è affascinante osservare come
un concetto NATO come oltre 

179
00:10:24,350 --> 00:10:27,790
cinquant'anni fa nei laboratori 
di unix continui ancora oggi a 

180
00:10:27,790 --> 00:10:29,670
proteggere miliardi dispositivi 
del mondo. 

181
00:10:30,430 --> 00:10:33,310
La prossima volta che vedrete 
comparire sullo schermo, la 

182
00:10:33,310 --> 00:10:35,590
richiesta consente accesso alla 
fotocamera. 

183
00:10:35,790 --> 00:10:38,590
Forse lo guarderete in modo 
diverso, perché dietro quel 

184
00:10:38,590 --> 00:10:41,430
piccolo popup non c'è soltanto 
un bottone da premere. 

185
00:10:41,750 --> 00:10:43,830
C'è tutta la storia 
dell'evoluzione della sicurezza 

186
00:10:43,830 --> 00:10:47,430
informatica dei sistemi 
multiutente, ai permessi unix, 

187
00:10:47,510 --> 00:10:50,390
alle sandbox, fino agli 
smartphone che portiamo ogni 

188
00:10:50,390 --> 00:10:53,710
giorno in tasca. 
E in fondo i permessi raccontano

189
00:10:53,710 --> 00:10:56,230
una delle verità più profonde 
dell'informatica moderna. 

190
00:10:57,320 --> 00:11:00,000
Ogni tecnologia potente ha 
bisogno anche di confini. 

191
00:11:00,240 --> 00:11:02,720
Grazie per aver ascoltato questa
puntata di informatica per 

192
00:11:02,720 --> 00:11:04,760
tutti. 
Se l'episodio vi è piaciuto, 

193
00:11:04,760 --> 00:11:07,440
potete supportare il podcast 
condividendolo lasciando una 

194
00:11:07,440 --> 00:11:10,000
recensione e seguendomi per le 
prossime puntate.

