Qu’est-ce que le machine learning (apprentissage automatique) ? Définition

Le machine learning, ou apprentissage automatique, est un sous-ensemble de l’intelligence artificielle qui permet aux systèmes informatiques d’apprendre à partir de données et de s’améliorer de manière autonome sans être explicitement programmés.

L’apprentissage automatique repose sur l’idée que si l’on fournit des données à une machine, celle-ci peut automatiquement apprendre des modèles, prendre des décisions et améliorer ses performances au fil du temps.

Ce processus d’apprentissage s’apparente à la manière dont les humains apprennent par l’expérience, mais il est mis à l’échelle et traité à des vitesses incroyables.

La programmation traditionnelle s’appuie sur des instructions explicites fournies par un programmeur pour produire un résultat souhaité. En revanche, de vastes ensembles de données et d’algorithmes permettent de former des modèles d’apprentissage automatique à l’exécution d’une tâche.

Ces tâches vont de fonctions simples comme la reconnaissance de modèles ou la prédiction de valeurs à des entreprises plus complexes comme la reconnaissance d’images, le traitement du langage naturel et la conduite autonome.

La polyvalence et la puissance de l’apprentissage automatique ont ouvert la voie à d’innombrables innovations dans divers secteurs, de la finance à la santé en passant par la fabrication et la cybersécurité. Cette innovation a finalement remodelé la façon dont nous percevons la technologie et interagissons avec elle.

La formation à la cybersécurité commence ici

Démarrer l’évaluation gratuite

Votre évaluation gratuite fonctionne comme suit :

  • Prenez rendez-vous avec nos experts en cybersécurité afin qu’ils évaluent votre environnement et déterminent votre exposition aux menaces.
  • Sous 24 heures et avec une configuration minimale, nous déployons nos solutions pour une durée de 30 jours.
  • Découvrez nos technologies en action !
  • Recevez un rapport mettant en évidence les vulnérabilités de votre dispositif de sécurité afin que vous puissiez prendre des mesures immédiates pour contrer les attaques de cybersécurité.

Remplissez ce formulaire pour demander un entretien avec nos experts en cybersécurité.

Un représentant de Proofpoint vous contactera sous peu.

Comment fonctionne l’apprentissage automatique ?

L’apprentissage automatique, qui fait partie intégrante de l’IA, est le modèle qui permet aux ordinateurs d’apprendre à partir de l’expérience.

Les algorithmes qui instruisent l’apprentissage automatique utilisent des méthodes informatiques pour acquérir des informations et « apprendre » directement à partir des données sans avoir besoin d’une équation prédéterminée comme modèle.

Au fur et à mesure que le nombre d’échantillons de données augmente, ces algorithmes améliorent leurs performances.

