IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Algorithmes et structures de données Discussion :

Noyau d'OS prouvé sans erreur par une équipe de recherche [News]


Sujet :

Algorithmes et structures de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut Noyau d'OS prouvé sans erreur par une équipe de recherche
    Une équipe de chercheur du NICTA (Australia's Information and Communications Technology Centre of Excellence) a écrit un micro-noyau de système d'exploitation orienté système embarqué dont la sécurité face à plusieurs types de failles a été prouvé formellement (typiquement, des buffers overflow).

    L'écriture des 7500 lignes de code a nécessité 4 ans, la preuve est composé de 10.000 théorèmes et de 200.000 lignes de preuves.

    L'utilité de ceci est d'être sûr que certaines failles classiques ne peuvent être exploités.


    Vous en pensez-quoi ?

    Plus de détails sur le projet : http://www.ertos.nicta.com.au/research/sel4/

  2. #2
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par millie Voir le message
    Vous en pensez-quoi ?
    Je pense qu'il est temps d'arrêter d'utiliser des langages de programmations dans lesquels les "buffers overflow" sont possibles.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  3. #3
    Rédacteur

    Homme Profil pro
    Comme retraité, des masses
    Inscrit en
    Avril 2007
    Messages
    2 978
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : Suisse

    Informations professionnelles :
    Activité : Comme retraité, des masses
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 2 978
    Par défaut
    Salut!
    L'utilité de ceci est d'être sûr que certaines failles classiques ne peuvent être exploités.
    Ne te fais pas de soucis: des failles, les gens en trouveront d'autres!
    Jean-Marc

  4. #4
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    que l'on m'arrete si je me trompe:
    -on as une spec
    -on as un code du noyau en C
    -on as un code en Haskell qui prouve que le code C repond bien a la spec

    on en deduis que le code C correspond bien a la spec. jusque la tout vas bien ...

    mais qui me prouve que la spec est juste?

  5. #5
    Rédacteur
    Avatar de pseudocode
    Homme Profil pro
    Architecte système
    Inscrit en
    Décembre 2006
    Messages
    10 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Architecte système
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2006
    Messages : 10 062
    Par défaut
    Citation Envoyé par granquet Voir le message
    mais qui me prouve que la spec est juste?
    Le jour ou on pourra prouver formellement qu'une spec est "juste", on pourra taper les specs directement dans eclipse, avec complétion/correction à la volée.

    En attendant, les specs sont aux mieux relue/revues (non formellement) et considérées comme la source de vérité absolue.

    - Oui monsieur, le premier item du menu Démarrer est "Arrêter...". C'est écrit dans la spec.
    ALGORITHME (n.m.): Méthode complexe de résolution d'un problème simple.

  6. #6
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par granquet Voir le message
    mais qui me prouve que la spec est juste?
    Mais qu'est-ce qu'une spéc juste ?

  7. #7
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    le mot "juste" est clairement mal choisi;

    je suis tombe sur cette page (je trouve leur site pas vraiment clair quand meme, mais passons):
    http://ertos.nicta.com.au/research/l...fied/proof.pml

    c'est tres interessant, accessible et surtout pour une fois ca parait completement lucide

    This doesn't sound like much, but it is a very strong formal statement, called functional correctness. A cynic might say: proofs like this only show that every fault in the specification has been precisely implemented in C. This is true, the above statement does not exclude this problem. But: at some point you have to say what you want (the "abstract specification") and that is what you get.

  8. #8
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Citation Envoyé par millie Voir le message
    Vous en pensez-quoi ?
    En soi, c'est intéressant, mais hélas limité dans ses applications concrètes je pense :
    • Un micro-noyau est en général dédié à des systèmes très réduits et/ou critiques.
    • Or, ces systèmes sont souvent isolés et fonctionnent dans un environnement connu et déterminé.
    • Dans les systèmes plus ouverts, on utilise en général des tonnes de librairies / applications au dessus du noyau.
    • Et ces applications, elles, ne sont hélas pas certifiées...


    Donc, c'est très intéressant, mais je pense que ça n'arrive pas encore au niveau des OS certifiés tels qu'OSE ou QNX Neutrino... Même s'ils ne sont certes pas prouvés formellement, ils ont malgré tout passé des normes extrêmement restrictives tout en fournissant un ensemble d'API et de services très complet.

    Après, si le noyau est capable de détecter des comportements anormaux de ses applications et donc de déclencher un watchdog, là c'est nettement plus intéressant et applicable à court terme. Par exemple, s'il est capable de détecter un buffer overflow (et donc, potentiellement, un bug) tout en l'interdisant, c'est une fonctionnalité qui pourrait se révéler très utile.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  9. #9
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Et est-ce qu'ils ont testé leurs tests ?
    Nous sommes tous semblables, alors acceptons nos différences !
    --------------------------------------------------------------
    Liens : Blog | Page DVP | Twitter
    Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
    Critiques : Apache Maven

  10. #10
    Rédacteur

    Avatar de millie
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    7 015
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 7 015
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Et est-ce qu'ils ont testé leurs tests ?
    En théorie, tu n'as pas besoin de tester. En pratique, tu as des limitations liées au langage (et au compilateur) ce qui fait qu'il peut y avoir quand même des bugs ...

  11. #11
    Membre éclairé Avatar de ctiti60
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Octobre 2007
    Messages : 75
    Par défaut
    Je ne suis pas du tout un spécialiste de ce domaine. Je pense qu'effectivement c'est intéressant pour des domaines bien spécifiques ou universitaires.

    Par contre, dans le monde industriel, j'ai peur qu'une telle application ne soit pas assez réactive. Si l'on veut corriger une nouvelle faille ou faire ne serait-ce qu'une petite modication. Combien de temps cela va prendre ? Il va falloir tout retester (bon c'est plutôt bien), mais peut-être ajouter des théorèmes en plus + rajouter les tests corerspondants.

  12. #12
    Membre éprouvé Avatar de amaury pouly
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 157
    Par défaut
    Cette initiative me rappelle une plus ancien où Xavier Leroy a prouvé formellement un compilateur pour un sous-ensemble du C vers une machine abstraite. Ce genre d'initiative est intéressante surtout pour la rechercher en preuves formelles.

  13. #13
    Membre éclairé Avatar de s4mk1ng
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juillet 2008
    Messages
    535
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juillet 2008
    Messages : 535
    Par défaut
    de toutes façon ils en trouveront tôt ou tard...

  14. #14
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 2
    Par défaut
    les failles , y en a toujours.

  15. #15
    Membre averti Avatar de maitredede
    Homme Profil pro
    Pisseur de code
    Inscrit en
    Mai 2006
    Messages
    60
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Pisseur de code

    Informations forums :
    Inscription : Mai 2006
    Messages : 60
    Par défaut
    Bonjour,

    (humour on)

    La première source de faille se situe en la chaise et le clavier.

    Les specs, c'est pour justifier la déforestation.

    (humour off)

    Concevoir une spec "juste" reviens à compter combien il y a de molécules d'eau sur Terre.

    Je pense que réaliser un OS sans failles est utopique, car si la faille n'est pas dans l'OS, elle sera dans le proc, la carte mère, le disque dur... Il suffit qu'un électron saute d'une piste à l'autre pour provoquer une erreur.

    On pourra toujours dire "mon OS est certifié sans failles", mais ça sera toujours "sans failles connus" et on ne pourra jamais atteindre le zéro failles absolu. On ne pourra que s'en approcher.

    (humour on)

    Il n' a qu'a voir dans les filmes Transformers la vitesse à laquelle les systèmes surprotégés de l'armée se font piratés.

  16. #16
    Membre éprouvé
    Avatar de granquet
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2005
    Messages
    1 201
    Détails du profil
    Informations personnelles :
    Localisation : France, Pyrénées Orientales (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2005
    Messages : 1 201
    Par défaut
    Citation Envoyé par Mac LAK Voir le message
    Donc, c'est très intéressant, mais je pense que ça n'arrive pas encore au niveau des OS certifiés tels qu'OSE ou QNX Neutrino...
    ce micro noyau permet de faire tourner un autre noyau en host!
    pour l'instant il permet de faire tourner Linux sur x86 et bientot sur ARM !
    et la, ca deviens tres interessant

  17. #17
    Expert confirmé Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Par défaut
    Et est-ce qu'ils ont testé leurs tests ?
    Excellente question.
    Dans les normes aviation DO218-ED109, il est précisé que les logiciels de tests doivent être conçus avec les mêmes niveaux de qualité que les logciels testés . Ce qui est évidement absurde, vu que les outils de tests, qui sont en pratique plus complexes que les logiciels testés, doivent être eux-mèmes testés et ainsi de suite.

    Quand j'ai soulevé le problème auprès de certains des rédacteurs de la norme ED109, ils ont éludé la question, en disant que c'était de la responsabilité des dévellopeurs de s'accomoder de cette prescription .

  18. #18
    Membre éprouvé Avatar de amaury pouly
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 157
    Par défaut
    En pratique, on peut s'arranger pour que les outils de tests soient eux aussi certifiés et testés. Par exemple on peut écrire une version préliminaire réduite dans laquelle on prouve qu'une implémentation plus complète est correcte et ainsi de suite. On peut alors réduire les risques d'erreurs à des programmes les plus simples possibles. Bien entendu, on est jamais certain qu'il ne reste pas des bugs

  19. #19
    Membre très actif
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    432
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 432
    Par défaut
    Citation Envoyé par millie Voir le message

    L'écriture des 7500 lignes de code a nécessité 4 ans, la preuve est composé de 10.000 théorèmes et de 200.000 lignes de preuves.

    [...]


    Vous en pensez-quoi ?
    Ben qu'on est pas près de voir arriver la preuve formelle dans les processus industriel de création de logiciels ^^.

  20. #20
    Membre éprouvé Avatar de amaury pouly
    Profil pro
    Inscrit en
    Décembre 2002
    Messages
    157
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Décembre 2002
    Messages : 157
    Par défaut
    Je pense que les preuves assistés par ordinateurs ont surtout leur intérêt pour prouver que des algorithmes fonctionnent, ce qui peut être très importants pour certains logiciels cruciaux (avions par exemple).
    Cela peut aussi être intéressants pour les compilateurs même si en pratique on ne pourra jamais prouver un compilo entier avec toutes les optimisations, ...
    Mais c'est vrai que pour le génie logiciel, cela a peu d'intérêt. De même pour les OS, sauf peut-être des noyau sur des systèmes embarqués vitaux.

Discussions similaires

  1. Réponses: 6
    Dernier message: 20/11/2008, 15h55
  2. Réponses: 5
    Dernier message: 10/05/2008, 18h11
  3. Réponses: 2
    Dernier message: 10/05/2008, 17h53
  4. Background degradé sans passer par une image?
    Par j14z dans le forum Balisage (X)HTML et validation W3C
    Réponses: 7
    Dernier message: 28/03/2008, 15h02
  5. changer les valeurs graphique sans passer par une cellule
    Par mennix dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 06/11/2007, 19h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo