Old style vulns et machines à voter...
Par Sid,
lundi 30 juillet 2007 à 13:22 :: (In)Sécurité
:: lu 3697 fois :: #206
:: rss
:: atom
Read it in english with Google

ertes, l'été se fait froid, mais ce n'est cependant pas encore Noël. Et pourtant...
D'abord, c'est iDefense qui réveille les gens d'IBM avec cette série de stack overflows sur le client FTP d'AIX. Pas de quoi fouetter un chat me direz-vous. Sauf si le client en question est installé SetUID root. Et c'est le cas. Pourquoi ? "Go figure".
Ensuite, et surtout, ce sont ces chères machines à voter qui refont parler d'elles outre-atlantique. Le Secrétariat d'État de Californie avait annoncé en février dernier le lancement d'une étude de sécurité approfondie des machines utilisées pour les élections en Californie. Les résultats ne sont certes pas brillants comme on pouvait s'y attendre, mais on notera surtout que la machine ES&S n'a pas été testée. Pourquoi ? Parce que la société n'a pas fourni les élements demandés...
Jeudi dernier, c'était donc la fête à AIX chez iDefense, avec trois advisories dont un portant sur de multiples dépassement de tampon dans la pile de leur client FTP. Qu'est-ce qui fait bondir Dave Goldsmith de Matasano dans cette annonce somme toute classique ? Deux choses en fait.
D'abord, que les vulnerabilités annoncées font toutes suite à l'utilisation de la fonction gets(), fonction obsolète de la bibliothèque C servant à lire une chaîne de caractères depuis l'entrée standard. Si cette fonction est obsolète, c'est parce qu'elle est dangereuse : on ne peut pas lui spécifier la taille de la chaîne qu'on veut récupérer. Un gros aimant à débordements pour simplifier. Même gcc vous le dira :
warning: the `gets' function is dangerous and should not be used.
Aussi conseille-t-on d'utiliser la fonction fgets() à la place. Ensuite, que ce client FTP est installé SetUID root. Et là, j'ai beau me creuser la tête, je ne vois pas pourquoi un client FTP aurait besoin des droits super-utilisateur pour tourner correctement.
Du coup, on se retrouve avec des vulnérabilités exploitables de manière relativement simple conduisant à une belle escalade de privilège. Dans la série "people never learn", bravo. Ben oui, parce que le pire, c'est que ce n'est pas la première fois que ça leur arrive, le coup du couple gagnant gets() et SetUID root... Je vous laisse découvrir le reste chez Matasano...
Les machines à voter maintenant... La Secrétaire d'État de Californie, Debra Bowen, a lancé le 31 mai dernier une étude de sécurité portant sur toutes les machines à voter certifiées dans l'état appelées à être utilisées en 2008. Ce sont donc quatre constructeurs qui ont été appelés à fournir matériel et code source, à savoir Dieblod, Hart Intercivic, Sequoia et ES&S, à un groupe de l'Université de Californie dirigé par Matt Bishop. Et les résultats de l'étude ne sont pas clairement pas bons puisqu'aucune des machines testées n'a pu tenir le test. Pour autant, les conclusions sont quelque peu décevantes, ne faisant pas clairement apparaître de scénario d'attaque. C'est dommage et assez surprenant dans le cadre de ce genre d'étude, censée permettre d'estimer le risque lié à l'utilisation de ces engins. Sans scénario, appelé aussi chemin d'attaque, il est difficile d'estimer la probabilité de réalisation d'une vulnérabilité, et donc d'en calculer le risque.
Mais au delà des résultats, le fait marquant, c'est le refus du constructeur ES&S de fournir les éléments demandés, apparemment en violation avec les termes de la certification obtenue l'an dernier, lesquels stipulent clairement que le constructeur doit, en cas de demande du Secrétaire d'État, fournir dans les trente jours une version fonctionnelle de son produit, incluant matériel, firmware et logiciel ainsi que tous les codes source associés. Du coup, Debra Bowen a exigé du tiers de confiance dépositaire de leur code source la livraison de ce dernier au plus tard le 20 juin dernier. A-t-elle obtenu statisfaction ? Je n'en sais rien. En tout cas, elle a l'air remontée :
I'm not going to stand by and watch ES&S ignore the State of California and, in particular, the voters of Los Angeles County by refusing to abide by the certification conditions that were imposed when ES&S's InkaVote Plus Voting System was certified last year. ES&S is clearly trying to undermine the review by refusing to abide by the conditions that were imposed in order for its InkaVote Plus system to be certified for use in California last year. That leaves me with no choice but to use the authority I have under the law to require the escrow company to provide me with a copy of ES&S's source code.
Rappelons à ceux de mes lecteurs qui ne suivent pas le buzz autour du vote électronique qu'ES&S est un des constructeurs dont un produit a reçu un agrément en France pour les présidentielles et les législatives 2007. Au regard des résultats de l'étude californienne, le comportement d'ES&S est quelque peu difficile à interpréter autrement que comme un aveu de la faiblesse de leur produit. Bien que ce dernier ne soit pas celui utilisé sur notre territoire, cette histoire n'est pas propre à rassurer le citoyen sur la fiabilité des ordinateurs de vote...
Sinon, pour terminer sur une note plus joyeuse, il est toujours surprenant de se faire insulter[1] par une voiture allemande...
Notes
[1] Photo réalisée sans trucage...

Commentaires
1. Le lundi 30 juillet 2007 à 18:44, par zaide
2. Le lundi 30 juillet 2007 à 22:35, par Nico
Réponse de Sid
3. Le mardi 31 juillet 2007 à 15:29, par Pierre Muller (ordinateurs-de-vote.org)
Ajouter un commentaire