Dans le domaine du dé­ve­lop­pe­ment agile de logiciel, la sécurité des produits joue un rôle de plus en plus important. À l’ère de la livraison et de l’in­té­gra­tion continues, le processus de dé­ve­lop­pe­ment est un défi à ne surtout pas sous-estimer. C’est pourquoi les en­tre­prises vont de plus en plus souvent au-delà de l’approche DevOps qui lie étroi­te­ment le dé­ve­lop­pe­ment (De­ve­lop­ment) et l’ex­ploi­ta­tion (Ope­ra­tions) dès le début du processus pour y inclure la com­po­sante sécurité (Security), d’où l’abré­via­tion DevSecOps. La démarche DevSecOps est une solution aux problèmes ren­con­trés au quotidien par les éditeurs de logiciels. Et cette solution tient compte à la fois des exigences en termes de vitesse de dé­ve­lop­pe­ment et de sécurité.

DevSecOps : dé­fi­ni­tion

L’approche DevSecOps offre une agilité et une réac­ti­vité bien plus élevées que dans le cadre de l’approche DevOps, car les questions de sécurité sont déjà prises en compte lors du dé­ve­lop­pe­ment. Ainsi, le système se distingue des approches tra­di­tion­nelles dans les­quelles les équipes de sécurité ne se préoc­cu­pent de la sécurité du produit qu’une fois celui-ci déjà développé.

Quel est le concept derrière DevSecOps ?

L’approche DevSecOps, permet d’assurer les hauts standards de qualité même pour les méthodes de dé­ve­lop­pe­ment agiles et rapides de livraison continue et d’in­té­gra­tion continue. Dans ces cas, les exigences de sécurité, souvent très élevées, doivent être prises en compte lors de la pro­gram­ma­tion de l’ex­ploi­ta­tion courante. Dans ce contexte, une bonne com­mu­ni­ca­tion entre les domaines de la sécurité, du dé­ve­lop­pe­ment et de l’ex­ploi­ta­tion in­for­ma­tique est d’une im­por­tance capitale. Une approche in­ter­dis­ci­pli­naire est donc décisive au succès de la totalité du processus de dé­ve­lop­pe­ment.

L’impact de l’approche DevSecOps

Depuis quelques années, les questions de sécurité gagnent de l’im­por­tance dans le dé­ve­lop­pe­ment de logiciels. Compte tenu notamment du fait qu’avec le dé­ve­lop­pe­ment rapide, qui va de pair avec des délais de plus en plus courts entre les dif­fé­rentes versions, le respect des normes de sécurité est de plus en plus difficile. Pour de nom­breuses en­tre­prises, c’est même un obstacle in­sur­mon­table lorsque les questions de sécurité sont prises en compte uni­que­ment à la fin du dé­ve­lop­pe­ment. Bien souvent, les en­tre­prises doivent faire un choix entre un haut niveau de sécurité et les délais que cela oc­ca­sionne, ou une sécurité moindre et des cycles de dé­ve­lop­pe­ment plus courts. De nombreux dis­tri­bu­teurs optent pour la seconde option. Dans ce contexte, DevSecOps est une solution idéale qui allie haute sécurité et cycles de dé­ve­lop­pe­ment courts.

DevSecOps, une approche qui profite autant aux clients qu’aux en­tre­prises

Les solutions an­té­rieures pour l’im­plé­men­ta­tion des mesures de sécurité et des pro­to­coles de sécurité in­dis­pen­sables ne font pas le poids par rapport aux nouvelles variantes agiles du dé­ve­lop­pe­ment de logiciel. Grâce à une in­té­gra­tion active des questions de sécurité dans la phase de dé­ve­lop­pe­ment du logiciel et leur as­si­mi­la­tion dans le processus de dé­ve­lop­pe­ment, le niveau de sécurité souhaité peut être assuré même dans des cycles de dé­ve­lop­pe­ment et de produit courts. Cependant, toutes les en­tre­prises sont loin de suivre cette approche. Il est aisé de le constater, car la sécurité de certains produits a con­si­dé­ra­ble­ment diminué avec le rac­cour­cis­se­ment des cycles de version et les diverses failles de sécurité sont gé­né­ra­le­ment corrigées à la va-vite grâce à des « Day One Patches ».

Pour atteindre leurs objectifs et conserver un haut niveau de sécurité, les dé­ve­lop­peurs ont alors le choix entre un cycle de dé­ve­lop­pe­ment long et l’approche DevSecOps.

Un exemple concret de l’approche DevSecOps

Voici un exemple pratique tiré de la vie quo­ti­dienne d’un uti­li­sa­teur privé pour illustrer le fonc­tion­ne­ment de cette approche. L’ap­pli­ca­tion de notre exemple est une ap­pli­ca­tion de comp­ta­bi­lité qui peut être gérée di­rec­te­ment sur smart­phone. L’ap­pli­ca­tion permet de saisir, de ca­té­go­ri­ser, de dif­fé­ren­cier par code couleur et d’évaluer les dépenses et les recettes. Cette uti­li­sa­tion ne nécessite que peu de données sensibles et les exigences de sécurité sont donc re­la­ti­ve­ment basses.

Par la suite, l’ap­pli­ca­tion s’enrichit d’une nouvelle fonc­tion­na­lité qui permet de scanner les tickets de caisse et de les en­re­gis­trer au­to­ma­ti­que­ment. Dans ce contexte, de nom­breuses données sont saisies et évaluées sur les serveurs, la sécurité des com­mu­ni­ca­tions et du trai­te­ment des données joue alors un rôle con­si­dé­rable. Si les questions de sécurité sont prises en compte a pos­te­riori, il faudra six mois pour que la fonction puisse être publiée en toute sécurité.

