Nouvelles cyberattaques contre le secteur de l’énergie

Le spécialiste de la sécurité informatique Symantec a publié une analyse sur une campagne de cyberattaques menées contre des entreprises du secteur de l’énergie (producteurs d’électricité, opérateurs de réseaux électriques, d’oléoducs et leurs fournisseurs en équipements industriels), en Europe et notamment en France.

Le groupe d’attaquants, dénommé Dragonfly, a mené depuis au moins 2011 des attaques particulièrement sophistiquées à des fins d’espionnage, qui auraient pu conduire à des opérations de sabotage.

Le groupe, qui dispose de ressources particulièrement vastes et semble être soutenu par un état d’Europe de l’Est, a utilisé plusieurs vecteurs d’attaques et types de malwares. Il a par ailleurs ciblé en particulier les fournisseurs des grandes entreprises visées, qui semblaient être moins protégés que leurs clients.

Parmi les cibles de dragonfly se trouvaient des gestionnaires de réseaux d’énergie, des grandes entreprises de production d’électricité, des exploitants d’infrastructures pétrolières, et des fournisseurs d’équipements industriels de l’industrie énergétique. La majorité des victimes était située aux États-Unis, en Espagne, en France, en Italie, en Allemagne, en Turquie et en Pologne.

Cette campagne s’inscrit dans la lignée de Stuxnet, qui demeure la première grande campagne de virus (logiciel) capable de cibler les systèmes de contrôle industriel (ICS). Alors que Stuxnet était programmé pour s’attaquer au programme nucléaire iranien et avait comme objectif principal le sabotage, dragonfly semble avoir une portée beaucoup plus large comme l’espionnage et l’obtention d’accès permanents.

Articles connexes

45 Commentaires
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
Lionel-fr

A ceux qui veulent voir le compteur Linky doté de fonctions de commande à distance d’appareils électriques domestiques : Essayez d’imaginer le chaos lorsque ce genre d’attaque coordonnée prendra pour cible les particuliers.. Il suffirait de commander l’allumage de quelques millions de chauffages pour mettre le réseau à genoux .. Merci d’en tenir compte dans vos réflexions. Le smart-grid est une évolution hautement souhaitable mais elle doit se faire avec une parcimonie dictée par des impératifs à la fois sociétaux et stratégiques. Aucun réseau n’est complétement sûr.. D’un autre coté, il faut réunir beaucoup d’attaquants pour mettre un réseau en danger, le danger est alors de multiplier une faille de sécurité par des millions… Laissez donc le marché foisonner. Chacun sa méthode, c’est un moyen de protéger les réseaux des attaques “systémiques”. C’est aussi un bon moyen pour que les matériels améliorent leurs performances. Ne confiez pas la sécurité à une entité unique et centralisée .. merci de votre attention

Verdarie

Tout ce qui tend à asservir l’homme est mauvais et tout ce qui mêne vers l’autonomie est bon à prendre ! Abandonner notre libre arbitre au pouvoirs occulte de l’argent dissimulé, n’est ce pas le rêve de la mondialisation ? Tu me donne le droit de prendre………..je te verse une partie du bénéfice tiré de ce droit ? Voilà ce que nous préparent en douce les politiques corrompus alliés à ceux qu’on appelle les lobbys qui ont la main mise sur les systèmes indispensables à la vie de la société moderne (ressources, énergies, alimentation, déplacements) et dont nous n’entrevoyons les rouages bien souvent qu’à l’occasion d’un scandale. Et pour mieux noyer les pistes, on fait en sorte que les partis politiques qui devraient défendre le droit de chacun à l’autonomie, puisse s’entre-déchirer en permanence, par l’intermédiaire des cabinets noirs interposés – 250 000€ tous les mois/par député élu à son parti en plus de son salaire et de ses avantages ? Soit presque 250 SMIG ? A quoi sert cet argent- qu’on prend forcément dans les poches du travail avec la bénédiction des syndicats -sinon à chercher les germes de la discorde permanente qui empêche l’adoption du conscensus ?()- que sont les officines des partis qui influent sur leurs adhérents en leurs suggérant les réponses à adopter vis à vis des questions d’actualité. L’histoire nous apprend que pour bien régner, il faut diviser et que pour bien comprendre il faut chercher à qui profite le crime !

Herve

@ Lionnel Ok avec vous sur les risques pas forcément sur la methode … Je vois difficilement comment on peut gerer la smatgrid sans avoir une forme de standardisation des protocoles, donc vulnérabilité… Les multiples acteur ferement la possibilité de mettre les systèmes a jour, un vaste bordel. Le mieux pour éviter ce risque est d’avoir un reseau propriétaire, a sécurités multiples totalement découplé du net. Comme ça dur dur d’y rentrer et quand on y rentre le systeme en informe les gestionnaires. Vous vous faites choper, prison… Jammais entendu parler qu’il y ait eu des attaques sur pulsadis, ou sur les réseaux de communication actuels des centrales. C’est centralisé, mais personne y a acces…

Bachoubouzouc

Il vaut mieux ne pas aborder le sujet de la sécurité sur internet (en public), on risque toujours d’y lâcher des infos par mégarde.

Lionel-fr

Pour bloquer par conception les intrusions sur le smart grid, il faut désolidariser les flux montants et descendants. Notre intéret est qu’une partie des flux descendants soient ouverts et largement documentés pour qu’il soit facile aux appareils d’acquérir l’information de réseau. (emetteur radio, CPL) En revanche , la commande des appareils à distance doit “foisonner” et passer par des protocoles qui auront chacun leurs propres cycles de mises à jour (SSL) dictés par les besoins de communication sécurisée en général et non pas spécifiques à la consommation électrique. L’avantage est que la sécurité du protocole est autant une affaire de banques et de transactions financières que de gestion du réseau. Je ne dis pas que le monopole n’ait pas la compétence pour sécuriser les lignes, en revanche , ce n’est pas vraiment son métier et le profil du risque d’intrusion (risque diffus) ainsi que son impact sur les infrastructures vitales relèvent de la sécurité nationale autant que celle du système bancaire. Il est loin le temps où on passait ce genre d’info en clair, c’était le bon temps d’ailleurs , mais il est vraiment très loin.. Le risque systémique en particulier est très difficile à appréhender, il ne s’agit pas de picorer des infos jusqu’à ce qu’un “coup de bol” donne accès à des coordonnées bancaires ou des documents de valeur. Il s’agit d’attaques massives comme DDOS qui à ma connaissance n’ont jamias été perpetrées contre un très grand nombre de systèmes mais plutôt contre des grands sytèmes centralisés comme c’est le cas dans l’article Avec Linky, on tombe dans un nouveau genre de vulnérabilités qui me semble encore plus coûteux à attaquer. Le vrai danger d’une trop grande homogénéité des systèmes est que le même firmware présentant une faille identifiée permette des millions d’intrusions simultanées Si les intrusions sont limitées en nombre par l’hétérogéneité des systèmes , l’objectif d’une attaque de cette nature semble impossible à atteindre. Le réseau est suffisamment solide pour encaisser des milliers d’intrusions chez les particuliers, pas des millions

dede29

Qui a interet à une telle pratique ? De quel etat de l’Est s’agit-il ? Generalement dans les affaires d’espionnage ,il y a un motif d’argent et dans le sabottage une motivation politique . Qui en sait plus ,