Pour une vue d’ensemble plus complète, voici comment fonctionne l’apprentissage automatique :

  1. Collecte de données : L’apprentissage automatique commence par des données — des chiffres, des images ou du texte — comme des transactions bancaires, des identifiants d’utilisateurs, des photos de personnes, des données de séries temporelles provenant de capteurs ou des rapports de vente. Les données sont collectées et préparées pour servir de données d’entraînement ou d’informations sur lesquelles le modèle d’apprentissage automatique sera entraîné. Plus il y a de données, plus le programme est efficace.
  2. Prétraitement des données : Les données brutes nécessitent souvent une préparation et une transformation pour être utiles. Cette étape peut consister à traiter les valeurs manquantes, à supprimer les valeurs aberrantes, à normaliser (mettre à l’échelle) les valeurs, à coder les variables catégorielles et à diviser les données en ensembles de formation et de test.
  3. Choix d’un modèle d’apprentissage automatique : À partir de là, les programmeurs choisissent un modèle d’apprentissage automatique à utiliser, fournissent les données et laissent le modèle informatique s’entraîner à trouver des modèles ou à faire des prédictions. Au fil du temps, le programmeur humain ajuste également le modèle pour améliorer ses performances.
  4. Entraînement du modèle : Une fois les données prétraitées, l’étape suivante consiste à les introduire dans le modèle choisi pour l’« entraîner ». L’entraînement consiste à présenter des données au modèle et à ajuster ses paramètres internes afin de minimiser la différence entre ses prédictions et les résultats réels. L’« apprentissage supervisé » consiste à ajuster les paramètres pour faire correspondre au mieux les données d’entrée aux résultats connus. Dans l’« apprentissage non supervisé », le modèle s’ajuste lui-même sur la base des structures ou des modèles inhérents aux données.
  5. L’évaluation : Une fois qu’un modèle est formé, vous devez évaluer ses performances sur des données inédites (souvent appelées « ensemble de test ») pour vous assurer qu’il ne se contente pas de mémoriser les données d’apprentissage (« surajustement ») et qu’il peut se généraliser à de nouveaux exemples inédits. Les paramètres d’évaluation varient en fonction du type de problème (par exemple, l’exactitude, la précision, le rappel pour la classification et l’erreur quadratique moyenne pour la régression).
  6. Réglage des hyperparamètres : La plupart des modèles d’apprentissage automatique sont accompagnés d’hyperparamètres qui ne sont pas appris pendant la formation mais qui peuvent affecter les performances du modèle. La recherche des hyperparamètres optimaux implique souvent une expérimentation à l’aide de techniques telles que les grilles ou les recherches aléatoires.
  7. Déploiement : Après l’entraînement et le réglage, le modèle est déployé dans un environnement de production où il peut commencer à recevoir de nouvelles données et à faire des prédictions ou des classifications en temps réel.
  8. Boucle de rétroaction : Dans de nombreux systèmes du monde réel, un mécanisme de retour d’information est mis en place, dans lequel les prédictions du modèle sont continuellement évaluées par rapport aux résultats réels. Si le modèle commence à dériver ou à perdre en précision, ce retour d’information peut signaler qu’il est temps de recycler ou d’ajuster le modèle.
  9. Raffinement itératif : Au fur et à mesure de la disponibilité des données et de l’évolution de la nature du problème, les modèles d’apprentissage automatique font souvent l’objet d’un perfectionnement et d’un recyclage itératifs pour rester efficaces.

Ce processus consiste à apprendre à partir des données : il s’agit d’ajuster les paramètres internes d’un modèle afin de faire des prédictions ou de prendre des décisions précises.

La combinaison de vastes quantités de données et de puissantes ressources informatiques a permis à des modèles complexes d’effectuer des tâches que l’on croyait autrefois réservées à l’intelligence humaine.

Types d’apprentissage automatique

Différents types d’apprentissage automatique sont utilisés pour des applications spécifiques en fonction de leurs caractéristiques de modélisation uniques.

Parmi les types les plus courants, citons :

Apprentissage supervisé

L’apprentissage supervisé est la méthode d’apprentissage automatique la plus répandue. Dans cette forme, l’algorithme est formé sur un ensemble de données étiquetées, ce qui signifie que chaque exemple de l’ensemble de données est associé à la bonne réponse.

L’objectif principal est que le modèle apprenne une correspondance entre les entrées et les sorties, ce qui lui permet de faire des prédictions ou de déterminer des labels pour de nouvelles données inédites. Les tâches courantes comprennent la régression (prédiction de valeurs continues) et la classification (prédiction d’étiquettes discrètes).

Dans le domaine de la cybersécurité, l’apprentissage supervisé est utilisé pour détecter les menaces à un stade précoce, découvrir les vulnérabilités des réseaux et réduire les charges de travail et les coûts informatiques.

Apprentissage non supervisé

Dans l’apprentissage non supervisé, l’algorithme fournit des données sans aucun label ou objectif explicite. Au lieu de cela, l’algorithme cherche à identifier de lui-même la structure ou les modèles dans les données.

Parmi les tâches courantes figurent le « clustering » (regroupement de points de données similaires) et la « réduction de la dimensionnalité » (simplification des données sans perte d’informations essentielles).

Par exemple, l’apprentissage non supervisé peut être utilisé en cybersécurité pour détecter des anomalies dans le trafic réseau, identifier de nouveaux types de malware et repérer les menaces d’initiés.

Apprentissage semi-supervisé

La collecte de données labellisées peut être coûteuse ou prendre du temps dans de nombreux scénarios du monde réel, mais l’obtention de données non labellisées est relativement facile.

L’apprentissage semi-supervisé comble cette lacune en combinant une petite quantité de données labellisées et une grande quantité de données non labellisées pour la formation. L’idée est que même sans labels explicites, la grande quantité de données non étiquetées peut toujours fournir des informations et une structure significatives qui peuvent aider au processus d’apprentissage.

