stasera?

spiacente che sono troppo lontanto, se non sarei venuto volentieri a
chiacchierare di sicurezza.

Doh.. volentieri.. quest'anno spero di salire a bozen un po' piu' spesso
:wink: anche se penso ti riferissi ad armando, che io di cose interessanti
di cui chiacchierare non ne ho piu' molte :slight_smile:

una domanda che mi preme ultimante, pensi che linux su un notebook con il
browser opera&mail o firefox&thunderbird
e' una soluzione sicura,
o sai che i servizi segreti od altri organizzazioni con abbastanze risorse
riescono a crackare tutto

Secondo me se hai dietro un organizzazione del genere e ce l'hanno
proprio con te, non c'e' possibilita'.. troppi vettori di attacco, pensa
anche solo a tutta la parte di intercettazione cellulare o ambientale,
etc. o alla buona vecchia chiave inglese da 5$ (https://xkcd.com/538/)
(una bella microcamera che punta alla tua tastiera e ciao..)

Se, come penso, ti preoccupa piu' l'intercettazione di massa, credo che
ci siano ancora "spiragli" per muoversi, anche se li' mi preoccuperei
piu' delle "backdoor" in software, hardware e protocolli vari.

Nel mio caso, i rischi (relativi alla workstation di lavoro) che
considero in ordine di rilevanza sono:
- compromissione delle chiavi (ssh, vpn, gpg, password manager, etc.)
- accesso al filesystem (mail, dati di lavoro di clienti & co)
- RAT persistente (trojan, rootkit o simile)

ed i vettori di attacco:
- accesso fisico
- attacco "client-side" (firefox, im, *pdf, etc.)
- trojan o backdoor in OS/applicazioni che uso

Per l'accesso fisico: full disk encryption (ed eventualmente trusted
boot, ma il mio laptop non lo supporta).

Per gli exploit "client-side": uso da anni una "separazione" dei
contesti, all'interno dello stesso os (un po' come fa android per
isolare le differenti app), in modo da ridurre il danno in caso di
exploit.

P. es. un utente per "internet" (browsing, IM, etc.), un altro utente
per internet "trusted" (es. banking o intranet), un utente per la posta,
un utente per le chiavi (ssh+gpg), un utente per office, uno per
sviluppo, uno per pt, etc. etc. (ho anche una mezza idea di fare qualche
script per creare degli utenti "usa e getta" per esempio per ogni
differente attivita' su clienti diversi, etc. ma non ho ancora avuto
tempo).

Il tutto condito con ACL stringenti sul filesystem (gli utenti non
vedono vicendevolmente i dati, e alcuni utenti hanno home "ristrette"
dove non possono scrivere se non in alcune directory, etc.), hardening
della stazione (no servizi, no suid/gid, no consolekit, policyd e
bocchini simili, a parte / e /usr mount noexec, /boot non montata di
default, etc.), oltre ad un kernel grsecurity[1] hardened (anche se
questo e' molto rognoso con alcuni software "poco usati", per esempio
firefox <g> o giava <eg>, oltre a doversi ricompilare il kernel "a
mano").

Rimane ancora aperta la possibilita' di intercettare (facilmente) per
un'applicazione malicious tutta l'attivita' di X[2]. Avevo fatto delle
prove con Xephyr[3], ma non era abbastanza flessibile per come lavoro
(c&p, virtual desktop, posizionamento delle finestre, etc.), quindi devo
riguardarci.. al momento mi limito a non inserire dati riservati
(password chiavi ssh/gpg/password manager) in X ma solo in console e
usare gli agent.

Per trojan: uso solo i pacchetti ufficiali della distro e compilo "a
mano" il kernel (e dovrei anche sshd..); tutti i software di terze parti
(es. slackbuilds & co.) vengono compilati non root (con un utente
apposito + fakeroot) e ispezionati a mano (script di install, permessi
sul fs) prima dell'installazione e cmq mai lanciati ne' come root ne'
come mio user delle chiavi), poi se si sfondano Volkerding o un altro
developer (cosa che l'NSA probabilmente ha gia' fatto..) ..

Un'altra cosa che ancora non faccio e dovrei perderci del tempo per un
po' di prove e' quella di usare un dispositivo hardware per conservare
le chiavi, pero' i supporti sono piu' orientati a gpg & co., mentre
paradossalmente a me interessa di piu' proteggere le chiavi ssh, vpn e
fde.

Dovrei anche lavorare un po' sull'RBAC di grsecurity per controllare
meglio alcuni oggetti che girano come root (wpa_supplicant, dhcpcd,
etc.).

Ok, ora sapete come sfondarmi :wink:

e l'unica soluzione sarebbe proprio di crittografare tutto, di configurare
applicazioni in diversi macchine virtuali come lo fa qubes-os ?
https://qubes-os.org/

Qubes e' un ottimo progetto, anche se per sfruttare appieno tutti le
funzionalita' bisognerebbe usare una macchina con il supporto per VT-d
(IOMMU virtualizzata), cosa che sui portatili e' molto rara.

E per altro mi sembra un po' "scomodo" da usare (non ho mai usato qubes,
ma avevo fatto un po' di test con un mio setup casereccio basato su un
ambiente di virtualizzazione leggero (alpine linux[4] + xen | kvm | lxc
+ Xephyr + qualche script per supporto c&p e scambio dati tra una vm e
l'altra) ma alla fine ho mollato li', devo riprendere in mano la
faccenda proprio in questi giorni.

Poi per usi normali probabilmente gia' cercando di tenere una
installazione "pulita e minimale" solo per "lavorare" e una VM (o dual
boot o hw differente, etc.) per "cazzeggiare" (installare millemila
software, giocare, etc.) aiuta..

A livello di design di sicurezza e' molto interessante chrome-os (mai
coverto, ho solo letto il design sul wiki, non ho il link a portata di
mano) ma con google ho dei problemi di altro genere :slight_smile:

Sempre a livello di design (anche in questo caso non lo uso) chrome e'
sicuramente piu' "moderno" di firefox (e, suppongo, opera) per il
discorso del sandboxing (che appunto personalmente provo a risolvere in
maniera piu' casareccia con banali uid/gid diversi).

Il gioco vale la cand...ehm..lo sbattimento per tirare su tutto questo
setup? (nota: ho cambiato portatile un paio di mesi fa per esaurimento
fisico del precedente, e mi ci sono voluti 4gg per "installare" quello
nuovo..)

Non so, verosimilmente no.. probabilmente avrei lo stesso livello di
sicurezza (o addirittura maggiore) usando una banalissima ubuntu (o
magari una gentoo hardened) e delle normali "precauzioni", ma sono
troppo vecchio per queste stronz..ehm..per usare una di queste distro
moderneD e poi e' molto divertente smanacciare con tutte queste cose :slight_smile:

[1]: https://grsecurity.net/
[2]: http://theinvisiblethings.blogspot.it/2011/04/linux-security-circus-on-gui-isolation.html
[3]: http://www.freedesktop.org/wiki/Software/Xephyr/
[4]: http://www.alpinelinux.org/

ciao, buone feste a tutti,
I.