Lionel-fr

Un ennemi aujourd’hui, un autre demain. La question de qui attaque relève des administrateurs système, de la justice ou de l’armée. Ceux qui pourraient attaquer aujourd’hui ne sont pas les même que ceux qui pourraient le faire lorsque les smart-grid seront déployés en masse et réguleront les réseaux d’énergie. Ca va de l’étudiant en informatique à l’autre bout du monde aux pressions politiques en passant par les demandes de rançon. Mais on a vu que des gamins doués mais fauchés peuvent faire plus de dégâts que des militaires organisés. Il ne s’agit pas d’installer un ordre mondial, il s’agit de rendre les réseaux d’énergie respectables par les e-bad boys du monde entier. Pour ce faire il faut bien réfléchir aux investissements et aux noeuds de réseau Garder un certain niveau d’imprévisibilité, ne pas autoriser de software tiers dans les devices qui impactent le producteur d’énergie ou la vie privée du consommateur. Mettre à jour le hard et le soft sans que le changement soit trop prévisible. Eviter la routine… La bonne nouvelle , c’est que Linky n’a pas été sur-dimensionné, la mauvaise , c’est qu’il faut confier cette question à du “management transverse”, càd qui peut bypasser les privilèges des administrations inopinément, ce qui ne va pas manquer de provoquer des conflits internes. Tout cela de façon récurrente, càd qu’on ne peut pas fixer la nomenclature une fois pour toute, il faut la repenser régulièrement : pilotage de changement inclus Ne pas être une proie facile est mon job, poursuivre les pirates, c’est le job des autorités mandatées pour le faire.

Lionel-fr

stuxnet s’attaquait à la pire génération de réseau, celle qui se considérait comme intouchable et qui ne prenait pas de précaution sérieuse. Toutes les couches étaient vulnérables à l’époque. Par contre , reproduire un stuxnet sur des systèmes simplement post MD5 (système de chiffrement standard sous unix) , c’est pas la même chose. Maintenant , comme les protections physiques (coffres forts, portes blindées) la sécurité n’a pas forcément vocation à résister éternellement, elle doit tenir assez longtemps pour que les humains prennent le relai et valident les contre-mesures, pour autant que celles ci existent ! Je n’ai pas le droit de renseigner mes méthodes mais je peux vous dire qu’il est plus facile de protéger un système que de crypter toutes sortes de messages. Les solutions IP sont pas mal mais elles sont très génériques. En réalité , les problèmes pris isolément sont souvent plus simples qu’il y parait de même , un gars qui a les compétences d’hervé peut être le maillon manquant des hackers. Parce qu’il est familier d’une époque où les automatismes étaient synchrones. Bon..

christiana

Vous racontez n’importe quoi. Windows n’est pas conçu pour les réseau isolés mais pour être connecté au net. Il est assez mal conçu, mais ce n’est pas le sujet. MD5 n’est pas chiffre mais un hashage cryptographique obsolète. Windows implémente diverses protections, y compris la signature du code, la protection contre la modification des fichiers systèmes, des méthodes anti-exploitation…

Herve

Oui, je résonne un peu comme un militaire, mais je suppose aussi que les réseaux militaires qui permettent de lancer un missile nucléaire sont un peu plus sécurisés que le PC de mme michu… (Enfin je l’espère…) Si vous comptez sur les pirates “gentils” pour vous montrer les failles de votre système c’est faire un peu court dans la démarche… Dans le monde réel, les pirates “méchants” sont souvent plus efficaces que les gentils. Si je suis votre raisdonnement, au lieu d’avoir les salles de coffres bunkerisées, les banquiers pourraient placer leurs coffres directement dans la rue, en espérant que les passants trouvent une solution pour améliorer la sécurité… A la base le plus simple est de limiter le système à sa fonction primaire sans qu’il soit possible d’en prendre le controle (donc avoir un support de com séparé du net et difficilement accessible, éviter l’emploi d’ordinateurs ou de machins du genre, mais plutot de “logique combinatoires dédiées” qui ne peuvent dérailler de la fonction pour laquelle elles sont programmées) Le linky recevra des ordres tarifaires simples et renverra des indexs point barre. Le meilleur moyen de protéger un ordinateur des intrusions reste encore qu’il soit isolé du réseau. Vouloir y ajouter trop de fonctionnalitées risque de créer des failles que les pirates exploiteront… La partie cryptage doit pouvoir être remplacée facilement (carte a puce) en cas de faille. Ensuite, le développement doit être confié à des gens compétants qui ont de l’experience dans ce domaine. Si vous faites appel à des gens incapables de trouver leurs propres erreurs il y a erreur sur le casting. Et pour finir doter le tout de controles invisibles permettant de traker les tentatives de piratage.

Herve

Si on vous suit, nous avons d’un coté internet ou il n’y a jamais de problemes de virus, espions spams … et d’un autre le monde industriel ou les automates sont piratés quotidiennement… C’est curieux j’avais le sentiment inverse, mais bon peut être me tromperais-je?

Lionel-fr

oui hervé , la plupart des confusions proviennent d’un manque de connaissance de ce qu’il y avait “avant” les protocoles multipoints encapsulés. Votre erreur si je peux me permettre, c’est de manquer de confiance en vous, une bonne vieille liaison analogique point à point synchrone et votre automatisme est à l’épreuve des balles ! Par contre , un réseau multipoint , qu’il soit propriétaire on non, il “passera” de l’internet. L’internet est en fait une galaxie de réseaux plus ou moins propriétaires. On peut passer de l’ip dans d’autres protocoles et meme encapsuler le tout dans de l’ip et ainsi de suite. Donc votre réseau “propriétaire” est une faille de sécurité conceptuelle. Si vous voulez contrarier l’implacable logique des réseaux (ip, gsm, mpeg, …) l’ideal est l’analogique. Le service rendu n’est pas le même , mais votre hacker anonymous , ben il peut toujours s’exciter, s’il n’y a pas de DAC, il n’y a pas d’intrusion possible

Lionel-fr

On peut écrire d’excellent algoritmes et laisser des failles béantes. La sécurité du software n’a rien à voir avec sa performance ou sa conformité au cahier des charges. Les failles de type buffer overflow ou zero day sont inhérentes au compilateur utilisé , une injection de sql peut compromettre un programme très bien réalisé par ailleurs. Une attaque ddos (deny of service) consiste à connecter un serveur en omettant d’envoyer une confirmation afin de laisser la connexion dans un état instable. L’opération est répétée jusqu’à ce que le serveur soit saturé de demandes non-abouties. C’est assez imparable puisque toutes les procédures de connexion supposent plusieurs échanges entre client et serveur, quel que soit le protocole ou le système. Ensuite monsieur Chistiana, je suppose que vous n’utilisez pas de mail, pas de FTP et d’une façon générale aucun de ces protocoles natifs de l’internet qui transportent le mot de passe en clair.. La sécurité complique considérablement le travail des dévs et les problèmes sérieux ne sont arrivés que dans les années 2000, donc beaucoup de développeurs ne l’on pas appris à l’université Enfin sachez que les militaires, la finance et les gouvernements se penchent sérieusement sur cette question depuis le 11 septembre à peu près. Mais évidemment, tous ces secteurs ne communiquent pas entre eux et il faut bien rémunérer ce travail.. (les experts en sécurité sont parmi les plus gros salaires mondiaux) Pour ne rien simplifier, relisez le post de bachoubouzouk, vous comprendrez aussi qu’il n’est pas facile de communiquer efficacement sur cette question, certaines de vos affirmations sont complètement à coté de la plaque, mais vous expliquer pourquoi serait pire que le mal… SVP, ne considérez par wikipedia comme une source 100% fiable, pour comprendre une problématique aussi complexe, il faut pratiquer, il faut en chier, il faut se planter!! Il n’y a que les newbies qui pensent que la perfection existe

