Les systèmes de systèmes (SoS) sont une catégorie de systèmes complexes distribués concurrents, à large échelle, dont les constituants sont eux-mêmes des systèmes à part entière (Jamshidi 2008).La mise en relation de ces systèmes entraîne notamment l’apparition de comportements émergents qui peuvent être anticipés ou non, désirés ou non, cela dans un contexte où les SoS sont amenés à évoluer contextuellement. Parmi les exemples typiques de SoS souvent cités nous trouvons l'organisation de services de secours, les opérations militaires avec des termes dépendant du niveau hiérarchique, les smart cities et smart grids. Les qualités importantes à prendre en compte pour modéliser les architectures de SoS étant donné leur complexité, sont la sécurité, la sureté, l'adaptabilité et la performance. Dans ce projet nous ciblerons la sécurité au niveau de l'architecture des SoS. Plus particulièrement nous nous intéressons, d'une part à mesurer le niveau de sécurité d'une architecture logicielle de SoS et pour cela nous développerons un corpus de métriques de sécurité. D'autre part nous proposerons unprocessus de conception qui préservera les propriétés de sécurité pendant l’évolution de l'architecture d'un SoS.
Les frameworks architecturaux comme NAF (NATO Architecture Framework) fournissent un cadre exhaustif supportant la description d'un SoS pendant l'intégralité de son cycle de vie, et sont utilisés par des acteurs comme la DGA pour le pilotage et la conception des grands programmes d'armement. Par ailleurs, UMLsec ou SysMLsec, par exemple, étendent des langages de modélisation de systèmes logiciels ou de systèmes complexes pour exprimer, dans l’architecture du système modélisé, l’utilisation de mécanismes tels que le contrôle d’accès ou le chiffrement qui contribuent à sécuriser le système au regard du modèle de l’adversaire et des objectifs de sécurité. Les patrons de sécurité (Fernandez 2013) sont une autre manière d’intégrer, dans le modèle décrivant un système, des structures reconnues pour améliorer la sécurité du système. Ce sont des approches de « security by design » : obtenir un bon niveau de sécurité par construction, par le génie logiciel et l’ingénierie des systèmes.
Ces travaux ne sont pas adaptés au contexte des systèmes de systèmes dont les constituants sont indépendants, et donc qui ne sont pas conçus par l’architecte du SoS voire qui sont des systèmes hérités.Ces travaux ne prennent pas non plus en compte la dynamicité caractéristique de l’architecture d’un SoSs, résultant du faible couplage et du développement évolutionnaire. Or, il ne faudrait pas qu’une reconfiguration dégrade le niveau de sécurité au point de mettre le SoS en péril. Par ailleurs, l’utilisation de stéréotypes et de patrons permet certes de décrire les mécanismes employés dans l’architecture, mais cela ne donne pas de mesure globale du niveau de sécurité. Sécuriser un système de systèmes consiste donc à optimiser cette mesure du niveau de sécurité en suggérant des modifications dans l’architecture. Enfin, se pose la question des systèmes de systèmes patrimoniaux, pour lesquels la sécurité n’a pas été prise en compte dès la conception, et qui doit donc être améliorée à l’occasion des évolutions dans le cadre du développement évolutionnaire.
Notre projet de thèse propose de combler ces manques au travers de deux axes principaux : proposer des métriques de sécurité au niveau architectural pour les SoS ainsi qu'un processus de conception, de manière à assurer que les évolutions maintiennent bien le système de systèmes en condition de sécurité.
-
(Buisson, 2016) J. Buisson, F. Dagnat, E. Leroux and S. Martinez. "Safe reconfiguration of Coqcots and Pycots Components". In Journal of Systems and Software, vol. 122, 2016, pp. 430- 444
-
(El Hachem, 2017) J. El Hachem, T. A. Khalil, V. Chiprianov, A. Babar and P. Aniorte. "A Model Driven Method to Design and Analyze Secure Architectures of Systems-of-Systems", 22nd International Conference on Engineering of Complex Computer Systems (ICECCS), Fukuoka, 2017, pp. 166-169.
-
(Fernandez, 2013) E. Fernandez-Buglioni. "Security patterns in practice: designing secure architectures using software patterns". John Wiley & Sons, 2013.
-
(Jamshidi 2008) M. Jamshidi. "System of systems engineering - new challenges for the 21st century", Aerospace and Electronic Systems Magazine, IEEE, vol. 23, no. 5, 2008, pp. 4-19.
-
(Petitdemange, 2018) F. Petitdemange. "Développement évolutionnaire de systèmes de systèmes avec une approche par patron de reconfiguration dynamique". Thèse de doctorat dirigée par Isabelle Borne, coencadrée par Jérémy Buisson. Université de Bretagne Sud, 2018.