Capsicum, une séparation fine des privilèges pour UNIX

Posté par  . Modéré par tuiu pol. Licence CC By‑SA.
94
21
mar.
2011
Sécurité

Le projet Capsicum, lancé l'année dernière, tente d’adapter le modèle de sécurité par capacités (« capabilities ») aux systèmes UNIX. En deux mots, il s’agit de permettre aux applications de faire tourner certaines parties de leur code dans des « sandboxes » (bacs à sable) aux droits très restreints, gérés finement, avec la possibilité de recevoir ou de déléguer dynamiquement une partie de ces droits.

C’est une approche de la sécurité qui mise sur la flexibilité et l’intégration directe dans les applications (au contraire de politiques externes décidées par l’administrateur système, comme avec SELinux) pour respecter le Principle of Least Authority, qui recommande qu’un bout de programme donné fonctionne avec seulement les droits dont il a besoin pour accomplir sa tâche. Ainsi, les conséquences d’une faille sont réduites et les vecteurs d’attaque diminuent énormément. Par exemple, je ne veux pas que le logiciel qui lit mes fichiers PDF ait le droit de lire le contenu de mon répertoire personnel et d’envoyer des e-mails.

Capsicum introduit de nouveaux appels et objets système, qui demandent une (relativement petite) modification du noyau, ainsi qu’une bibliothèque logicielle en espace utilisateur pour utiliser ces nouveaux appels système. FreeBSD a déjà fait les modifications nécessaires, et les chercheurs ont pu facilement convertir plusieurs applications au modèle Capsicum : tcpdump, dhclient, gzip et, avec l’aide d’un développeur Google, le navigateur Web chromium.

Capsicum peut ainsi renforcer considérablement la sécurité des applications UNIX classiques, sans demander de les recoder entièrement. Reste à voir si les développeurs du monde du Libre seront convaincus par ces approches compartimentées, et prêts à les prendre en compte lors de la conception de leurs logiciels.

Journal La recherche en langages de programmation au quotidien

Posté par  . Licence CC By‑SA.
81
6
fév.
2018

Dans le cadre de mon travail j'ai été amené à écrire un petit texte qui explique mon quotidien fait de "recherche (scientifique) en langages de programmation". Je me permets de le diffuser ici au cas où ça intéresse des gens.

Ma recherche

Je travaille à l'INRIA, un institut public français de recherche en informatique. Je fais de la programmation et de la recherche sur les langages de programmation.

Mon rôle est d’étudier ces langages, de mieux les comprendre (…)

Sandboxing fin dans le noyau linux : la saga des filtres seccomp

Posté par  . Édité par claudex, Manuel Menal, Benoît Sibaud et baud123. Modéré par Sylvain Rampacek. Licence CC By‑SA.
77
15
jan.
2012
Noyau

Les développeurs de Google sont toujours à la recherche de solutions permettant d'améliorer la sécurité du navigateur web Google Chrome (ou son implémentation libre Chromium), ou de leur projet ChromeOS. Dans la dépêche à ce sujet, je vous avais raconté leur participation au projet Capsicum, qui apporte une gestion très fine des privilèges d'un processus, maintenant intégré dans FreeBSD.

Bien que les techniques mises en place par Capsicum soient pensées pour tous les systèmes inspirés d'UNIX, il n'y a pas grand espoir aujourd'hui qu'un port Linux soit accepté par les développeurs noyau ; Capsicum est un projet externe qu'il faudrait d'abord intégrer, ré-exprimer en terme des fonctionnalités existantes dans le noyau ; et les mainteneurs sont notoirement mécontents de la multiplication des solutions de sécurité (les Linux Security Modules en particulier) et ne verraient pas d'un bon œil l'apparition d'un nouveau candidat. Les développeurs Chromium utilisent sous Linux le primitif système de sandboxing seccomp, bien qu'il soit beaucoup moins flexible que Capsicum et donc nettement plus pénible et difficile à utiliser.

Depuis 2009, les développeurs Chrome essaient d'étendre les capacités de seccomp pour mieux répondre à leurs besoins. Les changements se sont révélés beaucoup plus difficiles à faire accepter que prévu : la situation a semblé bloquée à de nombreuses reprises et n'a pas évolué pendant de nombreux mois. Après plusieurs tentatives infructueuses, Will Drewry vient de proposer une nouvelle approche qui pourrait obtenir l'approbation des développeurs noyau ; mais rien n'est encore gagné…

Journal Pourquoi la recherche en langages de programmation ?

Posté par  . Licence CC By‑SA.
62
17
oct.
2017

Je fais de la recherche en langages de programmation. Dans le journal ci-dessus, j'explique pourquoi et comment, en essayant d'être accessible pour des gens qui connaissent peu (ou mal) la programmation et/ou la recherche.

Pourquoi la recherche en langages de programmation ?

Les programmeurs et programmeuses ont inventé de nombreuses représentations symboliques des programmes qui sont exécutés par un ordinateur, représentations que l'on appelle langages de programmation. On peut les voir comme des langages utilisés pour parler avec l'ordinateur, un programme (…)

Journal L'union européenne finance une « chasse aux bugs » pour le lecteur multimédia VLC

Posté par  . Licence CC By‑SA.
61
3
jan.
2018

Depuis début 2015, l'union européenne finance un petit "programme pilote" nommé FOSSA, proposé par les eurodéputés Julia Reda (pirate) et Max Andersson (verts), destiné à améliorer la solution des logiciels libres, en particulier (mais pas uniquement) ceux utilisés par les institutions de l'union européenne.

En juin 2016, ce projet avait fait appel aux opinions du public pour choisir un petit nombre de projets logiciels pour lesquels financer un audit du code source (voir le précédent journal LinuxFR à ce sujet) (…)

Journal Microsoft libère les sources du cœur de .NET sur github, et ouvre son processus de développement

Posté par  . Licence CC By‑SA.
59
12
nov.
2014

Par un billet fracassant de Immo Landwerth, Microsoft annonce la libération propre et sans fausse note du cœur de .NET.

http://blogs.msdn.com/b/dotnet/archive/2014/11/12/net-core-is-open-source.aspx

Le code est mis sur github et ils disent que ça deviendra le répertoire de développement principal. Ils libèrent les modules progressivement, et pour l'instant il n'y a pas encore grand chose (en particulier il n'y a pas le compilateur et le runtime, qui sont les parties qui m'intéressent personnellement), mais le billet est dégoulinant de bonne volonté.

Quelques

(…)

Journal Vent de révolte sur Patreon qui profite à Liberapay

Posté par  . Licence CC By‑SA.
53
9
déc.
2017

Patreon, c'est le principal site de mécénat en ligne, où des "créateurs" de toute sorte—dont des libristes—se font payer un peu d'argent, soit chaque mois, soit à chaque "production", par des utilisateurs donateurs. Hier, les gens de Patreon ont changé leur calcul des commissions, en expliquant qu'ils voulaient simplifier la façon dont ils prélèvent leurs frais de fonctionnement. Une conséquence de ce changement est l'ajout d'une part fixe, un coût de 0.35€ sur chaque don, qui pèse de manière (…)

Journal LLVM se fait de vieux os ? La recherche pour rester jeune.

Posté par  . Licence CC By‑SA.
Étiquettes :
51
20
déc.
2016

Il y a une discussion intéressante sur la liste de développement de LLVM ce mois-ci, partie du constat que les temps de compilation de LLVM augmentent au fil du temps—avec l'évolution du code. En particulier j'ai trouvé ce message de Daniel Berlin très intéressant: il parle du rapport entre les compilateurs industriels et la recherche en compilation, et de l'effet que ça peut avoir sur la maintenabilité du code. Traduction à la rache (le début est la citation d'un autre (…)

Journal Copyleft is censorship

Posté par  . Licence CC By‑SA.
49
17
mar.
2018

Cher journal,

Je me suis retrouvé à lire des tweets de Julia Reda (une parlementaire européenne du parti pirate qui travaille beaucoup sur les questions de copyright dans la législation européenne) qui proteste contre le projet de loi européen en cours de préparation sur le copyright. Le nouveau projet de loi contient des clauses sur les plateformes qui contiennent du contenu fournit par les utilisateurs, qui suggèrent que les plateformes seraient légalement obligées de le filtrer automatiquement pour détecter des (…)