En tirant parti des relations entre les données étiquetées et non étiquetées, les méthodes semi-supervisées peuvent souvent atteindre des performances proches des approches entièrement supervisées, mais avec une fraction des données étiquetées.

Apprentissage par renforcement

Le modèle de base de l’apprentissage par renforcement repose sur un agent qui interagit avec l’environnement et apprend en recevant un retour d’information sous forme de récompenses ou de pénalités.

L’objectif de l’agent est d’apprendre la stratégie optimale, appelée politique, qui aboutira à la récompense cumulative maximale au fil du temps. Il s’agit d’une méthode d’apprentissage par essai et erreur dans laquelle l’agent apprend à ordonner les décisions en explorant et en exploitant les informations connues.

L’apprentissage par renforcement peut être utilisé pour développer des systèmes autonomes de détection d’intrusion qui apprennent de leurs propres expériences et optimisent leurs stratégies et politiques en réponse à l’évolution du cyberenvironnement.

Apprentissage par transfert

L’apprentissage par transfert est un concept puissant dans lequel les connaissances acquises lors de la résolution d’un problème sont appliquées à des problèmes différents, mais connexes. De grandes quantités de données et de puissance de calcul sont généralement nécessaires pour former des modèles d’apprentissage profond à partir de zéro.

Avec l’apprentissage par transfert, un modèle déjà formé sur un grand ensemble de données (comme la reconnaissance de millions d’objets) peut être affiné pour une tâche plus spécifique avec un ensemble de données plus petit.

Cette approche réduit le besoin de ressources importantes et accélère le processus de formation, tout en maintenant de bonnes performances. Dans le domaine de la cybersécurité, l’apprentissage par transfert peut automatiser des processus tels que la réponse aux incidents et la chasse aux menaces.

Apprentissage auto-supervisé

Cette approche est une variante intelligente de l’apprentissage non supervisé, dans laquelle l’algorithme d’apprentissage génère son propre signal de supervision à partir des données d’entrée.

En concevant des tâches dans lesquelles une partie des données est utilisée comme entrée et une autre partie est prédite, il est possible de former un modèle proche de l’apprentissage supervisé sans avoir besoin de labels externes explicites.

La clé réside dans la création d’objectifs d’apprentissage où les données elles-mêmes fournissent la supervision. Par exemple, l’« apprentissage auto-supervisé » permet de détecter des anomalies dans le trafic réseau et d’identifier de nouveaux types de malware.

Algorithmes primaires de machine learning

Diverses applications, dont la cybersécurité, utilisent des algorithmes standard d’apprentissage automatique.

Voici un bref aperçu des plus populaires d’entre eux :

  • Réseaux neuronaux : Inspirés du cerveau humain, les réseaux neuronaux sont constitués de couches de nœuds interconnectés (neurones) qui ajustent leurs connexions au cours de l’apprentissage. Ils excellent dans des tâches telles que la reconnaissance d’images et de la parole, mais sont également utilisés en cybersécurité pour des tâches telles que la détection de malwares et d’intrusions.
  • Régression linéaire : Méthode statistique permettant de prédire un résultat continu en fonction d’une ou plusieurs variables indépendantes. Elle modélise la relation entre ces variables et le résultat. La régression linéaire peut aider à prédire la probabilité d’une cyberattaque sur la base de données historiques.
  • Régression logistique : Utilisée pour la classification binaire, la régression logistique estime la probabilité qu’une instance appartienne à une catégorie particulière. Elle est fréquemment utilisée dans des situations telles que la détection des spams ou la prédiction du taux de désabonnement des clients.
  • Regroupement : Méthode non supervisée qui regroupe des points de données similaires afin de découvrir des groupements inhérents aux données, tels que des segments de clientèle ou des modèles de données. Le regroupement est utilisé en cybersécurité pour des tâches telles que l’identification de modèles dans le trafic réseau et la détection d’anomalies.
  • Arbres de décision : Modèle arborescent qui prend des décisions sur la base d’une série de questions. Connus pour leur facilité d’interprétation, ils sont utilisés dans des tâches allant du diagnostic médical à l’analyse du risque de crédit. Cet algorithme permet d’identifier les caractéristiques les plus critiques pour la détection des cyberattaques.
  • Forêts aléatoires : Une méthode d’ensemble agrégeant les prédictions de plusieurs arbres de décision afin d’améliorer la précision et de réduire l’ajustement excessif. Les forêts aléatoires sont largement utilisées pour la classification des données et les tâches de régression. Elles sont utilisées en cybersécurité pour mieux détecter les malwares et classer le trafic réseau.

