Journal SEAndroid, une version d'Android basée sur SELinux

Posté par (page perso) .
13
17
jan.
2012

SEAndroid est une version d'Android basée sur SELinux, et développée par la NSA, pour combler des lacunes de sécurité du système original.

C'est en gros pour limiter les actions d'applications malveillantes ou boguées et surtout en limiter les dégâts.

Le système est évidemment open source (enfin comme d'hab en fonction des drivers des méchants constructeurs qui ne font que du proprio !) et basé sur la version AOSP d'Android.

La page sur le wiki officiel pour plus d'informations :
http://selinuxproject.org/page/SEAndroid

Je sens que certaines ROM Custom vont apprécier la nouvelle !

  • # Mode Parano

    Posté par . Évalué à  10 .

    Vu les intérêts qu'auraient certains gouvernements à contrôler les OS des téléphones (cfr les récentes affaires concernant le gouvernement indien ou Carrier IQ), peut on se fier à un version d'Android fournie par la NSA ?

    • [^] # Re: Mode Parano

      Posté par . Évalué à  6 .

      le code source est libre, juste audite-le.

      Blaque à part, la même suspicion était de mise lors des premiers patchs de la NSA sur le noyau linux, et après audit, rien à reprocher.

      • [^] # Re: Mode Parano

        Posté par . Évalué à  8 .

        En même temps j'ose espérer que s'ils ajoutent des backdoors, ils le fasse de manière un peu plus sioux qu'un simple "if (username == NSA) .. " ;-) Donc qu'après un audit on ne trouve rien ne signifie rien, tout au plus que se ne sont pas ds guignols.

        Si j'avais une backdoor à introduire, ça serait sur une faiblesse d'un algo que je connais parfaitement, une race condition réalisée à partir de deux événements distincts crése sur deux patchs et modules distincts avec une date de soumission éloignée (qu'est ce que 5-6 mois pour un état si il a la garanti d'avoir une backdoor ?) ...

      • [^] # Re: Mode Parano

        Posté par (page perso) . Évalué à  5 .

        Dans l'article « Reflections on trusting trust », Ken Thompson a écrit :

        To what extent should one trust a statement that a program is free of Trojan horses? >Perhaps it is more important to trust the people who wrote the software.

        La démonstration est plus qu'éloquente.

        Je me souviens également d'un article qui expliquait comme cacher des failles de sécu. dans des logiciels libres et qui résiste très fortement à la revue de code. Mais je n'arrive plus à mettre la main sur l'article.

        • [^] # Re: Mode Parano

          Posté par (page perso) . Évalué à  4 .

          • [^] # Re: Mode Parano

            Posté par (page perso) . Évalué à  7 .

            Finalement, j'ai retrouvé ce n'est pas un article mais un contest « The Underhanded C Contest »

            • [^] # Re: Mode Parano

              Posté par . Évalué à  2 .

              J'avais déjà vu ce site, et les solutions des gagnants sont saisissantes, ou plutôt pas, on voit rien, alors que c'est sur 15 lignes...
              Il y a bien moyen que des gens doués comme ceux qui travailles à la NSA arrivent à cacher de la même manière un bout de code parmi les milliers de lignes de code qu'ils commit. Difficile de savoir même en auditant.

            • [^] # Re: Mode Parano

              Posté par (page perso) . Évalué à  9 . Dernière modification : le 17/01/12 à 15:49

              Pour ceux qui n'ont pas envie de lire, le but est d'écrire un programme qui prend une image et une zone de cette image en entrée. Il doit sortir la même image mais avec la zone en question supprimée (en noir).
              Titre de l'image

              Le gagnant utilise le fait que le format d'image utilisé est un format texte (PPM) et à la place de toujours inscrire '0' pour les pixels dans le rectangle, il inscrit '0' si la valeur RGB est entre 0 et 10, '00' entre 10 et 100 et '000' à partir de 100 (le nombre de zéros correspond au nombre de chiffres dans la valeur RGB). Ca n'a évidemment aucune influence sur l'affichage final, mais ça permet de reconstruire (partiellement ou totalement) les données censurées.

              Le truc drôle, c'est que l'implémentation paraît tout à fait raisonnable et ne laisse strictement rien apparaître de ce bug.

        • [^] # Re: Mode Parano

          Posté par . Évalué à  2 .

          Dans l'article « Reflections on trusting trust », Ken Thompson a écrit :

          To what extent should one trust a statement that a program is free of Trojan horses? Perhaps it is more important to trust the people who wrote the software.

          Ça date: David A. Wheeler a trouvé un moyen de contourner le compilateur malhonnete de Thompson, relis la page wikipédia sur le sujet..

          • [^] # Re: Mode Parano

            Posté par (page perso) . Évalué à  3 .

            http://www.dwheeler.com/trusting-trust/

            In the DDC technique, source code is compiled twice: once with a second (trusted) compiler (using the source code of the compiler’s parent), and then the compiler source code is compiled using the result of the first compilation. If the result is bit-for-bit identical with the untrusted executable, then the source code accurately represents the executable.

            Méthode qui nécessite de compiler le compilateur avec un deuxième compilateur écrit indépendamment. Ce qui fait que finalement, on doit faire confiance à ce 2ème compilateur (le (trusted) dans la citation). Si un des compilos produit du code correct et pas l'autre, on détectera un problème. Mais si les 2 sont malicieux t'es toujours dans la mouise.

            • [^] # Re: Mode Parano

              Posté par . Évalué à  1 .

              Mais si les 2 sont malicieux t'es toujours dans la mouise.

              Pas vraiment: si les 2 sont malicieux de la même manière, tu es dans la mouise, autrement la différence sera vue quand même.

    • [^] # Re: Mode Parano

      Posté par (page perso) . Évalué à  1 .

      Si je ne m'abuse, selinux est aussi utilisé dans les dernières RedHat et Fedora (et j'imagine que la plupart des autres "grandes" distribution devraient suivre), donc si il y a une backdoor, ça fera plus que quelques téléphones compromis.

      De plus, la NSA n'est pas la seule à avoir contribué, elle a principalement initié le projet si mes souvenirs sont bons.

  • # Dépiauter

    Posté par (page perso) . Évalué à  2 .

    C'est intéressant mais en effet il faudrait regarder les sources d'un peu plus près histoire de voir si la NSA n'a pas "personnalisé" tout ça.

    Et ce n'est ASOP mais AOSP, pour Android Open Source Project. ;)

    There is no spoon...

    • [^] # Re: Dépiauter

      Posté par (page perso) . Évalué à  3 .

      Et ce n'est ASOP mais AOSP, pour Android Open Source Project. ;)

      C'est la faute à ma main gauche qui veut taper plus vite que la main droite ;)

      S'il y a un problème, il y a une solution; s'il n'y a pas de solution, c'est qu'il n'y a pas de problème.

    • [^] # Re: Dépiauter

      Posté par (page perso) . Évalué à  2 .

      C'est corrigé. Merci.

      « Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » Raymond Devos

  • # à creuser

    Posté par . Évalué à  2 .

    Flexible, configurable labeling of apps and app data directories

    Le style d'installation des packages d'Android ne passant pas des droits étendus, pas possible de se servir du gestionnaire de packages pour affecter des règles selinux. (relire doc Fedora sur le packaging de règles)

    The seapp_contexts configuration is used to label app processes and app package directories. seapp_contexts is unique to SE Android.

    Vraiment intéressant.

    We are still investigating approaches for runtime policy management.

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.