Journal Stunt Rally (course de voitures) réutilise les graphiques de 0.A.D (stratégie, antiquité)

Posté par  . Licence CC By‑SA.
49
10
août
2014

La dernière version du jeu Stunt Rally a repris des contenus (CC-BY-SA) de 0.A.D. : des courses au milieu d'un village nord-africain traditionnel.

La gallerie de capture d'écran est sur Googe Plus.

Je trouve que l'intégration graphique est encore peaufinable (les maisons me semblent trop petites et les textures ne collent pas si bien ensemble), mais c'est un bon exemple du genre de réutilisations assez inattendues que permet l'art libre.

Journal Capsicum dans Linux : ça bouge !

Posté par  . Licence CC By‑SA.
46
3
août
2014
Ce journal a été promu en dépêche : Capsicum dans Linux : ça bouge !.

Chers LinuxFrien-ne-s,

En 2011 je vous parlais de Capsicum (dépêche LinuxFr), un projet de chercheurs de Cambridge de nouvelles primitives de gestion des droits pour les systèmes UNIX, très prometteur et en passe d'être intégré à FreeBSD.

Linux n'avait à l'époque pas de bonne solution pour un sandboxing fin; en 2012, une revue complète du système seccomp (dépêche LinuxFr) apportait un mécanisme très fin de contrôle des appels systèmes, mais ne gérant pas le transfert de (…)

Journal Fins de tabulation élastiques: la bonne manière d'indenter et d'aligner le code

Posté par  . Licence CC By‑SA.
43
29
juil.
2018

Il y a des débats sans fin sur l'usage de tabulations ou d'espaces pour indenter et aligner son code. Chaque approche a ses avantages et des inconvénients, ses fidèles et ses ennemis.

(Indenter, c'est mettre de l'espace au début des lignes pour montrer visuellement les relations d'emboîtement logique des différentes lignes de code. Aligner, c'est mettre de l'espace avant un morceau de texte, pas forcément en début de ligne, pour créer un lien visuel entre plusieurs morceaux sur des lignes (…)

Capsicum dans Linux : ça bouge !

Posté par  . Édité par Benoît Sibaud, Xavier Teyssier et Nils Ratusznik. Modéré par Nils Ratusznik. Licence CC By‑SA.
Étiquettes :
42
4
août
2014
Sécurité

Capsicum a été évoqué sur LinuxFr.org une première fois en 2011. C'est un projet de chercheurs de Cambridge concernant de nouvelles primitives de gestion des droits pour les systèmes UNIX, très prometteur et en passe d'être intégré à FreeBSD.
Voyons quels sont les mouvements autour de ce projet.

Logo Capsicum

Journal Cagnotte de soutien à un photographe contributeur de Wikipédia

Posté par  . Licence CC By‑SA.
38
8
sept.
2016

Claude Truong-Ngoc (page utilisateur wikipédia, Instagram) fait des photographies depuis longtemps, et il les donne à Wikipédia/Wikimédia pour illustrer des artistes. En particulier, une grande partie des articles sur des personnalités françaises utilisent ses portraits. Voir par exemple son wikibook de portrait et la liste des portraits contribués par année (2013, 2014, 2015, 2016). Les photos contribuées sont sous licence CC-By-SA (3.0).

Malheureusement, début Septembre Claude Truong-Ngoc a cassé son télé-objectif ( (…)

Journal Lennart Poettering trouve la communauté Linux désagréable

Posté par  . Licence CC By‑SA.
33
6
oct.
2014

Dans un post sur la plateforme privatrice Google Plus, le célèbre et très contesté développeur Lennart Poettering se plaint de l'ambiance dans la communauté Linux (ou "Open Source" par endroits), et du comportement désagréable de ses membres les plus respectés qu'il voit comme une des causes, ou au moins un catalyseur, de ce comportement d'ensemble.

Much of the Open Source community tries to advertise the community as
one happy place to the outside. Where contributions are valued only by
their (…)