Chacun de ces algorithmes offre une approche unique pour comprendre et prédire à partir des données, répondant à une variété de cas d’utilisation et de types de données.

L’apprentissage automatique dans la cybersécurité

Traditionnellement un secteur où l’expertise humaine combat les menaces numériques, la cybersécurité s’appuie de plus en plus sur l’apprentissage automatique pour renforcer ses défenses.

Cela ne veut pas dire que l’expertise humaine ne joue pas encore un rôle important dans la réduction des menaces. Mais la capacité de l’apprentissage automatique à analyser de vastes ensembles de données, à reconnaître des modèles et à faire des prédictions lui permet d’identifier les menaces, les anomalies et les activités malveillantes plus efficacement que les processus manuels.

Comment l’apprentissage automatique soutient la cybersécurité

L’apprentissage automatique est devenu un atout essentiel dans le secteur de la cybersécurité.

Voici quelques exemples d’applications de l’apprentissage automatique dans le domaine de la cybersécurité :

  • Détection des menaces à un stade précoce : L’apprentissage automatique peut analyser de grandes quantités de données et repérer des schémas, ce qui en fait un outil idéal pour détecter les attaques dès les premiers stades.
  • Découvrir les vulnérabilités des réseaux : En analysant le trafic réseau et en identifiant des modèles qui indiquent des vulnérabilités potentielles, l’apprentissage automatique peut rapidement identifier les vulnérabilités du réseau.
  • Réduire les charges de travail et les coûts informatiques : L’apprentissage automatique peut automatiser les processus de cybersécurité, tels que la réponse aux incidents et la chasse aux menaces, réduisant ainsi la charge de travail des analystes de sécurité et améliorant la rapidité et la précision de la réponse aux incidents.
  • Détection et réponse automatisées aux menaces : Les modèles d’apprentissage automatique peuvent contribuer à la détection et à la réponse automatisées aux menaces, ainsi qu’aux enquêtes menées par les analystes, en alertant les équipes pour qu’elles enquêtent sur les détections ou en fournissant des vulnérabilités classées par ordre de priorité pour l’application de correctifs.
  • Analyse comportementale : L’apprentissage automatique peut améliorer considérablement la détection des menaces potentielles grâce à une analyse approfondie et rapide du comportement des utilisateurs et à la détection des anomalies.
  • Entraînement des adversaires : L’apprentissage automatique est utilisé pour développer des techniques d’entraînement contradictoire afin d’améliorer la sécurité des modèles d’apprentissage automatique. L’entraînement contradictoire permet de faire croire à un autre système qu’un algorithme d’apprentissage automatique est aussi bon, voire meilleur, qu’un être humain effectuant certaines tâches.

Avantages de l’apprentissage automatique pour la cybersécurité

L’utilisation de l’apprentissage automatique pour la cybersécurité présente de nombreux avantages. Parmi les avantages les plus importants, on peut citer :

  • Détection proactive des menaces : L’apprentissage automatique peut identifier les menaces potentielles avant même qu’elles ne se manifestent, offrant ainsi une approche de défense proactive.
  • Évolutivité : Avec l’augmentation du volume de données et d’activités numériques, l’apprentissage automatique fournit des solutions évolutives pour surveiller et analyser efficacement de vastes réseaux, ce qui en fait un outil idéal pour détecter les attaques à leurs premiers stades.
  • Réduction des faux positifs : En apprenant à partir de données historiques, les modèles d’apprentissage automatique peuvent faire la différence entre les activités légitimes et les menaces réelles, réduisant ainsi les fausses alertes.
  • Apprentissage continu : À mesure que les cybermenaces évoluent, les modèles d’apprentissage automatique peuvent apprendre et s’adapter en permanence, ce qui permet d’actualiser les mécanismes de défense.

Cas d’utilisation de l’apprentissage automatique dans la cybersécurité