Bruno lalouette

Entre 10 gros fournisseurs (inter)nationaux d’énergie et 10000 petits producteurs/fournisseurs locaux, qu’est-ce qui est le plus sécuritaire ? Maintenant pour tous les décideurs et journalistes, je vous conseille la lecture de la BD d’anticipation “Travis”, où comment une Intelligence Artificielle va même jusqu’à contrôler les nanopuces greffées aux humains. Le tout électrique c’est pas bon, le tout domotique c’est pas bon, un jour la réalité dépassera la fiction … J’espère que le service des essences des armées a conservé les vieilles pompes manuelles pour ravitailler ses véhicules.

Lionel-fr

Non , votre parallèle n’est pas exact, le software n’est pas l’industrie nucléaire. Cette corrélation est la conclusion d’un gars qui ne connait pas bien ce métier. On ne peut pas tout ramener à soi monsieur Christiana. Je travaille souvent avec un freelance qui est très fort dans son domaine : je dirais même qu’il est plus fort que vous ne pouvez l’imaginer. Comme j’ai vraiment besoin de ses compétences, je lui demande de ne rien sécuriser. Plusieurs personnes s’occupent ensuite de sécuriser le code, cette partie du travail est réversible çàd qu’on peut revenir au début et recommencer autant de fois qu’on a de nouvelles recommandations sécurité (plusieurs fois par an). L’immense problème français qui a décidé de gérer le software comme le bâtiment (maitrise d’oeuvre, d’ouvrage, comités de pilotage, appels d’offre..), c’est que le soft ne ressemble pas au bâtiment. C’est le fantasme de quelqu’un comme vous, mal informé sur le soft, hautain, méprisant, qui croit qu’il va tout régler en traitant les autres de nuls.. Et le résultat n’est pas bon. Le soft sensible est développé à l’étranger et il le restera aussi longtemps que nécessaire : peut-être lorsque les gens de votre génération prendront leur retraite.. Je ne répondrai pas à vos questions politico-techniques car ce n’est pas le bon endroit pour le faire Vous êtes complètement à coté de toutes les plaques

Herve

@ Chistrina Des élements qui ont filtré, le linky est à la base un compteur normal (avec un paquet d’index et la fonction disjoncteur incormporée) . Y auraient été ajouté en plus (bien évidemment): – Un moyen de telereleve – Une liaison descendante plus violante que pulsadis pour basculer les tarifs, les puissances de chaque abonnés et eventuellement controller les appareils en consequences. Trés probablement ça permettra de nombreuses autres choses… Concernant la carte à puce, je ne vous comprends pas. Soit elle est mise en place par ERDF et plombée, soit par le client lui même, et dans ce cas courant coupé si pas de carte à puce… L’avantage de la carte a puce c’est que ça évite de changer l’ensemble du compteur en cas de piratage. Le cout de l’opération est sensiblement différent. C’est une pratique on ne peut plus courante actuellement. Cannal sat ont été bien content de pouvoir les remplacer quand les pirates avaient pris le controle de leurs anciennes versions… Bien entendu, il est possible de s’en passer en rendant le compteur reprogrammable faciellement, mais c’est créer une faille supplementaire. J’ai quelques conaissances sur le sujet, désolé… par contre vu votre réaction, vous non… Ou vous êtes de trés mauvaise foi…

Herve

