Comment savoir si votre projet est adapté au Développement en Architecture Microservices ?

Comment savoir si votre projet est adapté au Développement en Architecture Microservices ?

Les applications développées en microservices procurent de nombreux avantages. Les utilisateurs jouiront entre autres d’une grande robustesse. De même, il sera plus facile de se lancer dans la maintenance, de par l’indépendance des services entre eux. Au vu des atouts, une entreprise peut envisager le projet. Elle devrait néanmoins connaître ses conditions. 

Le découpage en blocs fonctionnels

Le principe fondamental d’une architecture microservices est que chaque micro service répond à une fonctionnalité métier, et une seule. Il y a donc un découpage en blocs fonctionnels à faire de l’application à réaliser. Plus le projet est d’importance, plus ce découpage, à condition qu’il soit bien fait (pas ou peu d’interdépendance), accélère l’indépendance du développement, du test et du déploiement de ces microservices. La question peut se poser sur des projets de petite taille.

Beaucoup de microservices = gestion plus complexe ?

La question peut être posée dès lors que l’application finale se constitue de beaucoup de microservices, dont il faut gérer leur intégration et leur répartition dans une architecture physique capable de digérer l’exécution parallélisée de ses microservices. Dans l’hypothèse où il existe des dépendances entre les services, les mises à jour des services peuvent être source de complexité tant sur le plan des tests (pour revérifier une chaîne de microservices dépendants) que sur le plan du déploiement.

Une infrastructure adéquate

La gestion de la mémoire avec une mise en cache, une architecture distribuée restent des points cruciaux dans la mise en place d’une application orientée microservices. Par ailleurs, à l’heure où toutes les entreprises sont concernées par la cybersécurité, un nombre important de microservices peut accroitre une vulnérabilité face à la menace. Il y a donc un travail important de dimensionnement des ressources physiques, et de vérification des potentielles défaillances au niveau de chaque service.

Certaines peuvent être de haut niveau et abstraites, lorsqu’une personne utilise par exemple une remarque sarcastique pour transmettre une information. Pour bien saisir le langage humain, il faut comprendre non seulement les mots, mais aussi comment les concepts sont reliés pour transmettre le message souhaité.

Utilisation de bases de données orientée graphes pour l’analyse statique de code

Analyse statique code

Utilisation de bases de données orientée graphes pour l'analyse statique de code

La R&D du Groupe dans les systèmes temps réel critiques

Un des axes forts du Groupe Pacte Novation est la qualité et la sureté de programme opérationnels pour les systèmes temps réel sur lesquels nous disposons d’une forte expérience.

Dans ces systèmes les bugs sont très coûteux et la détection de fautes et de bugs de programmation est aussi extrêmement difficile.

C’est pour cela que pour développer de plus grand systèmes en toute sécurité, nous utilisons et développons toute une panoplie d’outils allant des spécifications à la vérification de programmes. Pour les très gros programmes, la détection d’erreurs statiques est un point clef : nous sommes notamment responsables du logiciel AdaControl, qui permet de vérifier au quotidien les millions de lignes des programmes de gestion en temps réel du trafic aérien européen.

Le Groupe Pacte Novation s’implique dans la R&D comprenant un plan d’action pluriannuel avec à sa tête Laurent GOUZÈNES, Directeur Scientifique du Groupe. Avec trois docteur en informatique et un boursier CIFRE, le Groupe acte pour l’innovation technologique et le progrès informatique.

Analyse statique code

Le sujet en deux mots

Notre ingénieur développement logiciel Quentin DAUPRAT effectue une thèse dans le cadre de son doctorat à l’Université de Caen Normandie, en collaboration avec le Laboratoire de recherche en sciences du numérique GREYC.

Sa thèse portant sur le sujet « Structures de données et système de requêtes optimisées » est encadrée par Novasys Ingénierie sous l’égide de notre Directeur Technique Pierre DUBOSCQ.

Par ailleurs, une partie de ses travaux abordant le langage Ada, il travaille donc en étroite collaboration avec Jean-Pierre ROSEN (Adalog) et sous la Direction Scientifique de Laurent GOUZÈNES.

Ce document traite de l’analyse statique du code. Les besoins d’analyse devenant de plus en plus complexes et les volumes de code devenant de plus en plus grands, l’évolutivité des outils d’analyse de code devient l’un des défis actuels.
Nous explorons l’utilisation de technologies récentes, comme les bases de données de graphes pour représenter le code source et les modèles pour trouver des informations dans un graphe. Nous espérons que cela réduira le temps d’analyse d’un code source et améliorera l’efficacité de l’analyse. En essayant de répondre à la même requête par rapport à AdaControl, nous avons réussi à trouver des résultats qui n’avaient pas été détectés par l’approche programmatique. Nous espérons une amélioration supplémentaire lors de futures analyses comparatives.

Nous vous proposons des solutions autour du système d’information, système expert, embarqué et édition de logiciels,  nous permettant de répondre à la plupart des exigences du marché. 

Une IA hybride pour contrer le Phishing ?

ia hybride phising

Une IA hybride pour contrer le Phishing ?

ia hybride phising

Le phising : une entreprise sur 2 attaquée en 2021