Les cas d’utilisation de l’apprentissage automatique dans le domaine de la cybersécurité sont impressionnants et continuent d’évoluer à mesure que les algorithmes deviennent de plus en plus sophistiqués.

  • Détection de malwares : Analyse de fichiers pour détecter des schémas associés à des malwares connus ou à des comportements suspects.
  • Détection des attaques de phishing : Identification des tentatives de phishing dans les emails sur la base du contenu, de la structure ou d’URL malveillantes connues.
  • Détection des intrusions dans le réseau : Surveillance du trafic réseau pour détecter des schémas inhabituels ou des activités non autorisées.
  • Analyse du comportement des utilisateurs et des entités (UEBA) : Profilage des comportements typiques des utilisateurs et mise en évidence des déviations qui pourraient indiquer des comptes compromis.
  • Détection des menaces persistantes avancées (APT) : Analyse du trafic réseau et des comportements des utilisateurs sur de longues périodes afin de détecter les menaces lentes, de faible volume et de longue durée que les systèmes de détection traditionnels risquent de négliger.
  • Prévention de la perte de données (DLP) : identification des données sensibles (numéros de cartes de crédit, données d’identification personnelle, etc.) et surveillance de leur circulation sur le réseau, afin d’alerter les administrateurs en cas de transmission de données non autorisée.
  • Protection des terminaux et EDR (Endpoint Detection and Response) : Grâce à l’apprentissage automatique, les outils de protection des terminaux peuvent détecter et contrer plus efficacement les menaces en temps réel, garantissant ainsi la protection des appareils individuels (comme les PC et les appareils mobiles).
  • Renseignements sur les menaces : Agrégation et analyse de données provenant de diverses sources pour fournir des informations prédictives sur les menaces émergentes, ce qui permet aux organisations d’être mieux préparées.
  • Gestion des identités et des accès (IAM) : Identification des schémas d’accès des utilisateurs et détection des anomalies, telles que des heures ou des lieux de connexion inhabituels, indiquant potentiellement des tentatives d’accès non autorisé.
  • Gestion des vulnérabilités : L’analyse prédictive alimentée par l’apprentissage automatique peut prévoir les vulnérabilités potentielles en analysant les tendances des vulnérabilités connues et des vecteurs d’attaque.
  • Réponse automatisée aux incidents : Une fois qu’une menace est détectée, des outils basés sur l’apprentissage automatique peuvent suggérer ou automatiser les meilleures actions de réponse, rationalisant ainsi le processus d’atténuation.
  • Les honeypots et la technologie de tromperie : Grâce à l’apprentissage automatique, les honeypots (systèmes de leurre destinés à attirer les attaquants) sont rendus plus sophistiqués, s’adaptant aux comportements des intrus et recueillant des informations plus riches sur les menaces.

Ces cas d’utilisation soulignent l’immense potentiel de l’apprentissage automatique dans le domaine de la cybersécurité. Cependant, il est essentiel de se rappeler que, bien qu’il puisse améliorer considérablement les mesures de cybersécurité, il est plus efficace lorsqu’il est intégré dans une stratégie de sécurité plus large et couplé à l’expertise humaine.

Défis liés à l’utilisation du machine learning dans le domaine de la cybersécurité

L’intégration du machine learning dans la cybersécurité ne va pas sans difficultés.

Parmi les plus pertinents, citons :

Confidentialité des données

L’utilisation de l’apprentissage automatique nécessite de grandes quantités de données, ce qui soulève des préoccupations concernant la confidentialité des utilisateurs, la protection des données et l’utilisation abusive potentielle d’informations sensibles.

Évolution des menaces

Les cyberadversaires exploitent également l’apprentissage automatique pour élaborer des méthodes d’attaque plus sophistiquées et plus adaptatives. Il s’agit alors d’un jeu du chat et de la souris en constante évolution.

Faux positifs/négatifs

Bien que l’apprentissage automatique réduise les fausses alertes, aucun système n’est parfait. Une dépendance excessive sans supervision humaine peut conduire à des menaces négligées ou à des alarmes inutiles, ce qui peut entraîner une désensibilisation à l’égard des alertes.

Ressources importantes

La formation de modèles complets d’apprentissage automatique, en particulier les modèles d’apprentissage profond, nécessite d’importantes ressources informatiques, ce qui n’est pas forcément à la portée de toutes les organisations.

Interprétabilité et transparence

