L’attaque SolarWinds sur la chaîne d’approvisionnement, appelée Sunburst, a été l’un des cas emblématiques de l’évolution de la menace vers des attaques de grande envergure. Ayant fait preuve d’une transparence bienvenue lors de l’incident, SolarWinds s’est efforcé depuis de verrouiller ses solutions autant que faire se peut pour rassurer le marché. L’entreprise a provisionné environ 25 millions de dollars pour améliorer la sécurité et mettre en place de nouveaux processus de surveillance pour valider le code. C’est dans cet esprit que SolarWinds vient de lancer l’initiative Secure by Design destinée à faire de l’entreprise « un exemple en matière de sécurité des logiciels d’entreprise ».
L’objectif est d’apporter des améliorations au processus de développement fin d’éliminer toute menace via des processus de validation et de vérification. Selon SolarWinds, le « Next-Generation Build System comprend à la fois de nouvelles pratiques de développement logiciel et une technologie visant à renforcer l’intégrité de l’environnement de construction ». Il s’agit d’un processus de construction parallèle, le premier du genre, dans lequel le développement du logiciel SolarWinds s’effectue par le biais de plusieurs chemins de duplication hautement sécurisés afin d’établir une base pour les contrôles d’intégrité.
Des composants open-source
SolarWinds propose les composants de ce nouveau système de développement sous la forme de logiciels open source pour permettre aux autres entreprises de profiter des connaissances acquises par l’entreprise et contribuer à la « mise en place d’une nouvelle norme sectorielle pour le développement de logiciels sécurisés ».
L’éditeur base son Next-Generation Build System sur quatre piliers sur lesquels repose l’initiative Secure by Design.
Opérations dynamiques : mise en place d’environnements de développement de logiciels à court terme qui s’autodétruisent après l’achèvement d’une tâche spécifique.
Produits de développement systématique : garantie que les produits de construction peuvent être fabriqués de manière déterministe, de sorte que tout nouveau sous-produit créé aura toujours des composants hérités sûrs.
Processus de développement simultané : création en parallèle des sous-produits du développement de logiciels, tels que des modèles de données, afin d’établir une base pour la détection de modifications inattendues des produits.
Suivi minutieux : suivi de chaque étape de développement des logiciels pour garantir une parfaite traçabilité et conserver une preuve permanente.