@ Lionnel, Entierement d’accord avec votre dernier post, Les appels d’offres sur des truc sensibles on part trés trés mal… Fondamentalement, je suis ok avec vous on peut sécuriser suffisamment des transmissions sur le net (transport de paquets). Je ne doute pas que les banques opérent comme ça. Cepandant j’y vois encore plusieurs failles: Le hardware: Pas plus tard que le Week end dernier, coupure d’internet à l’echelle de mon département… ça n’a pas été long, 10h , mais ça arrive régulièrement Si on veut faire une vraie smart grid, faudra fiabilliser. (Y a pas si longtemps, Orange avait sauté 1/2 journée à l’echelle du pays, il me semble… Le software: Ensuite le fait que tout soit interconnecté favorise la possibilité de contrournement par des virus sophistiqués qui controurne le système de cryptage (ou chiffrement pour faire plaisir a christiana) pour atteindre les donneées a leur source. Il est a peu prés certain que ces caractéres que je suis en train de tapper soient été transmis a une bonne douzaine de seveurs illicité directement depuis mon ordi par des espions indétactables (actuellement) mais que j’ai choppé betement. Le monde du virus est passionnant, ceux qui me plaisent le plus sont les furtifs. Costauds les gars qui écrivent ça. Je pense qu’il est techniquement plus difficile de se protégersur sur ce genre de systemes (PC…) que sur des trucs plus étanches, comme utilisent les militaires, mais peut être je me trompe… En tout cas si à Natranz, au lieu d’automates sophistiqués ils avaient eu un truc basique, ils auraient peut être eu moins de soucis… A+

Lionel-fr

Bon, je vais pas faire la promo d’IP mais je rappelle qu’il a été conçu pour pallier à la “défaillance” d’un continent vitrifié par une attaque nucléaire.. Dés lors, les améliorations ne sont pas compliquées : elles sont déjà mises en oeuvre sur votre smartphone si vous activez le wifi : si défaillance du réseau principal, les trames IP se frayent un chemin sur les réseaux secondaires, GSM, UMTS, 4G.. Dans les faits , les applications smartphone gèrent rarement la reprise d’un download interrompu après activation UMTS et il faut souvent couper le wifi si vous chargez une grosse base de données. Mais ce problème est plutôt lié à la qualité approx. des applis.. qui utilisent un vieux FTP voire HTTP quand ce n’est pas de l’XML/javascript ou AJAX pour les applis au format web.. Bon les protocoles hyper bien fichus ont connu un problème historique dans le grand public : ils ont été utilisés pour violer le droit d’auteur ! Si ce n’était ce problème et à forciori dans le domaine pro qui est plus dans les cordes, la tolérance aux défaillances réseau est vraiment très importante. Vous avez raison de vous inquiéter des virus, un anti virus avec abonnement de mise à jour est un minimum absolu pour se connecter à l’internet. Il n’y a pas d’exception à cette règle. Les attaques qui vont bypasser les antivirus commerciaux sont relativement rares. Elles sont diversement appréciées par les chefs de projet. J’ai mon approche , je crois que mes posts en disent assez long, mais d’autres divergent. Le foisonnement des approches a un intéret en cas d’attaque massive. Un cheval de troie qui surveille des caractères tapés au clavier s’appelle un keylogger. C’est effectivement effrayant. Dans les faits , les API qui permettent cette surveillance ont (un peu) évolué ces dernières années. Ca devient difficile d’isoler le controleur de clavier par exemple alors que c’était très facile sur les anciens OS. Il faut désormais utiliser les API qui ne donnent accès qu’aux frappes clavier de l’application active si vous comprenez ce que je veux dire.. En général, les OS essayent de masquer l’accès au hardware et ils y arrivent plutôt bien selon moi, mais je dois dire que j’ai toujours détesté le piratage sous toutes ses formes, je ne suis donc pas très curieux. Il est évident que les développeurs de pilotes et de firmware sont mieux armés que moi pour trouver les failles En étant le système le plus attaqué, windows est aussi un bon laboratoire pour développer des contre-mesures. En utilisant linux, vous êtes moins exposé mais les devs pure-linux qui ne touchent pas à windows sont moins sensibilisés à la sécurité que les autres. pas facile de trier le bon grain de l’ivraie dans tout ça.. L’hébergeur d’énerzine OVH , publie beaucoup sur la sécurité en général, c’est une première source d’info très aiguisée. Ils ont notamment une offre commerciale anti-ddos qui est une première mondiale je crois

Herve

@ Lionel Sur l’IP, oui, je suis d’accord, ce n’est pas directement l’IP le souci. Mais ça plante… Fondamentalement, ces réseaux peuvent se fiabiliser et les coupures seront probablement de plus en plus rares, c’est des défauts de jeunesse…Ok Concernant linux, je ne suis pas specialiste du sujet mais j’ai le sentiment que Linux est un ” cas à part”. A mon avis, les sources étant +/- ouvertes, linux est plus vulnerable que Windows, mais les pirates ne l’attaquent pas car c’est leur système cheri (d’ailleur fort utile pour pirater, tout est débridé ou débridable sur ce système). Si les banque venaient à utiliser Linux dans leurs serveur…, ça deviendrait intéressant de voir ce qu’il se passe. Maintenant, personne ne m’enlevera qu’internet est la plus vaste poubelle numérique jamais réalisée, que même avec antivisrus, si vous n’êtes pas prudent, vous vous faites infester de saloperies. Et qu’un PC … raccordé au réseau aura du mal a vous garantir la confidentialité de vos données. Maintenant ça reste un outil formidable, à ces défauts prés… Concernant le piratage, je pense qu’il faut avoir l’ame d’un pirate (l’esprit ouvert à toute possibilitées, le sens du défi et le coté un peu pervers) pour écrire des bonnes protections logicielles… @ Chelya Ok sur votre dernier post, c’est un peu ce que disait lionnel aussi. Concernant l’interet du foisonnement de solutions diverses oui, mais à moment donné faut avoir une gestion +/- centralisée du probleme. Donc une faille. Autre faille, même foisonné sur plein de constructeurs, un fabricant qui vends 1million de machines à laver, ça fait 2GW de pilotable en même temps. Déja c’est beaucoup. Si on arrive a synchroniser l’arret de tous les onduleurs SMA d’europe en même temps, ça risque de faire bizzare aussi… Si les pirates se mettent à concourrir à celui qui provoquera le plus grand blackout, y a interet à ce que ce soit fiable, sinon ça risque de donner… Je me suis peut être mal exprimé, je ne dit pas que vous avez tord avec Lionel, mais je pense que votre voie est quand même plus dangeureuse et difficile à fiabiliser, sous toutes ses dimentions (fonctionnelle, sécuriataire…). @ Christiana: Merci de votre avis sur moi, vous avez peut être raison, mais vous pouvez développer vos arguments?

Lionel-fr

Même si ça me fait du mal de le reconnaitre , les buffers overflows ne sont possibles qu’en C/++ et en assembleur. Il suffit d’utiliser un langage de script ou de sécuriser les tailles d’informations en C(++) sur les variables locales. Car la pile est le seul endroit où cohabitent données et pointeur sur du code(l’adresse de retour de méthode), il suffit donc de déborder une string locale avec une donnée trop longue qui se termine par un pointeur sur code. Cette adresse devra quand même pointer dans du code malveillant dans la ram ce qui nécessite qu’un trojan soit déjà dans la place Mais cette mésaventure ne peut pas se produire en C# par exemple, ni en python pour autant que les runtimes soient sécurisés mais c’est assez souvent le cas désormais. L’autre méthode consiste à bannir les buffers locaux , et c’est quand même pas si difficile à faire !! Enfin, le parser de messages réseaux doit évaluer les syntaxes au byte près ce qui permet d’écrire des deamons de sécurité protocole indépendants du software embarqué (management d’équipe/sous-traitance) Néammoins Il faut reconnaitre qu’un “exploit” de hacker lui demande beaucoup de travail et même si des kits pour hackers avec toutes les failles répertoriées circulent sur le net, ça reste un travail de très haute couture. Il est quasi impensable de s’introduire sur plusieurs systèmes concurrents en même temps pour produire une saturation. On arrive maintenant à des complexités requiérant des moyens militaires, les hackers de haut vol sont rares , souvent en taule ou reconvertis en échange d’un aménagement de peine. Bref , non seulement il faut être riche mais il vaut mieux avoir des relations dans le système judiciaire.. Ca fait beaucoup de conditions à remplir PS : Les systèmes OSX, iOS, Android sont basés sur linux. Linux peut être vraiment bien protégé si on s’en donne la peine, il ne change rien d’avoir les droits sur un linux pour en pirater un autre..

Herve

Oui, ç’est clair que c’est certainement de moins en moins facile (dumoins pas à la portée du développeur même bon). Vous décriveez quelques methodes, mais l’art du piratage, c’est controurner les obstacles. Attaquer de front est souvent impossible, bien que certains y arrivent. Mais il y a souvent des chemins détournées,… de failles auquelles personne n’a pensé (personne sauf un…). Dans le cas de stuxnet, on est largement au niveau militaire… Contamination en série de plusieurs systèmes… Chapeau! Mais ça laisse quand même à penser que malges tout les systèmes propriétaires sont plus difficiles à casser. Biensur il y a toujours des failles. Il me semble qu’Android commencent aussi à avoir des soucis de virus. Finallement les virus informatique, c’est comme pour les pandémies biologiques, plus la cible est répendue, plus ça a de chances d’arriver! A+

Lionel-fr

Bon , christiana , c’est pas que vous soyiez complètement nul, c’est plutôt que vous êtes hautain, instable, que vous vous adressez aux gens avec des protocoles d’alcoolique, que vous harengez sans cesse Dans tous les secteurs de la vie, il vaut mieux avoir une base de contact friendly, ce qui donnerait un peu de sens à vos sautes d’humeur. En fait, vous êtes creux derriere votre façade d’ours En regardant wiki, j’ai constaté qu’OSX était basé sur BSD, Unix commercial passé dans le libre là où le vrai linux est un projet universitaire finlandais qui tournait sur atariST sous le nom de minix. Nous voilà édifiés , je suppose que c’était essentiel. Well, cela dit monsieur christiana, vous inspirez une confiance très très négative, vous savez qu’on peut consulter des professionnels quand on a trop de problèmes relationnels ? Maintenant pour modifier un pointeur sur fonction stocké dans le heap , vous faites comment ? Et à forciori pour l’appeler .?.. Sachez que si on peut exploiter les buffers overflow, c’est parce qu’il y a des “conventions d’appel” dans un compilo qu’on peut modifier en déclarant des constantes. Mais ces conventions se répecutent sur chaque fonction(ou subroutine, ou procedure) qui sont donc autant de points de vulnérabilité dans un programme et dont on connait la position exacte dans le bloc de code Or en désassemblant un code binaire, il est assez facile de voir quelle convention d’appel est utilisée et presque aussi facile de voir si un buffer local se trouve au sommet de la pile… Seulement voilà, je crois que tout le monde s’en fiche de savoir si vous savez debugger du c embarqué alors il faut essayer de synthétiser un peu. Le sujet est le buffer overflow vous vous rappelez ? à quelle heure vous commencez à biberonner? vous savez que ça aussi ça se traite

Herve

@ Cristiana (mardi 03:09:08): “Non, pas chapeau. Ils se sont vautrés.” et plus loin: “Au contraire, le système propriétaire de Siemens n’a opposé aucune résistance. Quels nuls!!!!” Vous semblez dire une chose et son contraire. Sérieusement, a moins que vous ayez des conaissances bien placées en Iran dur dur de savoir ce que l’attaque a réellement donné? Probablement pas grand chose mais difficile de savoir ce qui c’est passé

Herve

“- D’un coté des systèmes attaqués quotidiennement administrés par des gens ayant votre niveau de compétence (c’est à dire aucune) qui résistent pas trop mal – de l’autre des systèmes manipulés par des techniciens de haut niveau quasi-JAMAIS attaqués qui s’effondrent à la première attaque. C’est clair comme ça?” ————————————————————————————— Vous avez peut être raison, je n’ai aucune compétances, par contre je vends des milliers de systèmes chaque jour qui à ce jour ne semblent pas avoir été piratés. Le logiciels PC, serveurs… sont conçu par des gens bien plus brillants que moi, c’est certain, ils font des bijoux techniques. Pour vous répondre, ce qui est clair, vu les problemes recurrents de sécurité passoires, vol de n° de CB et infestations diverses… c’est qu’ils ne semblent pas toujours suffisamment brillants pour exercer la mission qui leur est confiée (à moins que ce ne soit la mission qui est impossible…)

Herve

“Liaison descendante plus violente” = débit nettement supérieur aux 0.4bauds de pulsadis avec quelques possibilitées en plus (trop long à lister) (et sans vouloir critiquer pulsadis qui a rempli sa mission depuis environ 40ans sans trop de soucis de fiabilité ni de piratage… on verra si la relève en fera autant!) Une carte à puce peut être utilisée pour plein de choses dont la sécurité des communications. Son interêt pour cette fonction est de pouvoir faire facilement une mise à niveau majeure d’un produit communicant en cas d’obscolecence d’un algo de sécurité (remplacement du dispositif de chiffrage) sans avoir a remplacer l’appareil entier (par exemple le compteur électrique lorsque il est communiquant).On peut même faire l’opération par le client, inutile de se déplacer. C’est trés utilisé dans pas mal de configs à cette fin (Décodeur TV…). Bien sur la présence de la carte à puce ne garantit rien si le reste du système présente des failles qui permettent un contournement. Un certain “Kudelski” en a fait les frais il y a une quinzaine d’années… Et bien d’autres aprés lui…

Herve

“Vous pouvez la boucler?” Un peu léger comme argumentaire.

Lionel-fr

Il faut pas répondre aux mecs bourrés hervé, comme disait mon père, ils ont eu leur chance mais ils se sont assis dessus Avec son nickname de greluche c’est un mec sans importance. Croyez moi , ne lui répondez plus jamais, sous aucun prétexte

Sicetaitsimple

d’intervenir modestement sur un sujet qui m’est inconnu, je pense que sur ce dernier post Lionel a raison….(sur le fait de ne pas répondre) Sur ses posts précédents, je ne sais pas. Mais comme quoi on peut être ponctuellement d’accord!

Sicetaitsimple

C’est-à-dire que comme vous êtes tellement peu convaincant et tellement désagréable quand vous intervenez sur des sujets “energie” que j’ai quelques doutes sur le reste… Maintenant, j’imagine ( mais je n’y connais rien encore une fois) qu’il doit y avoir des forums spécialisés “cybersécurité”. Allez donc y exercer vos talents. First and last call.

Herve

Le mieux est de regarder chez les pros du domaine: Sinon liste de virus pour Linux:

Herve

@ Christiana: Je suis d’accord avec votre post sur les cartes et sur la vulnérabilité due a la reprogrammation a distance Dans le cas d’un compteur il est aussi possible d’obliger physiquement les données à passer dans la carte, et que ce soit elle qui crypte, (ça peut se faire par le hardware) ce qui la rend incontournable. C’est particulièrement intéressant car je ne pense pas qu’ERDF ait planifié de remplacer l’ensemble des compteurs chaque 8 ans comme on se le permet avec les systèmes informatiques. Je ne suis pas convaicu qu’un système de sécurité conçu maintenant soit toujours incassable dans 15,20,30ans . D’où l’interet de rendre ce dispositif interchangeable… donc l’interet d’une carte…

Lionel-fr

Le maniaque auquel vous posez la question ne peut pas avoir d’avis pertinent car fâché avec la terre entière, il passe sa vie à se trouver beau. Posez lui plutôt des questions qui flattent clairement son narcissisme plutôt que le faire sans vous en rendre compte. Ce que vous proposez n’est ni vrai ni faux, si le micro-hardware sérigraphié était la solution à tous les problèmes , on le ferait, les composants portes logiques ou asics sont faits pour ça. Ce n’est pas vraiment du micro-code mais dans le cas des asics, ça coute vraiment cher. Le truc, c’est que soit on s’en fout et on trouve que tout marche pas si mal, soit on se fait une parano et on ne peut que constater l’ampleur des exploits. Reste que stuxnet n’était pas un si bon exemple ou plutôt les vulnérabilités qu’il a révélées étaient sinon documentées, elles ne relevaient pas de l’incroyable. C’est leur nombre et la cohésion de l’attaque qui a surpris. Le patch tuesday de microsoft corrige de très nombreuses failles du même type. une fois par mois. Mais il faut voir les moyens déployés par l’éditeur pour rassembler l’information par le canal légal. C’est titanesque. Comme stuxnet a exploité trois failles non-encore-documentées chez l’éditeur qui pourtant ne ménage pas sa peine, on en a déduit que les moyens mis en oeuvre étaient comparables voire qu’une partie des infos du canal légal avaient été subtilisées pour servir de “backdoor” C’est probablement une partie de l’énigme mais à ce jour, on ne peut pas l’affirmer avec certitude. Le software ne pose pas plus de problèmes que le hard et il peut être mis à jour facilement. Si vous voulez éviter un max d’ennuis, programmez en python, C#, même basic ou java. Les runtimes bénéficient de budgets astronomiques pour leur sécurité et les failles inhérentes du C/++ n’y existent pas car ils ont une gestion de la mémoire par garbage collection (GC) , pas de pointeurs natifs mais des références typées et une gestion mémoire Marshal(ée). Toute cette gestion provient entièrement du vieux langage basic d’ailleurs mais personne ne vous le dira car basic n’a jamais eu la cote auprès des universitaires. Ah ! j’allais oublier, les languages à GC n’autorisent généralement pas l’assembleur en ligne , contrairement au C , enfin ils utilisent un système dynamique d’édition des liens vers le système ou vers des librairies tierces. Le C/++ edite les liens une fois pour toutes à la compil. Tout ça est très bien mais alors pourquoi le C est-il toujours le langage le plus employé au monde ? Parce qu’il permet d’atteindre des vitesses d’executions sans équivalent. L’avantage de l’absence de sécurité, c’est que vous pouvez initialiser des milliers de variables en une seule instrucion memset, vous pouvez faire cohabiter des structures différentes au mêmes emplacement mémoires(UNION), faire des champs de bits qui permettent de créer des variables de 1, 2, 3… 63 bits… and so on…. L’optimisation des perfs rivalise avec l’assembleur. Le C c’est la liberté et la vitesse. Mais coté sécurité, c’est une montagne d’emmerdes. Sachez enfin que tous les OS et les grands logiciels sont écrits en C/++ y compris celui que vous utilisez et vous pouvez même voir les sources de Chrome (chromium) et firefox , y compris les parsers de code HTML, javascript.. Je ne vous conseille pas de le faire, les grands projets internationaux multiplateformes sont très durs à lire mais l’arbitrage entre le langage C/++ mal sécurisé et les langages à GC mieux sécurisés se sont presque toujours faits en faveur du premier. C’est peut-être ça qui va changer dans un premier temps sous l’impulsion anglo américaine. Le hard à ce niveau est tellement cher qu’il me semble impossible de le justifier pour une simple question de performance CPU. Il suffit de monter un peu en gamme et de changer d’architecture. C’est exactement ce que font les téléphones mobiles et les tablettes. C’est plutôt de ce coté là que les choses bougent beaucoup

Lionel-fr

il y a une exception à ce que j’ai dit plus haut sur la différence entre le C statique et les lagages à GC dynamique et c’est un projet français que j’utilise quotidiennement : Si Enerzine m’autorise à lui faire cette pub, il ne roule pâs sur l’or et c’est un génie méconnu qui ne doit sa survie qu’à l’allemagne et la russie : Dans ce langage vous allez aussi vite que le C et vous avez une GC, un excellent et très documenté assembleur en ligne qui vous autorise l’utilisation des variables basic, fonctionne sur les trois grands OS (mais pas android) … Tous mes petits projets desktop sont écrits avec lui ou sharpdevelop , C# open source, il fait régulièrement paniquer mon anti-virus mais c’est uniquement parce qu’il est quasi inconnu… Pas de runtime, pas de setup, programmes plus petits que minGW , souvent plus rapides aussi Aidez le … c’est un grand artiste

Lionel-fr

sur l’étendue de l’incompétence de l’australopitèque : Tous les basics depuis les années 80 supportent les peek et les poke , c’est même ce qui a popularisé ces mots dans le langage courant américain. Peek et poke prennent des pointeurs en paramètre. Mais on s’en fiche de tout ça, au départ il n’y avait que le basic sur les petites machines pour faire des loaders de code machine Les champs de bits ne sont des conneries que lorsque vous les utilisez mal . Quant à dire qu’ils sont ineficaces, c’est simplement déplacé, présomptueux et stupide, j’en ai des centaines à gérer, et c’est nettement plus lisible que des kilomètres de or/and/not et des shifts Bon finalement le gars n’a jamais touché un compilo C , il ignore tout du process de link (un de ses principes fondateurs de C inséparable de ce langage, même aujourd’hui) tout simplement parce qu’il n’existait pas encore de librairies dynamiques : (le C a été créé pour écrire unix et pas l’inverse) Finalement ce mec est encore plus creux que je pensais, ne touche pas une ligne de code, juste un wikipédien forcenné de la touche caractère gras. Pourquoi propager autant d’ignorance sur un sujet sérieux où de nombreux professionnels possèdent les compétences qu”il n’a pas ? Actuellement je suis classé numero 1 en intelligence artificielle sur un open challenge international question : pourquoi ne pas régler ça à la loyale sur un concours de code ?

Herve

Bonjour Lionel Lorsque j’ai écrit “combinatoire” j’ai poussé a l’extrême pour qu’on comprenne mieux le sens de ce que je voulais dire, je voulais dire “en dur” mais ça peut être fait en sequentiel par un CPU. Y a pas mal de choses qui sont trés bien sécurisées avec des microcontrolleurs. C’est par opposition au concept d’ordinateur qui lui peut gober +/- “facilement” un programe virollé. Pour moi la sécurité est proportionnelle au produit de plusieurs facteurs: – L’inaccessibilité physique du dispositif (réseau indépendant, systeme dédié…) – Le secret sur la conception (c’est plus facile de craquer quand on a le code souce que quand on n’a même pas idée de ce qui passe dans le tuyau…) – La fiabilité des dispositifs de sécurité mis en oeuvre (AES…) – Celui qui les implante doit être bon… – Et bien sur essayer de rester lisible, les usines à gaz c’est toujours difficile a debugger et ça ouvre des failles! Chacun de ces points emmene une sécurité supplementaire , proportionnelle à la rigueur avec laquelle elle est traitée. Il n’est pas necessaire des les avoir toutes (a la limite un seul suffit) mais c’est quand même mieux. Pour finir ce que je voulais dire, c’est que les equipements des Smartgrid auront une durée de vie importante, mieux vaut mettre toutes les chances du bon coté! Concernant purebasic, j’ai jetté un oeuil, ça m’interesse d’autant plus que j’ai fait mes premieres armes sur un environnement basic quand j’étais gamin (MSXV20). Actuellement je bidouille encore en VB pour faire les interfaces PC … Moi j’aime bien c’est un peu puissant et facile à écrire (pour ce que je fais car je ne suis pas informaticien). Je ne sais pas exactement comment se situe purebasic vis a vis de VB. L’interet pour moi serait qu’il est multiplateforme. Faudra que je regarde plus en détail. Le basic d’origine était assez agréable à écrire et à lire pour des tout petit softs(en gros on ecrit ce qu’on veut en anglais et ça marche… je plaisante!). Mais quand le soft devenait important, c’est du spaguetti. Ce qui l’a aussi desservi, c’est qu’il était interprété à 100% (à l’epoque) ça fonctionnait comme un automate programmable. En plus il y a parfois des comportement étranges qui sont assez penibles (Gestion du signe dans des expressions hexa par ex., quand on connais pas ça fait quelques bugs memorables) Sur VB, ils ont ajouté ce qui lui manquait et bien plus. Moi j’aime bien. Et ça me suffit pour le peu que je fait. Entiérement d’accord sur le C. Java tout ça c’est bien, mais des fois je me dit “comment arrivent-ils à faire un truc aussi lent alors que ça tourne sur des machines aussi rapides” ! A+

Lionel-fr

Salut Hervé, Ca me fait plaisir d’entendre du bien de purebasic, c’est assez difficile de trouver des supporters chez les jeunes qui n’ont pas connu l’heure de gloire du basic (souvent d’origine microsoft d’ailleurs) Purebasic est aussi génial qu’il en a l’air, j’ai écrit du traitement de signal dessus, il calcule les FFT plus vite que la librairie du MIT en C , y compris FFTW (fastest fourier transform in the west) , libraire ultra optimisée qui prend une seule taille de fenêtre FFT et des constantes partout pour gagner quelques cycles… Cela dit , je fais mon DSP en OpenCL désormais avec des vitesses x200 sur GPU. Il a toutes les facilités du basic , sauf l’interpréteur mais c’est largement compensé par la qualité de son debugger J’avoue que je fais surtout du batch amélioré dessus mais j’ai quand même écrit un séquencer midi graphique d’environ 50Klignes et il ne cesse de m’épater par sa vitesse. Son génial papa s’appelle Fred ou AlphaSnd sur les forums très fournis avec une communauté très fidèle.. C’est un professionnel du firmware assembleur, qui préfère gagner un smic avec son bébé que requiner dans les SSII … c’est pourquoi la partie assembleur est aussi développée : le compilo lui-même est en assembleur mais Fred se mord un peu les doigts de ce choix aujourd’hui car le portage vers de nouveaux CPU (ARM) est un enfer.. Il cartonne surtout chez les développeurs de jeux et possèdes des librairies 3D très complètes (OGRE) Mais la 2D est vraiment très bien gérée aussi, évidemment triple buffer synchrone avec le balayage écran… si vous vous inscrivez, faites moi signe..

Herve

“Vous mettez donc toute la sécurité dans la carte, donc en retirant la carte on retire la sécurité!” Non il est préferrable de sécuriser la liaison carte compteur, mais ça n’a pas besoin d’être trés fiable, j’y reviendrait à la fin: Si vous retirez la carte, vous n’avez plus de com descendante entre les serveurs ERDF et le compteur – > au bout d’un moment, le compteur qui n’arrive plus a communiquer avec la carte disjoncte et ERDF s’en apercoivent aussi car ils ne peuvent plus eux non plus communiquer avec la carte. Le seul risque serait que le client utilise une carte pirate (on suppose que la sécurité carte compteur est cassée), mais dans ce cas il y a deux possibilitées: – Soit la carte n’emule pas bien les techniques de cryptages entre le serveur ERDF et elle même, elle se fait découvrir – Soit elle émule parfaitement la vraie carte et dans ce cas, la carte est piratée à 100%, si ce cas se géneralise ERDF finiront par s’en apercevoir et changeront leurs cartes (c’est justement le but des cartes, il n’y a que ça a changer). Si la carte fait barrierre total contre ce qui arrive de l’extérieur, on n’est pas a ce stade totalement sécurisé sur la partie carte-compteur: Si cette partie de sécurité (qui n’est pas interchangeable en replaçant la carte) devait tomber, un pirate pourrait en effet intercaler entre la partie compteur et la partie carte officielle un dispositif pirate qui modifierais les échanges pour par exemple s’augmenter son abonnement… sans que la carte officielle en soit informée (cela suppose bien entendu que le dialogue carte compteur est cassé). Pour s’en, proteger, il y a une astuce trés simple, c’est que la liaison Compteur – > serveur ERDF ne passe pas dans la carte officielle, la carte ne fera que founir du pseudo aleatoire au compteur qu’on XORE avec les data utiles, ainsi le compteur peut remonter ses infos vers ERDF sans que la carte pirate ne puisse correctement les modifier. Si l’abonnement a été modifié, ERDF s’en apercoivent forcément en comparant le retour du compteur avec ce qu’ils lui ont demandé. Dans cette config, vous pouvez garantir que le remplacement de la carte est suffisant pour rétablir la sécurité du système. A+

christiana

“Les champs de bits ne sont des conneries que lorsque vous les utilisez mal . ” Comment les utiliser “bien”?

Herve

A quand même, oui ça a l’air pas mal. J’ai peu d’experience en fft, j’en avait implanté une petite en assembleur sur un AVR en 8 bits (128points seulement). Je sais qu’il y a une technique qui permet de faire du rolling pour éviter de tout recalculer quand on a un nouveau lot de samples. Sinon vous avez aussi d’autres techniques comme l’ARMA qui sont parfois plus adaptées. Moi, vous savez j’ai un niveau assez faible, je ne comprends pas tout ce que vous ecrivez. Purebasic se situe comment entre l’ancien basic (disons QB) et VB? C’est convivial comme VB pour faire les interfaces utilisateur? Y a t il des restrictions importantes? Faudra que je regarde. S’il est bien c’est vraiement pas cher. Si j’ai bien compris ce que vous avez écrit, il a fait le compilo en assembleur?! ça doit pas trainer quand on clique sur make! (C’est effectivement un peu abuser quand même, qu’il pisse de l’assembleur, oui bien sur, mais le compilo en assembleur, là, c’est de l’art!). Mais à la limite, c’est pas bien grave, quel interet de le faire tourner sur un ARM, vous développez sur PC. L’important c’est qu’il puisse faire du code ARM, on peut s’accomoder qu’il ne tourne pas dessus. On est un peu (en fait carrément) HSujet la dessus, ok , faudra qu’on trouve moyen de se contacter A+

Lionel-fr

On n’est pas si hors-sujet que ça. Vous connaissez les développeurs, ils parlent peu pour éviter les ennuis, et en sécurité, c’est encore pire : la niveau de secret tourne au tabou malsain et il faut souvent “mettre les pieds dans le plat” c’est une chose que j’ai toujours su faire historiquement parlant La majeure partie des questions de sécurité n’a rien à faire sur un forum, qu’on y traite d’énergie ou de computers n’y change rien. Comme souvent dans cette activité, il faut accepter les devinettes et pratiquer pour comprendre. Dans cette optique , PB est une référence plutôt intéressante. PB n’a pas la fenêtre d’execution de VB, comme je me sers souvent de cette fenetre aussi pour tester des valeurs géométriques, j’utilise le VBA d’office qui est un clone parfait de VB6. PB compense l’absence d’intepreteur par une facilité déconcertante à créer un nouveau programme de 2-3 lignes en cliquant simplement sur “nouvel onglet”, les sorties sont alors dirigées vers une fenêtre de debug, ou encore plus simple, vous mettez un point d’arret et vous survolez une variable à la souris pour en voir le contenu dans une bulle(comme VB d’ailleurs) Pour faire des forms, il y a un éditeur graphique comme VB mais qui génère du code à intégrer au programme. C’est moins bien fini que l’univers MS mais assez simple à comprendre. Le multiplateformes complique un peu tout puisque les controles doivent être disponibles dans chaque “monde” C’est la même chose avec dotnet qui utilise GTK+ (gimp tool kit) pour les sorties Linux alors que win a l’excellent GDI qui fait tout son succès mais n’offre aucune portabilité. Idem en 3D : DirectX est plus beau qu’OpenGL , vous avez le choix mais la magie MS opère souvent… on renonce alors à la portabilité hors windows et le résultat est très beau. Vous pouvez tester la version gratuite qui est très fonctionnelle. Moi comme j’ai l’applomb de gagner ma vie en l’utilisant je lui fais des donations chaque année.. @ Christiana : les bitfields sont surtout utiles pour les vieux protocoles RS232 synchrones, il permet de rendre ce genre de code facile à comprendre alors que sinon vous devez gérer les bits de synchro avec des OR Quand les commandes sont mélangées au protocole ce qui est toujours le cas, votre code se couvre d’opérateurs binaires et de constantes, et le tout est souvent encapsulé dans des fonctions appelées via leur pointeur (algoritme du parser incontounable dans les telecoms) bref de gros pavés de code bien denses et bien noirs … utilisez les bitfields et vous vous retrouvez avec du code clair et aéré, voilà

Herve

J’ai installé la démo, dans les grandes lignes, ça me plait même si je suis assez “dépaysé”. Il y a quand même pas mal de trucs qui ne semblent pas fonctionner pareil qu’en basic. Il faudra que j’y passe plus de temps pour voir si je m’accoutume de la bête. J’ai fait tourner quelques démos, il peut faire pas mal de choses. ” et il faut souvent “mettre les pieds dans le plat” c’est une chose que j’ai toujours su faire historiquement parlant” A vrai dire on s’en doutait un peu lorsque on vous lit régulièrement! Je crois qu’on n’a pas la même définition de l’interpreteur, mais peu importe, je vois ce que vous voulez dire. Pour info, on utilise nous aussi les “bitfield” en C, dans un environnement micro, c’est effectivement trés commode. A+

Lionel-fr

Cette discussion sur les bitfields est d’autant plus anecdotique que j’utilise les opérateurs binaires lorsque je suis l’auteur du code. Mais voilà, contrairement à l’olibrius, je ne travaille pas au fond d’un trou, j’ai actuellement 2 millions de lignes de code en maintenance dont les plus anciens remontent aux années 70 .. Alors puisqu’on on a décidé de discuter le bout de bit, je dirais que les compilateurs forcent les alignements en mémoire sur la taille d’un mot (généralement la largeur du bus 16, 32, 64bits) mais que les programmes professionnels tiennent compte des largeurs de mot et même du compilo utilisé : c’est difficile de parler de ça avec un débutant qui se prend pour un codeur aguérri Les structures sensibles sont toujours alignées et leur taille fait toujours un mot. D’autre part, la performance des opérations binaires est actuellement trop anecdotique pour que ça intéresse quelqu’un , entre une microseconde et 2 microsecondes, tout le monde s’en tape ! Enfin , sur les forums, on sensibilise les débutants aux questions de sécurité : passwords, phishing.. mais il est évident que les pros ne partagent leurs infos que lorsqu’ils savent à qui ils s’adressent. Ecrire ça en forum, c’est comme le gueuler au porte voix dans les transports en commun, la plupart des gens s’en fichent, et les rares que ça intéresse ne risquent pas d’oublier que la source d’info est non-fiable, voire suspecte Mais si le coeur vous en dit , n’hésitez pas à nous hurler quelques failles ou exploits de votre cru, on voit bien que vous piaffez d’envie de tromper votre solitude. Les grands dépressifs agoraphobes, ont toujours des comprtements maladroits en public, c’est même à ça qu’on les reconnait

Lionel-fr

la normalisation, c’est les grandes conférences où on peut dormir sous le ronron du conférencier ? ouais.. je suis aller buller à l’iso dans ma prime jeunesse, et j’en ai déduit que je préfère dormir dans un lit ! En regardant de plus près les champs de bits réellement utilisés et non pas ceux que vous avez révé , malgré la bonne dizaine de (cross)compilos, il n’y a aucune surprise dans la représentation mémoire, encore une fois, ils sont alignés et sizés sur un mot. Dans 2 cas sur 11 , il y a une compilation conditionnelle mais c’est à cause des vieux compilos 16bits Ce que vous dites n’a donc aucun sens dans le monde réel. Et non ! l’optimisation n’a rien à voir avec l’usage des champs de bits, encore une fois , leur utilisation est liée au hardware. En général , très ancien J’ai bien fait de l’optimisation binaire voici bien longtemps où un entier unique permettait de nombreux tests avec un seul if mais c’était sur 6809. Vous ne devez pas être jeune vous.. Durant les 90’s , les chips ont atteint le GHz, sans compter la mémoire qui à multiplié par 10 000 au moins … Le truc , c’est que les très vieux gars de votre génération ont été mis sur la touche parce qu’ils se prenaient pour Dennis Ritchie, alors qu’ils n’en avaient pas l’étoffe, ni la simplicité, ni la bonté J’espère au moins que vous avez participé au C99 qui autorise les déclarations à la volée. Même si les petits compilos ne sont pas “compliant” , je trouve ça plutôt pratique, mais vu que vous êtes très à cheval sur les mauvaise traductions françaises genre “chiffrement” ou “champs de bit”, je suppose que c’était plutôt sur ces ridicules traductions … Pour votre gouverne, l’optimisation binaire est probablement contre-productive à notre époque car les CPU récents sont plus rapides que leur bus mémoire et seul le cache permet de stocker des données à la fréquence processeur, mais c’est hautement imprévisible en termes de perf. En d’autres termes, l’usage des données de taille inférieure à celle d’un mot ne va pas faire gagner un seul sycle de bus dans la majorité des cas. Il y a plusieurs cycles cpu dans un cycle de bus à notre époque papi Il n’y a guère que les arbres binaires type Huffmann (algoritmes de compression zip, rar, ..) qui aient encore affaire à du binaire, non aligné sur des mots. Tous les programmes récents stockent leurs booléens sur un mot, c’est rendu obligatoire par les librairies d’exécution qui sont elles mêmes très utile pour … la sécurité justement ! La sécurité à notre époque , c’est déjà d’adopter les mesures de sécurité conseillées par les constructeurs, or ça demande généralement quelques sacrifices au niveau du code. Bon je ne vais pas répondre à vos insultes qui en disent plutôt long sur vous, donc vous ne codez pas.. effectivement l’avis d’un gars qui sait tout mais ne code pas est sans intéret pour moi

Herve

Extrait de cours (un peu ancien) pour savoir ce qu’est un cycle CPU: Il est vrai que sur les CPU Modernes (“modernes” au sens de Lionnel, soit 20 ans pour les PC, station,… mais relativement récents pour de l’embarqué), la présence de pipeline(s) et de l’architecture Harvard ont tendence à faire confondre le cycle et l’exécution d’une instruction. Mais la notion de cycle reste d’actualité, meme aujourd’hui.

Lionel-fr

Dans les faits, le cycle cpu a a deux justifications : 1. c’est l’unité de mesure de la vitesse d’execution d’une instruction, exprimé en cycle cpu depuis toujours , ou du moins depuis que je fais ce job. Comme les cores des cpu récents sont une copie quasi conforme d’un cpu plus ancien : par ex : un core i5 contient 4 pentium’s dont la vitesse d’horloge est variable, idem pour un core i7 mais l’hyper threading double le nombre de coeurs logiques 2. concrétement, le cycle cpu définit la période durant laquelle lune donnée est disponible sur un canal, cette notion n’a pas d’intéret pour le développeur mais elle est très importante pour le hardware Entre la fréquence de bus et celle du cpu, il y a un coefficient d’horloge qui est utilisé par le diviseur pour séquencer les deux composants. ce composant (le diviseur) est à la base de systèmes très haut de gamme par ailleurs, c’est vraiment la clé vers les périodes nanométriques Dans le milieu pc , ça n’existe que depuis début 90 , et encore , sur architecture motorola 68k, c’est arrivé sur intel 4 ou 5 ans plus tard