OBSD4* : wiki

Version de traduction basée sur le site officiel (v1.437 : 01/11/2018)


OpenBSD Sécurité

Pour obtenir des avis de sécurité pour des versions spécifiques, cliquez ci-dessous :

2.1, 2.2, 2.3, 2.4, 2.5, 2.6, 2.7, 2.8, 2.9, 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 4.0, 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.7, 4.8, 4.9, 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 6.0, 6.1, 6.2, 6.3, 6.4.


Buts

OpenBSD croit en une sécurité forte. Notre aspiration est d'être NUMÉRO UN dans l'industrie pour la sécurité (si nous n'en sommes pas déjà là). Notre modèle de développement de logiciels ouverts nous permet d'adopter une vision plus intransigeante vers une sécurité accrue, que la plupart des autres fournisseurs ne font. Nous pouvons faire des changements que les vendeurs ne feraient pas. De plus, comme OpenBSD est exporté avec la cryptographie, nous sommes capables d'adopter des approches cryptographiques pour résoudre les problèmes de sécurité.

Informations complètes

Comme beaucoup de lecteurs de la liste de diffusion BUGTRAQ, nous croyons à la divulgation complète des problèmes de sécurité. Dans le domaine des systèmes d'exploitation, nous avons probablement été les premiers à adopter le concept. Beaucoup de fournisseurs, même de logiciels libres, essaient encore de cacher les problèmes à leurs utilisateurs.

Les informations de sécurité se déplacent très rapidement dans les cercles de crackers. D'un autre côté, notre expérience nous a appris que le codage et la publication de correctifs de sécurité adéquats requièrent environ une heure de travail - ce qui est un délai de correction très rapide. Ainsi, nous pensons que la divulgation complète aide les personnes qui se soucient vraiment de la sécurité.

Processus d'Audit

Notre équipe d'audit de sécurité compte généralement entre six et douze membres qui continuent de chercher et de corriger de nouveaux trous de sécurités. Nous sommes audités depuis l'été 1996. Le processus que nous suivons pour accroître la sécurité consiste simplement en une analyse complète, fichier par fichier, de chaque composant logiciel critique. Nous ne cherchons pas vraiment des failles de sécurité ; nous cherchons des bogues logiciels de base, et si des années plus tard, quelqu'un découvrait que le problème était un problème de sécurité, et que nous l'avons corrigé parce que c'était simplement un bogue, tant mieux. Des défauts ont été trouvés dans presque tous les domaines du système. Au cours de notre audit, de nouvelles catégories entières de problèmes de sécurité ont été découvertes ; souvent, le code source précédemment audité doit être ré-audité en tenant compte de ces nouvelles failles. Le code est souvent audité plusieurs fois et par plusieurs personnes possédant des compétences différentes en matière d'audit.

Certains membres de notre équipe d'audit de sécurité ont travaillé pour Secure Networks, la société qui a fait de Ballista le logiciel de scanner de sécurité réseau de premier plan (Secure Network a été acheté par Network Associates, Ballista a été renommé en Cybercop Scanner,…). Cette société a fait beaucoup de recherches sur la sécurité et a donc bien intégré la position de OpenBSD. OpenBSD a passé les tests de Ballista depuis le premier jour.

Une autre facette de notre processus d'audit de sécurité est son caractère proactif. Dans la plupart des cas, nous avons constaté que la détermination de l’exploitabilité n’était pas un problème. Au cours de notre processus d'audit en cours, nous trouvons de nombreux bogues et nous essayons de les résoudre même si l'exploitabilité n'est pas prouvée. Nous corrigeons le bogue, et nous continuons à trouver d'autres bogues à corriger. Nous avons corrigé de nombreuses erreurs de programmation simples et évidentes dans le code, et quelques mois plus tard, nous avons découvert que les problèmes étaient en fait exploitables. (Ou, il est plus probable que quelqu'un sur BUGTRAQ signalera que d'autres systèmes d'exploitation sont vulnérables à un «problème récemment découvert», et il sera découvert qu'OpenBSD a été corrigé dans une version précédente). Dans d'autres cas, nous avons été préservés de la pleine exploitabilité d'attaques complexes pas à pas, car nous avions corrigé l'une des étapes intermédiaires. Un exemple que nous avons géré avec succès est l’avis de lpd publié par Secure Networks.

Technologies Nouvelles

Puisque nous auditons le code source, nous inventons souvent de nouveaux moyens de résoudre les problèmes. Parfois, ces idées ont déjà été utilisées auparavant dans une application aléatoire écrite quelque part, mais peut-être pas au même degré que nous le faisons.

  • strlcpy() et strlcat()
  • Protection de la mémoire purifiée
    • W^X
    • segment .rodata
    • pages Guard
    • malloc() aléatoire
    • mmap() aléatoire
    • atexit() et protection stdio
  • Séparation des privilèges
  • Révocation des privilèges
  • Prison Chroot
  • Nouveaux uids
  • ProPolice
  • … et bien d'autres.

La récompense

Notre processus d'audit proactif a vraiment porté ses fruits. Des états tels que “Ce problème a déjà été corrigé dans OpenBSD depuis six mois maintenant” est devenu courant dans les forums de sécurité tel que BUGTRAQ.

La partie la plus intense de notre audit de sécurité est arrivé immédiatement avant la sortie d'OpenBSD 2.0 et durant la transition de la 2.0 vers la 2.1, au cours du dernier trimestre de 1996 et du premier semestre de 1997. Des milliers (oui, des milliers) de problèmes de sécurité ont été corrigés rapidement sur une période d'un an ; des bogues tels que les dépassements de mémoire tampon standard, les faiblesses d'implémentation de protocole, la collecte d'informations et les courses du système de fichiers. Par conséquent, la plupart des problèmes de sécurité que nous avons rencontrés ont été résolus avant notre version 2.1, puis un nombre beaucoup plus réduit a dû être résolu pour notre version 2.2. Nous ne trouvons plus autant de problème, c’est simplement un cas de rendements décroissants. Récemment, les problèmes de sécurité que nous trouvons et corrigeons tendent à être significativement plus obscures ou plus compliqués. Néanmoins, nous persisterons pour un certain nombre de raisons :

  • Occasionnellement, nous trouvons un problème simple que nous avons raté plus tôt. Doh !
  • La sécurité est comme une course aux armements ; les meilleurs attaquants continueront à rechercher des exploits plus compliqués, nous aussi.
  • Trouver et corriger des imperfections subtiles dans un logiciel compliqué est très amusant.

Le processus d'audit n'est pas encore terminé et, comme vous pouvez le constater, nous continuons à rechercher et à corriger de nouvelles failles de sécurité.

"Sécurisé par Défaut"

Pour s'assurer que les utilisateurs novices d'OpenBSD n'aient pas besoin de devenir des experts de sécurité du jour au lendemain (un point de vue que semblent avoir d'autres fournisseurs), nous livrons un système d'exploitation dans un mode Sécurisé par Défaut. Tous les services non essentiels sont désactivés. Au fur et à mesure que l'utilisateur ou l'administrateur se familiarisera avec le système, il découvrira qu'il doit activer les démons et d'autres parties du système. Au cours du processus d'apprentissage d'un nouveau service, le novice est plus susceptible de se familiariser avec les considérations de sécurité.

