problèmes de sécurité avec le logiciel
DESCRIPTION
Problèmes de sécurité avec le logiciel. Novembre 2007. Sécurité informatique. L’utilisation de microcontrôleurs (ou DSP), comme tout autre équipements programmés, introduit un risque qu’il est difficile de quantifier. - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/1.jpg)
Problèmes de sécurité avec le logiciel
Novembre 2007
![Page 2: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/2.jpg)
Sécurité informatique
L’utilisation de microcontrôleurs (ou DSP), comme tout autre équipements programmés, introduit un risque qu’il est difficile de quantifier.
Il est plus facile de faire une analyse de risque avec un système uniquement matériel (pas de logiciel).
![Page 3: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/3.jpg)
Défaillance des missiles Patriot
25 février 1991, guerre du Golfe, part I;28 morts suite à la non interception d’un
missile Scud !Ou était le bogue ?
Exemple
![Page 4: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/4.jpg)
Défaillance des missiles Patriot
Horloge interne du système Patriot. L’horloge interne additionnait à chaque 0.1 sec.
1/10. 1/10 exige en base 2 un nombre infini de
décimales. 0.00011001100110011001100110011001100…
Donc, à chaque 10e de seconde, l’erreur est de : 0.00000000000000000000000110011001100…
![Page 5: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/5.jpg)
Défaillance des missiles Patriot
Correspond à 0.000000095 seconde !
Semble négligeable, mais après 100 heures d’attente, cela devient:0.000000095×100×60×60×10=0.34
seconde
Vitesse d’un missile Scud = 1676 m/s.
L’interception du missile est raté par ½ km !
![Page 6: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/6.jpg)
Défaillance de la fusée Ariane 5
4 juin 1996;Premier lancement;Explosion de la fusée 40 secondes après le
lancement;Coût de recherche/développement de la
fusée:7 milliards
Perte de 500 M$ au lancement.
Exemple
![Page 7: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/7.jpg)
Système instable
Une fusée est un système instable.Tellement qu’un
ordinateur performant est nécessaire pour permettre à la fusée de suivre sa trajectoire.
![Page 8: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/8.jpg)
Système instable
La centrale inertielle mesure les vitesses et accélérations angulaires de la fusée.
L’ordinateur central a un algorithme de contrôle pour assurer le suivit de la trajectoire et la stabilité.
![Page 9: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/9.jpg)
Système instable
Il commande l’orientation des tuyères de la fusée.
Par sa dynamique, la fusée réagit aux poussées et orientations des tuyères.
![Page 10: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/10.jpg)
Système instable
L’histoire de l’astronautique montre que ça se passe généralement bien.
Du moins, si le software n’a pas de bug !!!
![Page 11: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/11.jpg)
Où est le bug ?
La centrale inertielle travaille sur un nombre en virgule flottante de 64 bits.
Une routine fait la convertion ce nombre en un entier sur 16 bits.
Ça fonctionnait bien sur l’Ariane 4.Donc, inutile de tester, réutilisons le même code.Mais, l’Ariane 5 est une plus grosse fusée
impliquant de plus grandes accélérations.
![Page 12: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/12.jpg)
Où est le bug ?
Il s’est produit une erreur dans la routine, car 16 bits n’étaient pas suffisants.
Cette erreur a entrainé un arrêt de la centrale inertielle.
Heureusement, il y a une seconde centrale inertielle en backup !!!Mais, elle utilise le même code.Elle subit donc le même sort que la
première.
![Page 13: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/13.jpg)
Un malheur n’arrive jamais seul
Le hardware des deux centrales inertielles envoie un rapport d’erreur à l’ordinateur central.Ce rapport est interprété, par l’ordinateur
central, comme des données valides, bien qu’extrêmes.
Résultat, les tuyères sont subitement commandées à leur angle maximal.
![Page 14: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/14.jpg)
Trop de contraintes
Le fuselage de la fusée a alors changé brusquement de direction et des contraintes indues se sont produites. Il n’était pas conçu pour supporter ce niveau
de contraintes.Le fuselage s’est brisé et la fusée à
explosée.
![Page 15: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/15.jpg)
Leçons tirées
Toujours vérifier si les données reçues sont valides.« Sanity check ».
Les concepteurs d’Ariane ont assumés que les erreurs ne peuvent provenir que du « hardware ». Il peut y en avoir dans le logiciel aussi !
![Page 16: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/16.jpg)
Leçons tirées
Même si cette routine fonctionnait avec Ariane 4, elle aurait du être testée dans les conditions d’accélération que pouvait occasionner Ariane 5.On aurait alors découvert cette erreur.
Comment se fait-il qu’un rapport d’erreur a été considéré comme des mesures valides ?
![Page 17: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/17.jpg)
Crash du réseau d’AT&T
Le 15 janvier 1990, le réseau d’AT&T s’effondre totalement.
Un nouveau logiciel avait été installé à la mi-décembre dans la totalité de ses commutateurs 4ESS.La défaillance d’un commutateur à New
York va révéler une faille de ce logiciel.
Source: http://www.phworld.org/history/attcrash.htm
Exemple
![Page 18: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/18.jpg)
Commutateur 4ESS
Source image: http://farm3.staticflickr.com/2039/1814566041_01332ebc5e.jpg
![Page 19: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/19.jpg)
Crash du réseau d’AT&T
Problème technique
Réinitialisation de 6 secondes
Bloquer nouveaux appels
B note que A ne traite plus d’appels
![Page 20: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/20.jpg)
Crash du réseau d’AT&T
Recommence à traiter des
appels
1er appel traité
B se réinitialise suite au retour de
A
![Page 21: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/21.jpg)
Crash du réseau d’AT&T
2e appel
Réinitialisation non terminée
![Page 22: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/22.jpg)
Crash du réseau d’AT&T
2e appel
Le message de A perturbe le logiciel
B conclut que son processeur est viré « fou »
B arrête son processeur
![Page 23: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/23.jpg)
Crash du réseau d’AT&T
Réinitialisation de 6 secondes
Bloquer nouveaux appels
Bloquer nouveaux appels
C note que B ne traite plus d’appels
A note que B ne traite plus d’appels
![Page 24: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/24.jpg)
Crash du réseau d’AT&T
Recommence à traiter des
appels
1er appel traité
1er appel traité
A se réinitialise suite au retour de
B
C se réinitialise suite au retour de
B
![Page 25: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/25.jpg)
Crash du réseau d’AT&T
Recommence à traiter des
appels
2e appel traité
2e appel traité
Le message de B perturbe le logiciel
A conclut que son processeur est viré « fou »
A arrête son processeur
Le message de B perturbe le logiciel
C conclut que son processeur est viré « fou »
C arrête son processeur
![Page 26: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/26.jpg)
Crash du réseau d’AT&T
Et le problème s’est répandu comme une trainée de poudre à l’ensemble du réseau.
Si le second appel était arrivé après la période d’initialisation du commutateur, tout aurait bien fonctionné.Mais, la loi de Murphy s’applique ici.
![Page 27: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/27.jpg)
Black out du 14 août 2003
Nord-est des États-Unis + Ontario
Welcome to Toronto
Exemple
![Page 28: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/28.jpg)
Black out du 14 août 2003
Plus grand black out de l’histoire de l’Amérique du Nord.
Parmi les conséquences:A affecté 50 millions de personnes.Pertes financières de 10 G$.Défaite du gouvernement ontarien à
l’automne 2003.
![Page 29: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/29.jpg)
Séquence des événements
12h15Des données incorrectes rendent un
système de diagnostic non-fonctionnel en Ohio.
L’estimateur d’état du MISO génère de mauvaises données.
Aide les opérateurs à gérer le réseauUne ligne 230 kV hors service fausse les
données car le MISO SE assume qu’elle est en service.
![Page 30: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/30.jpg)
Séquence des événements
13h31La centrale Eastlake en Ohio s’arrête.
![Page 31: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/31.jpg)
Séquence des événements
14h02Défaillance d’une ligne 345 kV à cause d’un
arbre à Walton Hill en Ohio.A ce point pas de problèmes si le soft suit.
Mais la loi de Murphy va s’appliquer ici .
![Page 32: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/32.jpg)
Séquence des événements
14h14: Une condition de course entre des portions
de logiciel corrompt les données.Cela aura de graves conséquences, car les
opérateurs de la salle de contrôle du réseau électrique de l’Ohio ne recevront bientôt plus aucun signal d’alarme!
Ce problème surgit au pire moment…
![Page 33: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/33.jpg)
Séquence des événements
14h27Un second arbre entraîne la défaillance
d’une autre ligne de 345 kV.Les opérateurs ne voient rien sur leur
écrans.La ligne se réenclenche.
![Page 34: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/34.jpg)
Séquence des événements
Grosse erreur des opérateurs:À 14h32, un opérateur d’un autre réseau
averti les opérateurs en Ohio qu’une ligne s’est déconnectée puis s’est rebranchée.
Ces derniers n’ont rien vu, leur système de gestion des alarmes est corrompu.
Ce premier signe d’un problème n’a pas été pris en compte !!!
![Page 35: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/35.jpg)
Séquence des événements
14h41Le serveur en charge des alarmes entre en
« shutdown ». Mise en marche du système de secours (gestion des alarmes).
14h54: Défaillance de ce système. On tente de le
redémarrer, mais en vain.
![Page 36: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/36.jpg)
Séquence des événements
15h05: Un autre arbre entraîne la défaillance d’une ligne 345 kV à Parma.
![Page 37: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/37.jpg)
Séquence des événements
15h08: Redémarrage du serveur de gestion des
alarmes. Les opérateurs pensent avoir un système opérationnel ! Ce n’est pas le cas.
La perte de la ligne de Parma n’étant pas signalée, ils ne peuvent la corriger.
![Page 38: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/38.jpg)
Séquence des événements
15h17Baisse de tension sur le réseau électrique
en Ohio. Les opérateurs ne font rien.
![Page 39: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/39.jpg)
Séquence des événements
15h17Baisse de tension sur le réseau électrique
en Ohio. Les opérateurs ne font rien.
![Page 40: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/40.jpg)
Séquence des événements
15h19Le téléphone sonne à nouveau. Un
opérateur d’un réseau voisin annonce qu’une ligne est en probablement en défaillance (voir 15h05). Mais les opérateurs en Ohio indiquent que tout est normal. Sauf que leurs données sont fausses…
![Page 41: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/41.jpg)
Séquence des événements
15h32 A cause des transferts de puissance une
ligne de 345 kV entre en oscillation et touche un arbre.
1200 MVA de puissance doit passer ailleurs.
![Page 42: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/42.jpg)
Séquence des événements
15h35Le téléphone sonne encore. On commence
enfin à comprendre que ça ne va pas.15h39
Perte d’une ligne de 138 kV en Ohio.
![Page 43: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/43.jpg)
Séquence des événements
15h41:La ligne qui avait eu une défaillance vers
14h27 tombe définitivement.
![Page 44: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/44.jpg)
Séquence des événements
Les effets des pannes cumulatives commencent à se faire sentir sur le réseau.
![Page 45: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/45.jpg)
Séquence des événements
15h41 et 15h46: Deux sectionneurs se déclenchent au nord de l’Ohio, le coupant du réseau voisin, en raison de la défaillance d’une ligne à 345 kV et de 15 lignes à 138 kV. A ce moment, c'eut été la dernière chance
de sauver le réseau en déconnectant la ville de Cleveland.
![Page 46: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/46.jpg)
Séquence des événements
16h06 : La tension sur le réseau de l’Ohio est très instable. Perte totale du contrôle du réseau. Une autre ligne de 345 kV tombe.Le sort en est jeté.
![Page 47: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/47.jpg)
Séquence des événements
16h09m02: Grosse oscillation de voltage. Le réseau de l’Ohio pompe 2 GW de puissance du Michigan.
![Page 48: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/48.jpg)
Séquence des événements
16h10m34: Défaillance de plusieurs lignes au Michigan et en Ohio. Gros déficit de puissance. Grandes surtensions dans l’est entrainant la déconnection automatique de centrales électriques pour les protéger.
![Page 49: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/49.jpg)
Séquence des événements
![Page 50: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/50.jpg)
Séquence des événements
16h10m37: L’est et l’ouest du Michigan ne sont plus connectés ensemble.
![Page 51: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/51.jpg)
Séquence des événements
16h10m38: Cleveland se détache du réseau (trop tard).
![Page 52: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/52.jpg)
Séquence des événements
16h10m393.7 GW est sucé de l’est à partir de l’Ontario
vers le nord de l’Ohio et le sud du Michigan.
![Page 53: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/53.jpg)
Séquence des événements
16h10m40: Inversion du flot de puissance. 2GW entre en Ontario. Et revient une demie seconde plus tard !!!
![Page 54: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/54.jpg)
Séquence des événements
16h10m45: L’ouest de l’Ontario n’est plus branché à l’est. Arrêt d’une première centrale en Ontario.
![Page 55: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/55.jpg)
Séquence des événements
16h10m46: Le réseau de l’état de New York se sépare de celui de la Nouvelle Angleterre.
![Page 56: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/56.jpg)
Séquence des événements
16h11m57: Dernières lignes se déconnectent entre l’Ontario et le Michigan.
16h13: Fin de la cascade. Black out !256 centrales se sont déconnectées du réseau
pour se protéger. 85% après la déconnection des différents réseaux électriques.
Les américains blâmeront les canadiens!Mais c’est un problème logiciel en Ohio qui
est la source de ce gros bordel !
![Page 57: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/57.jpg)
Les centrales qui sont tombées au combat !
![Page 58: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/58.jpg)
Le logiciel avait été testé en simulation
Mais faut croire que cette situation n’avait pas été simulée !
![Page 59: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/59.jpg)
Therac 25
Un traitement anti-cancer mortel !11 de ces machines installées au
Canada et aux États-Unis.
6 personnes ont été victime d’overdose de radiations.
Pire accident de l’histoire des accélérateurs appliqués aux traitements médicaux.
Exemple
![Page 60: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/60.jpg)
Therac 25
Cette machine de 3e génération avait deux modes de fonctionnement:Mode rayon X;Mode électrons rapides.
Ce dernier mode est utilisé pour obtenir des doses profondes.
![Page 61: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/61.jpg)
L’installation
![Page 62: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/62.jpg)
La table tournante
![Page 63: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/63.jpg)
Modes de fonctionnement
En mode électrons:Niveau d’énergie ajustable de 5 à 25 MeV.
Des aimants dispersent le faisceau d’électrons à un niveau sécuritaire.
En mode photon (ou rayon X):Niveau d’énergie de 25 MeV. Requiert la
présence d’un atténuateur pour disperser et rendre uniforme le faisceau de rayon X.
![Page 64: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/64.jpg)
L’interface homme-machine
Minimaliste:
![Page 65: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/65.jpg)
L’accident de Tyler (au Texas)
![Page 66: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/66.jpg)
Treatment monitor task (Treat)
Utilise la variable Tphase pour savoir à quelle étape on est dans le traitement.Tphase sélectionne la routine à exécuter.
Tphase = 1:Datent : Data Entry;
Communique avec le Keyboard handler task;
![Page 67: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/67.jpg)
Entrée de la prescription
![Page 68: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/68.jpg)
Variable globale commune
Data Entry Complete Flag. Indique quand la prescription correcte est
entrée.
Si activé, ce bit indique à la routine Treat de passer de Tphase = 1 à Tphase = 3.
![Page 69: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/69.jpg)
Quand tout se passe bien…
![Page 70: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/70.jpg)
Variable globale commune
Par contre, n’assure pas que la prescription à été toute entrée !Si accidentellement l’opérateur retourne le
curseur sur la ligne de commande Data Entry Complete Flag devient vrai.
![Page 71: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/71.jpg)
Quand le bug arrive !!!
![Page 72: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/72.jpg)
Quand le bug arrive !!!
Ce qu’affiche l’interface
![Page 73: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/73.jpg)
Quand le bug arrive !!!
Ce qu’affiche l’interface
Position tabletournante
![Page 74: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/74.jpg)
Quand le bug arrive !!!
Ce qu’affiche l’interface
Position tabletournante
Ajustement du faisceau
![Page 75: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/75.jpg)
Routine Datent
Transferts à des convertisseurs N/A
![Page 76: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/76.jpg)
Routine Magnet
Prend 8 secondesà s’exécuter
Remis à 0 lors dela première
exécution !!!
![Page 77: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/77.jpg)
Routine Magnet
Ce bout de coden’est plus exécuté !!!
![Page 78: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/78.jpg)
C’est la course à la catastrophe
L’opérateur descend le curseur à la ligne de commande avant la fin de l’édition des paramètres. Data Entry Complete=true.
La routine Ptime s’est exécutée au moins une fois. Bending magnet flag=false.
![Page 79: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/79.jpg)
C’est la course à la catastrophe
L’édition du mode et de l’énergie arrive trop tard.Car sorti de Datent et Tphase=3.
![Page 80: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/80.jpg)
C’est la course à la catastrophe
L’ajustement est alors incorrect et non conforme avec ce qui est affiché sur l’interface homme machine.
Donc, pas la bonne dose et pas le bon mode.
Risque d’ « underdose » ou d’overdose !
![Page 81: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/81.jpg)
Mais en plus(comme si c’était pas assez)
Le registre MEOS est sur 2 octets. La partie haute est utilisée par Datent pour ajuster les paramètres de fonctionnement.
La partie basse est utilisée par la routine Hand qui ajuste la table tournante et les collimateurs en fonction du mode et de l’énergie sélectionné.
![Page 82: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/82.jpg)
Mais en plus(comme si c’était pas assez)
Donc, avec le bug précédent, si on change le mode/énergie, Hand fait les changements, mais pas Datent.
Et aucune détection de l’inconsistance des ajustements est fait, car il est connu qu’un logiciel ne fait pas d’erreur…
![Page 83: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/83.jpg)
Mais en plus(comme si c’était pas assez)
Et si le mode par défaut dans Datent envoie 25 MeV (mode rayons-X – ou photons) alors que Hand est ajusté dans le mode électrons, le patient recevra une dose extrême de radiation.
![Page 84: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/84.jpg)
Et ainsi
![Page 85: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/85.jpg)
Et, ce ne sera pas le seul bug que l’on trouvera sur Therac 25
![Page 86: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/86.jpg)
Et, ce ne sera pas le seul bug que l’on trouvera sur Therac 25
![Page 87: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/87.jpg)
Et, ce ne sera pas le seul bug que l’on trouvera sur Therac 25
![Page 88: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/88.jpg)
L’incident de Yakima (état de Washington)
![Page 89: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/89.jpg)
C’est encore la course à la catastrophe
Registre Class3 à 8 bits.Routine Set Up Test appelée
continuellement tant que non complétée. Incrémentation de Class3 à chaque appel;
Mais: 255 + 1 = 256 0 sur 8 bits.Regardez le test fait dans Lmtchk.Vérification pas faite et…
![Page 90: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/90.jpg)
Était-ce évitable ?
Bonne question.
Le problème majeur est de tester toutes les conditions possibles que le logiciel peut rencontrer.
Impossible parfois de découvrir les failles en simulation.
![Page 91: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/91.jpg)
Voyons d’autres exemples…
![Page 92: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/92.jpg)
Un risque de course (race hazard)
Bien connu en électronique.A la source des “glitches”.
A
B
C
Y
![Page 93: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/93.jpg)
Un risque de course (race hazard)
Table de Karnaugh:
On ajoute une porte logique de plus:
0 0 0 1
0 1 1 1A
B
C
Y
0 0 0 1
0 1 1 1A
B
C
Y
![Page 94: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/94.jpg)
Un risque de course (race hazard)
Problème réglé:
A
B
C
Y
![Page 95: Problèmes de sécurité avec le logiciel](https://reader035.vdocuments.mx/reader035/viewer/2022062321/56813a10550346895da1e6f7/html5/thumbnails/95.jpg)
Un risque de course (race hazard)
Malheureusement pas aussi simple au niveau software !