Les modèles d’apprentissage automatique, en particulier les réseaux neuronaux profonds, peuvent agir comme des « boîtes noires », ce qui rend difficile la compréhension et l’explication de leurs processus de prise de décision.

Ajustement excessif

Les modèles peuvent devenir trop adaptés aux données d’apprentissage, ce qui les rend moins efficaces dans les scénarios du monde réel où les menaces peuvent varier et évoluer.

Empoisonnement des données et attaques adverses

Les attaquants peuvent introduire des données malveillantes dans l’ensemble de données d’apprentissage, ce qui conduit le modèle à faire des prédictions ou des classifications incorrectes. De même, les attaques adverses consistent à modifier subtilement les données d’entrée pour tromper les modèles d’apprentissage automatique.

Manque de compétences

L’intégration de l’apprentissage automatique dans la cybersécurité nécessite des professionnels compétents dans les deux domaines. Le secteur manque actuellement d’experts pluridisciplinaires de ce type.

Dépendance à l’égard de la qualité des données

L’efficacité des modèles d’apprentissage automatique dépend fortement de la qualité et de l’exhaustivité des données d’entraînement. Des données incomplètes ou biaisées peuvent conduire à des résultats faussés.

Il est essentiel de reconnaître et de relever ces défis pour exploiter efficacement l’apprentissage automatique dans le domaine de la cybersécurité.

Si l’apprentissage automatique présente un vaste potentiel, une approche équilibrée et informée permet d’en maximiser les avantages tout en atténuant les écueils potentiels.

Comment Proofpoint utilise le machine learning

Proofpoint est une entreprise de cybersécurité de premier plan qui exploite la puissance de l’apprentissage automatique pour fournir des solutions de classe mondiale à ses clients.

Voici quelques-uns des produits et solutions technologiques spécifiques de l’entreprise qui utilisent l’apprentissage automatique :

  • NexusAI : Il s’agit de la plateforme d’IA et d’apprentissage automatique de Proofpoint qui alimente divers produits tels que la protection contre les attaques ciblées, le Cloud App Security Broker et la formation à la sensibilisation à la sécurité. Elle offre une protection complète et en constante évolution contre un large éventail de menaces externes en identifiant les URL et les pages web utilisées dans les campagnes de phishing et en détectant les activités anormales des utilisateurs dans les comptes cloud.
  • Proofpoint Aegis : Proofpoint Aegis utilise l’apprentissage automatique pour détecter les emails de phishing générés par l’IA. Les algorithmes d’apprentissage automatique analysent de grandes quantités de données et repèrent des modèles qui indiquent des menaces potentielles.
  • Stateful Composite Scoring Service (SCSS) : SCSS de Proofpoint utilise l’apprentissage automatique pour automatiser l’analyse des emails. SCSS aide les équipes de sécurité à traiter plus facilement tout ce qui va du spam et du courrier en vrac aux attaques avancées, y compris la fraude par email. SCSS utilise l’apprentissage automatique pour reconnaître des modèles dans les données de sécurité et déclencher des réponses automatisées, réduisant ainsi le besoin d’intervention manuelle.
  • Supernova Behavioral Engine : Le Supernova Behavioral Engine utilise le langage, les relations, la cadence et le contexte pour détecter les anomalies et prévenir les menaces en temps réel grâce à l’IA et à l’apprentissage automatique. Le moteur comportemental Supernova améliore l’efficacité déjà dominante de Proofpoint tout en garantissant aux clients un faible taux de faux positifs.
  • Classification et protection intelligentes de Proofpoint : Il s’agit d’une solution de découverte et de classification des données alimentée par l’IA qui assure avec précision la classification et la protection des données à l’échelle du pétaoctet. Elle utilise des technologies propriétaires d’apprentissage automatique pour répondre aux préoccupations en matière de gestion de la confidentialité des données et accélérer la mise en conformité de ces dernières.

Proofpoint utilise diverses techniques d’apprentissage automatique telles que les modèles transformateurs, l’apprentissage automatique non supervisé, l’apprentissage profond et le traitement du langage naturel pour fournir des solutions innovantes afin de protéger les clients contre l’évolution constante du paysage des menaces. Pour plus d’informations, contactez Proofpoint.

Prêt à essayer Proofpoint ?

Commencez par un essai gratuit de Proofpoint.