Une nouvelle fonction doit ensuite être ajoutée. Cette fonction consiste à intégrer di­rec­te­ment les dépenses dans l’ap­pli­ca­tion via les banques en ligne. Ce qui nécessite le trai­te­ment de données très sensibles et l’in­té­gra­tion d’une telle solution dotée des standards de sécurité les plus élevés pourrait prendre une année. Avec de tels délais, la con­cur­rence aura déjà pris une bonne longueur d’avance et le produit sera pro­ba­ble­ment obsolète avant même d’arriver sur le marché.

Cependant, si les questions de sécurité sont prises en compte dès la phase de pro­gram­ma­tion et de dé­ve­lop­pe­ment grâce à l’approche DevSecOps, le délai avant la pu­bli­ca­tion peut être con­si­dé­ra­ble­ment réduit, sans aucune con­ces­sion sur la sécurité. Souvent, cela permet même d’améliorer la sécurité, car elle peut être intégrée di­rec­te­ment dans la pro­gram­ma­tion et non pas ajoutée après comme une rustine sur un programme déjà existant. Les en­tre­prises bé­né­fi­cient d’un cycle de version plus court et les uti­li­sa­teurs de la mise à jour constante du logiciel.

Les avantages de l’approche DevSecOps dans le dé­ve­lop­pe­ment

Les avantages de l’approche DevSecOps sont évidents. Lorsqu’en raison d’une demande crois­sante et des exigences élevées, une en­tre­prise décide de dé­ve­lop­per ses produits en ayant recours à un système DevOps moderne, elle obtient souvent une ef­fi­ca­cité inat­ten­due dans la pro­duc­tion et la pu­bli­ca­tion de dif­fé­rentes versions de son logiciel. Toutefois, ce processus laisse la sécurité de côté. Si celle-ci est intégrée comme à l’ac­cou­tu­mée dans le produit fini, cela peut non seulement générer des problèmes de fonc­tion­na­lité, mais aussi retarder con­si­dé­ra­ble­ment la livraison.

Si les questions de sécurité avaient été intégrées dès le processus de dé­ve­lop­pe­ment, la situation aurait été bien dif­fé­rente. Le processus n’est que lé­gè­re­ment rallongé, car le domaine de la sécurité bénéficie également des solutions de sur­veil­lance et d’au­to­ma­ti­sa­tion. En outre, les dif­fé­rentes équipes de dé­ve­lop­pe­ment et d’ex­ploi­ta­tion ap­pren­nent à prendre en compte les questions de sécurité dès le stade du dé­ve­lop­pe­ment, de sorte qu’il y ait nettement moins de lacunes en matière de sécurité dès le départ. Cela permet de produire des versions de logiciel plus sûres et plus stables dans un laps de temps plus court qui pourront ensuite être livrées di­rec­te­ment aux clients. Ainsi, les en­tre­prises et les clients profitent autant de ces nouvelles pos­si­bi­li­tés.

Approche DevSecOps : in­con­vé­nients et dif­fi­cul­tés

Comme pour l’approche DevOps, la réussite du système et son ef­fi­ca­cité dans le cadre d’une approche DevSecOps dépendent de la capacité des col­la­bo­ra­teurs et des équipes à gérer ce nouveau style de dé­ve­lop­pe­ment. Car sans une culture d’en­tre­prise ouverte et des échanges entre les équipes et les dé­par­te­ments, cette approche ne peut pas fonc­tion­ner de manière optimale. C’est pourquoi, il est né­ces­saire de bien com­mu­ni­quer sur les avantages du nouveau système, mais aussi de bien coor­don­ner les chan­ge­ments avec les services et les col­la­bo­ra­teurs.

D’im­por­tantes com­pli­ca­tions peuvent émerger si les employés rejettent ce système, en dé­sap­prou­vant par exemple l’in­té­gra­tion d’experts en sécurité dans le processus de dé­ve­lop­pe­ment.

En résumé : les nombreux avantages d’une in­té­gra­tion bien pensée

L’in­té­gra­tion des fonc­tion­na­li­tés de sécurité né­ces­saires dans le domaine du dé­ve­lop­pe­ment de logiciel et dans l’ex­ploi­ta­tion in­for­ma­tique directe est d’une im­por­tance capitale. L’in­té­gra­tion des mesures de sécurité in­dis­pen­sables à la fin du processus de dé­ve­lop­pe­ment peut engendrer non seulement des délais très longs, mais également des erreurs, car aucun processus de révision complet n’est effectué à ce stade. Lorsque les questions de sécurité sont intégrées au fur et à mesure dans le dé­ve­lop­pe­ment, les mises à jour et les versions du logiciel, grâce à l’approche DevSecOps, la durée d’in­té­gra­tion des mesures de sécurité est sen­si­ble­ment réduite et la qualité s’améliore aussi con­si­dé­ra­ble­ment grâce aux contrôles au­to­ma­ti­sés. Les en­tre­prises sont par­ti­cu­liè­re­ment gagnantes lorsqu’elles dépassent l’approche DevOps et intègrent les questions de sécurité des données et logiciels di­rec­te­ment dans le processus de dé­ve­lop­pe­ment grâce à l’approche DevSecOps.

Aller au menu principal