D’après le Baromètre de la cybersécurité en entreprise CESIN 2022, plus d’une entreprise française sur deux a vécu au moins une cyberattaque au cours de l’année 2021 avec parfois des conséquences très graves sur l’entreprise telles que l’interruption du business, la détérioration du business ou encore la fuite des données. Tout cela engendre inévitablement un impact sur la notoriété de l’entreprise.

 De plus, plus de 80 % des événements de cybersécurité impliquent des attaques de phishing. Le phishing, ou hameçonnage en français, est une cyberattaque essentiellement par courriel basée sur l’ingénierie sociale qui est une forme de manipulation psychologique visant à extirper des informations confidentielles d’une personne ou d’une entreprise. Il existe différents types de mails de phishing :

  • Le spearphishing, généralement basé sur l’usurpation d’identité, cible une personne ou un petit groupe de personnes dans le but d’obtenir des informations confidentielles.
  • Le whaling est identique au spearphising sauf qu’il vise exclusivement des personnes d’entreprise de haut rang.
  • Le phishing par URL a pour objectif que la victime clique sur un lien frauduleux, ce qui pourrait entraîner le téléchargement d’un virus ou mener à une page ou des données confidentielles seraient requises.

IA hybride et Deep Learning au service de la cybersécurité

Depuis quelques années, tout le monde en parle. La solution serait de se doter d’une Intelligence Artificielle, plus précisément d’un algorithme d’apprentissage profond (Deep Learning), pour aider à analyser et donc à détecter les cyberattaques. L’IA est en effet en capacité de s’appuyer sur d’énormes volumes de données pour détecter les mails de phishing et donc agir vite (plus vite que l’être humain ?) quant à cette cyberattaque.

Néanmoins et comme toujours avec le Deep Learning, cela nécessite préalablement la constitution d’une base de données regroupant un grand nombre d’emails labellisés de nature « emails de phishing » mais aussi « emails normaux ». De surcroit, cette base de données doit être équilibrée, c’est-à-dire qu’elle ne doit pas avoir une classe surreprésentée par rapport à une autre, pour éviter que lors de l’apprentissage par les algorithmes de Deep Learning, il y ait un surapprentissage, c’est-à-dire qu’un modèle apprenne trop les particularités de la base de données sur laquelle il s’est entraîné.

Par ailleurs, la détection reste d’autant plus complexe que le corps d’un email, même de phishing, peut être vaste. Il est donc nécessaire de mettre en place des prétraitements pour « nettoyer » le contenu de l’email d’informations à la fois non pertinentes et polluantes pour un apprentissage efficace. Par exemple :

  • Passage du corps de l’email en minuscule,
  • Réduction de la ponctuation,
  • Tokenization
  • Lemmatisation,
  • Etc…

Aujourd’hui, de plus en plus de solutions apparaissent sur le marché et revendiquent une capacité de détection fiable et automatisée 24h/24, 7jours/7, des cybermenaces.

Le BRMS au service de la détection du Phishing ?

Malgré tout, il y a sans doute une autre voix consistant à mettre en place une IA hybride qui conserve bien entendu un dispositif d’algorithme d’apprentissage, complété par un dispositif d’inférence cognitive.

Spécialiste de la mise en place de solution de moteurs de règles / BRMS (Business Rules Management System), Pacte Novation travaille depuis de nombreuses années sur la complémentarité du Deep Learning avec des techniques de systèmes expert / moteurs de règles. Ce qui s’appelle l’IA Hybride. Pour rappel, les solutions de BRMS permettent la transposition d’une expertise humaine en règles métier qui pour certaines solutions sont des expressions fonctionnelles écrites en langage naturel.

Dans le contexte de la détection d’emails de phishing, un email, quel qu’il soit, est toujours constitué des mêmes parties : l’expéditeur, l’objet, le corps du mail, l’heure, la date et de liens. Si le corps du mail est traité avec une IA de type algorithme d’apprentissage, on peut aisément constituer des règles de contrôles et de filtres sur l’adresse de l’expéditeur, le domaine utilisé, les plages d’horaires durant lesquelles ces emails sont reçus, l’objet de l’email et potentiellement les liens de l’email.

Ainsi, nous pourrions avoir par exemple :

  • Une table de décision donnant un score de détection d’un email de phishing en fonction du nombre de chiffres dans l’adresse email :
IA hybride
  • Une règle sur le pays d’origine de l’expéditeur :

Si le pays d’origine de l’expéditeur de l’email n’est pas parmi (« fr », « com », « net », « gov », « edu », « org », « info ») alors affecter le score expéditeur à 40.

  • Une table de décision donnant un score de détection selon l’heure d’envoi de l’email :
IA hybride phishing

Une IA hybride convaincante et adaptable

Cette approche hybride conserve donc sa capacité de détection fiable et automatisée tout en laissant la possibilité avec une expertise humaine d’adapter simplement et rapidement les règles de contrôle et de filtrage dans la détection d’une cyberattaque via un email de phishing.

ia hybride cybersecurite

Nous sommes intervenus dans le cadre d’atelier/ soutien au métier, Conception et réalisation des services de décisions. Nous avons également dispensé des formations ODM dans la partie Métier.