[gull] Sécurité

Marc SCHAEFER schaefer at alphanet.ch
Tue Mar 2 17:10:05 CET 2021


On Tue, Mar 02, 2021 at 03:48:08PM +0000, darksponge wrote:
> https://madaidans-insecurities.github.io/linux.html

Il y a plein de choses qui me semblent correctes. En fait, quelque soit
l'OS, la plupart du temps celui qui a accès au clavier a tous les
droits.

En plus, même pour les utilisateurs distants, tous les programmes
tournent sous cet utilisateur: ils sont tous considérés comme des
agents auxquels on fait confiance. Il suffit d'un seul de ces programmes
vérolés pour que l'utilisateur, voire le système si l'accès sudo est
donné à cet utilisateur, soient compromis.

Android a implémenté il y a des années déjà un système où chaque
*programme* tourne sous son UID spécifique et les communications
inter-programmes passent par des passages de messages dont le type est
validé dans une liste d'autorisation par les bibliothèques de support,
en fonction des droits donnés par l'utilisateur à chaque application.

Alternative éventuelle: réel sandboxing, notamment pour les applications
`classiques'. Mais il faut impérativement réduire la surface d'attaque,
notamment du kernel.

Autre alternative: le MAC, par exemple app-armor: aucune raison que mon
Firefox ait accès écriture à mon ~, sauf peut-être son répertoire de
configuration et le dossier Downloads. Certaines distributions
configurent des profiles app-armor restrictifs (exemple: j'ai voulu
lancer tcpdump avec un log dans /scratch et j'ai dû modifier le profile
app-armor de ma Debian).  Mais alors, un Sauver sous ailleurs que
Downloads pourrait planter!  L'utilisateur est-il d'accord avec ça?

Autre alternative: se créer plusieurs comptes, et ne tourner les
binaires propriétaires que dans un autre compte; en supposant que le
kernel fait son travail cela devrait aller.

Enfin, il y a une approche complètement réactive, très populaire sous
les OS propriétaires: scanner les logiciels pour détecter des virus
connus, voire des nouveaux virus en fonction du comportement réel ou
virtualisé de l'application. Ne me semble pas exister réellement sous
Linux (j'avais une fois lancé un étudiant sur une analyse de
comportement des processus via SystemTap et une analyse statistique des
appels systèmes utilisés, p.ex., mais je ne crois pas qu'il existe déjà
un produit).

A mon avis c'est dans une ou l'autre de ces directions que tous les OS
devraient aller, à terme.

A court terme toutefois, si vous n'avez que des logiciels open source ou
libres installés via votre distribution Linux, vous êtes déjà bien mieux
protégés que si vous installez des logiciels propriétaires ou libres de
n'importe où, même dans ces formats `faciles' comme flatpak -- qui sont
plein de problèmes de sécurité.

C'est un peu le même problème avec les images Docker disponibles sur
github: mal configurées, pas à jour: installer depuis une Debian est en
général plus sûr. Mais il faut ensuite mettre à jour chaque conteneur,
ou les régénérer régulièrement de sources d'installation à jour.

Toujours `usability' vs `security'.


More information about the gull mailing list