Cela contraste vivement avec le nombre croissant de systèmes livrés avec NFS, mountd, serveurs Web et divers autres services activés par défaut, ce qui crée des problèmes de sécurité instantanés pour leurs utilisateurs quelques minutes dès la première installation.

Cryptographie

Bien sûr, puisque le projet OpenBSD est basé au Canada, il nous est possible d'intégrer la cryptographie. Pour plus d'informations, lisez la page décrivant ce que nous avons fait avec la cryptographie.

Avis

Veuillez vous référer aux liens en haut de cette page.

Surveiller nos changements

Depuis que nous adoptons une attitude proactive en matière de sécurité, nous recherchons et corrigeons continuellement de nouveaux problèmes de sécurité.Tous ces problèmes ne sont pas largement signalés car (comme indiqué plutôt), il n’est pas confirmé que beaucoup d’entre eux soient exploitables ; de nombreux bogues simples que nous corrigeons ont des conséquences sur la sécurité que nous ne pouvions prédire. Nous n'avons pas le temps de rendre disponibles ces changements dans le format ci-dessous.

Ainsi, le code source actuel contient généralement des corrections de sécurité mineures allant au-delà de la précédente version majeure d'OpenBSD. Nous garantissons de manière limitée que ces problèmes ont un impact minimal et une exploitabilité non prouvée. Si nous découvrons qu'un problème est définitivement important pour la sécurité, les correctifs apparaîtront TRÈS rapidement.

Les personnes qui sont vraiment concernées par la sécurité peuvent faire un certain nombre de choses :

  • Si vous comprenez les problèmes de sécurité, surveillez notre liste de diffusion source-changes et gardez un œil sur les choses relatives à la sécurité. Puisque l'exploitabilité n'est pas prouvée pour beaucoup de correctifs que nous faisons, ne vous attendez pas un message disant “SECURITY FIX!”. Si un problème est prouvé et sérieux, un correctif sera disponible ici très rapidement.
  • Suivez notre arborescence de code source actuel et apprenez comment construire un système complet, de temps en temps (lisez avec précaution /usr/src/Makefile). Les utilisateurs peuvent supposer que la sécurité de l'arborescence source actuelle est toujours forte à celle de la version précédente. Cependant, construire votre propre système depuis le code source n'est pas trivial ; il y a plus de 850 Mo de code source, et des problèmes peuvent survenir lorsque nous effectuons la transition entre les versions majeures.
  • Installez un instantané binaire pour votre architecture, qui est assez souvent mis à disposition.

Reporter les problèmes

Si vous trouvez de nouveaux problèmes de sécurité, vous pouvez envoyer un mail à deraadt@openbsd.org.
Si vous souhaitez l'encoder avec PGP (mais s'il vous plaît, faites-le que si la confidentialité est très urgente, car cela est gênant), utilisez cette clé pgp.

Lectures complémentaires

Nombre de papiers ont été écrits par des membres de l'équipe d'OpenBSD, beaucoup sont dédiés à la sécurité.


Cette page est la traduction officieuse de la page “Security” officielle d'OpenBSD.
En cas de doute, merci de vous y référer !

Si vous voulez participer à l'effort de traduction, merci de lire ce topic.