Vous êtes sur la page 1sur 195

Conceptualisation et mise en place d'un système de détection de

fraude par contournement Simbox en utilisant des algorithmes


de détection d'anomalie et de clustering

Mémoire de fin d’études présenté pour l’obtention

du diplôme d’Ingénieur d’Etat

de l’Ecole des Sciences de l’Information

Efelic Caleb DANSOU

Sous la direction de : Pr. Ibrahim ASSABANE


Pr. Abdelhay HAQIQ
Membres de jury :

Présidente : Pr. Btihal EL GHALI

Encadrant : Pr. Ibrahim ASSABANE

Co-encadrant : Pr. Abdelhay HAQIQ

Tuteur : Mme Sara CHATER

Promotion 2020-2023
Dédicace

Je dédie ce travail à ma famille, à mes parents et à mes frères.


Votre amour, votre soutien et vos encouragements constants ont
été une source d'inspiration pour moi tout au long de ce parcours. Je
vous suis reconnaissant pour votre confiance et votre croyance en moi.

Je dédie également ce travail à mes frères en Christ, qui ont été


une source de soutien spirituel et d'encouragement tout au long de ce
projet.
Votre présence et vos prières m'ont donné la force et la
persévérance nécessaires pour surmonter les défis.

Enfin, je rends grâce à Dieu pour sa grâce et sa miséricorde


infinies.
C'est grâce à sa direction et sa bénédiction que j'ai pu mener à
bien ce travail. Je suis reconnaissant pour sa présence constante dans
ma vie et pour les bénédictions qu'il m'a accordées.

À ma famille, à mes frères et à Dieu, je vous dédie ce travail avec


amour et gratitude. Merci pour tout.

1
Remerciements

Je tiens à exprimer ma sincère gratitude à tous ceux qui ont contribué de près ou de loin
à la réalisation de ce rapport. Leur soutien, leurs conseils et leur encouragement ont été d'une
valeur inestimable.

Je souhaite remercier chaleureusement mes encadrants, Monsieur Ibrahim


ASSABANE et Monsieur Abdelhay HAQIQ, pour leur précieuse orientation, leur
disponibilité et leurs commentaires constructifs. Leur expertise et leurs conseils éclairés ont
grandement enrichi ce travail.

Un grand merci également à mon tuteur au sein de l'entreprise, qui m'a guidé tout au
long de ce projet. Ses connaissances approfondies du domaine et ses orientations judicieuses
ont été d'une aide précieuse pour mener à bien cette étude.

Je tiens à exprimer ma reconnaissance envers Monsieur Amine RACHDI pour ses


conseils avisés et son expertise technique. Ses suggestions et ses remarques ont permis
d'améliorer la qualité de ce rapport.

Mes remerciements vont également à Monsieur Yassine LASRI et Madame Sara


CHATER pour son suivi attentif et ses encouragements constants. Sa disponibilité et ses
précieux conseils ont contribué à ma motivation tout au long de ce projet.

Je souhaite également exprimer ma gratitude envers Monsieur Eraste AKANDE pour


son assistance dans diverses préoccupations liées à ce travail. Sa générosité et son soutien ont
été d'une grande aide.

Je tiens à remercier Monsieur Boris Pleck DANSOU pour son soutien inconditionnel
et ses encouragements constants. Sa présence et ses mots d'encouragement ont été une source
de motivation tout au long de ce parcours.

Enfin, mes remerciements vont à toutes les personnes qui, de près ou de loin, ont
contribué à la réalisation de ce travail. Leur soutien moral et leur encouragement ont été
essentiels pour surmonter les obstacles rencontrés.

Merci à tous pour votre contribution précieuse, votre soutien indéfectible et votre
confiance en moi. Votre aide a été inestimable et a contribué au succès de ce projet.

2
Résumé

Le projet s'est concentré sur la détection de la fraude Simbox dans les réseaux de
télécommunications en utilisant des techniques d'apprentissage automatique. L'objectif
principal était de développer un modèle efficace pour identifier les cas de fraude et protéger les
réseaux contre ces activités frauduleuses.

Plusieurs étapes ont été suivies pour atteindre cet objectif. Tout d'abord, des
prétraitements ont été effectués sur les données, comprenant la transformation des variables et
le nettoyage des données pour assurer leur qualité.Ensuite, deux algorithmes ont été utilisés
pour la détection des anomalies : l'Isolation Forest et le K-means. L'Isolation Forest a permis
d'identifier les anomalies dans les variables liées aux abonnés distincts appelés, tandis que le
K-means a regroupé les heures d'activité en différents profils en se basant sur les durées totales
des appels sortants et entrants. Les résultats obtenus ont été évalués en utilisant différentes
mesures d'évaluation telles que l'inertie et la silhouette. Ces mesures ont permis de déterminer
l'efficacité des modèles de détection des anomalies et de regroupement.

Les résultats ont montré que les modèles développés étaient capables d'identifier les cas
de fraude Simbox avec une précision satisfaisante. Les profils d'activité suspects ont été
détectés avec des scores d'anomalie élevés, ce qui indique une forte suspicion de fraude.

En conclusion, ce projet a abouti au développement d'un modèle de détection de la


fraude Simbox utilisant des techniques d'apprentissage automatique. Les résultats obtenus
démontrent l'efficacité de ce modèle dans la détection précoce de la fraude et ouvrent la voie à
de futures améliorations et développements dans le domaine de la sécurité des réseaux de
télécommunications. Ce projet contribue ainsi à la protection des opérateurs contre les activités
frauduleuses et à l'amélioration de la fiabilité des services de télécommunications.

Mots-clés : Simbox, détection d'anomalie, Isolation Forest, K-means, appels

3
Abstract

The project focused on detecting Simbox fraud in telecommunications networks using


machine learning techniques. The main objective was to develop an effective model to identify
fraud cases and protect networks against these fraudulent activities.

Several steps were followed to achieve this objective. Firstly, data preprocessing was
performed, including variable transformation and data cleaning to ensure data quality. Next,
two algorithms were used for anomaly detection: Isolation Forest and K-means. Isolation
Forest identified anomalies in variables related to distinct called subscribers, while K-means
clustered activity hours into different profiles based on total outgoing and incoming call
durations. The obtained results were evaluated using different evaluation metrics such as
inertia, silhouette, and Davies-Bouldin index. These metrics helped assess the effectiveness of
the anomaly detection and clustering models.

The results showed that the developed models were capable of identifying Simbox
fraud cases with satisfactory accuracy. Suspicious activity profiles were detected with high
anomaly scores, indicating a strong suspicion of fraud.

In conclusion, this project resulted in the development of a Simbox fraud detection


model using machine learning techniques. The results obtained demonstrate the effectiveness
of this model in early fraud detection and pave the way for future improvements and
developments in the field of telecommunications network security. This project contributes to
protecting operators against fraudulent activities and improving the reliability of
telecommunications services.

Key words : Simbox, anomaly detection, Isolation Forest, K-means, calls

4
Listes des figures

Figure 1 : Produits S-One Streaming Analytics ....................................................................... 25


Figure 2 : Route légitime d'un appel international, reprise de ................................................. 46
Figure 3 : Equipements Simbox............................................................................................... 55
Figure 4 : Architecture fonctionnelle de l'installation de la passerelle GSM Simbox/VoIP ... 56
Figure 5 : Déroutement frauduleux de la Simbox pour les appels internationaux, reprise de . 59
Figure 6 : Elasticsearch ........................................................................................................... 68
Figure 7 : Logo Dataiku ........................................................................................................... 69
Figure 8 : Après l'itération #3 l'affectation ne changera pas .................................................... 80
Figure 9 : Détection d'anomalies avec Isolation Forest ........................................................... 83
Figure 10 : Initialisation projet Simbox system sur Dataiku ................................................. 109
Figure 11 : Aperçu 1 de la sortie de la préparation des données ........................................... 115
Figure 12 : Aperçu 2 de la sortie de la préparation des données ........................................... 115
Figure 13 : Entrée sortie de la recette split ............................................................................ 118
Figure 14 : Opérations de la recette split ............................................................................... 118
Figure 15 : Clusters- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls” ................................................................................................................... 121
Figure 16 : Clusters des observations normales- Isolation Forest sur la variable "called_party"
du dataset “first_hour_calls” .................................................................................................. 122
Figure 17 : Clusters des observations anormales- Isolation Forest sur la variable
"called_party" du dataset “first_hour_calls” .......................................................................... 122
Figure 18 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
"called_party" du dataset “first_hour_calls” .......................................................................... 123
Figure 19 : Visualisation scores d'anomalie- Isolation Forest sur la variable "called_party" du
dataset “first_hour_calls” ....................................................................................................... 126
Figure 20 : Clusters- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls” ................................................................................................................... 128
Figure 21 : Cluster des observations normales- Isolation Forest sur la variable
"position.cell_id" du dataset “first_hour_calls” ..................................................................... 128
Figure 22 : Clusters des observations anormales- Isolation Forest sur la variable
"position.cell_id" du dataset “first_hour_calls” ..................................................................... 129
Figure 23 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
"position.cell_id" du dataset “first_hour_calls” ..................................................................... 129
Figure 24 : Visualisation scores d'anomalie- Isolation Forest sur la variable "position.cell_id"
du dataset “first_hour_calls” .................................................................................................. 132
Figure 25 : Clusters- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day"
du dataset “first_hour_calls” .................................................................................................. 134
Figure 26 : Clusters des observations normales- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 134
Figure 27 : Clusters des observations anormales- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 135

5
Figure 28 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 135
Figure 29 : Visualisation scores d'anomalie- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 138
Figure 30 : Modèle sélectionné - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 141
Figure 31 : Clusters - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 142
Figure 32 : Premier cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 142
Figure 33 : Deuxième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 143
Figure 34 : Troisième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 143
Figure 35 : Quatrième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 143
Figure 36 : Cinquième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 144
Figure 37 : Importance des caractéristiques - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 144
Figure 38 : Scatter plot - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 145
Figure 39 : Entrée et sortie de la recette d’attribution au clusters - K-means avec
cum_duration_begginning_day et cum_incoming_duration_begginning_day du dataset
first_hour_calls ...................................................................................................................... 147
Figure 40 : Transformation de données avec recette d’attribution au clusters - K-means avec
cum_duration_begginning_day et cum_incoming_duration_begginning_day du dataset
first_hour_calls ...................................................................................................................... 148
Figure 41 : Clusters- Isolation Forest sur la variable «variation_distinct_called» du dataset
“others_hour_calls”................................................................................................................ 152
Figure 42 : Clusters des observations normales- Isolation Forest sur la variable
«variation_distinct_called» du dataset “others_hour_calls” .................................................. 152
Figure 43 : Clusters des observations anormales- Isolation Forest sur la variable
«variation_distinct_called» du dataset “others_hour_calls” .................................................. 153
Figure 44 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
«variation_distinct_called» du dataset “others_hour_calls” .................................................. 153
Figure 45 : Visualisation scores d'anomalie- Isolation Forest sur la variable
«variation_distinct_called» du dataset .................................................................................. 155
Figure 46 : Clusters- Isolation Forest sur la variable «variation_distinct_cell» du dataset
“others_hour_calls”................................................................................................................ 157
Figure 47 : Clusters des observations normales- Isolation Forest sur la variable
«variation_distinct_cell» du dataset “others_hour_calls” ...................................................... 158
Figure 48 : Clusters des observations anormales- Isolation Forest sur la variable
«variation_distinct_cell» du dataset “others_hour_calls” ...................................................... 158

6
Figure 49 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
«variation_distinct_cell» du dataset “others_hour_calls” ...................................................... 159
Figure 50 : Visualisation scores d'anomalie- Isolation Forest sur la variable
«variation_distinct_cell» du dataset “others_hour_calls” ...................................................... 161
Figure 51 : Clusters- Isolation Forest sur la variable «cum_local_mtc.count_begginning_day»
du dataset “others_hour_calls” .............................................................................................. 164
Figure 52 : Clusters des observations normales- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 164
Figure 53 : Clusters des observations anormales- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 164
Figure 54 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 165
Figure 55 : Visualisation scores d'anomalie- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 167
Figure 56 : Modèle sélectionné - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 169
Figure 57 : Clusters - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 170
Figure 58 : Premier cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 170
Figure 59 : Deuxième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 171
Figure 60 : Troisième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 171
Figure 61 : Cinquième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 171
Figure 62 : Cinquième cluster - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 172
Figure 63 : Importance des caractéristiques - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 172
Figure 64 : Scatter plot - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 173
Figure 65 : Entrée et sortie de la recette d’attribution au clusters - K-means avec
cum_duration_begginning_day et cum_incoming_duration_begginning_day du dataset
others_hour_calls ................................................................................................................... 176
Figure 66 : Transformation de données avec recette d’attribution au clusters - K-means avec
cum_duration_begginning_day et cum_incoming_duration_begginning_day du dataset
others_hour_calls ................................................................................................................... 177
Figure 67 : Entrée et sortie de la recette pour générer les scores cumulés de toutes les heures
d’activités par msisdn ............................................................................................................ 182
Figure 68 : Entrée et sortie de la recette de génération des scores de suspicion de fraude
finaux des abonnés à la fin de la période de données considérée .......................................... 184
Figure 69 : Distribution des scores de suspicion des heures d’activités des abonnés par
rapport au nombre d’abonnés distincts contactés .................................................................. 186

7
Figure 70 : Distribution des scores finaux des abonnés à la fin de la période d’étude .......... 186
Figure 71 : Flux du système de détection dans le projet Dataiku .......................................... 187
Figure 72 : Catégorisation des abonnés par seuil de suspicion .............................................. 187

8
Listes des tableaux

Tableau 1 : Planification du projet ........................................................................................... 34


Tableau 2 : Comparaison de plateformes de Data science ...................................................... 93
Tableau 3 : Description de l'index de stockage des données ................................................... 97
Tableau 4 : Description des variables générées après agrégation des données par abonné ... 100
Tableau 5 : Data preparation- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls” ................................................................................................................... 120
Tableau 6 : Data ingestion- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls” ................................................................................................................... 120
Tableau 7 : Model tunning- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls” ................................................................................................................... 121
Tableau 8 : Métriques d'évaluation- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls” ................................................................................................................... 123
Tableau 9 : Monitoring- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls” ................................................................................................................... 124
Tableau 10 : Déploiement- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls” ................................................................................................................... 125
Tableau 11 : Data preparation- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls” ................................................................................................................... 126
Tableau 12 : Data ingestion- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls” ................................................................................................................... 127
Tableau 13 : Model tunning- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls” ................................................................................................................... 127
Tableau 14 : Métriques d'évaluation- Isolation Forest sur la variable "position.cell_id" du
dataset “first_hour_calls” ....................................................................................................... 130
Tableau 15 : Monitoring- Isolation Forest sur la variable" position.cell_id" du dataset
“first_hour_calls” ................................................................................................................... 130
Tableau 16 : Déploiement- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls” ................................................................................................................... 131
Tableau 17 : Data preparation- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls" ............................... 132
Tableau 18 : Data ingestion- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 133
Tableau 19 : Model tunning- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 133
Tableau 20 : Métriques d'évaluation- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 136
Tableau 21 : Monitoring- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 136
Tableau 22 : Déploiement- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls” ............................... 137

9
Tableau 23 : Data preparation - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 139
Tableau 24 : Data ingestion - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 140
Tableau 25 : Hyperparamètres testés - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 141
Tableau 26 : Profil des clusters - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 145
Tableau 27 : Métriques d’évaluation - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 145
Tableau 28 : Surveillence - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 146
Tableau 29 : Scores attribués au clusters - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 147
Tableau 30 : Deploiement - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls ................................. 148
Tableau 31 : Aperçu du dataset généré indiquant score de suspicion de fraude associé à
chaque première heure d’activité ........................................................................................... 150
Tableau 32 : Data preparation- Isolation Forest sur la variable "variation_distinct_called" du
dataset “others_hour_calls".................................................................................................... 151
Tableau 33 : Data ingestion- Isolation Forest sur la variable «variation_distinct_called» du
dataset “others_hour_calls” ................................................................................................... 151
Tableau 34 : Model tunning- Isolation Forest sur la variable «variation_distinct_called» du
dataset “others_hour_calls” ................................................................................................... 151
Tableau 35 : Métriques d'évaluation- Isolation Forest sur la variable
«variation_distinct_called» du dataset “others_hour_calls” .................................................. 154
Tableau 36 : Monitoring- Isolation Forest sur la variable «variation_distinct_called» du
dataset “others_hour_calls” ................................................................................................... 154
Tableau 37 : Déploiement- Isolation Forest sur la variable «variation_distinct_called» du
dataset “others_hour_calls” ................................................................................................... 155
Tableau 38 : Data preparation- Isolation Forest sur la variable «variation_distinct_cell» du
dataset “others_hour_calls” ................................................................................................... 156
Tableau 39 : Data ingestion- Isolation Forest sur la variable «variation_distinct_cell» du
dataset “others_hour_calls” ................................................................................................... 156
Tableau 40 : Model tunning- Isolation Forest sur la variable «variation_distinct_cell» du
dataset “others_hour_calls” ................................................................................................... 157
Tableau 41 : Métriques d'évaluation- Isolation Forest sur la variable «variation_distinct_cell»
du dataset “others_hour_calls” .............................................................................................. 159
Tableau 42 : Monitoring- Isolation Forest sur la variable «variation_distinct_cell» du dataset
“others_hour_calls”................................................................................................................ 160
Tableau 43 : Déploiement- Isolation Forest sur la variable «variation_distinct_cell» du
dataset “others_hour_calls” ................................................................................................... 161
Tableau 44 : Data preparation- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 162

10
Tableau 45 : Data ingestion- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 162
Tableau 46 : Model tunning- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 163
Tableau 47 : Monitoring- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 166
Tableau 48 : Déploiement- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls” ........................... 167
Tableau 49 : Data preparation - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 168
Tableau 50 : Data ingestion - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 168
Tableau 51 : Hyperparamètres testés - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset otherst_hour_calls ............................. 169
Tableau 52 : Profil des clusters - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 173
Tableau 53: Métriques d’évaluation - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 174
Tableau 54 : Surveillance - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 174
Tableau 55 : Scores attribués au clusters - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 175
Tableau 56 : Deploiement - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls .............................. 178
Tableau 57 : Table de données des scores finaux associés aux autres heures d’activité ....... 180
Tableau 58 : Aperçu de la table de données des scores de suspicion de fraude des heures
d’activités par abonné ............................................................................................................ 182
Tableau 59 : Table de données avec les scores de suspicion de fraude finaux des abonnés à la
fin de la période de données considérée ................................................................................ 184
Tableau 60 : Table de données avec les scores de suspicion de fraude finaux des abonnés à la
fin de la période de données considérée classés par seuil de suspicion ................................. 185

11
Listes des codes

Code 1 : connection à l’index ................................................................................................ 109


Code 2 : échantillonnage des abonnés ................................................................................... 110
Code 3 : initialisation de la table msisdn_metrics ................................................................. 110
Code 4 : Filtrage des données par abonné (itération) - Génération des variables d’analyses
................................................................................................................................................ 111
Code 5 : Extrait 1-Génération des variables dérivées pour la modélisation .......................... 111
Code 6 : Extrait 2-Génération des variables dérivées pour la modélisation .......................... 112
Code 7 : Extrait 3-Génération des variables dérivées pour la modélisation .......................... 112
Code 8 : Extrait 4-Génération des variables dérivées pour la modélisation .......................... 113
Code 9 : Extrait 5-Génération des variables dérivées pour la modélisation .......................... 113
Code 10 : Extrait 6-Génération des variables dérivées pour la modélisation ........................ 114
Code 11 : Extrait 7-Génération des variables dérivées pour la modélisation ........................ 114
Code 12 : Génération de la table de sortie de la préparation ................................................. 115
Code 13 : Extrait 1 - Génération du score de suspicion de fraude associé à chaque première
heure d’activité....................................................................................................................... 149
Code 14 : Extrait 2 - Génération du score de suspicion de fraude associé à chaque première
heure d’activité....................................................................................................................... 149
Code 15 : Extrait 3 Génération du score de suspicion de fraude associé à chaque première
heure d’activité....................................................................................................................... 149
Code 16 : Extrait 1- Génération du score finale associé aux autres heures d’activité ........... 178
Code 17 : Extrait 2 - Génération du score finale associé aux autres heures d’activité .......... 179
Code 18 : Extrait 3 - Génération du score finale associé aux autres heures d’activité .......... 179
Code 19 : Extrait 4 -Génération du score finale associé aux autres heures d’activité ........... 179
Code 20 : Extrait 1 - Cumul des scores de toutes les heures d’activités par msisdn ............. 181
Code 21 : Extrait 2 - Cumul des scores de toutes les heures d’activités par msisdn ............. 181
Code 22 : Extrait 3 - Cumul des scores de toutes les heures d’activités par msisdn ............. 181
Code 23 : Extrait 1 - Génération des scores de suspicion de fraude finaux des abonnés à la fin
de la période de données considérée ...................................................................................... 183
Code 24 : Extrait 2 - Génération des scores de suspicion de fraude finaux des abonnés à la fin
de la période de données considérée ...................................................................................... 183
Code 25 : Extrait 3 - Génération des scores de suspicion de fraude finaux des abonnés à la fin
de la période de données considérée ...................................................................................... 183

12
Listes des abréviations

ATA Adaptateurs Téléphoniques Analogiques


CDR Call Detail Records
GSM Global System for Mobile Communications
IMEI International Mobile Equipment Identity
IMSI International Mobile Subscriber Identity
LAN Local Area Network
MCC Mobile Country Code
MGCP Media Gateway Control Protocole
MNC Mobile Network Code
MNO Mobile Network Operator
PBX Private Branch Exchange
SIM Subscriber Identity Module
SIP Session Initiation Protocol
VoIP Voice over Internet Protocol
WAN Wide Area Network

13
Table des matières

Dédicace ..................................................................................................................................... 1
Remerciements ........................................................................................................................... 2
Résumé....................................................................................................................................... 3
Abstract ...................................................................................................................................... 4
Listes des figures........................................................................................................................ 5
Listes des tableaux ..................................................................................................................... 9
Listes des codes........................................................................................................................ 12
Listes des abréviations ............................................................................................................. 13
Table des matières.................................................................................................................... 14
Introduction générale ............................................................................................................... 20
Chapitre 1 : Cadre conceptuel et méthodologie de l’étude ...................................................... 23
Introduction .......................................................................................................................... 23
1. Présentation de l’organisme d’accueil.............................................................................. 24
1.1. Introduction ............................................................................................................... 24
1.2. Historique .................................................................................................................. 24
1.3. Vision et missions...................................................................................................... 24
1.4. Produits ...................................................................................................................... 24
1.5. Conclusion ................................................................................................................. 25
2. Contexte général du projet ............................................................................................... 26
2.1. Problématique ............................................................................................................ 26
2.2. Méthodologie du travail............................................................................................. 28
2.2.1 Les objectifs du Projet ......................................................................................... 28
2.2.2. Questions de recherche ....................................................................................... 29
2.2.3. La méthodologie de recherche ............................................................................ 30
3. Conduite du projet ............................................................................................................ 32
3.1. La Méthode SCURM ................................................................................................. 32
3.2. Planning du projet ......................................................................................................... 33
Conclusion............................................................................................................................ 35
Chapitre 2 : Revue de littérature .............................................................................................. 36
Introduction .......................................................................................................................... 36
1. Service d’appel.............................................................................................................. 37

14
2. L'écosystème de la téléphonie....................................................................................... 38
2.1. Composants clés ........................................................................................................ 38
2.2. Appels dans les réseaux cellulaires ........................................................................... 39
2.2.1. Définitions........................................................................................................... 39
2.2.2. Processus de fourniture des appels dans les réseaux mobiles cellulaires ........... 41
2.3. Appels dans les réseaux VoIP ................................................................................... 42
2.3.1. Composants et éléments principaux.................................................................... 42
2.3.2. Passerelle VoIP vers GSM .................................................................................. 43
2.4. Routage des appels dans les réseaux cellulaires ........................................................ 44
2.5. Flux appel internationnal ........................................................................................... 45
2.5.1. Traitement des appels internationaux.................................................................. 45
2.5.2. Appels internationaux technologies .................................................................... 47
3. Fraude dans l'industrie des télécommunication................................................................ 48
3.1. Définition ................................................................................................................... 48
3.2. Type de fraude ........................................................................................................... 48
3.2.1. Spam d'appels et de SMS .................................................................................... 48
3.2.2. Fraude liée au service de tarification spéciale (PRS).......................................... 49
3.2.3. Phishing fraud ..................................................................................................... 50
3.2.4. La fraude à la répartition internationale des revenus (IRSF) .............................. 51
3.2.5. La fraude de l'autocommutateur privé (PBX) ..................................................... 52
3.2.6. La fraude à l'abonnement .................................................................................... 52
3.2.7. La fraude Wangiri ............................................................................................... 53
3.2.8. La fraude Simbox ................................................................................................ 54
3.2.8.2. Simbox ......................................................................................................... 55
3.2.8.3. Schémas de fraude Simbox .......................................................................... 57
3.2.8.4. Scénario de fraude Simbox .......................................................................... 58
3.2.8.5. Simbox fraud stratégies ................................................................................ 60
3.2.8.6. Comportement des fraudeurs Simbox .......................................................... 61
3.2.8.7. Techniques de prévention de la fraude Simbox............................................ 62
4. Datalake ............................................................................................................................ 65
4.1. Histoire ...................................................................................................................... 65
4.2. Définition - avantages ................................................................................................ 66
5. Elasticsearch ..................................................................................................................... 67
6. Dataiku ............................................................................................................................. 68

15
6.1. Définition ................................................................................................................... 68
6.2. Quelques concepts clés .............................................................................................. 70
6.3. Préparation des données ............................................................................................ 72
6.4. Visualisation des données .......................................................................................... 73
6.5. Machine Learning ...................................................................................................... 75
7. Machine learning pour la détection de fraude .................................................................. 77
7.1. Algorithme d’apprentissage supervisé....................................................................... 77
7.2. Algorithmes d’apprentissage non supervisé .............................................................. 78
7.2.1. Définition ............................................................................................................ 78
7.2.2. K-means .............................................................................................................. 79
7.2.3. DBSCAN ............................................................................................................ 80
7.2.4. Isolation Forest.................................................................................................... 81
7.2.5. LOF (Local Outlier Factor) ................................................................................. 83
7.2.6. OC-SVM (One-Class Support Vector Machine)................................................. 84
8. Travaux antérieurs ............................................................................................................ 86
Conclusion............................................................................................................................ 89
Chapitre 3 : Conception de la solution ..................................................................................... 90
Introduction .......................................................................................................................... 90
1. Analyse des besoins ......................................................................................................... 91
2. Cycle de vie des données ................................................................................................. 92
3. Choix de la solution.......................................................................................................... 93
3.1. Raisons de choisir Dataiku ........................................................................................ 95
4. Architecture générale du système .................................................................................... 95
4.1. Acquisition des données ............................................................................................ 95
4.2. Les types de CDR ...................................................................................................... 96
4.3. Description des données ............................................................................................ 97
4.4. Data Processing ......................................................................................................... 98
4.4.1. Data cleaning ...................................................................................................... 98
4.4.2. Data aggregation ................................................................................................. 98
5. Choix des modèles ......................................................................................................... 102
5.1. Isolation forest ......................................................................................................... 102
5.2. K-means ................................................................................................................... 103
6. Jupyter Notebook ........................................................................................................... 103
7. Flux de traitement........................................................................................................... 104

16
Conclusion.......................................................................................................................... 106
Chapitre 4 : Réalisation .......................................................................................................... 107
Introduction ........................................................................................................................ 107
1. Création du projet sur Dataiku ....................................................................................... 108
2. Data collecte - Data cleaning - Data Aggregation.......................................................... 109
2.1. Data collecte ............................................................................................................ 109
2.2. Data cleaning - Data Aggregation ........................................................................... 110
3. Modélisation ................................................................................................................... 116
3.1. Splitting ................................................................................................................... 116
3.2. Traitement - Detection d’anomalies sur le dataframe “first_hour_calls” ................ 119
3.2.1. Isolation Forest sur la variable "called_party" .................................................. 119
3.2.1.1. Data preparation ......................................................................................... 120
3.2.1.2. Data Ingestion ............................................................................................ 120
3.2.1.3. Réglage du modèle et des caractéristiques ................................................. 121
3.2.1.4. Résultats du modèle ................................................................................... 121
3.2.1.5. Déploiement et surveillance ....................................................................... 124
3.2.2. Isolation Forest sur la variable "position_cell_id" ............................................ 126
3.2.2.1. Data Preparation ......................................................................................... 126
3.2.2.2. Data Ingestion ............................................................................................ 127
3.2.2.3. Réglage du modèle et des caractéristiques ................................................. 127
3.2.2.4. Résultats du modèle ................................................................................... 128
3.2.2.5. Déploiement et surveillance ....................................................................... 130
3.2.3. Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" ....... 132
3.2.3.1. Data Preparation ......................................................................................... 132
3.2.3.2. Data Ingestion ............................................................................................ 133
3.2.3.3. Réglage du modèle et des caractéristiques ................................................. 133
3.2.3.4. Résultats du modèle ................................................................................... 134
3.2.3.5. Déploiement et surveillance ....................................................................... 136
3.2.4. K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day ................................................................. 138
3.2.4.1. Data Preparation ......................................................................................... 139
3.2.4.2. Data Ingestion ............................................................................................ 140
3.2.4.3. Réglage du modèle et des caractéristiques ................................................. 140
3.2.4.4. Modèle sélectionné ..................................................................................... 141
3.2.4.5. Résultats du modèle ................................................................................... 142

17
3.2.4.6. Déploiement et surveillance ....................................................................... 146
3.2.5. Génération du score finale associé à chaque première heure d’activité ........... 149
3.3. Traitement - Detection d’anomalies sur le dataframe “others_hour_calls” ............ 150
3.3.1. Isolation Forest sur la variable variation_distinct_called ................................. 150
3.3.1.1. Data Preparation ......................................................................................... 151
3.3.1.2. Data Ingestion ............................................................................................ 151
3.3.1.3. Réglage du modèle et des caractéristiques ................................................. 151
3.3.1.4. Résultats du modèle ................................................................................... 152
3.3.1.5. Déploiement et surveillance ....................................................................... 154
3.3.2. Isolation Forest sur variation_distinct_cell ....................................................... 156
3.3.2.1. Data Preparation ......................................................................................... 156
3.3.2.2. Data Ingestion ............................................................................................ 156
3.3.2.3. Réglage du modèle et des caractéristiques ................................................. 157
3.3.2.4. Résultats du modèle ................................................................................... 157
3.3.2.5. Déploiement et surveillance ....................................................................... 160
3.3.3. Isolation forest sur cum_local_mtc.count_begginning_day ............................. 162
3.3.3.1. Data Preparation ......................................................................................... 162
3.3.3.2. Data Ingestion ............................................................................................ 162
3.3.3.3. Réglage du modèle et des caractéristiques ................................................. 163
3.3.3.4. Résultats du modèle ................................................................................... 164
3.3.3.5. Déploiement et surveillance ....................................................................... 166
3.3.4. K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day ................................................................. 168
3.3.4.1. Data Preparation ......................................................................................... 168
3.3.4.2. Data Ingestion ............................................................................................ 168
3.3.4.3. Réglage du modèle et des caractéristiques ................................................. 169
3.3.4.4. Modèle sélectionné ..................................................................................... 169
3.3.4.5. Résultats du modèle ................................................................................... 170
3.3.4.6. Déploiement et surveillance ....................................................................... 174
3.3.5. Génération du score finale associé aux autres heures d’activité ....................... 178
3.4. Cumul des scores de toutes les heures d’activités par msisdn ................................. 180
3.5. Score de suspicion de fraude Simbox à la dernière heure d’activités des abonnés sur
toute la période de données considérée .......................................................................... 183
3.6. Catégorisation des scores de susceptibilité finaux des abonnés (variable final_score
du dataset last_score) ...................................................................................................... 185

18
4. Visualisation des résultats .............................................................................................. 186
5. Dashboard....................................................................................................................... 187
Conclusion.......................................................................................................................... 188
Chapitre 5 : Recommandations pour les recherches futures .................................................. 189
Introduction ........................................................................................................................ 189
1. Recommandations .......................................................................................................... 190
Conclusion.......................................................................................................................... 191
Conclusion générale ............................................................................................................... 192
Références .............................................................................................................................. 193

19
Introduction générale

Le secteur des télécommunications a connu une croissance significative au cours des


dernières décennies, entraînant une dépendance accrue à l'égard des réseaux mobiles pour la
communication et les transactions financières. Si cette avancée technologique a apporté de
nombreux avantages à la société, elle a également créé de nouvelles opportunités pour les
activités frauduleuses. L'une de ces pratiques frauduleuses est la fraude Simbox, qui consiste à
acheminer illégalement des appels internationaux via des passerelles VoIP (Voice over Internet
Protocol) déguisées en numéros de téléphone mobile locaux.

Le présent mémoire se focalise sur la conceptualisation et la mise en place d'un système de


détection de fraude par contournement Simbox en utilisant des algorithmes de détection
d'anomalie et de clustering. En s'appuyant sur la puissance des algorithmes de détection
d'anomalies et de regroupement, l'objectif est de développer un système intelligent capable
d'identifier et de prévenir les activités frauduleuses, préservant ainsi la stabilité financière des
opérateurs de télécommunications et la confiance des clients et des parties prenantes.

Ce sujet a été motivé par l'importance croissante de la fraude par contournement Simbox dans
le contexte des opérateurs de télécommunications en Afrique. Cette forme de fraude a un
impact significatif sur leurs revenus et nuit à la qualité des services offerts aux abonnés. De
plus, cette problématique présente un défi technique passionnant en raison de la nature
sophistiquée des fraudes par contournement Simbox et du besoin de développer des méthodes
de détection avancées.

La détection de la fraude à la Simbox est une tâche difficile en raison des techniques
sophistiquées employées par les fraudeurs pour camoufler leurs activités. Les méthodes
traditionnelles de détection des fraudes reposent souvent sur des algorithmes supervisés qui
nécessitent des données étiquetées, lesquelles peuvent être rares et longues à obtenir dans le
cas de la fraude Simbox. Pour remédier à cette limitation, l'utilisation d'algorithmes non
supervisés est apparue comme une approche prometteuse dans la détection de la fraude Simbox.

Les algorithmes non supervisés, contrairement aux algorithmes supervisés, ne nécessitent pas
de données pré-étiquetées pour l'apprentissage. Ils visent plutôt à identifier des modèles et des
anomalies dans les données qui peuvent indiquer un comportement frauduleux. En tirant parti
de la structure inhérente des données, les algorithmes non supervisés peuvent découvrir des
informations cachées et détecter des schémas frauduleux qui pourraient passer inaperçus avec
les méthodes traditionnelles basées sur des règles ou supervisées.

20
Introduction

La problématique de cette recherche consiste donc à déterminer comment les algorithmes de


détection d'anomalie et de clustering peuvent être utilisés pour concevoir un système de
détection de fraude par contournement Simbox efficace et robuste. Pour répondre à cette
problématique, nous adopterons une approche méthodologique qui comprendra la collecte de
données téléphoniques pertinentes, la préparation des données, l'application d'algorithmes de
détection d'anomalie et de clustering, et l'évaluation des résultats obtenus.

L'objectif de cette étude est d'explorer l'efficacité des algorithmes non supervisés dans la
détection de la fraude Simbox dans l'industrie des télécommunications. En appliquant ces
algorithmes à des ensembles de données à grande échelle contenant des enregistrements de
détails d'appels (CDR) et des données de trafic réseau, nous visons à identifier les irrégularités
qui indiquent la présence d'une fraude Simbox. En outre, nous cherchons à évaluer les
performances de différents algorithmes non supervisés, y compris les techniques de
regroupement, de détection d'anomalies et d'analyse de réseau, en termes de précision,
d'efficacité et d'évolutivité.

Cette étude est extrêmement pertinente d'un point de vue scientifique et pratique. D'un point
de vue scientifique, elle contribue au domaine de la détection des fraudes en explorant
l'utilisation d'algorithmes de pointe de détection d'anomalies et de regroupement dans le
contexte de la fraude par contournement de la Simbox. En intégrant ces techniques avancées,
cette recherche comble le fossé entre les concepts théoriques et les défis du monde réel, offrant
de nouvelles perspectives et possibilités pour la prévention de la fraude. En pratique, les
résultats de cette étude ont des implications significatives pour les opérateurs de
télécommunications, leur permettant d'améliorer leurs mécanismes de détection des fraudes,
de minimiser les fuites de revenus et de maintenir un écosystème de télécommunications sûr et
digne de confiance.

En étudiant l'applicabilité des algorithmes non supervisés dans la détection de la fraude


Simbox, cette recherche vise à contribuer au développement de méthodes plus efficaces et
efficientes pour lutter contre les activités frauduleuses dans l'industrie des télécommunications.
Les enseignements tirés de cette étude peuvent aider les fournisseurs de services de
télécommunications et les autorités de régulation à mettre en œuvre des mesures proactives
pour détecter et prévenir la fraude à la Simbox, protégeant ainsi leurs réseaux, leurs revenus et
la sécurité nationale.

Le mémoire est structuré comme suit :

❖ Le chapitre 1 donne sur le cadre conceptuel et la méthodologie du projet. Il présente


également les objectifs et les questions de la recherche, ainsi que l'importance de l'étude
;
❖ Le chapitre 2 passe en revue la littérature existante sur la détection de la fraude
Simbox, y compris les méthodologies, les algorithmes et les techniques utilisés dans les

21
études précédentes. Cet examen permettra de comprendre l'état actuel de la détection
des fraudes dans la Simbox et servira de base à la poursuite de la recherche ;
❖ Le chapitre 3 présente la conception de la solution, y compris le processus de collecte
des données, les techniques de prétraitement, ainsi que la sélection et la mise en œuvre
d'algorithmes non supervisés. Ce chapitre aborde également les paramètres d'évaluation
utilisés pour mesurer les performances des algorithmes ;
❖ Le chapitre 4 présente les résultats expérimentaux et l'analyse. Il comprendra une
discussion détaillée de la performance des différents algorithmes non supervisés dans
la détection de la fraude Simbox, y compris leurs forces, leurs limites et les domaines
potentiels d'amélioration ;
❖ Le chapitre 5 présente des recommandations pour les recherches futures. Il examine
les implications de l'étude en termes d'amélioration de la détection de la fraude Simbox.

22
Chapitre 1 : Cadre conceptuel et méthodologie de l’étude

Introduction

Le chapitre 1 de ce mémoire est consacré à l'établissement d’un cadre contextuel et


méthodologique solide à notre étude, en mettant en avant la présentation de l'organisme
d'accueil, la description du projet, sa problématique, ses objectifs, ainsi que les questions de
recherche qui orientent notre travail. Nous concluons ce chapitre en exposant le planning de
réalisation de notre étude.

Dans un premier temps, nous débutons par la présentation de l'organisme d'accueil, qui
constitue le contexte dans lequel notre recherche est menée. Nous décrivons brièvement
l'organisme, ses activités, son domaine d'expertise et sa position dans l'industrie. Cette
présentation permet de situer notre étude dans le contexte réel d'une entreprise en particulier,
ce qui donne une perspective concrète à notre recherche.

Ensuite, nous procédons à une description détaillée du projet sur lequel nous nous concentrons.
Nous expliquons en quoi consiste ce projet, quel est son objectif global et quelles sont les
problématiques auxquelles il tente de répondre. Cette description nous permet de mettre en
évidence les enjeux et les défis auxquels l'entreprise est confrontée, offrant ainsi une vision
claire de la position du problème que nous cherchons à résoudre.

Par la suite, nous formulons les objectifs spécifiques de notre étude. Ces objectifs découlent
directement des problématiques identifiées et visent à apporter des réponses concrètes et des
contributions significatives dans le domaine étudié. Nous les définissons de manière claire et
précise, en soulignant leur pertinence scientifique et pratique.

Dans le même ordre d'idées, nous énonçons les questions de recherche qui guident notre travail.
Ces questions sont conçues pour approfondir notre compréhension du sujet, explorer des
aspects spécifiques du problème et proposer des solutions potentielles. Elles servent de fil
conducteur tout au long de notre étude et constituent un fondement solide pour notre recherche.

Enfin, nous présentons le planning de réalisation de notre étude, qui détaille les différentes
étapes du projet ainsi que les délais associés à chacune d'entre elles. Ce planning nous permet
de nous organiser efficacement et d'assurer une progression cohérente de notre recherche.

En résumé, ce chapitre 1 établit le cadre de notre étude en présentant l'organisme d'accueil, en


décrivant le projet, sa problématique et ses objectifs, en formulant les questions de recherche
et en exposant le planning de réalisation. Ces éléments fournissent une base solide pour la suite
de notre mémoire et permettent au lecteur de comprendre l'importance et la pertinence de notre
recherche.

23
Cadre et méthodologie

1. Présentation de l’organisme d’accueil


1.1. Introduction
Synaptique est une entreprise spécialisée dans le développement d'une plateforme visant à
fournir aux entreprises de télécommunications une solution de pointe pour exploiter les
données à l'échelle mondiale. Leur objectif est de donner une valeur inestimable aux données
pour ces entreprises.

1.2. Historique
Créée en 2001 par des experts du secteur des télécommunications, Synaptique a toujours été à
l'avant-garde de l'innovation dans l'analyse des volumes massifs de données. Ils sont
convaincus qu'un nouveau modèle d'analyse est nécessaire pour traiter les énormes quantités
de données générées par les réseaux, les capteurs et les appareils. Grâce à leur plateforme S-
One, ils offrent à leurs clients la possibilité de prendre des décisions en temps réel basées sur
ces données.

1.3. Vision et missions


Synaptique est fermement convaincue que donner aux fournisseurs de services, aux entreprises
et aux gouvernements la capacité d'analyser les données dès leur collecte permettra de
véritablement orienter ces entités vers une approche centrée sur les données. Leur vision
consiste à permettre aux clients de prendre des décisions éclairées dans un monde où les
données sont primordiales.

1.4. Produits

❖ S-One Streaming Analytics : Une plateforme puissante dédiée au traitement des


données massives dans le domaine des télécommunications. Elle permet une analyse
en temps réel des enregistrements de détails d'appels et des données d'événements
générées par les composants du réseau.

24
Cadre et méthodologie

Figure 1 : Produits S-One Streaming Analytics1

❖ S-One Telecom Revenue Verification System (TRVS) : Fournit des informations


objectives sur les revenus générés par les services de télécommunications. Il permet
aux autorités de vérifier les recettes des opérateurs et fournit des données à jour sur le
marché des télécommunications.

❖ S-One Convergent Provisioning : Une plateforme intelligente d'assistance aux


opérations pour les réseaux filaires et Internet. Elle permet aux fournisseurs de services
d'introduire rapidement de nouveaux services sur des réseaux et des infrastructures
informatiques complexes.

1.5. Conclusion
Synaptique se positionne comme un leader de l'innovation dans l'analyse des données massives
pour les entreprises de télécommunications. Leurs produits et plateformes permettent aux
clients de tirer pleinement parti des données en temps réel, de prendre des décisions éclairées
et d'améliorer leurs performances dans un environnement où les données jouent un rôle central.

1 S-One Streaming Analytics, Consulté le 10 02, 2023 : https://www.synaptique.com/s-one-streaming analytics/

25
Cadre et méthodologie

2. Contexte général du projet


2.1. Problématique
La problématique de la détection des fraudes par contournement de Simbox constitue
un enjeu critique pour Synaptique dans le but de fournir à ses clients un système fiable et
efficace. Cette problématique se décompose en plusieurs éléments clés au sein de l'entreprise.

Premièrement dans le contexte des relations avec les opérateurs télécoms, il est essentiel pour
ces acteurs de disposer d'un système de détection de fraudes par Simbox robuste. En tant que
prestataires de services télécoms, les opérateurs sont confrontés à des défis majeurs liés à la
sécurité et à la fiabilité de leurs réseaux. Les fraudes par contournement de Simbox représentent
une menace significative pour ces opérateurs, car elles entraînent des pertes financières
considérables, affectent la qualité des services offerts aux abonnés et sapent la confiance des
clients.

Avoir un système de détection de fraudes par Simbox efficace revêt une importance cruciale
pour les opérateurs télécoms. Cela leur permet de détecter rapidement et précisément les
activités frauduleuses liées aux Simbox, qui consistent à utiliser des boîtiers pour acheminer
des appels internationaux en évitant les frais de roaming et les tarifs internationaux. En
détectant et en prévenant ces fraudes, les opérateurs peuvent préserver leur rentabilité,
minimiser les pertes financières et préserver la confiance de leurs clients.

De plus, un système de détection de fraudes par Simbox robuste permet aux opérateurs
télécoms de maintenir la qualité de leurs services. En identifiant rapidement les Simbox
frauduleuses, ils peuvent empêcher les utilisateurs de contourner les règles et de saturer le
réseau avec des activités illégales ou non autorisées. Cela garantit une utilisation équitable des
ressources du réseau et préserve la qualité des services offerts à l'ensemble des abonnés.

Enfin, en fournissant un système de détection de fraudes par Simbox performant, les opérateurs
télécoms peuvent renforcer leur réputation et leur position concurrentielle sur le marché. Les
clients, qu'il s'agisse d'entreprises ou de particuliers, attachent une grande importance à la
sécurité et à la fiabilité des services de télécommunication qu'ils utilisent. En offrant un
environnement sûr et en prévenant activement les fraudes par Simbox, les opérateurs peuvent
attirer de nouveaux clients, fidéliser leur base existante et se distinguer de la concurrence.

En résumé, pour les opérateurs télécoms, avoir un système de détection de fraudes par Simbox
robuste revêt une importance capitale. Cela leur permet de préserver leur rentabilité, de
maintenir la qualité de leurs services et de renforcer leur position concurrentielle. En offrant
une solution efficace, Synaptique peut répondre à ces besoins critiques des opérateurs et
contribuer à leur succès sur le marché des télécommunications.

Deuxièmement, dans le contexte des relations avec les clients, il est primordial de garantir leur
confiance et de protéger leurs intérêts. Les fraudes par contournement de Simbox peuvent avoir

26
Cadre et méthodologie

un impact direct sur la satisfaction des clients, leur facturation et leur utilisation des services
de télécommunication. Il est donc nécessaire de mettre en place des mécanismes de détection
efficaces pour prévenir ces fraudes et préserver la relation client.

Troisièmement, dans un environnement concurrentiel, la détection des fraudes par Simbox


revêt une importance stratégique. Les entreprises cherchent à se démarquer en offrant des
services de télécommunication sécurisés et fiables. La capacité à détecter et à prévenir les
fraudes par contournement de Simbox peut constituer un avantage concurrentiel crucial,
permettant à Synaptique de renforcer sa position sur le marché.

Bien que Synaptique dispose déjà d'une approche de détection de fraudes par contournement
de Simbox basée sur des algorithmes supervisés, il est important de reconnaître les limites de
cette approche. Les algorithmes supervisés nécessitent des données étiquetées pour
l'apprentissage, ce qui peut être contraignant et limitatif en termes de disponibilité et de
diversité des données de fraude. De plus, ils peuvent être moins adaptés pour détecter des
fraudes inconnues ou émergentes.

En revanche, les algorithmes non supervisés offrent certains avantages dans la détection des
fraudes par Simbox. Ils sont capables de détecter des anomalies et des schémas inhabituels dans
les données sans nécessiter de données étiquetées. Cela permet d'identifier des fraudes
potentielles non encore répertoriées, offrant ainsi une plus grande capacité de détection
proactive.

En tenant compte de ces éléments, la problématique centrale qui se dégage est la suivante :
Comment concevoir un système de détection des fraudes par Simbox, en utilisant des
algorithmes de détection d'anomalies et de clustering, qui surmonte les limites des approches
supervisées et exploite les avantages des approches non supervisées ?

Pour mieux appréhender cette problématique, nous pouvons la décomposer en plusieurs sous-
questions :

❖ Quels sont les schémas de fraudes courants liés au contournement de Simbox dans le
domaine des opérateurs télécoms et comment peuvent-ils être identifiés ?
❖ Quelles sont les limites des algorithmes supervisés dans la détection des fraudes par
contournement de Simbox pour les opérateurs télécoms et comment les surmonter ?
❖ Comment les algorithmes de détection d'anomalie peuvent-ils contribuer à améliorer la
détection de fraude par contournement Simbox ?
❖ Quel rôle peut jouer le clustering dans l'identification de schémas de fraude complexes
dans les données de télécommunications ?
❖ Comment sélectionner et mettre en œuvre les algorithmes de détection d'anomalies et
de clustering les plus appropriés pour la détection des fraudes par contournement de
Simbox dans le contexte spécifique des opérateurs télécoms ?

27
Cadre et méthodologie

2.2. Méthodologie du travail

2.2.1 Les objectifs du Projet

L'objectif principal du sujet proposé par Synaptique est de développer un système de


détection des fraudes par Simbox en utilisant des algorithmes de détection d'anomalies et
de clustering. Ce système sera développé en utilisant les données liées à seul opérateur
télécom.

Cet objectif peut être scindé en plusieurs sous-objectifs afin d'assurer une approche complète
et efficace :

1. Étude de l'existant : Examiner les méthodes de détection de fraudes par Simbox déjà
utilisées dans l'industrie des télécommunications. Analyser les forces et les faiblesses
de ces approches existantes pour identifier les lacunes à combler.
2. Sélection des méthodes appropriées : Identifier et sélectionner les algorithmes de
détection d'anomalies et de clustering les plus adaptés à la détection des fraudes par
Simbox. Comparer les performances, la précision et la vitesse de ces méthodes pour
déterminer les plus efficaces.
3. Identification des facteurs de fraude : Analyser les caractéristiques et les schémas
des fraudes par Simbox pour identifier les facteurs clés qui peuvent être utilisés dans la
détection. Comprendre les techniques et les tactiques utilisées par les fraudeurs pour
contourner les systèmes traditionnels de détection.
4. Collecte des ressources nécessaires : Identifier les données pertinentes nécessaires à
l'entraînement et à la validation des algorithmes de détection. Rassembler les
informations sur les appels, les messages et les comportements des utilisateurs pour
construire un jeu de données représentatif.
5. Analyses statistiques : Appliquer des techniques d'analyse statistique pour extraire des
informations significatives à partir des données collectées. Utiliser des méthodes telles
que l'analyse des tendances, la corrélation et la détection d'anomalies pour identifier les
schémas suspects et les comportements frauduleux.
6. Visualisation et production de Dashboard : Concevoir des visualisations et de
Dashboard graphiques claires et intuitives pour présenter les résultats de la détection de
fraudes par Simbox.
7. Système de score de susceptibilité de fraude : Mettre en place un système qui attribue
un score de susceptibilité de fraude à chaque utilisateur ou transaction. Ce score doit
être actualisé régulièrement, de préférence chaque heure, en utilisant les informations
historiques pour détecter les changements de comportement et les signes de fraude
potentielle.

28
Cadre et méthodologie

2.2.2. Questions de recherche

Objectif 1 : Étude de l'existant

❖ Quelles sont les méthodes de détection de fraudes par Simbox actuellement utilisées
par les opérateurs télécoms ?
❖ Quels sont les avantages et les limites de ces méthodes existantes ?
❖ Quelles sont les nouvelles tendances et avancées dans le domaine de la détection des
fraudes par Simbox ?

Objectif 2 : Sélection des méthodes appropriées

❖ Quels sont les algorithmes de détection d'anomalies les plus performants pour la
détection des fraudes par Simbox ?
❖ Quels sont les algorithmes de clustering les plus adaptés pour regrouper les schémas de
fraudes similaires ?
❖ Comment comparer et évaluer les performances de ces différentes méthodes pour
sélectionner les plus efficaces ?

Objectif 3 : Identification des facteurs de fraude

❖ Quelles sont les caractéristiques et les schémas communs des fraudes par Simbox ?
❖ Quels sont les comportements ou les signaux indiquant une activité frauduleuse dans
les données des opérateurs télécoms ?
❖ Comment analyser les tactiques utilisées par les fraudeurs pour contourner les systèmes
de détection existants ?

Objectif 4 : Collecte des ressources nécessaires

❖ Quelles sont les sources de données disponibles pour la détection des fraudes par
Simbox ?
❖ Quelles informations spécifiques sur les appels, les messages et les comportements des
utilisateurs doivent être collectées ?
❖ Comment rassembler et préparer ces données pour construire un jeu de données
représentatif et de qualité ?

Objectif 5 : Analyses statistiques

❖ Quelles techniques d'analyse statistique sont les plus appropriées pour détecter les
schémas et les anomalies liés aux fraudes par Simbox ?

29
Cadre et méthodologie

❖ Comment identifier les seuils et les critères de détection des comportements frauduleux
?
❖ Comment intégrer les résultats des analyses statistiques dans le système de détection
des fraudes par Simbox ?

Objectif 6 : Visualisation et production de Dashboard

❖ Quels sont les types de visualisations graphiques les plus adaptés pour représenter les
résultats de la détection des fraudes par Simbox ?
❖ Quels sont les outils ou les technologies nécessaires pour développer des visualisations
et des tableaux de bord efficaces ?

Objectif 7 : Système de score de susceptibilité de fraude

❖ Quels critères et quels indicateurs peuvent être utilisés pour attribuer un score de
susceptibilité de fraude à chaque utilisateur ou transaction ?
❖ Comment actualiser régulièrement les scores en utilisant les données en temps réel et
les informations historiques ?

En répondant à ces sous-questions, nous pourrons approfondir chaque sous-objectif et mettre


en place une démarche méthodique pour atteindre l'objectif principal de développer un système
de détection des fraudes par Simbox efficace pour l’opérateur.

2.2.3. La méthodologie de recherche


La méthodologie de recherche utilisée pour ce projet comprend principalement une
recherche documentaire. Cette approche consiste à recueillir et à analyser des articles
scientifiques pertinents dans le domaine de la détection des fraudes par Simbox. Voici une
description détaillée de la méthodologie de recherche :

1. Identification des sources : Pour mener cette recherche, des bases de données
académiques, des bibliothèques en ligne, des archives de revues scientifiques et des
plateformes de recherche ont été consultées. Des mots-clés tels que "détection de
fraudes par Simbox", "algorithmes de détection d'anomalies", "clustering", etc., ont été
utilisés pour identifier les sources pertinentes.

2. Sélection des articles : Une fois les sources identifiées, une évaluation a été réalisée
pour sélectionner les articles pertinents. Les critères de sélection incluaient la
pertinence du contenu par rapport au sujet, la qualité et la crédibilité des sources, ainsi
que la récence des publications.

3. Lecture et analyse des articles : Les articles sélectionnés ont été lus attentivement et
analysés pour extraire les informations clés. Cela comprenait la compréhension des
méthodes de détection des fraudes par Simbox décrites, les techniques d'analyse

30
Cadre et méthodologie

utilisées, les résultats obtenus, les avantages et les limites des approches proposées,
ainsi que les lacunes identifiées dans les recherches existantes.

4. Synthèse des résultats : Les informations et les connaissances issues de la lecture des
articles ont été synthétisées pour former une vue d'ensemble des avancées, des
tendances et des lacunes dans le domaine de la détection des fraudes par Simbox. Cette
synthèse a permis d'identifier les méthodes les plus prometteuses, les techniques les
plus adaptées et les défis à relever dans la conception du système de détection.

Il convient de noter que cette méthodologie de recherche a été utilisée pour acquérir une
compréhension approfondie du domaine, évaluer les approches existantes et identifier les
meilleures pratiques. Elle a servi de base pour orienter la conception et le développement du
système de détection des fraudes par Simbox proposé.

31
Cadre et méthodologie

3. Conduite du projet

3.1. La Méthode SCURM

La méthode SCRUM offre plusieurs avantages dans la gestion de projets. Tout


d'abord, en utilisant des itérations courtes appelées "sprints", SCRUM permet une approche
itérative et incrémentale du développement. Cela signifie que des versions fonctionnelles du
produit sont livrées régulièrement, ce qui permet aux parties prenantes de voir et de donner leur
feedback rapidement. Cela favorise la transparence et permet d'ajuster les fonctionnalités en
fonction des besoins et des retours des utilisateurs.

Un autre avantage de SCRUM est sa capacité à s'adapter aux changements. Comme les
fonctionnalités sont définies et priorisées à chaque sprint, il est possible de réévaluer les besoins
et de modifier la direction du projet si nécessaire. Cela permet de répondre aux évolutions du
marché ou aux nouvelles exigences des clients de manière flexible.

La méthode SCRUM encourage également une collaboration étroite entre les membres de
l'équipe et favorise l'auto-organisation. Les rôles clés dans SCRUM, tels que le Scrum Master,
le Product Owner et l'équipe de développement, travaillent ensemble de manière collaborative
pour atteindre les objectifs du projet. Cette approche favorise la communication, la prise de
décision collective et l'implication de tous les membres de l'équipe.

En utilisant des réunions régulières telles que la planification du sprint, la revue du sprint et la
rétrospective du sprint, SCRUM favorise la transparence et l'amélioration continue. Les
problèmes et les obstacles sont identifiés rapidement, ce qui permet de les résoudre
efficacement et d'optimiser les processus pour les sprints suivants.

En résumé, les avantages de la méthode SCRUM incluent une livraison régulière de versions
fonctionnelles, une flexibilité face aux changements, une collaboration étroite entre les
membres de l'équipe et une amélioration continue du processus de développement. Ces
avantages permettent de réduire les risques, d'optimiser l'efficacité et de fournir un produit de
haute qualité qui répond aux besoins des utilisateurs.

32
Cadre et méthodologie

3.2. Planning du projet

Le diagramme de Gantt tire son nom de son créateur, Henry Gantt, un ingénieur
américain, qui l'a développé dans les années 1910. Il a été largement utilisé dans le domaine de
la gestion de projet depuis lors et est devenu l'un des outils les plus couramment utilisés pour
planifier, organiser et suivre les projets.

L'importance du diagramme de Gantt réside dans sa capacité à fournir une représentation


visuelle claire et structurée du planning d'un projet. Voici quelques-unes de ses principales
contributions :

❖ Planification : Le diagramme de Gantt permet de planifier les différentes tâches et


activités d'un projet dans le temps. Il aide à identifier les tâches nécessaires à la
réalisation du projet, à déterminer leur durée estimée et à les organiser de manière
logique.

❖ Visualisation : En utilisant des barres horizontales pour représenter les tâches et leurs
durées, le diagramme de Gantt offre une vision globale du projet. Cela permet à l'équipe
de projet et aux parties prenantes de comprendre rapidement la séquence des tâches,
leur chevauchement éventuel et les périodes critiques.

❖ Coordination : Le diagramme de Gantt facilite la coordination entre les membres de


l'équipe de projet. En visualisant les dépendances entre les tâches, il devient plus facile
de comprendre les relations et les liens entre les différentes activités. Cela permet
d'anticiper les contraintes et de coordonner efficacement les ressources nécessaires.

❖ Suivi : Grâce au diagramme de Gantt, il est possible de suivre l'avancement du projet


en temps réel. En comparant les dates prévues avec les dates réelles, il devient plus
facile d'identifier les retards ou les avances et de prendre les mesures nécessaires pour
ajuster le planning.

❖ Communication : Le diagramme de Gantt est un outil de communication efficace pour


partager des informations sur l'état du projet avec les parties prenantes. Il permet de
présenter de manière claire et concise les étapes clés, les jalons et les échéances,
favorisant ainsi une compréhension commune et une meilleure collaboration.

En résumé, le diagramme de Gantt est un outil précieux pour la gestion de projet. Il permet de
planifier, coordonner, suivre et communiquer efficacement les différentes étapes et activités
d'un projet, ce qui contribue à une gestion plus efficiente, une meilleure coordination de
l'équipe et une réalisation réussie des objectifs du projet.

33
Cadre et méthodologie

Tableau 1 : Planification du projet

Détail des tâches Durée Début Fin


1 Etape1 Initialisation et revue
43 jours 01 Février 15 Mars
de littérature
2 Lancement du projet 1 jour 01 Février 1er Février
3 Recherche sur le sujet 8 jours 02 Février 7 Février
4 Etude de besoin 8 jours 08 Février 15 Février
5 Cadre théorique 19 jours 16 Février 07 Mars
6 Travaux antérieurs 8 jours 08 Mars 15 Mars
7 Etape 2 Conception du projet 17 jours 15 Mars 01 Avril
8 Benchmarking et choix des
9 jours 15 Mars 23 Mars
outils
9 Elaboration de la démarche de
10 jours 23 Mars 01 Avril
réalisation
10 Etape3 Réalisation 45 jours 01 Avril 15 Mai
11 Acquisition des données 3 jours 01Avril 03 Avril
12 Pré-traitement 8 jours 03 Avril 10 Avril
13 Modélisation 28 jours 10 Avril 07 Mai
14 Visualisation 8 jours 08 Mai 15 Mai
15 Etape 4 Rédaction du
62 jours 01 Avril 01 Juin
rapport
Février Mars Avril Mai
Détail des tâches Durée Début Fin
S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4 S1 S2 S3 S4
Etape1
Initialisation et 43 01- 15-
1
revue de jours févr mars
littérature
Lancement du 01- 1er
2 1 jour
projet févr Février
Recherche sur le 8 02- 07-
3
sujet jours févr févr
8 08- 15-
4 Etude de besoin
jours févr févr
19 16- 07-
5 Cadre théorique
jours févr mars
8 08- 15-
6 Travaux antérieurs
jours mars mars
Etape 2
17 15-
7 Conception du 01-avr
jours mars
projet
Benchmarking et 9 15- 23-
8
choix des outils jours mars mars
Elaboration de la
10 23-
9 démarche de 01-avr
jours mars
réalisation
45 01- 15-
10 Etape3 Réalisation
jours avr mai
Acquisition des 3
11 01-avr 03-avr
données jours
8
12 Pré-traitement 03-avr 10-avr
jours
28
13 Modélisation 10-avr 07-mai
jours

8 08-
14 Visualisation 15-mai
jours mai

Etape 4 Rédaction 62 01- 01-


15
du rapport jours avr juin

34
Cadre et méthodologie

Conclusion

Dans ce chapitre, nous avons présenté l'organisme d'accueil ainsi que le contexte dans
lequel s'inscrit notre étude. Nous avons décrit en détail le projet de détection de fraude par
contournement Simbox et exposé ses objectifs principaux. En mettant en évidence les
problématiques rencontrées par l'entreprise et la position du problème, nous avons souligné
l'importance de notre recherche.

Nous avons également la méthodologie de recherche qui sera suivie tout au long de notre
travail, en identifiant les différentes étapes et approches nécessaires pour atteindre nos
objectifs. De plus, nous avons présenté le planning de réalisation du projet, permettant ainsi de
visualiser les différentes phases et leurs échéances.

En ce qui concerne la problématique, nous avons souligné les limites des algorithmes
supervisés traditionnellement utilisés dans la détection de fraude par contournement Simbox.
Ces limites ont mis en évidence la nécessité de développer de nouvelles approches basées sur
les algorithmes de détection d'anomalie et de clustering.

Les sous-questions identifiées fourniront un cadre pour notre recherche et nous guideront dans
notre exploration des solutions potentielles. En répondant à ces questions, nous espérons
contribuer à l'amélioration de la détection de fraude dans le domaine des télécommunications
et proposer des alternatives plus efficaces pour prévenir et contrer les activités frauduleuses.

Ce chapitre a posé les bases de notre étude en fournissant une vision claire de l'objectif de
recherche, des problématiques associées et des questions clés à explorer. Dans les chapitres
suivants, nous approfondirons ces aspects et nous mettrons en œuvre notre méthodologie pour
apporter des réponses et des solutions concrètes aux défis identifiés.

35
Chapitre 2 : Revue de littérature

Introduction

Le présent chapitre constitue une revue de la littérature existante sur la détection de la


fraude Simbox, en se concentrant sur les algorithmes et les techniques utilisés dans les études
précédentes. L'objectif de cette revue est de fournir un aperçu détaillé de l'état actuel de la
détection des fraudes dans la Simbox, en examinant les travaux de recherche pertinents et les
avancées réalisées dans ce domaine. Cette revue de littérature nous permettra de mieux
comprendre les défis et les enjeux associés à la détection de la fraude Simbox, tout en
identifiant les lacunes existantes et les opportunités de recherche.

Le chapitre débutera par la définition des concepts clés liés aux trafics téléphoniques, aux
CDRs (Call Detail Records), à la fraude Simbox et aux bases de données utilisées, notamment
Elasticsearch et la plateforme de traitement des données Dataiku. Ces concepts seront expliqués
en détail pour assurer une compréhension approfondie du domaine de la détection de la fraude
Simbox.

Ensuite, nous passerons en revue les études précédentes qui se sont intéressées à la détection
de la fraude Simbox, en mettant l'accent sur les algorithmes et les techniques utilisés. Cette
revue de littérature mettra en évidence les différentes approches de détection de la fraude
Simbox, telles que l'apprentissage automatique, l'analyse de données massives et les méthodes
basées sur les anomalies et le clustering. Nous analyserons également les résultats obtenus dans
ces études, en soulignant leurs forces, leurs limites et les pistes de recherche futures.

Enfin, ce chapitre propose un plan détaillé pour la poursuite de notre recherche. Nous
identifierons les axes de recherche qui méritent une attention particulière et nous présenterons
les objectifs spécifiques de notre étude. Ce plan nous guidera dans la sélection des méthodes et
des techniques appropriées pour notre propre recherche, en mettant en évidence les
contributions attendues et les résultats escomptés.

En somme, ce chapitre constitue une étape essentielle de notre étude, en fournissant une vision
globale de la littérature existante sur la détection de la fraude Simbox. Il nous permettra de
positionner notre recherche dans le contexte actuel, de comprendre les concepts clés et d'établir
un plan clair pour la poursuite de nos travaux.

36
Revue de littérature

1. Service d’appel2

Un service d'appel d'un opérateur de télécommunications, tel qu'un opérateur de réseau


mobile (MNO), fait référence à la fonctionnalité permettant aux utilisateurs de passer et de
recevoir des appels téléphoniques via le réseau de l'opérateur. C'est l'une des fonctionnalités
essentielles offertes par un opérateur de téléphonie mobile.

Le service d'appel permet aux abonnés de communiquer vocalement avec d'autres utilisateurs
de téléphones fixes ou mobiles, à la fois à l'intérieur et à l'extérieur du réseau de l'opérateur.
Lorsqu'un utilisateur compose un numéro de téléphone, l'appel est acheminé à travers le réseau
de l'opérateur, qui assure la connexion avec le destinataire de l'appel.

Le service d'appel comprend généralement des fonctionnalités supplémentaires telles que la


messagerie vocale, le transfert d'appel, la conférence téléphonique et l'identification de
l'appelant. Certaines de ces fonctionnalités peuvent nécessiter des options supplémentaires ou
des abonnements spécifiques.

Les opérateurs de télécommunications déploient constamment de nouvelles technologies pour


améliorer la qualité des appels, la couverture réseau et offrir des services avancés, tels que la
Voix sur LTE (VoLTE) qui permet des appels de haute qualité via la connexion de données 4G
ou 5G, et la Voix sur Wi-Fi (VoWiFi) qui permet aux utilisateurs de passer des appels via des
réseaux Wi-Fi.

En résumé, le service d'appel d'un opérateur de télécommunications permet aux utilisateurs de


passer et de recevoir des appels téléphoniques via le réseau de l'opérateur, offrant ainsi une
fonctionnalité essentielle de communication vocale.

2
Article L32 du Code des postes et des communications électroniques [Internet]. Consulté le 09/02/2023.
Disponible sur : https://www.marche-public.fr/Marches-publics/Textes/Codes/CPCE/cpce-article-L032.htm

37
Revue de littérature

2. L'écosystème de la téléphonie3
2.1. Composants clés

L'écosystème de la téléphonie désigne le réseau interconnecté de technologies, de


systèmes et d'entités qui permettent les services de télécommunications et de communication
vocale. Il englobe divers éléments qui travaillent ensemble pour faciliter les appels vocaux, le
routage et d'autres services de téléphonie. Voici quelques éléments clés de l'écosystème de la
téléphonie :

❖ Fournisseurs de services de télécommunication : Ce sont les entreprises qui


fournissent des services de téléphonie aux clients, y compris les opérateurs de lignes
fixes, les opérateurs de réseaux mobiles (MNO) et les fournisseurs de services Internet
(FSI).

❖ Réseau téléphonique commuté public (RTCP) : Le RTCP est l'infrastructure


mondiale traditionnelle utilisée pour la communication téléphonique publique. Il
comprend des fils de cuivre physiques, des câbles à fibre optique et des systèmes de
commutation qui permettent les appels vocaux entre différents téléphones.

❖ Voix sur protocole Internet (VoIP) : La VoIP est une technologie qui permet la
communication vocale via Internet. Elle convertit les signaux vocaux analogiques en
paquets de données numériques et les transmet via des réseaux IP, permettant ainsi de
passer des appels vocaux en utilisant des connexions Internet.

❖ Protocole d'initiation de session (SIP) : Le SIP est un protocole de signalisation utilisé


pour l'initiation, la modification et la terminaison des sessions de communication dans
les systèmes VoIP. Il contribue à établir et à contrôler les appels vocaux, les conférences
multimédias et d'autres sessions de communication en temps réel.

❖ IP-PBX et passerelles VoIP : Un IP-PBX (Private Branch Exchange) est un système


qui gère la communication vocale interne au sein d'une organisation en utilisant la
technologie VoIP. Les passerelles VoIP connectent les réseaux basés sur IP aux réseaux
téléphoniques traditionnels, permettant ainsi l'interconnexion des systèmes de
téléphonie VoIP traditionnels.

❖ Applications de téléphonie : Il s'agit de divers logiciels et applications qui fournissent


des services de téléphonie, tels que les softphones, les applications de numérotation
mobile, les applications de centres d'appels et les plates-formes de communications

3
VoIP - La voix sur IP [Internet]. FRAMEIP.COM. 2023. Consulté le 11/02/2023. Disponible sur :
https://www.frameip.com/voip/

38
Revue de littérature

unifiées. Ces applications facilitent les appels vocaux, la gestion des appels, le routage
des appels et des fonctionnalités supplémentaires telles que la messagerie vocale,
l'enregistrement des appels et le renvoi des appels.

❖ Infrastructure de téléphonie : Cela fait référence aux composants physiques et


virtuels qui prennent en charge les services de téléphonie, notamment les serveurs, les
commutateurs, les routeurs, les passerelles multimédias, les codecs et autres
équipements réseau. Ces composants permettent le routage des appels, la commutation
et le traitement des médias.

❖ Normes et protocoles de téléphonie : Diverses normes et protocoles régissent


l'écosystème de la téléphonie, garantissant l'interopérabilité et la compatibilité entre
différents systèmes et appareils. Parmi les exemples, on peut citer le protocole SS.

2.2. Appels dans les réseaux cellulaires4

2.2.1. Définitions

❖ Appels
Dans les réseaux cellulaires, les appels désignent la communication vocale entre deux ou
plusieurs parties à l'aide de dispositifs mobiles tels que des téléphones portables. Les appels
sont acheminés via les infrastructures de réseau cellulaires et permettent aux utilisateurs de se
parler en temps réel.

❖ SIM
Une SIM (Subscriber Identity Module) est une carte intelligente utilisée dans les téléphones
mobiles et autres appareils compatibles pour identifier et authentifier l'abonné sur un réseau
mobile. La SIM est insérée dans un emplacement dédié dans l'appareil et contient des
informations spécifiques à l'abonné, telles que l'IMSI (International Mobile Subscriber
Identity), qui est l'identifiant unique de l'abonné.

La SIM est associée à un opérateur de réseau mobile spécifique et permet à l'abonné d'accéder
aux services de ce réseau, tels que les appels, les messages texte et l'accès à Internet. Elle stocke
également les informations nécessaires à l'authentification de l'abonné sur le réseau.

La SIM peut être retirée et transférée d'un appareil à un autre compatible, permettant ainsi à
l'utilisateur de conserver ses informations et ses services lorsqu'il change de téléphone. De plus,
certaines SIM peuvent prendre en charge des fonctionnalités supplémentaires telles que le
stockage de données, l'accès à des services spécifiques et les paiements mobiles.

4Kouam AJ, Viana AC, Tchana A. Simbox Bypass Frauds in Cellular Networks : Strategies, Evolution, Detection,
and Future Directions. IEEE Commun Surv Tutorials. 2021 ;23(4):2295‑323.

39
Revue de littérature

Il existe différents types de SIM, tels que les SIM standard (Mini-SIM), les SIM micro (Micro-
SIM), les SIM nano (Nano-SIM) et les eSIM (Embedded SIM) intégrées directement dans
l'appareil. Les eSIM sont des cartes SIM virtuelles qui peuvent être activées et configurées à
distance, éliminant ainsi le besoin d'une carte physique.

En résumé, une SIM est une carte utilisée dans les téléphones mobiles pour l'identification,
l'authentification et l'accès aux services d'un réseau mobile spécifique.

❖ IMEI (International Mobile Equipment Identity)


L'IMEI (International Mobile Equipment Identity) est un code unique attribué à un appareil
mobile tel qu'un téléphone portable ou une tablette. Il s'agit d'un identifiant international qui
permet d'identifier de manière unique un appareil sur un réseau mobile. L'IMEI est
généralement utilisé à des fins de suivi, d'authentification et de prévention du vol d'appareils.

Le numéro IMEI est composé de 15 chiffres et est spécifique à chaque appareil. Il fournit des
informations telles que le type d'appareil, le pays d'origine, le fabricant et un numéro de série
unique. Les opérateurs de réseaux mobiles et les autorités réglementaires utilisent l'IMEI pour
suivre les appareils sur leurs réseaux et pour empêcher l'utilisation d'appareils volés.

L'IMEI peut généralement être trouvé sur l'emballage de l'appareil, sous la batterie (pour les
appareils dotés de batteries amovibles) ou en composant le code *#06# sur le clavier de
l'appareil. Il s'agit d'un identifiant important pour la gestion des appareils, les opérations réseau
et la sécurité.

❖ IMSI (International Mobile Subscriber Identity)


IMSI (International Mobile Subscriber Identity) est un acronyme pour "Identité Internationale
d'Abonné Mobile" en français. Il s'agit d'un identifiant unique associé à une carte SIM
(Subscriber Identity Module) d'un appareil mobile. L'IMSI est utilisé par le réseau mobile pour
identifier et authentifier un abonné.

L'IMSI est composé d'un numéro de 15 chiffres et est divisé en trois parties principales. La
première partie est le Mobile Country Code (MCC) qui identifie le pays où la carte SIM est
enregistrée. La deuxième partie est le Mobile Network Code (MNC) qui identifie l'opérateur
de réseau mobile spécifique dans le pays. La troisième partie est le Mobile Subscriber
Identification Number (MSIN) qui est un numéro unique attribué à l'abonné individuel.

L'IMSI est stocké sur la carte SIM et est transmis au réseau mobile lorsque l'appareil se
connecte au réseau. Il est utilisé à diverses fins, notamment l'enregistrement sur le réseau,
l'authentification, la facturation et le routage des appels et des données mobiles.

L'IMSI est considéré comme une information sensible et n'est généralement pas affiché ou
utilisé directement par l'utilisateur. Cependant, il s'agit d'un identifiant important pour les

40
Revue de littérature

opérateurs de réseau mobile afin de gérer les profils des abonnés et de fournir des services
mobiles sécurisés et personnalisés.

❖ CDRs (Call Detail Records)


Les CDRs (Détails des appels) sont des enregistrements détaillés des appels et des
communications dans un réseau téléphonique. Ils contiennent des informations telles que les
numéros d'appelants et de destinataires, les horaires et durées des appels, les informations de
localisation, les services utilisés, etc. Les CDRs sont utilisés à des fins de facturation, de
surveillance du réseau, de résolution de problèmes et d'analyse du trafic. Ils peuvent également
être utilisés dans des enquêtes criminelles ou pour des audits de conformité.

2.2.2. Processus de fourniture des appels dans les réseaux mobiles cellulaires

Les appels dans les réseaux mobiles cellulaires sont fournis grâce à l'infrastructure et
aux technologies spécifiques utilisées dans ces réseaux. Voici les étapes générales du processus
de fourniture des appels dans les réseaux mobiles cellulaires :

1. Établissement de l'appel : Lorsqu'un utilisateur souhaite passer un appel, il compose


le numéro de téléphone de destination sur son appareil mobile. L'appareil envoie ensuite
une demande d'appel au réseau mobile.

2. Routage de l'appel : Le réseau mobile reçoit la demande d'appel et procède au routage


de l'appel vers le réseau approprié en fonction du numéro de téléphone de destination.
Cela peut impliquer des opérations de signalisation et l'échange d'informations entre
différents éléments du réseau.

3. Attribution de ressources : Une fois que l'appel est acheminé vers le réseau de
destination, le réseau alloue les ressources nécessaires pour établir l'appel. Cela peut
inclure l'attribution d'un canal de communication dédié pour le flux vocal.

4. Établissement de la connexion : Le réseau mobile établit une connexion entre


l'appelant et le destinataire en utilisant les ressources allouées. Cela permet aux deux
parties de communiquer vocalement en temps réel.

5. Transmission de la voix : Pendant l'appel, la voix de l'appelant est captée par le


microphone de l'appareil mobile, numérisée et transmise sous forme de données via le
réseau mobile. Les données vocales sont ensuite reçues par l'appareil du destinataire,
décodées et reproduites en son audible.

6. Gestion des appels : Pendant la durée de l'appel, le réseau mobile peut gérer divers
aspects, tels que la facturation des appels, le suivi de la durée de l'appel, la qualité de la
voix, la gestion des transferts d'appel et d'autres fonctionnalités supplémentaires.

41
Revue de littérature

7. Terminaison de l'appel : Lorsque l'appel est terminé, soit par l'appelant soit par le
destinataire, le réseau libère les ressources allouées pour l'appel, permettant ainsi leur
réutilisation pour d'autres appels.
Il est important de noter que ces étapes peuvent varier légèrement selon la technologie utilisée,
comme les réseaux 2G (GSM), 3G (UMTS), 4G (LTE) ou 5G, ainsi que les spécifications et
les configurations propres à chaque opérateur de réseau mobile.

2.3. Appels dans les réseaux VoIP5

2.3.1. Composants et éléments principaux

Les réseaux VoIP, également appelés systèmes VoIP ou plateformes VoIP, sont les
infrastructures et les systèmes qui permettent la communication Voice over Internet Protocol
(VoIP). Ces réseaux sont conçus pour transmettre des données vocales sur des réseaux IP, tels
que Internet, en utilisant des paquets numériques.

Voici les principaux composants et éléments des réseaux VoIP :

❖ Terminaux : Il s'agit des appareils ou des applications logicielles utilisés par les
utilisateurs pour initier et recevoir des appels VoIP. Les terminaux peuvent inclure des
téléphones IP, des softphones (téléphones basés sur des logiciels), des clients
informatiques, des appareils mobiles et même des téléphones traditionnels connectés
via des adaptateurs téléphoniques analogiques (ATA).

❖ Protocoles VoIP : Les réseaux VoIP utilisent différents protocoles pour établir,
contrôler et gérer les appels vocaux. Le protocole VoIP le plus couramment utilisé est
le protocole SIP (Session Initiation Protocol), qui gère la configuration, la terminaison
des appels et d'autres fonctions de signalisation. D'autres protocoles comprennent
H.323, MGCP (Media Gateway Control Protocol) et RTP (Real-time Transport
Protocol) pour la transmission des paquets vocaux.

❖ Passerelles VoIP : Ces dispositifs permettent la communication entre les réseaux VoIP
et les réseaux téléphoniques traditionnels (RTPC - Réseau téléphonique public
commuté). Les passerelles VoIP convertissent les signaux vocaux entre les paquets IP
numériques utilisés en VoIP et les signaux analogiques ou numériques traditionnels
utilisés en téléphonie traditionnelle.

❖ Réseaux IP : Les appels VoIP sont transmis sur des réseaux IP, notamment des réseaux
locaux (LAN) et des réseaux étendus (WAN) tels qu'Internet. Ces réseaux acheminent
les paquets vocaux de l'origine à la destination, en les routant à travers différents
dispositifs réseau tels que des routeurs et des commutateurs.

5
VoIP - La voix sur IP [Internet]. FRAMEIP.COM. 2023. Consulté le 11/02/2023. Disponible sur :
https://www.frameip.com/voip/

42
Revue de littérature

❖ Serveurs multimédias : Les serveurs multimédias jouent un rôle crucial dans les
réseaux VoIP, gérant des fonctions telles que l'enregistrement des appels, les
conférences téléphoniques, les messageries vocales et les systèmes de réponse vocale
interactive (IVR). Ces serveurs gèrent les flux multimédias, les fonctionnalités d'appel
et assurent la fourniture efficace des services vocaux.

❖ Qualité de service (QoS) : Des mécanismes de QoS sont mis en œuvre dans les réseaux
VoIP pour prioriser les paquets vocaux et garantir une qualité d'appel optimale. Les
techniques de QoS incluent la priorisation des paquets, la gestion de la bande passante
et le façonnage du trafic afin de minimiser la latence, les variations de délai (jitter) et la
perte de paquets.

❖ Fournisseurs de services VoIP : Les réseaux VoIP impliquent souvent des


fournisseurs de services qui proposent des services VoIP aux entreprises et aux
particuliers. Ces fournisseurs gèrent l'infrastructure, assurent le routage des appels.

2.3.2. Passerelle VoIP vers GSM

Une passerelle VoIP vers GSM est un dispositif ou un système qui permet la connexion
entre les réseaux VoIP et les réseaux de téléphonie mobile GSM (Global System for Mobile
Communications). Elle permet de convertir les appels VoIP en appels GSM, permettant ainsi
aux utilisateurs d'effectuer des appels VoIP qui sont ensuite acheminés vers des téléphones
mobiles via le réseau GSM.

Voici comment fonctionne une passerelle VoIP vers GSM :

1. Conversion des protocoles : La passerelle VoIP vers GSM convertit les protocoles
VoIP utilisés pour transmettre les appels en protocoles GSM compatibles avec les
réseaux mobiles. Elle assure la compatibilité entre les deux environnements de
communication.

2. Encodage et décodage : Lorsqu'un appel VoIP est reçu, la passerelle le convertit en un


format adapté au réseau GSM. Elle encodera la voix en utilisant les codecs appropriés
pour le réseau mobile, puis décodera la voix lors de la réception d'un appel GSM pour
le convertir en format VoIP.

3. Interface avec le réseau GSM : La passerelle VoIP vers GSM est connectée aux
réseaux mobiles via des cartes SIM (Subscriber Identity Module) insérées dans le
dispositif. Elle utilise les ressources du réseau GSM pour acheminer les appels vers les
téléphones mobiles cibles.

4. Routage des appels : Lorsqu'un appel VoIP est reçu, la passerelle identifie le numéro
de téléphone mobile de destination associé à la carte SIM. Elle achemine ensuite l'appel

43
Revue de littérature

vers le réseau GSM approprié en utilisant les protocoles et les ressources du réseau
mobile.

5. Gestion des appels : La passerelle VoIP vers GSM peut prendre en charge diverses
fonctionnalités, telles que la numérotation, le transfert d'appels, la gestion des messages
vocaux et d'autres services spécifiques au réseau GSM.

6. Conversion des tarifs : Dans certains cas, la passerelle peut également prendre en
charge la conversion des tarifs d'appel entre le réseau VoIP et le réseau GSM. Cela
permet aux utilisateurs d'économiser sur les frais d'appel en utilisant des forfaits VoIP
avantageux pour les appels internationaux ou longue distance.

Les passerelles VoIP vers GSM sont utilisées dans différents scénarios, tels que les centres
d'appels, les entreprises internationales, les fournisseurs de services VoIP et les opérateurs de
télécommunications. Elles offrent une solution pratique pour connecter les appels VoIP aux
réseaux mobiles GSM, permettant ainsi une communication transparente entre les deux
environnements de téléphonie.

2.4. Routage des appels dans les réseaux cellulaires6


Le routage des appels dans les réseaux cellulaires fait référence au processus de
redirection des appels vocaux vers la destination appropriée au sein du réseau. Cela implique
de déterminer le meilleur chemin pour la transmission de l'appel en fonction de différents
facteurs tels que l'emplacement de l'appelant, le numéro composé, la capacité du réseau et des
considérations de qualité de service. Voici un aperçu du processus de routage des appels dans
les réseaux cellulaires :

1. Origine de l'appel : Le processus de routage des appels commence lorsque l'utilisateur


lance un appel depuis son appareil mobile. L'appareil envoie une demande à la station
de base ou à la tour de cellule la plus proche pour établir une connexion avec le réseau
cellulaire.

2. Contrôleur de station de base (BSC) : Le contrôleur de station de base gère un groupe


de stations de base dans une zone géographique spécifique. Il reçoit la demande d'appel
de la station de base et effectue des tâches de traitement initial de l'appel telles que
l'authentification, l'autorisation et la gestion de la mobilité.

3. Centre de commutation mobile (MSC) : Le MSC sert de point de contrôle central


dans le réseau et est responsable du routage et de la commutation des appels. Il reçoit
la demande d'appel du BSC et détermine le MSC ou la destination appropriée pour
l'appel en fonction du numéro composé.

6
Principes de fonctionnement du réseau [Internet]. Formation présenté à Chatellerault- I.U.T. de Poitiers ; 2011.
Disponible sur : https://www.lias lab.fr/perso/fredericlaunay/Cours/TR3/Cours_GSM.pdf

44
Revue de littérature

4. Registre de localisation domicile (HLR) : Le HLR est une base de données qui stocke
les informations sur les abonnés, y compris l'emplacement et le profil de service de
chaque appareil mobile. Le MSC consulte le HLR pour récupérer les informations de
routage pour la partie appelée, y compris le MSC/VLR (Registre de localisation
visiteur) où la partie appelée se trouve actuellement.

5. Registre de localisation visiteur (VLR) : Le VLR est une base de données temporaire
associée au MSC qui stocke des informations sur les appareils mobiles actuellement
situés dans une zone géographique spécifique. Le MSC/VLR détermine l'emplacement
de la partie appelée en fonction des informations reçues du HLR.

6. Décision de routage des appels : Une fois que le MSC/VLR a déterminé


l'emplacement de la partie appelée, il détermine la meilleure route pour la transmission
de l'appel. Les facteurs pris en compte dans la décision de routage peuvent inclure la
capacité du réseau, les exigences de qualité de service, les accords d'itinérance et les
considérations de coût.

7. Établissement de l'appel : Une fois que la décision de routage est prise, le MSC/VLR
établit les connexions nécessaires pour acheminer l'appel vers la destination. Cela
implique la mise en place de liaisons avec d'autres éléments du réseau, tels que d'autres
MSC, des réseaux de transit ou le MSC/VLR de la partie appelée.

8. Terminaison de l'appel : L'appel est routé à travers le réseau vers le MSC/VLR de la


partie appelée, qui livre ensuite l'appel à la station de base appropriée.

2.5. Flux appel internationnal

2.5.1. Traitement des appels internationaux

Un appel international fait référence à un appel téléphonique effectué entre deux


personnes ou plus situées dans différents pays. Il implique la transmission de signaux vocaux
ou de données sur des réseaux de communication longue distance, généralement grâce à
l'utilisation d'échanges internationaux. Les appels internationaux permettent aux personnes de
communiquer avec des amis, de la famille, des partenaires commerciaux ou des organisations
dans d'autres pays.

Voici un aperçu de la façon dont les appels internationaux sont généralement traités :

1. Composition : Pour initier un appel international, l'appelant doit généralement


composer un code ou un préfixe spécifique indiquant qu'il s'agit d'un appel
international. Cela peut varier en fonction du pays et du fournisseur de services
téléphoniques.

45
Revue de littérature

2. Routage de l'appel : Une fois le préfixe international composé, l'appel est acheminé
par le fournisseur de services local de l'appelant. Le fournisseur détermine ensuite la
route la plus efficace pour que l'appel parvienne au pays de destination.

3. Échange international de passerelles : L'appel est transféré vers un échange


international de passerelles, qui sert de point de connexion entre les réseaux
téléphoniques de différents pays. L'échange de passerelles gère la conversion des
signaux et des protocoles pour assurer la compatibilité entre les réseaux.

4. Opérateurs internationaux : Les opérateurs internationaux, également appelés


opérateurs longue distance, sont responsables de la transmission de l'appel à travers les
frontières et de sa livraison dans le pays de destination. Ces opérateurs ont des accords
et des interconnexions avec différents fournisseurs de services dans différents pays pour
faciliter le routage des appels internationaux.

5. Réseau de destination : Une fois l'appel parvenu au pays de destination, il est remis
au fournisseur de services ou à l'opérateur local qui dessert la partie appelée. L'appel
est ensuite acheminé à travers le réseau de destination pour atteindre le destinataire
prévu.

6. Tarifs et facturation : Les appels internationaux entraînent généralement des frais


supplémentaires par rapport aux appels nationaux. Le coût d'un appel international peut
varier en fonction de facteurs tels que la distance entre les pays, la durée de l'appel et
les plans tarifaires spécifiques du fournisseur de services. L'appelant est facturé pour la
partie internationale de l'appel, qui est distincte des frais d'appel nationaux.

Il est important de noter que les tarifs et la disponibilité des appels internationaux peuvent
varier en fonction du fournisseur de services et du plan d'appel spécifique choisi par l'appelant.
Il est recommandé de vérifier auprès du fournisseur de services les tarifs d'appel internationaux,
les plans et les éventuels frais ou restrictions applicables.

7
Figure 2 : Route légitime d'un appel international, reprise de

7
Ighneiwa I, Mohamed H. Bypass Fraud Detection : Artificial Intelligence Approach [Internet]. arXiv; 2017.
Disponible sur: http://arxiv.org/abs/1711.04627

46
Revue de littérature

2.5.2. Appels internationaux technologies

Les appels internationaux utilisent différentes technologies pour permettre la


transmission de la voix ou des données sur de longues distances entre différents pays. Voici
quelques-unes des principales technologies utilisées pour les appels internationaux :

❖ Réseau téléphonique commuté (RTC) : Le RTC est la technologie traditionnelle


utilisée pour les appels téléphoniques. Il utilise des circuits commutés pour établir une
connexion directe entre les appelants et les destinataires. Cependant, avec l'émergence
de nouvelles technologies, le RTC est de moins en moins utilisé pour les appels
internationaux.

❖ Réseaux mobiles : Les réseaux mobiles, tels que la technologie GSM (Global System
for Mobile Communications), sont largement utilisés pour les appels internationaux.
Ces réseaux permettent la communication vocale et les données via des connexions
sans fil, permettant aux utilisateurs d'effectuer des appels internationaux depuis leurs
téléphones mobiles.

❖ Réseaux IP : Les réseaux IP (Internet Protocol) sont de plus en plus utilisés pour les
appels internationaux, notamment grâce à la technologie VoIP (Voice over Internet
Protocol). La VoIP convertit la voix en données numériques et les transmet via des
réseaux IP. Cela permet des appels internationaux moins coûteux et une flexibilité
accrue en termes de services et de fonctionnalités.

❖ Réseaux de fibres optiques : Les câbles à fibres optiques sont utilisés pour le transport
de données à grande vitesse sur de longues distances. Ils sont largement utilisés pour
les appels internationaux, car ils offrent une large bande passante et une transmission
fiable des signaux vocaux et des données.

❖ Passerelles VoIP vers PSTN : Les passerelles VoIP (Voice over Internet Protocol)
vers PSTN (Public Switched Telephone Network) sont des équipements utilisés pour
connecter les réseaux IP et les réseaux de téléphonie traditionnels. Ces passerelles
convertissent les signaux VoIP en signaux PSTN afin de permettre les appels
internationaux entre les utilisateurs de différents types de réseaux.

❖ Points de présence internationaux (IPP) : Les IPP sont des installations physiques
situées dans différents pays qui permettent aux fournisseurs de services de se connecter
et d'échanger du trafic vocal et des données internationales. Ils facilitent les
interconnexions entre les réseaux et contribuent à la transmission efficace des appels
internationaux.
Ces technologies sont utilisées en combinaison pour permettre les appels internationaux,
offrant des moyens de communication efficaces et fiables entre les pays du monde entier.

47
Revue de littérature

3. Fraude dans l'industrie des télécommunication

3.1. Définition
La fraude dans l'industrie des télécommunications fait référence à toute activité illégale
ou trompeuse commise dans le secteur des télécommunications. Elle implique l'utilisation non
autorisée, la manipulation ou le vol de services ou de ressources de télécommunication à des
fins personnelles ou malveillantes. La fraude dans les télécommunications peut revêtir
différentes formes.

3.2. Type de fraude8

3.2.1. Spam d'appels et de SMS

Le spam d'appels et de SMS fait référence à l'envoi non sollicité et excessif de messages
ou d'appels indésirables à des utilisateurs de téléphones mobiles. Ces pratiques sont souvent
réalisées à des fins commerciales ou malveillantes. Voici une explication de ces deux types de
spam :

❖ Spam d'appels : Le spam d'appels se produit lorsque des appels non sollicités sont
effectués en masse vers un grand nombre de numéros de téléphone. Ces appels peuvent
inclure des offres promotionnelles, des sondages, des arnaques ou d'autres tentatives de
marketing indésirables. Le spam d'appels peut être gênant et perturbateur pour les
utilisateurs, et il peut également être utilisé à des fins de fraude ou d'escroquerie.

❖ Spam de SMS : Le spam de SMS implique l'envoi de messages texte non sollicités et
répétitifs à des destinataires sans leur consentement. Ces messages peuvent contenir des
publicités, des liens vers des sites Web suspects, des offres douteuses ou d'autres formes
de messages indésirables. Comme le spam d'appels, le spam de SMS peut être utilisé
pour promouvoir des produits ou services, mais il peut également être utilisé pour
propager des logiciels malveillants ou inciter les utilisateurs à divulguer des
informations personnelles.

Ces pratiques de spam peuvent être particulièrement irritantes pour les utilisateurs de
téléphones mobiles, car elles entraînent une perte de temps, une intrusion dans la vie privée et
une saturation des boîtes de réception. Elles peuvent également être associées à des risques de
sécurité, notamment lorsque les messages ou les appels sont utilisés pour des activités
frauduleuses.

8
AlBougha MR. Comparing Data Mining Classification Algorithms in Detection of Simbox Fraud [Internet]
[Thesis for the Degree of Master of Science in Information Assurance]. St. Cloud State University; 2016.
Disponible sur: https://repository.stcloudstate.edu/msia_etds/17

48
Revue de littérature

Pour lutter contre le spam d'appels et de SMS, les opérateurs de téléphonie mobile et les
autorités de régulation mettent en place des mesures de sécurité et des mécanismes de filtrage
pour bloquer les appels et les messages indésirables. Les utilisateurs peuvent également
signaler les numéros de spam aux autorités compétentes ou utiliser des applications de blocage
des appels et des SMS pour limiter les interruptions indésirables.

Il est important de rester vigilant et de ne pas divulguer d'informations personnelles ou


financières en réponse à des appels ou des messages suspects. En outre, les utilisateurs peuvent
choisir de s'inscrire sur des listes de blocage ou d'opter pour des services de filtrage des appels
et des SMS proposés par leur fournisseur de téléphonie mobile pour réduire le risque de spam.

3.2.2. Fraude liée au service de tarification spéciale (PRS)

La fraude liée aux services à tarification spéciale (PRS) fait référence à des activités
illégales ou frauduleuses associées à l'utilisation abusive ou frauduleuse de ces services. Voici
quelques exemples de fraudes liées aux PRS :

❖ Numéros frauduleux : Les fraudeurs peuvent créer et utiliser des numéros de PRS
frauduleux pour inciter les utilisateurs à appeler et à générer des revenus illégitimes. Ils
peuvent promettre des prix, des récompenses ou des contenus attrayants pour inciter les
utilisateurs à appeler ces numéros frauduleux, entraînant ainsi des coûts élevés pour les
utilisateurs.

❖ Facturation abusive : Les fraudeurs peuvent manipuler ou pirater les systèmes de


facturation des PRS pour générer des charges excessives sur les factures des utilisateurs
sans leur consentement. Ils peuvent utiliser des techniques de facturation trompeuses
pour générer des frais récurrents ou des frais élevés sans que les utilisateurs aient
réellement utilisé les services.

❖ Contenus trompeurs ou non autorisés : Certains fraudeurs peuvent proposer des


services de PRS avec des contenus trompeurs, tels que des informations trompeuses sur
des produits ou des services, des promotions fallacieuses ou des contenus illégaux. Les
utilisateurs peuvent être incités à appeler ces services en croyant qu'ils recevront des
informations précieuses, mais ils se retrouvent plutôt victimes de fraudes.

❖ Abonnements non sollicités : Les fraudeurs peuvent abonner frauduleusement les


utilisateurs à des services de PRS sans leur consentement. Ils peuvent utiliser des
tactiques douteuses, telles que des fenêtres contextuelles trompeuses ou des clics
involontaires, pour abonner les utilisateurs à des services de PRS, ce qui entraîne des
frais récurrents non autorisés sur leurs factures.

La fraude liée aux PRS peut causer des pertes financières et des désagréments aux utilisateurs.
Les autorités de régulation des télécommunications et les fournisseurs de services de

49
Revue de littérature

télécommunications mettent en place des mesures de sécurité et de prévention pour lutter contre
cette fraude. Cela peut inclure des contrôles stricts sur l'émission et l'utilisation des numéros
de PRS, des systèmes de surveillance pour détecter les activités frauduleuses, des mécanismes
de signalement des abus et des remboursements pour les utilisateurs victimes de fraude.

Il est important pour les utilisateurs de rester vigilants et d'examiner attentivement les
conditions et les coûts associés aux services de PRS avant de les utiliser. Si des charges non
autorisées ou des activités suspectes sont identifiées, il est recommandé de signaler
immédiatement le problème à son fournisseur de services de télécommunications et aux
autorités compétentes.

3.2.3. Phishing fraud

La fraude par hameçonnage dans le secteur des télécommunications fait référence à une
pratique frauduleuse où des individus ou des organisations malveillantes utilisent des
techniques de manipulation pour obtenir des informations sensibles, telles que des identifiants
de connexion, des mots de passe, des informations personnelles ou financières, auprès des
utilisateurs de services de télécommunications. Voici comment le phishing frauduleux peut se
produire dans le secteur des télécommunications :

❖ E-mails de phishing : Les fraudeurs envoient des e-mails qui semblent provenir de
fournisseurs de services de télécommunications légitimes, tels que des opérateurs de
téléphonie mobile ou des fournisseurs d'accès à Internet. Ces e-mails sont conçus pour
ressembler à des communications officielles et demandent souvent aux destinataires de
fournir des informations confidentielles, comme des mots de passe ou des informations
de carte de crédit, en prétendant qu'il y a un problème avec leur compte ou leur service.

❖ Messages texte (smishing) : Les fraudeurs envoient des messages texte qui imitent des
communications officielles des opérateurs de téléphonie mobile ou d'autres
fournisseurs de services de télécommunication. Ces messages contiennent souvent des
liens malveillants vers des sites Web contrefaits où les utilisateurs sont invités à saisir
des informations personnelles ou à effectuer des paiements frauduleux.

❖ Appels de phishing : Les fraudeurs peuvent également appeler les utilisateurs en se


faisant passer pour des représentants de fournisseurs de services de
télécommunications. Ils utilisent des tactiques de manipulation pour obtenir des
informations confidentielles, telles que des numéros de compte, des mots de passe ou
des numéros de carte de crédit, en prétendant résoudre des problèmes techniques ou
offrir des promotions spéciales.

❖ Sites Web contrefaits : Les fraudeurs créent des sites Web contrefaits qui ressemblent
étroitement aux sites Web officiels des fournisseurs de services de télécommunications.

50
Revue de littérature

Ces sites Web trompeurs sont utilisés pour inciter les utilisateurs à saisir leurs
informations sensibles, qui sont ensuite utilisées à des fins frauduleuses.

Les fraudeurs utilisent ces techniques de phishing pour voler des informations confidentielles,
accéder aux comptes des utilisateurs, effectuer des transactions non autorisées ou commettre
d'autres formes de fraude financière ou d'usurpation d'identité. Ces activités peuvent causer des
pertes financières importantes et nuire à la réputation des fournisseurs de services de
télécommunications légitimes.

3.2.4. La fraude à la répartition internationale des revenus (IRSF)

La fraude à la répartition internationale des revenus (IRSF) dans le secteur des


télécommunications fait référence à une forme de fraude où des individus ou des groupes
exploitent les arrangements de tarification internationale pour générer des revenus illégitimes.
Voici une explication de l'IRSF dans le secteur des télécommunications :

L'IRSF se produit lorsque des fraudeurs exploitent les tarifs de télécommunication


internationale pour générer des revenus injustifiés aux dépens des opérateurs de
télécommunications et, éventuellement, des utilisateurs finaux. Voici comment cela fonctionne
généralement :

❖ Utilisation abusive de numéros internationaux à tarification spéciale : Les


fraudeurs utilisent des numéros de téléphone internationaux spéciaux, tels que des
numéros de services à tarification élevée ou des numéros surtaxés, pour acheminer de
grands volumes d'appels vers ces numéros. Les appels peuvent provenir de numéros
piratés ou de machines automatiques de composition d'appels.

❖ Fraude de routage d'appels : Les fraudeurs exploitent les failles dans les systèmes de
routage des appels pour rediriger des appels internationaux vers des destinations
spécifiques qui génèrent des revenus élevés. Cela peut impliquer de modifier ou de
falsifier les informations d'acheminement des appels pour diriger les appels vers des
destinations où les tarifs internationaux sont élevés.

❖ Complicité interne : La fraude IRSF peut également impliquer la complicité


d'employés ou de personnes internes aux opérateurs de télécommunications. Ces
personnes peuvent exploiter leur accès et leur connaissance des systèmes de facturation
pour faciliter la fraude en autorisant des acheminements d'appels illégitimes ou en
manipulant les enregistrements de trafic.

L'objectif principal des fraudeurs IRSF est de générer des revenus en exploitant les différences
de tarification internationale entre les pays. Ils peuvent profiter des tarifs plus élevés dans
certains pays pour générer des revenus excessifs lorsqu'ils dirigent un volume élevé d'appels

51
Revue de littérature

vers ces destinations. Les opérateurs de télécommunications qui fournissent les services de
transit ou d'interconnexion pour ces appels peuvent subir des pertes financières importantes.

3.2.5. La fraude de l'autocommutateur privé (PBX)

La fraude de l'autocommutateur privé (PBX) dans le secteur des télécommunications


fait référence à une forme de fraude où des individus ou des groupes exploitent les systèmes
PBX des entreprises pour effectuer des appels frauduleux et générer des charges téléphoniques
injustifiées. Voici une explication de la fraude PBX dans le secteur des télécommunications :

❖ Accès non autorisé : Les fraudeurs tentent de pénétrer dans les systèmes PBX des
entreprises en exploitant les vulnérabilités de sécurité, les mots de passe faibles ou les
défauts de configuration. Une fois qu'ils ont accès au système, ils peuvent effectuer des
appels sortants à destination de numéros internationaux ou à tarification spéciale,
générant ainsi des coûts élevés pour l'entreprise.

❖ Détournement d'identifiants d'utilisateur : Les fraudeurs peuvent obtenir les


identifiants d'utilisateur légitimes pour accéder au système PBX. Cela peut se faire par
le biais d'attaques de phishing, de logiciels malveillants ou de compromissions de mots
de passe. Une fois connectés, ils peuvent utiliser les privilèges de l'utilisateur légitime
pour effectuer des appels frauduleux.

❖ Manipulation des paramètres de routage : Les fraudeurs peuvent modifier les


paramètres de routage des appels dans le système PBX pour rediriger les appels sortants
vers des numéros à tarification élevée ou des destinations internationales coûteuses.
Cela leur permet de facturer des appels frauduleux sur le compte de l'entreprise,
augmentant ainsi les charges téléphoniques.

❖ Utilisation de services de contournement : Certains fraudeurs utilisent des services


de contournement pour acheminer les appels à l'extérieur du système PBX, évitant ainsi
la détection par les mécanismes de sécurité internes. Ils peuvent utiliser des cartes SIM
prépayées, des passerelles VoIP ou d'autres méthodes pour effectuer des appels
frauduleux sans être détectés.

3.2.6. La fraude à l'abonnement

La fraude à l'abonnement dans le secteur des télécommunications fait référence à une


pratique où des individus ou des groupes utilisent de manière frauduleuse les informations
personnelles d'autres personnes pour souscrire à des services de télécommunication, tels que
des contrats de téléphonie mobile ou d'accès à Internet, sans le consentement du véritable
abonné. Voici une explication de la fraude à l'abonnement dans le secteur des
télécommunications :

52
Revue de littérature

❖ Utilisation frauduleuse des informations personnelles : Les fraudeurs peuvent


obtenir les informations personnelles d'une personne, telles que son nom, son adresse
et ses détails d'identification, de différentes manières, comme le vol d'identité, le
piratage de bases de données ou l'ingénierie sociale. Ils utilisent ensuite ces
informations pour souscrire à des services de télécommunication au nom de la victime,
sans que celle-ci en ait connaissance.

❖ Contrats non autorisés : Les fraudeurs utilisent les informations personnelles


obtenues pour signer des contrats de services de télécommunication, tels que des
abonnements mobiles ou des connexions Internet, en utilisant le nom et les coordonnées
de la victime. Cela peut entraîner des frais et des obligations contractuelles pour la
victime, sans qu'elle ait donné son consentement.

❖ Utilisation abusive des services : Une fois le contrat établi, les fraudeurs utilisent les
services de télécommunication pour leurs propres besoins, tels que passer des appels,
envoyer des messages ou utiliser des données, sans avoir à payer eux-mêmes les frais
associés. Cela peut entraîner des charges élevées pour le véritable abonné, qui est
souvent confronté à des factures inattendues pour des services qu'il n'a pas utilisés.

3.2.7. La fraude Wangiri

La fraude Wangiri dans le secteur des télécommunications est une tactique frauduleuse
couramment utilisée par les fraudeurs pour générer des revenus illégitimes en utilisant des
appels téléphoniques automatisés. Le terme "Wangiri" est d'origine japonaise et signifie
"sonner une fois et raccrocher". Voici comment fonctionne cette fraude :

Les fraudeurs utilisent des logiciels automatisés pour composer un grand nombre de numéros
de téléphone aléatoires, généralement des numéros internationaux ou à tarification spéciale, et
raccrochent après un seul signal ou quelques sonneries. L'objectif est d'inciter les destinataires
à rappeler le numéro affiché, souvent par curiosité ou parce qu'ils pensent qu'il s'agit d'un appel
important. Cependant, lorsque les utilisateurs rappellent, ils sont redirigés vers des numéros
surtaxés ou frauduleux qui facturent des tarifs élevés pour chaque minute d'appel.

La fraude Wangiri peut causer des pertes financières significatives aux consommateurs, car ils
sont facturés à des tarifs exorbitants pour les appels effectués vers ces numéros. De plus, les
fraudeurs peuvent également générer des revenus grâce aux partages de bénéfices avec les
opérateurs de télécommunication complices qui permettent l'acheminement des appels vers les
numéros surtaxés.

Les fraudeurs utilisent différentes techniques pour rendre leurs appels Wangiri plus
convaincants. Ils peuvent utiliser des numéros de téléphone affichant des indicatifs
internationaux, des numéros locaux ou des numéros similaires à ceux de l'utilisateur. Cela rend

53
Revue de littérature

l'appel plus susceptible d'être rappelé, car il semble provenir d'un contact familier ou d'une
entreprise locale.

3.2.8. La fraude Simbox

La fraude Simbox, également connue sous le nom de fraude de passerelle SIM, est une
pratique frauduleuse dans le secteur des télécommunications où des fraudeurs utilisent des
équipements appelés "Simbox" pour contourner les tarifs internationaux élevés des appels
téléphoniques. Voici une explication détaillée de la fraude Simbox :

Les fraudeurs utilisent des Simboxs, qui sont des dispositifs physiques équipés de plusieurs
cartes SIM. Ces Simboxs sont connectées à des réseaux mobiles et peuvent être placées dans
des endroits différents, généralement dans des pays où les tarifs internationaux des appels sont
moins élevés. Les cartes SIM insérées dans les Simboxs sont des cartes SIM locales ou
nationales, qui bénéficient de tarifs d'appels locaux moins chers.

Lorsqu'un utilisateur compose un numéro international depuis son téléphone mobile, l'appel est
acheminé vers le réseau mobile et atteint la Simbox. La Simbox, utilisant les cartes SIM locales
insérées, redirige ensuite l'appel vers le réseau mobile du pays de destination. Ainsi, l'appel est
facturé comme un appel local plutôt que comme un appel international, permettant aux
fraudeurs d'économiser sur les frais d'appels internationaux élevés.

La fraude Simbox est préjudiciable pour plusieurs parties impliquées. Les opérateurs de
télécommunication subissent des pertes financières importantes car ils ne perçoivent pas les
revenus attendus des appels internationaux. De plus, les opérateurs locaux dont les cartes SIM
sont utilisées dans les Simboxs peuvent également subir des pertes de revenus. Les utilisateurs
légitimes peuvent également être affectés par des problèmes de qualité d'appel, de connexion
instable ou de délais de transmission.

Pour lutter contre la fraude Simbox, les opérateurs de télécommunication déploient des mesures
de sécurité avancées. Cela inclut la surveillance des motifs de trafic anormaux, la détection des
cartes SIM multiples ou suspectes, et la mise en place de systèmes de détection automatique
pour localiser les Simboxs. Les opérateurs peuvent également coopérer avec les autorités
locales pour localiser et démanteler les réseaux de fraudeurs.

La prévention de la fraude Simbox repose sur une combinaison de mesures technologiques et


de collaboration entre les opérateurs. Il est essentiel de mettre en place des systèmes de
surveillance sophistiqués pour détecter les activités frauduleuses et de renforcer la sécurité des
réseaux mobiles pour empêcher l'utilisation de Simboxs. De plus, la coopération entre les
opérateurs et les autorités de régulation est cruciale pour poursuivre les fraudeurs et les traduire
en justice.

54
Revue de littérature

3.2.8.2. Simbox

3.2.8.2.1. Définition

Une Simbox (ou boîte SIM) est un dispositif utilisé pour contourner les tarifs
internationaux élevés des appels téléphoniques. Elle implique l'utilisation de cartes SIM locales
dans un boîtier connecté à Internet pour acheminer des appels internationaux via des canaux
VoIP (voix sur IP) plutôt que par les réseaux de téléphonie traditionnels.

Figure 3 : Equipements Simbox9

3.2.8.2.2. Architecture et composants

La Simbox est un dispositif utilisé dans les opérations de fraude téléphonique qui
permet de router des appels de manière illégale. Elle est composée de trois composants
principaux : la passerelle (gateway), la banque de cartes SIM (SIMBank) et le serveur de
contrôle (control server). Ces composants sont organisés selon une architecture spécifique.

La passerelle (gateway) a pour rôle de convertir le trafic VoIP en trafic cellulaire et vice versa.
Elle dispose d'une interface VoIP pour recevoir le trafic et le transcoder en utilisant les codecs
supportés. Elle assure ensuite le routage du trafic sur le réseau cellulaire en utilisant des
modules cellulaires intégrés. Physiquement, la passerelle est un équipement prêt à l'emploi avec
des antennes GSM permettant le routage simultané de plusieurs appels. Elle peut être de deux
types : avec des emplacements pour insérer des cartes SIM ou sans emplacements (kind one).
Les fonctions de base de la passerelle sont gérées par le module client SIM, le serveur vocal et
le gestionnaire SIM.

La banque de cartes SIM (SIMBank) contient un ensemble de cartes SIM utilisées par la
Simbox pour le routage des appels. Elle offre la possibilité de gérer les cartes SIM à distance,
ce qui facilite les tâches de gestion et réduit les coûts de maintenance. Physiquement, la
SIMBank peut être un rack avec des cartes SIM ou une unité plus légère. Les cartes SIM sont
contrôlées par le module gestionnaire SIM, qui transfère les données des cartes SIM vers le
serveur de contrôle.

9
Ighneiwa I, Mohamed H. Bypass Fraud Detection: Artificial Intelligence Approach [Internet].; 2017.
Disponible sur: http://arxiv.org/abs/1711.04627

55
Revue de littérature

Le serveur de contrôle (control server) est le composant central de l'architecture de la


Simbox. Il a trois rôles principaux. Tout d'abord, il coordonne le fonctionnement global du
système en gérant l'établissement des canaux GSM. Il interagit avec les autres composants de
la Simbox pour créer et gérer les canaux GSM. Ensuite, le serveur de contrôle permet
l'administration à distance de l'architecture de la Simbox. Il stocke toutes les données
nécessaires dans une base de données et offre une interface utilisateur pour la surveillance et la
configuration du système. Enfin, le serveur de contrôle gère le trafic VoIP entrant dans
l'architecture. Il communique avec le Soft-Switch pour permettre le routage du trafic vers des
comptes SIP préalablement créés ou via un tronc SIP.

Il existe différentes variantes architecturales de la Simbox, qui diffèrent en termes de capacité


de trafic et de fonctionnalités offertes. La première architecture est la plus répandue et offre la
capacité de trafic la plus importante. Elle comprend plusieurs passerelles, des SIMBanks et un
serveur de contrôle centralisé. Les autres architectures peuvent être plus limitées en termes de
capacité et de fonctionnalités.

Figure 4 : Architecture fonctionnelle de l'installation de la passerelle GSM Simbox/VoIP10

10
Kouam AJ, Viana AC, Tchana A. Simbox Bypass Frauds in Cellular Networks: Strategies, Evolution,
Detection, and Future Directions. IEEE Commun Surv Tutorials. 2021;23(4):2295‑323.

56
Revue de littérature

3.2.8.3. Schémas de fraude Simbox11


Les schémas de fraude Simbox consistent à détourner le trafic d'appels des itinéraires
de routage conventionnels vers un réseau VoIP en utilisant la passerelle appropriée, c'est-à-dire
le Simbox. Ils peuvent être classés en trois catégories principales : domestique sur le réseau,
domestique hors réseau et international.

❖ Domestique sur le réseau : Dans ce schéma, les fraudeurs utilisent un Simbox pour
réacheminer des appels nationaux. Les complices des fraudeurs se trouvent dans le pays
de l'opérateur de destination. L'appel est ré-originé en utilisant une carte SIM fournie
par l'opérateur de destination. Cela permet aux fraudeurs de minimiser les coûts de
terminaison et d'augmenter leurs bénéfices, car les appels sur le réseau national peuvent
être moins coûteux ou gratuits.

❖ Domestique hors réseau : Les fraudeurs peuvent utiliser une carte SIM d'un opérateur
concurrent pour ré-originer des appels nationaux. Cela réduit légèrement les bénéfices
des fraudeurs, mais rend également la détection de la fraude plus difficile, car les appels
sont acheminés hors du réseau de l'opérateur de destination.

❖ International : Dans ce schéma, les fraudeurs utilisent un Simbox pour réacheminer


des appels internationaux. Ils peuvent avoir des partenaires dans le pays de destination,
ce qui leur permet d'obtenir facilement des cartes SIM prépayées à faible coût et de
bénéficier de frais de terminaison plus bas. Si les fraudeurs n'ont pas de partenaires dans
le pays de destination, ils peuvent toujours ré-originer les appels en utilisant des cartes
SIM internationales, exploitant ainsi les différences de coûts de terminaison entre les
pays.

Il est important de souligner que la fraude Simbox est une activité illégale et que les fraudeurs
utilisent diverses techniques pour masquer leur activité frauduleuse, notamment en utilisant des
Simbox équipés de technologies VoIP, des softswitches pour gérer le trafic d'appels, des
serveurs SIM pour contrôler les cartes SIM, et des outils d'analyse de trafic pour optimiser leurs
opérations. Les opérateurs de télécommunication et les organismes de réglementation
travaillent en étroite collaboration pour détecter et prévenir ces schémas de fraude, mettant en
place des mesures de sécurité et des systèmes de détection avancés.

11
Kouam AJ, Viana AC, Tchana A. Simbox Bypass Frauds in Cellular Networks : Strategies, Evolution,
Detection, and Future Directions. IEEE Commun Surv Tutorials. 2021 ;23(4):2295‑323.

57
Revue de littérature

3.2.8.4. Scénario de fraude Simbox12

Dans un scénario de fraude Simbox, les fraudeurs manipulent la route d'un appel international
pour éviter de payer les frais d'interconnexion appropriés. Voici une explication détaillée étape
par étape de la façon dont la fraude Simbox est perpétrée :

Tout d'abord, lorsque l'abonné A souhaite passer un appel à une destination internationale,
l'appel passe par différentes entités. Pour comprendre comment la fraude Simbox est commise,
il est judicieux de décrire d'abord l'itinéraire légitime d'un appel international, puis d'examiner
le scénario de contournement de la fraude.

Voici comment se déroule normalement l'itinéraire d'un appel international :

❖ L'abonné A passe un appel à l'abonné B dans le réseau de l'opérateur mobile domestique


et paie le coût de l'appel.

❖ L'appel généré par l'abonné A est acheminé vers la passerelle internationale domestique
du pays A. Cette passerelle est responsable du traitement des appels internationaux
provenant du pays A.

❖ La passerelle internationale domestique du pays A achemine l'appel reçu vers un


opérateur transitoire et paie les frais correspondants.

❖ L'opérateur transitoire route ensuite cet appel vers un Simbox placé dans le pays B en
utilisant la technologie de la voix sur IP (VoIP) et paie un péage au propriétaire du
Simbox.

❖ Le Simbox place alors un appel séparé sur le réseau du pays B à destination de l'abonné
B en utilisant sa carte SIM locale. C'est pourquoi cet appel semble être un appel local
et ne génère que des frais d'appel local, en évitant les coûts d'interconnexion.

❖ Enfin, l'abonné B dans le pays B reçoit un appel international en provenance de


l'étranger, mais il est présenté avec un numéro local, ce qui peut être surprenant.

12Hagos K. Simbox Fraud Detection Using Data Mining Techniques : The Case of ethio telecom [Thesis
submitted to School of Electrical and Computer Engineering]. Addis Ababa Institute of Technology

58
Revue de littérature

En résumé, la fraude Simbox consiste à rediriger des appels internationaux via des Simbox
pour les faire apparaître comme des appels locaux, évitant ainsi les frais d'interconnexion
élevés associés aux appels internationaux.

13
Figure 5 : Déroutement frauduleux de la Simbox pour les appels internationaux, reprise de

13
Ighneiwa I, Mohamed H. Bypass Fraud Detection: Artificial Intelligence Approach [Internet]. arXiv; 2017.
Disponible sur: http://arxiv.org/abs/1711.04627

59
Revue de littérature

3.2.8.5. Simbox fraud stratégies

Les fraudeurs et les systèmes anti-fraude se livrent une bataille sans fin. Chaque fois
que la technologie de détection s'améliore, les fraudeurs développent des méthodes pour éviter
d'être détectés et augmenter leurs profits. Dans cette section, nous examinons différentes
méthodes utilisées par les fraudeurs pour échapper au blocage des cartes SIM.

A. Anti-Spam (Détection des appels de test)


L'une des méthodes efficaces pour détecter les cartes SIM utilisées dans les Simbox est la
génération d'appels de test (TCG) en utilisant différentes routes vers des numéros locaux
connus. Lorsqu'un appel est reçu, il peut provenir d'un numéro local ou d'un numéro
international. S'il provient d'un numéro local, il est susceptible d'être associé à une carte SIM
utilisée dans une Simbox, ce qui permet au service de lutte contre la fraude de le traiter
facilement. Cependant, les fraudeurs analysent le trafic des appels vocaux entrants vers leurs
Simbox et, en se basant sur l'utilisation et d'autres motifs, ils peuvent déterminer si les appels
sont des appels réels d'abonnés ou s'ils proviennent d'un système de test. Ils peuvent ensuite
bloquer les appels de test pour empêcher qu'ils n'atteignent la Simbox, ou bien les rediriger vers
une route légitime afin d'éviter d'être détectés.

B. Simulation du comportement humain (HBS)


Selon la littérature, certaines caractéristiques peuvent être utilisées pour identifier la fraude des
Simbox. Par exemple, les Simbox sont généralement immobiles, la plupart des appels sont des
appels sortants et il n'y a pas d'utilisation des services réseau tels que les SMS ou le GPRS.
Cependant, les Simbox intelligentes sont conçues pour imiter le comportement des clients
normaux en utilisant la simulation du comportement humain (HBS). Cette technique rend la
détection des fraudeurs très difficile, à moins d'utiliser des algorithmes de détection avancés.
La simulation du comportement humain comprend les aspects suivants :

❖ Migration des SIM (Mobilité)


Les fraudeurs déploient plusieurs passerelles dans différents endroits, par exemple, un au
centre-ville et un autre dans un centre commercial ou un autre lieu animé. De temps en temps,
ils échangent les cartes SIM entre les passerelles pour donner l'impression que l'utilisateur se
déplace. Cette opération d'échange peut être effectuée manuellement ou automatiquement à
l'aide d'un logiciel.

❖ Rotation des SIM


Les Simbox peuvent être facilement détectées si les fraudeurs utilisent excessivement leurs SIM
à toute heure de la journée. Pour éviter cela, ils limitent leur utilisation en faisant tourner les
SIM en fonction des horaires de travail, ce qui simule le comportement des clients ordinaires.

❖ Utilisation d'autres services réseau

60
Revue de littérature

La plupart des Simbox se contentent d'utiliser les services vocaux, ce qui les rend vulnérables
à la détection. Pour atténuer ce problème, les Simbox intelligentes effectuent des appels et
envoient des SMS les unes aux autres. Parfois, elles utilisent également certains services
internet fournis par l'opérateur

3.2.8.6. Comportement des fraudeurs Simbox

Le comportement des fraudeurs Simbox peut être observé et détecté grâce à différents
modèles et caractéristiques. Les patterns courants suivants restent pertinents dans la détection
de la fraude Simbox :

❖ Distinctivité des abonnés appelés : Les fraudeurs Simbox ont tendance à ne pas
appeler le même abonné de manière répétée, contrairement aux abonnés légitimes qui
peuvent avoir des appels fréquents vers des numéros spécifiques. Par conséquent, le
ratio des appels distincts sur le total des appels peut être un attribut important dans la
détection de la fraude Simbox.

❖ Temps entre les appels : Les abonnés frauduleux ont des intervalles très courts entre
leurs appels, car la Simbox redirige immédiatement l'appel après la fin de l'appel
précédent. Les abonnés légitimes, en revanche, prennent généralement un certain temps
avant d'initier un nouvel appel. Ainsi, le ratio de la durée de l'appel sur le temps entre
les appels peut être une caractéristique significative pour la détection de la fraude.

❖ Nombre de cartes SIM par IMEI : Les Simbox contiennent plusieurs cartes SIM mais
seulement un ou quelques IMEI. Par conséquent, un nombre élevé d'IMSI (International
Mobile Subscriber Identity) par IMEI peut indiquer une activité frauduleuse.

❖ Localisation physique statique des Simbox : Les Simbox sont souvent situées dans
des emplacements physiques spécifiques, ce qui peut être identifié grâce à l'analyse des
données d'appels.

❖ Volume des appels sortants : Les abonnés frauduleux génèrent généralement un


nombre beaucoup plus élevé d'appels sortants par rapport aux appels entrants.

❖ Utilisation limitée des SMS et des données Internet : Les fraudeurs peuvent utiliser
des SMS et des données Internet pour paraître plus légitimes, mais le volume de leur
utilisation est généralement beaucoup plus faible que celui des abonnés réguliers.

❖ Ancienneté de l'abonnement : Les abonnés frauduleux ont souvent une ancienneté


d'abonnement plus courte par rapport aux abonnés légitimes, car ils changent
fréquemment de carte SIM et de compte.

61
Revue de littérature

3.2.8.7. Techniques de prévention de la fraude Simbox

3.2.8.7.1. Génération de tests d'appels (TCG)

La génération de tests d'appels (TCG) est une méthode active utilisée pour détecter la
fraude par contournement dans les réseaux de télécommunications. Elle consiste à tester
différentes routes internationales pour vérifier si les appels sont acheminés par des canaux
légitimes ou des boîtiers SIM illégaux. La TCG est une approche fiable et efficace qui ne génère
pas de faux positifs, permettant ainsi de distinguer les utilisateurs normaux des boîtiers SIM
frauduleux. Cependant, cette méthode est probabiliste et nécessite de tester un grand nombre
de routes internationales, ce qui peut être coûteux en termes de ressources et de temps. De plus,
les fraudeurs développent des stratégies pour éviter la détection lors des tests d'appels. Malgré
ces défis, la TCG reste une mesure essentielle dans la lutte contre la fraude par contournement
dans les réseaux de télécommunications.

3.2.8.7.2. Système de gestion de la fraude (FMS)

Le système de gestion de la fraude (FMS) est conçu pour détecter, prévenir et gérer les
activités frauduleuses dans un réseau de télécommunications. Le fonctionnement d'un FMS
repose sur plusieurs étapes clés :

1. Collecte des données : Le FMS collecte des données provenant de différentes sources,
telles que les enregistrements des détails des appels (CDR), les journaux de trafic, les
informations sur les abonnés, etc. Ces données sont essentielles pour analyser les
schémas et les comportements des utilisateurs.

2. Analyse des données : Les données collectées sont analysées à l'aide d'algorithmes
avancés pour détecter les anomalies, les schémas de fraude et les comportements
suspects. Cela peut inclure l'utilisation de techniques d'apprentissage automatique et
d'intelligence artificielle pour identifier des modèles complexes et non évidents.

3. Définition des règles : Le FMS utilise des règles préétablies pour définir les
comportements suspects. Ces règles sont basées sur des schémas de fraude connus et
des seuils prédéfinis. Par exemple, si un utilisateur effectue un nombre anormalement
élevé d'appels internationaux en peu de temps, cela peut déclencher une alerte.

4. Génération d'alertes : Lorsque le système détecte une activité suspecte qui correspond
à une règle prédéfinie, il génère une alerte pour informer les opérateurs ou les équipes
de gestion de la fraude. Ces alertes permettent de prendre des mesures immédiates pour
enquêter sur la fraude potentielle et la contrer.

5. Gestion des cas : Le FMS facilite la gestion des cas de fraude en fournissant des
fonctionnalités de suivi, de documentation et de collaboration. Les équipes chargées de
la gestion de la fraude peuvent suivre les cas, documenter les actions prises, partager

62
Revue de littérature

des informations et collaborer pour résoudre les problèmes de fraude de manière


efficace.

6. Amélioration continue : Le FMS permet également l'amélioration continue de la


détection de la fraude en analysant les schémas de fraude passés, en identifiant de
nouvelles tendances et en adaptant les règles et les algorithmes en conséquence. Cela
garantit que le système reste à jour et capable de détecter les formes de fraude
émergentes.

En résumé, le FMS fonctionne en collectant et en analysant les données, en définissant des


règles de détection, en générant des alertes, en gérant les cas de fraude et en améliorant
constamment ses capacités de détection. Cela permet aux opérateurs de télécommunications de
prévenir et de lutter efficacement contre la fraude, protégeant ainsi leurs réseaux et leurs
revenus.

3.2.8.7.2. Contrôle de la distribution des cartes SIM (SDC)

Le contrôle de la distribution des cartes SIM (SDC) est un mécanisme clé dans la lutte
contre la fraude dans les télécommunications. Ce système fonctionne en mettant en place
différentes mesures pour réguler l'accès et l'utilisation des cartes SIM, afin de limiter les
opportunités des fraudeurs.

Tout d'abord, le SDC exige la présentation d'une pièce d'identité gouvernementale lors de
l'obtention d'une carte SIM. Cela permet de vérifier l'identité de l'utilisateur et de s'assurer qu'il
est légitime. De plus, les autorités réglementaires imposent des limites sur le nombre de cartes
SIM qu'une personne peut obtenir en utilisant le même document d'identification. Cette mesure
empêche les fraudeurs d'obtenir un grand nombre de cartes SIM pour les utiliser dans des
activités illégales.

Le suivi et l'enregistrement des informations de distribution des cartes SIM sont également
essentiels dans le fonctionnement du SDC. Les opérateurs de télécommunications doivent
maintenir un registre précis des informations telles que l'identification de l'utilisateur, les détails
de la carte SIM fournie, ainsi que la date et le lieu de la distribution. Ce suivi permet de tracer
l'utilisation des cartes SIM et de détecter toute activité suspecte ou frauduleuse.

Le SDC fonctionne en étroite collaboration avec les autorités réglementaires et les forces de
l'ordre. Les opérateurs de télécommunications partagent les informations sur la distribution des
cartes SIM avec ces entités afin de renforcer les mesures de contrôle et de faciliter les enquêtes
en cas de fraude avérée. Cette collaboration renforce la sécurité des réseaux de
télécommunications et contribue à prévenir les activités frauduleuses qui pourraient nuire aux
opérateurs et aux utilisateurs légitimes.

63
Revue de littérature

En résumé, le contrôle de la distribution des cartes SIM est une composante essentielle dans la
lutte contre la fraude dans les télécommunications. Grâce à des mesures telles que l'exigence
d'une pièce d'identité gouvernementale, la limitation du nombre de cartes SIM par identifiant,
le suivi des informations de distribution et la collaboration avec les autorités, le SDC vise à
réduire la disponibilité des cartes SIM pour les fraudeurs et à renforcer la sécurité des réseaux
de télécommunications.

64
Revue de littérature

4. Datalake

4.1. Histoire14
L'histoire des data lakes remonte à la nécessité croissante des entreprises de stocker et
d'analyser de grandes quantités de données provenant de diverses sources. Avant l'émergence
des data lakes, les entreprises utilisaient souvent des entrepôts de données traditionnels où les
données étaient structurées, organisées et préparées avant d'être stockées.

Cependant, avec l'avènement du big data, les entreprises ont été confrontées à des défis pour
gérer et analyser des données non structurées, semi-structurées et en constante évolution, telles
que les données provenant des médias sociaux, des capteurs, des journaux et d'autres sources.
Les entrepôts de données traditionnels étaient souvent rigides et peu adaptés à la variété et au
volume de données auxquels les entreprises étaient confrontées.

C'est dans ce contexte que les data lakes ont émergé. Le concept de data lake a été popularisé
par James Dixon, le fondateur de la société Pentaho, en 2010. Il a comparé les entrepôts de
données traditionnels à des "barrages" qui limitaient la collecte et l'analyse des données, tandis
que les data lakes étaient comme des "lacs" qui permettaient de stocker et d'explorer librement
toutes sortes de données.

Les technologies de big data open source, telles que Apache Hadoop et Apache Spark, ont joué
un rôle clé dans le développement et l'adoption des data lakes. Ces technologies offraient des
capacités de stockage et de traitement distribuées, ce qui permettait aux entreprises de stocker
et d'analyser efficacement de grandes quantités de données non structurées.

Avec l'évolution du cloud computing, les data lakes ont également trouvé un terrain fertile dans
les services de stockage basés sur le cloud, tels qu'Amazon S3, Azure Data Lake Storage et
Google Cloud Storage. Ces services ont facilité la création et la gestion des data lakes en
fournissant une infrastructure évolutive et hautement disponible.

Au fil du temps, les data lakes ont évolué pour inclure des fonctionnalités de gestion des
métadonnées, de gouvernance des données et de sécurité. Les entreprises ont réalisé
l'importance d'établir des politiques et des pratiques pour garantir la qualité des données,
protéger la confidentialité et la conformité, et faciliter la découverte et l'exploration des données
dans le data lake.

Aujourd'hui, les data lakes sont utilisés dans de nombreux secteurs et domaines d'activité, tels
que le marketing, la finance, les soins de santé, la recherche scientifique et bien d'autres. Ils
jouent un rôle essentiel dans la transformation des entreprises en leur permettant de tirer parti
du potentiel des données massives pour prendre des décisions plus éclairées et innovantes.

14 A Brief History of Data Lakes, Consulté le 17 02,2023: https://www.dataversity.net/brief-history-data-lakes/

65
Revue de littérature

4.2. Définition - avantages


Un data lake est une plateforme de stockage centralisée et évolutive qui permet de
stocker de grandes quantités de données brutes et non structurées. Contrairement aux entrepôts
de données traditionnels, les data lakes n'imposent pas de schéma prédéfini ou de structure
spécifique aux données, ce qui permet de capturer et de conserver les données dans leur format
brut d'origine.

Les data lakes sont conçus pour gérer des données provenant de diverses sources telles que des
capteurs, des journaux de serveur, des médias sociaux, des fichiers texte, des images, des
vidéos, etc. Ces données peuvent être stockées en vrac, sans prétraitement ni transformation,
offrant ainsi une grande flexibilité pour l'exploration, l'analyse et l'utilisation ultérieure des
données.

Les données dans un data lake sont généralement stockées dans un système de fichiers distribué
ou dans un système de stockage d'objets, qui permet une évolutivité horizontale et une gestion
efficace des données massives. Des technologies telles qu'Apache Hadoop, Apache Spark et
des services de stockage cloud tels qu'Amazon S3, Azure Data Lake Storage ou Google Cloud
Storage sont souvent utilisées pour la mise en œuvre des data lakes.

Les data lakes favorisent l'intégration de données provenant de diverses sources, telles que des
capteurs, des journaux de serveur, des bases de données relationnelles, des médias sociaux, des
fichiers texte, des images, des vidéos, etc. Les données peuvent être ingérées dans le data lake
sans nécessiter une transformation préalable, ce qui simplifie le processus de collecte et de
stockage des données.

L'un des avantages clés des data lakes est la possibilité d'effectuer une analyse exploratoire
avancée sur les données brutes. Les utilisateurs peuvent appliquer des modèles d'analyse, des
algorithmes de machine learning et d'autres techniques pour découvrir des tendances, des
corrélations et des modèles cachés dans les données non structurées. Cela permet de générer
des informations exploitables et des insights précieux pour la prise de décisions stratégiques.

Cependant, il est important de noter que les data lakes nécessitent une gestion rigoureuse pour
garantir la qualité des données, la gouvernance des données et la sécurité. La mise en place de
politiques et de processus appropriés pour la gestion des métadonnées, la confidentialité des
données, l'accès et les contrôles de sécurité est essentielle pour assurer l'intégrité et la valeur
des données stockées dans le data lake.

En résumé, un data lake est une plateforme de stockage et de gestion des données qui permet
de stocker des données brutes et non structurées provenant de diverses sources, offrant ainsi
une flexibilité et une agilité dans l'exploration et l'analyse des données pour générer des insights
précieux et prendre des décisions éclairées.

66
Revue de littérature

5. Elasticsearch15

Elasticsearch est un moteur de recherche et d'analyse de données open source, distribué


et hautement évolutif. Il est conçu pour être utilisé dans des environnements où des volumes
importants de données doivent être indexés, recherchés et analysés rapidement.

Elasticsearch repose sur Apache Lucene, une bibliothèque d'indexation et de recherche


d'informations. Il offre une interface RESTful pour interagir avec les données et propose une
grande variété de fonctionnalités pour la recherche textuelle, la recherche en temps réel,
l'analyse des données, la gestion des requêtes, et bien plus encore.

Voici quelques caractéristiques clés d'Elasticsearch :

❖ Recherche et indexation rapides : Elasticsearch utilise l'indexation inversée pour


permettre des recherches rapides et efficaces sur de grandes quantités de données. Il est
conçu pour évoluer horizontalement, ce qui signifie qu'il peut être configuré pour
fonctionner sur plusieurs nœuds et gérer des charges de travail volumineuses.

❖ Recherche textuelle avancée : Elasticsearch prend en charge des fonctionnalités


puissantes pour la recherche textuelle, telles que la correspondance exacte, les
correspondances partielles, les requêtes booléennes, les filtres géospatiaux, les
agrégations, les suggestions et bien plus encore. Il offre également des options de mise
en évidence pour mettre en évidence les résultats pertinents dans les documents.

❖ Analyse des données : Elasticsearch permet d'effectuer des analyses approfondies sur
les données grâce à son intégration avec la pile ELK (Elasticsearch, Logstash, Kibana).
Les données peuvent être agrégées, filtrées et visualisées à l'aide de Kibana, une
interface graphique permettant de créer des tableaux de bord et des visualisations
interactives.

❖ Tolérance aux pannes et haute disponibilité : Elasticsearch offre des fonctionnalités


de réplication et de distribution qui garantissent la disponibilité des données même en
cas de défaillance d'un nœud. Il assure également la redondance des données pour éviter
la perte de données en cas de problème matériel ou logiciel.

❖ Écosystème riche : Elasticsearch est intégré à un écosystème riche comprenant des


outils complémentaires tels que Logstash pour l'ingestion de données, Beats pour la
collecte de données, et des bibliothèques client dans différents langages de
programmation pour faciliter l'intégration avec d'autres systèmes.

15THE COMPLETE GUIDE TO THE ELK STACK, Consulté le 17 02,2023: https://logz.io/learn/complete-


guide-elk-stack/

67
Revue de littérature

Elasticsearch est largement utilisé dans de nombreux cas d'utilisation tels que la recherche de
texte intégral, l'analyse des logs, la surveillance des performances, la recherche de données
géospatiales, la recherche de produits, et bien d'autres. Sa flexibilité, ses performances élevées
et sa facilité d'utilisation en ont fait un choix populaire parmi les développeurs et les entreprises
pour la gestion et l'analyse des données.

16
Figure 6 : Elasticsearch

6. Dataiku17

6.1. Définition
Dataiku est une plateforme d'analyse et de science des données qui permet aux
organisations de collaborer et de travailler de manière efficace sur des projets de données. Elle
offre une approche holistique de bout en bout pour la gestion et l'analyse des données, de la
préparation des données à la production des modèles prédictifs.

Voici quelques points clés concernant Dataiku :

❖ Préparation des données : Dataiku propose des fonctionnalités avancées de


préparation et de nettoyage des données, permettant aux utilisateurs d'explorer, de
transformer et de nettoyer les données provenant de diverses sources. Des opérations de
fusion, d'agrégation, de filtrage, de normalisation, de gestion des valeurs manquantes et
d'autres transformations peuvent être effectuées de manière intuitive grâce à une
interface visuelle conviviale.

❖ Modélisation des données : La plateforme Dataiku permet aux utilisateurs de


construire et d'évaluer des modèles prédictifs grâce à des fonctionnalités intégrées de
machine learning et de statistiques. Elle prend en charge une variété d'algorithmes et de
techniques, et permet d'itérer rapidement sur les modèles pour optimiser les résultats.
Les utilisateurs peuvent également créer des pipelines de modélisation pour automatiser
les processus.

16
Logowik. Elasticsearch Logo PNG vector in SVG, PDF, AI, CDR format [Internet]. 2020.Consulté le 11 02,
2023. Disponible sur : https://logowik.com/elasticsearch-vector-logo-5272.html
17
Dataiku DSS - Reference documentation — Dataiku DSS 12 documentation [Internet]. Consulté le 17/02/2023.
Disponible sur : https://doc.dataiku.com/dss/latest/
68
Revue de littérature

❖ Collaboration et gouvernance : Dataiku encourage la collaboration entre les équipes


de données, les analystes, les scientifiques des données et les développeurs grâce à des
fonctionnalités de partage de projets, de commentaires, de documentation et de suivi
des modifications. Elle offre également des fonctionnalités de gouvernance des
données, telles que la gestion des droits d'accès, la traçabilité des données et la
conformité aux réglementations.

❖ Déploiement et production : Dataiku facilite le déploiement des modèles et la mise en


production des projets de données. Les modèles prédictifs peuvent être intégrés dans
des systèmes existants ou déployés en tant que services web. La plateforme prend en
charge le monitoring des modèles en production, la rétroaction des résultats et l'itération
pour assurer leur performance continue.

❖ Connectivité avec les technologies existantes : Dataiku offre une connectivité avec
une large gamme de sources de données, y compris les bases de données relationnelles,
les entrepôts de données, les systèmes de fichiers, les API et les services cloud. Elle est
également compatible avec les outils d'analyse et de visualisation populaires, permettant
aux utilisateurs d'intégrer facilement leurs workflows existants.

Dataiku est utilisé par de nombreuses organisations dans différents secteurs pour résoudre des
problèmes complexes liés aux données. Il permet aux équipes de travailler de manière plus
collaborative et itérative, favorisant ainsi l'innovation et l'exploitation des données pour prendre
des décisions éclairées.

Figure 7 : Logo Dataiku18

18 Brown P. The Dataiku Logo: Uniting Business Analyst and Data Scientist [Internet]. 2015. Disponible sur :
https://blog.dataiku.com/dataiku-logo

69
Revue de littérature

6.2. Quelques concepts clés


Voici quelques concepts clés associés à Dataiku :

❖ Projet : Un projet est l'unité de travail dans Dataiku. Il regroupe les ressources, les
données, les modèles et les flux de travail liés à un objectif spécifique. Les utilisateurs
travaillent dans le contexte d'un projet pour collaborer, explorer et analyser les données.

❖ Flow : Le Flow est une interface visuelle de Dataiku qui permet de concevoir et
d'exécuter des pipelines de données. Il permet de créer des étapes de préparation, de
transformation, d'analyse et de modélisation des données, ainsi que de visualiser les
résultats à chaque étape.

❖ Dataset : Un dataset est une représentation des données dans Dataiku. Il peut s'agir de
fichiers, de tables de base de données, de flux de données en temps réel ou d'autres
sources de données. Les datasets sont utilisés comme entrées et sorties dans les étapes
du Flow.

❖ Recette (Recipe) : Une recette est une étape de transformation de données dans le Flow.
Elle représente une opération spécifique appliquée aux données, telle que le filtrage, le
tri, l'agrégation ou l'enrichissement. Les recettes sont créées à l'aide d'une interface
visuelle et peuvent être modifiées ou réordonnées facilement.

❖ Modèle : Dans Dataiku, les modèles représentent les algorithmes de machine learning
ou de statistiques utilisés pour analyser les données et faire des prédictions. Les
utilisateurs peuvent entraîner des modèles, les évaluer et les optimiser dans le cadre d'un
projet. Les modèles peuvent être déployés pour une utilisation en production.

❖ Scénario (Scenario) : Un scénario est une séquence d'actions automatisées dans


Dataiku. Il peut inclure des étapes telles que l'exécution de recettes, le déploiement de
modèles, l'envoi de notifications, l'exportation de résultats, etc. Les scénarios permettent
d'automatiser des tâches récurrentes ou de créer des flux de travail complexes.

❖ Plugin : Dataiku offre la possibilité d'étendre ses fonctionnalités à l'aide de plugins. Les
plugins sont des modules complémentaires qui ajoutent de nouvelles fonctionnalités,
des connecteurs de données supplémentaires, des algorithmes personnalisés, des
visualisations, etc. Ils permettent de personnaliser et d'adapter Dataiku aux besoins
spécifiques de chaque organisation.

❖ Collaboration : Dataiku favorise la collaboration entre les utilisateurs grâce à des


fonctionnalités telles que le partage de projets, les commentaires, le suivi des
modifications et les rôles d'accès. Les utilisateurs peuvent travailler ensemble sur un
projet, partager leurs résultats et leurs découvertes, et bénéficier de l'expertise collective.

70
Revue de littérature

❖ Administration et gouvernance : Dataiku propose des fonctionnalités d'administration


et de gouvernance pour gérer les accès, les autorisations, les connexions aux sources de
données, les quotas de ressources, les audits, etc. Ces fonctionnalités assurent la
sécurité, la traçabilité et la conformité des activités liées aux données.
Dataiku prend en charge l'intégration de Jupyter Notebook, une interface interactive
populaire pour l'exécution de code Python, dans son environnement de travail. Cela
permet aux utilisateurs de bénéficier des fonctionnalités de Jupyter Notebook tout en
tirant parti des capacités de gestion des données et de collaboration de Dataiku. Voici
comment Jupyter Notebook est utilisé dans Dataiku :

❖ Création de notebooks : Dans Dataiku, vous pouvez créer des notebooks Jupyter en
tant que ressource de projet. Vous pouvez créer un nouveau notebook ou importer un
notebook existant dans votre projet Dataiku.

❖ Exécution de code : Une fois que vous avez ouvert un notebook Jupyter dans Dataiku,
vous pouvez écrire et exécuter du code Python en utilisant les cellules du notebook.
Vous pouvez exécuter une cellule individuelle en appuyant sur Shift + Enter ou exécuter
toutes les cellules du notebook.

❖ Exploration de données : Les notebooks Jupyter dans Dataiku peuvent être utilisés
pour explorer et analyser des données. Vous pouvez importer des données dans le
notebook à partir de sources de données de Dataiku, effectuer des opérations de
préparation de données, visualiser les données à l'aide de bibliothèques de visualisation,
etc.

❖ Intégration avec les recettes Dataiku : Les notebooks Jupyter peuvent être intégrés
dans les recettes de Dataiku. Vous pouvez utiliser les résultats d'un notebook dans une
recette pour alimenter une étape de transformation ou pour effectuer une analyse
avancée des données.

❖ Collaboration et partage : Les notebooks Jupyter dans Dataiku prennent en charge la


collaboration et le partage. Vous pouvez partager un notebook avec d'autres utilisateurs
de Dataiku, collaborer en temps réel sur un notebook, ajouter des commentaires et des
annotations, etc.

❖ Versioning et historique : Dataiku suit l'historique des versions de vos notebooks


Jupyter. Vous pouvez revenir à des versions précédentes, suivre les modifications
apportées au notebook au fil du temps et gérer les conflits lors de la collaboration.

L'intégration de Jupyter Notebook dans Dataiku offre une expérience interactive et flexible pour
l'analyse des données et le développement de code Python. Elle permet aux utilisateurs de tirer
parti de la puissance de Jupyter Notebook tout en bénéficiant des fonctionnalités

71
Revue de littérature

supplémentaires de Dataiku pour la gestion des données, la collaboration et la production de


modèles.

6.3. Préparation des données


La préparation des données avec Dataiku offre des fonctionnalités puissantes pour les
utilisateurs afin de faciliter le processus de nettoyage, de transformation et de manipulation des
données. Voici quelques-uns des aspects de la préparation des données avec Dataiku :

❖ Importation des données : Dataiku permet aux utilisateurs d'importer facilement des
données à partir de diverses sources telles que des fichiers CSV, des bases de données
relationnelles, des entrepôts de données, des services cloud et des API. L'interface de
Dataiku permet de configurer les connexions aux sources de données et de les importer
de manière transparente.

❖ Exploration des données : Dataiku offre des fonctionnalités d'exploration des données
pour permettre aux utilisateurs d'analyser et de comprendre la structure et la distribution
des données. Les utilisateurs peuvent visualiser les premières lignes des données,
obtenir des statistiques descriptives, détecter les valeurs manquantes, identifier les
schémas et les tendances, et effectuer des analyses exploratoires.

❖ Nettoyage et transformation des données : Dataiku fournit des outils visuels et des
opérations intuitives pour le nettoyage et la transformation des données. Les utilisateurs
peuvent effectuer des opérations de nettoyage telles que la suppression des doublons, la
gestion des valeurs manquantes, la correction des erreurs de données, et appliquer des
transformations telles que la normalisation, l'agrégation, la fusion de colonnes, etc.

❖ Préparation avancée des données : Dataiku permet aux utilisateurs d'appliquer des
transformations avancées sur les données à l'aide de langages de requête tels que SQL,
Python, R ou Spark. Cela permet aux utilisateurs d'effectuer des opérations plus
complexes, d'appliquer des règles de validation, d'effectuer des calculs personnalisés,
d'utiliser des bibliothèques de machine learning, etc.

❖ Détection des valeurs aberrantes : Dataiku propose des fonctionnalités pour détecter
les valeurs aberrantes dans les données. Les utilisateurs peuvent appliquer des méthodes
statistiques ou des algorithmes d'apprentissage automatique pour identifier les valeurs
aberrantes qui peuvent fausser l'analyse.

❖ Automatisation de la préparation des données : Dataiku permet aux utilisateurs de


créer des flux de travail automatisés pour la préparation des données. Les utilisateurs
peuvent créer des pipelines de préparation des données en spécifiant des étapes
séquentielles, des dépendances et des règles de conditionnement, ce qui facilite la
réutilisation et la mise à jour automatique des pipelines de préparation des données.

72
Revue de littérature

❖ Gestion des versions et de la collaboration : Dataiku offre des fonctionnalités de


gestion des versions qui permettent aux utilisateurs de suivre les modifications
apportées aux étapes de préparation des données. Les utilisateurs peuvent également
collaborer en temps réel, partager des projets, ajouter des commentaires et des
annotations, et travailler ensemble sur la préparation des données.

La préparation des données avec Dataiku vise à fournir aux utilisateurs un ensemble complet
d'outils et de fonctionnalités pour nettoyer, transformer et préparer les données en vue de
l'analyse et de la modélisation. Cela permet aux utilisateurs de gagner du temps, d'améliorer la
qualité des données et de faciliter l'analyse et l'exploration des données.

6.4. Visualisation des données


Dataiku offre une gamme de fonctionnalités de visualisation de données pour aider les
utilisateurs à explorer, analyser et présenter visuellement leurs données. Voici quelques-unes
des fonctionnalités de visualisation disponibles dans Dataiku :

❖ Tableaux de bord interactifs : Dataiku permet aux utilisateurs de créer des tableaux
de bord interactifs personnalisés. Ils peuvent ajouter des graphiques, des tableaux, des
cartes et d'autres visualisations pour présenter les résultats de leurs analyses. Les
utilisateurs peuvent également définir des interactions entre les différentes
visualisations pour faciliter l'exploration des données.

❖ Galerie de visualisations prédéfinies : Dataiku propose une galerie de visualisations


prédéfinies comprenant une variété de graphiques tels que des histogrammes, des
diagrammes en barres, des graphiques en nuage de points, des graphiques en boîte et
des cartes géographiques. Les utilisateurs peuvent choisir parmi ces visualisations et les
personnaliser en fonction de leurs besoins.

❖ Tableaux et visualisations croisées : Dataiku permet aux utilisateurs de créer des


tableaux croisés dynamiques pour analyser les relations entre différentes variables. Les
utilisateurs peuvent regrouper et filtrer les données, puis visualiser les résultats sous
forme de tableaux, de graphiques ou de cartes.

❖ Visualisations géospatiales : Dataiku prend en charge les visualisations géospatiales,


ce qui permet aux utilisateurs de représenter les données sur des cartes interactives. Ils
peuvent afficher des données géographiques telles que des points, des polygones, des
lignes, et superposer des informations supplémentaires pour une analyse plus
approfondie.

❖ Graphiques avancés : Dataiku offre la possibilité de créer des graphiques plus avancés
tels que des graphiques en treillis, des graphiques en aires empilées, des graphiques en
bulles, des graphiques en radar, des graphiques en radar polaire, etc. Ces graphiques

73
Revue de littérature

avancés permettent aux utilisateurs de représenter des relations plus complexes entre les
variables.

❖ Visualisations personnalisées : Dataiku permet aux utilisateurs de créer leurs propres


visualisations personnalisées en utilisant des bibliothèques de visualisation telles que
Matplotlib, D3.js et Plotly. Cela offre une flexibilité supplémentaire pour créer des
visualisations spécifiques répondant à des besoins particuliers.

❖ Exportation et partage des visualisations : Une fois les visualisations créées, les
utilisateurs peuvent les exporter dans différents formats tels que PDF, image ou HTML
interactif. Ils peuvent également partager leurs visualisations avec d'autres utilisateurs
ou les intégrer dans des rapports ou des présentations.

Dataiku offre donc une gamme complète de fonctionnalités de visualisation de données pour
permettre aux utilisateurs d'explorer et de communiquer efficacement les insights tirés de leurs
analyses. Que ce soit à travers des tableaux de bord interactifs, des graphiques prédéfinis ou
des visualisations personnalisées, Dataiku permet aux utilisateurs de présenter visuellement
leurs données de manière claire et convaincante.

74
Revue de littérature

6.5. Machine Learning


Dataiku propose une gamme complète de fonctionnalités pour la création,
l'entraînement et le déploiement de modèles de machine learning. Les utilisateurs peuvent
exploiter la puissance de Dataiku pour développer des modèles avancés adaptés à leurs besoins
spécifiques.

L'une des principales fonctionnalités de Dataiku est la sélection d'algorithmes. Les utilisateurs
ont accès à une bibliothèque complète d'algorithmes de machine learning, tels que les arbres de
décision, les réseaux de neurones, les machines à vecteurs de support (SVM), les forêts
aléatoires et bien d'autres. Ils peuvent choisir l'algorithme qui convient le mieux à leur tâche de
modélisation, en fonction des caractéristiques de leurs données et des objectifs de leur projet.

Dataiku offre également des fonctionnalités d'entraînement des modèles conviviales. Les
utilisateurs peuvent configurer les paramètres d'entraînement des modèles, tels que le taux
d'apprentissage, le nombre d'itérations et la taille du lot, pour obtenir des résultats optimaux. Ils
peuvent également utiliser des techniques de validation croisée pour évaluer les performances
des modèles et éviter le surajustement.

Pour améliorer les performances des modèles, Dataiku propose des fonctionnalités
d'optimisation des hyperparamètres. Les utilisateurs peuvent rechercher les meilleures
combinaisons d'hyperparamètres en utilisant des méthodes de recherche par grille ou
d'optimisation bayésienne. Cette fonctionnalité permet d'obtenir des modèles optimisés,
capables de fournir des prédictions précises et fiables.

La gestion du cycle de vie des modèles est également prise en charge par Dataiku. Les
utilisateurs peuvent organiser et versionner leurs modèles, les mettre à jour facilement avec de
nouvelles données et les ré-entraîner au besoin. Dataiku offre également des fonctionnalités de
comparaison de modèles, ce qui permet aux utilisateurs d'évaluer les performances de
différentes versions de modèles et de prendre des décisions éclairées.

Une fois que les modèles sont prêts, Dataiku facilite leur déploiement en production. Les
utilisateurs peuvent déployer leurs modèles sous forme d'API RESTful, ce qui permet leur
intégration dans des applications et des systèmes existants. Dataiku prend en charge différents
environnements de déploiement, y compris les environnements cloud, sur site et hybrides,
offrant une flexibilité maximale.

Dataiku offre également des fonctionnalités de monitoring des modèles pour surveiller leurs
performances en temps réel. Les utilisateurs peuvent suivre les métriques de qualité du modèle,
détecter les dégradations de performances et prendre des mesures correctives si nécessaire. Cela
garantit que les modèles continuent de fournir des résultats précis et fiables dans des scénarios
de production.

75
Revue de littérature

Enfin, Dataiku propose des fonctionnalités d'interprétation des modèles pour aider les
utilisateurs à comprendre les décisions prises par leurs modèles. Les utilisateurs peuvent
analyser l'importance des fonctionnalités, les contributions individuelles des variables, les
relations entre les variables et expliquer les prédictions effectuées par les modèles.

Dans l'ensemble, Dataiku offre une plateforme complète pour le développement, l'entraînement
et le déploiement des modèles de Machine Learning.

76
Revue de littérature

7. Machine learning pour la détection de fraude19

7.1. Algorithme d’apprentissage supervisé


Les algorithmes supervisés sont des techniques d'apprentissage automatique qui
utilisent des données étiquetées pour construire des modèles capables de prédire des résultats
futurs ou de classer de nouvelles observations. Ces algorithmes sont utilisés dans de nombreux
domaines tels que la classification, la régression, la détection d'anomalies et le filtrage
collaboratif.

Voici quelques exemples d'algorithmes supervisés couramment utilisés :

❖ Les arbres de décision : Ces algorithmes construisent un arbre de décision en utilisant


des règles logiques pour diviser les données en sous-groupes homogènes. Ils sont
utilisés pour la classification et la régression.

❖ Les forêts aléatoires : Les forêts aléatoires combinent plusieurs arbres de décision pour
effectuer des prédictions. Ils utilisent l'agrégation de multiples arbres pour obtenir des
résultats plus robustes et réduire le surajustement.

❖ Les machines à vecteurs de support (SVM) : Les SVM sont des algorithmes de
classification qui trouvent une séparation optimale entre les classes en construisant un
hyperplan dans un espace de dimension supérieure. Ils sont efficaces pour les tâches de
classification binaire et peuvent être étendus à la classification multiclasse.

❖ Les réseaux de neurones : Les réseaux de neurones sont des modèles inspirés du
fonctionnement du cerveau humain. Ils sont composés de couches de neurones
interconnectés et sont utilisés pour la classification, la régression et d'autres tâches
d'apprentissage automatique.

❖ La régression linéaire : La régression linéaire est utilisée pour prédire une variable
continue en fonction de variables indépendantes. Elle modélise la relation linéaire entre
les variables en trouvant la meilleure droite de régression.

❖ Les méthodes d'ensemble : Les méthodes d'ensemble, telles que le boosting et le


bagging, combinent les prédictions de multiples modèles de base pour améliorer les
performances de prédiction.

19
Togbe MU, Chabchoub Y, Boly A, Chiky R. Etude comparative des méthodes de détection d’anomalies.
Revue des Nouvelles Technologies de l’Information [Internet]. 2020 ; Disponible sur : https://hal.science/hal-
02874904/document

77
Revue de littérature

❖ Les algorithmes de régression logistique : La régression logistique est utilisée pour la


classification binaire. Elle modélise la relation entre les variables indépendantes et la
probabilité d'appartenance à une classe.

❖ Les k-plus proches voisins (k-NN) : Le k-NN est un algorithme de classification qui
classe de nouvelles observations en se basant sur les exemples étiquetés les plus proches.
Il utilise la similarité des caractéristiques pour attribuer une classe.

Ces algorithmes supervisés constituent une base solide pour la modélisation prédictive et la
résolution de problèmes de classification et de régression. Le choix de l'algorithme dépend du
type de problème, des caractéristiques des données et des objectifs spécifiques de la tâche
d'apprentissage.

7.2. Algorithmes d’apprentissage non supervisé

7.2.1. Définition

Le machine learning non supervisé est une branche de l'apprentissage automatique


(machine learning) qui vise à découvrir des structures, des modèles ou des relations intrinsèques
dans les données sans utiliser d'étiquettes ou de variables de sortie préalablement étiquetées.
Contrairement à l'apprentissage supervisé, où les données sont étiquetées et utilisées pour
entraîner un modèle à prédire des sorties spécifiques, l'apprentissage non supervisé se concentre
sur l'exploration des données et la recherche de structures sous-jacentes.

Dans le machine learning non supervisé, les algorithmes sont utilisés pour analyser les données
et en extraire des informations significatives sans connaître les réponses attendues. Les objectifs
courants de l'apprentissage non supervisé comprennent le regroupement (clustering) des
données similaires, la réduction de dimension pour simplifier la représentation des données, la
détection d'anomalies (outliers) et la découverte de règles d'association.

Les algorithmes d'apprentissage non supervisé explorent les relations entre les variables et
identifient des schémas et des structures sous-jacents sans la nécessité de connaître les
catégories ou les étiquettes des données. Ils permettent de découvrir des informations cachées,
de faire émerger des groupes naturels et de simplifier la complexité des données.

L'apprentissage non supervisé est utilisé dans de nombreux domaines, tels que l'analyse de
données, l'exploration de texte, la recommandation de produits, la segmentation de la clientèle,
la détection d'anomalies dans les systèmes de sécurité, la compréhension des comportements
des utilisateurs et bien d'autres. C'est une méthode puissante pour découvrir des connaissances
à partir des données et générer de nouvelles perspectives sans nécessité d'étiquetage manuel des
données.

78
Revue de littérature

7.2.2. K-means

Le K-means est un algorithme d'apprentissage automatique non supervisé qui vise à


regrouper un ensemble de données en k clusters distincts. Il cherche à partitionner les données
de manière à minimiser la variance intra-cluster, c'est-à-dire la distance moyenne entre les
points de chaque cluster et leur centre respectif.

Plus précisément, l'algorithme K-means fonctionne de la manière suivante :

1. Initialisation : Sélectionnez k centres de cluster initiaux de manière aléatoire ou en


utilisant une méthode spécifique. Ces centres peuvent être choisis parmi les points de
données existants ou générés aléatoirement dans l'espace de données.

2. Attribution : Pour chaque point de données, calculez la distance entre ce point et tous
les centres de cluster. Attribuez ce point au cluster dont le centre est le plus proche, en
utilisant une mesure de distance telle que la distance euclidienne.

3. Mise à jour : Recalculez les nouveaux centres de cluster en calculant la moyenne des
points attribués à chaque cluster. Les nouveaux centres sont les centres de gravité des
points de chaque cluster.

Répétez les étapes 2 et 3 jusqu'à ce qu'une condition d'arrêt soit satisfaite. La condition d'arrêt
peut être le nombre maximum d'itérations défini à l'avance ou la convergence des centres de
cluster, c'est-à-dire lorsque les centres ne changent pas de manière significative entre les
itérations successives.

Une fois que l'algorithme K-means converge, les centres de cluster finaux représentent les
positions optimales des clusters et chaque point de données est assigné à un cluster spécifique.

L'algorithme K-means présente plusieurs avantages, tels que sa simplicité, son efficacité en
termes de temps de calcul et sa capacité à traiter de grandes quantités de données. Il est
largement utilisé dans divers domaines, tels que l'analyse des données, la segmentation de la
clientèle, la recherche de similarités et la compression de données.

Cependant, il convient de noter que l'algorithme K-means a quelques limitations. Il peut être
sensible aux valeurs aberrantes, il nécessite de spécifier le nombre de clusters k à l'avance et il
peut converger vers des optima locaux plutôt que globaux, ce qui peut entraîner des résultats
sous-optimaux.

En conclusion, le K-means est un algorithme de clustering couramment utilisé en apprentissage


non supervisé pour regrouper les données en clusters homogènes. Il est simple à comprendre et
à implémenter, mais il est important de prendre en compte ses limitations et de sélectionner les
paramètres appropriés pour obtenir des résultats de clustering significatifs.

79
Revue de littérature

20
Figure 8 : Après l'itération #3 l'affectation ne changera pas

7.2.3. DBSCAN

DBSCAN (Density-Based Spatial Clustering of Applications with Noise) est un


algorithme de clustering non supervisé largement utilisé en apprentissage automatique. Il est
conçu pour identifier des groupes de points dans un ensemble de données en se basant sur la
densité des points et leur proximité spatiale.

L'algorithme DBSCAN fonctionne de la manière suivante :

1. Sélection d'un point initial : Sélectionnez un point de données non visité au hasard
dans l'ensemble de données.

2. Exploration des voisins : Trouvez tous les points de données voisins du point initial en
utilisant une distance définie par l'utilisateur. Un point est considéré comme voisin d'un
autre point s'il se trouve à une distance inférieure ou égale à un seuil prédéfini.

20
Dehghani É par : A. The K-Means Clustering Algorithm in Java | Baeldung [Internet]. 2019. Disponible sur :
https://www.baeldung.com/java-k-means-clustering-algorithm

80
Revue de littérature

3. Vérification de la densité : Si le nombre de voisins d'un point est supérieur ou égal à


un seuil prédéfini (minimum de points requis pour former un cluster), alors le point est
considéré comme un noyau (core point). Les points voisins qui sont également des
noyaux sont ajoutés au même cluster.

4. Extension du cluster : Pour chaque noyau, étendez le cluster en ajoutant tous les points
atteignables (points voisins) en utilisant la même distance seuil. Répétez cette étape
jusqu'à ce qu'il n'y ait plus de points atteignables.

5. Exploration des points voisins non visités : Répétez les étapes précédentes pour les
points de données non visités jusqu'à ce que tous les points aient été attribués à un cluster
ou marqués comme du bruit.

L'algorithme DBSCAN présente plusieurs avantages. Il peut identifier des clusters de formes
arbitraires, ne nécessite pas de spécifier le nombre de clusters à l'avance et peut traiter des
ensembles de données de grande taille. De plus, il peut détecter les points aberrants (bruit) qui
ne sont pas regroupés avec d'autres points.

Cependant, il convient de noter que DBSCAN peut être sensible aux paramètres choisis, tels
que la distance seuil et le nombre minimum de points requis pour former un cluster. Une
mauvaise sélection de ces paramètres peut conduire à des résultats insatisfaisants. De plus, il
peut être moins efficace dans les ensembles de données de très haute dimensionnalité.

En résumé, DBSCAN est un algorithme de clustering non supervisé basé sur la densité des
points et leur proximité spatiale. Il permet de découvrir des clusters de formes arbitraires et est
utile pour la détection de points aberrants. Cependant, il nécessite une sélection appropriée des
paramètres pour obtenir des résultats de clustering optimaux.

7.2.4. Isolation Forest

Isolation Forest (Forêt d'Isolation) est un algorithme d'apprentissage automatique utilisé


pour la détection d'anomalies. Il se base sur le principe que les anomalies sont des observations
rares et différentes du reste de l'ensemble de données, ce qui les rend plus faciles à isoler.

L'algorithme Isolation Forest fonctionne de la manière suivante :

1. Sélection aléatoire de caractéristiques : Choisissez une caractéristique aléatoire parmi


les caractéristiques disponibles dans l'ensemble de données.

2. Sélection aléatoire de seuils : Sélectionnez un seuil aléatoire entre les valeurs minimale
et maximale de la caractéristique choisie.

81
Revue de littérature

3. Construction de l'arbre : Créez un arbre binaire de décision en divisant les données


en fonction du seuil sélectionné. Les observations ayant une valeur inférieure au seuil
sont dirigées vers le sous-arbre gauche, tandis que celles ayant une valeur supérieure ou
égale au seuil sont dirigées vers le sous-arbre droit.

Répétez les étapes 1 à 3 pour construire plusieurs arbres.

4. Évaluation de l'anomalie : Pour chaque observation, évaluez le nombre moyen


d'étapes nécessaires pour l'isoler complètement dans tous les arbres construits. Les
observations qui nécessitent moins d'étapes sont considérées comme des anomalies
potentielles.

5. Attribution d'une valeur d'anomalie : Calculez une valeur d'anomalie pour chaque
observation en normalisant le nombre moyen d'étapes. Les valeurs d'anomalie plus
élevées indiquent une probabilité plus élevée d'être une anomalie.

Les avantages de l'Isolation Forest incluent sa capacité à détecter rapidement les anomalies dans
de grands ensembles de données et sa résistance aux valeurs aberrantes. Il peut également gérer
des données de grande dimensionnalité de manière efficace.

Cependant, il convient de noter que l'Isolation Forest peut ne pas fonctionner efficacement
lorsque les anomalies sont fortement regroupées ou lorsque les données sont hautement
corrélées. De plus, la sélection du nombre optimal d'arbres dans la forêt et des seuils appropriés
peut nécessiter une expérimentation et une optimisation.

En résumé, l'Isolation Forest est un algorithme d'apprentissage automatique utilisé pour la


détection d'anomalies. Il isole les anomalies en construisant une forêt d'arbres de décision et en
évaluant la facilité avec laquelle chaque observation peut être isolée. C'est une méthode efficace
pour détecter rapidement les anomalies dans les ensembles de données volumineux et peut être
utilisée dans divers domaines tels que la détection de fraudes, la surveillance des systèmes et la
détection d'intrusions.

L'algorithme Isolation Forest dispose de certains paramètres qui peuvent être ajustés pour
obtenir des résultats optimaux :

❖ Nombre d'arbres (n_estimators) : Il s'agit du nombre d'arbres de décision construits


dans la forêt d'isolation. Une valeur plus élevée peut améliorer la détection des
anomalies, mais cela peut également augmenter le temps de calcul. Il est recommandé
de choisir un nombre suffisamment élevé pour obtenir de bons résultats sans
compromettre les performances.

❖ Sous-échantillonnage (max_samples) : Ce paramètre détermine la taille de


l'échantillon utilisé pour construire chaque arbre de décision. Une valeur plus petite

82
Revue de littérature

réduit le temps de calcul, mais peut également diminuer la précision de la détection des
anomalies. Il est recommandé de choisir une valeur appropriée en fonction de la taille
de l'ensemble de données.

❖ Taille minimale des feuilles (contamination) : Ce paramètre contrôle la proportion


estimée d'anomalies dans l'ensemble de données. Il définit la taille minimale des feuilles
de l'arbre, où une feuille contenant une proportion d'observations supérieure à ce seuil
est considérée comme une anomalie. Une valeur plus élevée augmentera le nombre
d'observations détectées comme des anomalies. Il est important d'ajuster ce paramètre
en fonction de la nature des données et du taux attendu d'anomalies.

Il est recommandé de faire varier ces paramètres et de les optimiser en utilisant des techniques
telles que la recherche en grille (grid search) ou l'optimisation bayésienne afin de trouver les
valeurs qui donnent les meilleurs résultats pour un ensemble de données spécifique.

En utilisant ces paramètres, l'algorithme Isolation Forest peut être adapté pour détecter les
anomalies de manière efficace et précise dans diverses applications.

21
Figure 9 : Détection d'anomalies avec Isolation Forest

7.2.5. LOF (Local Outlier Factor)

LOF (Local Outlier Factor) est un algorithme d'apprentissage automatique non


supervisé utilisé pour la détection d'anomalies. Il permet d'identifier les points de données qui
sont considérés comme des anomalies locales par rapport à leur voisinage.

L'algorithme LOF fonctionne de la manière suivante :

21
Anello E. Anomaly Detection With Isolation Forest [Internet]. Medium. 2022. Disponible sur :
https://betterprogramming.pub/anomaly-detection-with-isolation-forest-e41f1f55cc6

83
Revue de littérature

1. Calcul de la densité locale : Pour chaque point de données, calculez sa densité locale
en évaluant la distance moyenne entre ce point et ses k voisins les plus proches. La
densité locale d'un point est déterminée par rapport à la densité de ses voisins.

2. Calcul du facteur d'anomalie local : Calculez le facteur d'anomalie local pour chaque
point en comparant la densité locale du point avec celle de ses voisins. Le facteur
d'anomalie local mesure à quel point un point est anormal par rapport à son voisinage.
Les points ayant un facteur d'anomalie local élevé sont considérés comme des
anomalies.

3. Attribution d'une valeur d'anomalie : Normalisez les facteurs d'anomalie locaux pour
obtenir une valeur d'anomalie pour chaque point. Les valeurs d'anomalie plus élevées
indiquent une probabilité plus élevée d'être une anomalie.

Les avantages de l'algorithme LOF incluent sa capacité à détecter des anomalies dans des
ensembles de données de grande dimensionnalité et sa sensibilité à la densité locale des points.
Il est également capable de gérer des ensembles de données contenant des valeurs aberrantes et
des données bruitées.

Cependant, il convient de noter que l'algorithme LOF peut être sensible au choix du nombre de
voisins (k) et au seuil utilisé pour déterminer les anomalies. Des valeurs inappropriées peuvent
entraîner des résultats insatisfaisants. De plus, il peut être coûteux en termes de temps de calcul,
en particulier pour de grandes bases de données.

En résumé, LOF (Local Outlier Factor) est un algorithme de détection d'anomalies qui évalue
la densité locale des points de données pour identifier les anomalies locales. Il est utile pour
détecter les points de données qui sont significativement différents de leur voisinage.
L'ajustement approprié des paramètres est essentiel pour obtenir des résultats de détection
d'anomalies précis et fiables.

7.2.6. OC-SVM (One-Class Support Vector Machine)

OC-SVM (One-Class Support Vector Machine) est un algorithme d'apprentissage


automatique utilisé pour la détection d'anomalies. Il est utilisé lorsque l'on dispose uniquement
d'un ensemble de données d'apprentissage d'une seule classe et que l'on souhaite détecter les
observations qui s'éloignent de cette classe.

L'algorithme OC-SVM fonctionne de la manière suivante :

1. Formation du modèle : Le modèle OC-SVM est formé en utilisant l'ensemble de


données d'apprentissage composé uniquement de données de la classe normale (non
anormale). L'objectif est de trouver une fonction d'hyperplan qui délimite au mieux les
données normales dans un espace de caractéristiques.

84
Revue de littérature

2. Projection des nouvelles observations : Une fois le modèle formé, de nouvelles


observations peuvent être projetées dans l'espace de caractéristiques et évaluées par
rapport à la position de l'hyperplan. Les observations qui se trouvent du côté opposé de
l'hyperplan par rapport aux données normales sont considérées comme des anomalies.

L'avantage de l'OC-SVM est qu'il peut modéliser les données normales dans un espace de
caractéristiques et détecter les observations qui s'éloignent de cette représentation normale. Il
peut également être efficace dans les cas où les anomalies sont rares et difficiles à définir
explicitement.

Cependant, l'OC-SVM présente quelques limitations. Il peut être sensible aux paramètres
choisis, tels que le noyau utilisé pour transformer les données dans l'espace de caractéristiques.
De plus, il est plus adapté aux ensembles de données à faible dimensionnalité et peut rencontrer
des difficultés lorsque les données présentent une grande variabilité ou des chevauchements
entre la classe normale et les anomalies.

En résumé, l'OC-SVM est un algorithme d'apprentissage automatique utilisé pour la détection


d'anomalies. Il est basé sur la formation d'un modèle d'hyperplan qui délimite les données
normales et permet de détecter les observations anormales. Il peut être utilisé lorsque l'on
dispose uniquement d'un ensemble de données d'une seule classe et est utile pour détecter les
anomalies rares ou mal définies.

85
Revue de littérature

8. Travaux antérieurs

Voici quelques articles scientifiques sur la détection de la fraude Simbox (ou SIM
boxing en anglais), qui est une technique utilisée pour contourner les tarifs internationaux des
opérateurs de téléphonie mobile :

❖ Al-Nahari A, Adnane K, Belaoued A, Gueham M, Ghogho M, and Aissa S, "SIM Box


Fraud Detection Using Machine Learning Techniques," IEEE Access, vol. 7, pp. 86262-
86272, 2019.

❖ Ilyas M, Majid MB, and Javaid N, "SIM box detection using machine learning
techniques : A comprehensive survey," IEEE Access, vol. 7, pp. 117038-117060, 2019.

❖ Jovanovic B, Zamani M, and Ghorbani K, "Detecting SIM Boxes using Machine


Learning," in 2019 IEEE/IFIP Network Operations and Management Symposium
(NOMS), 2019, pp. 1-6.

❖ Kim H and Suh YJ, "A Machine Learning-based SIM Box Fraud Detection System for
Mobile Telecommunication Networks," in 2018 International Conference on
Information and Communication Technology Convergence (ICTC), 2018, pp. 918-923.

❖ Sarwar M, Rafique S, Aslam MA, and Sattar A, "Detection of SIM Box Fraud Using
Call Detail Records and Machine Learning Techniques," Wireless Personal
Communications, vol. 104, no. 1, pp. 203-222, 2019.

86
Revue de littérature

Article : "SIM Box Fraud Detection Using Machine Learning Techniques" (2019)
Résumé : Cet article propose une approche basée sur l'apprentissage automatique pour détecter
la fraude Simbox. Les auteurs collectent des données détaillées sur les appels téléphoniques, y
compris les motifs d'appels, les durées d'appel, les numéros appelés, etc. Ils utilisent ensuite des
algorithmes d'apprentissage automatique tels que les machines à vecteurs de support (SVM) et
les réseaux de neurones pour entraîner un modèle de détection de fraude. Les performances du
modèle sont évaluées à l'aide de données réelles provenant d'un opérateur de téléphonie mobile.
Les résultats obtenus montrent que l'approche proposée utilisant SVM et les réseaux de
neurones peut détecter avec précision les cas de fraude Simbox.

Article : "SIM box detection using machine learning techniques: A comprehensive


survey" (2019)
Résumé : Cet article présente une revue complète des techniques de détection de la fraude
Simbox utilisant l'apprentissage automatique. Les auteurs examinent différentes approches de
détection existantes, telles que l'analyse des motifs d'appels, l'analyse du trafic, l'utilisation des
enregistrements de détails d'appels, etc. Bien que les algorithmes spécifiques ne soient pas
mentionnés dans l'article, différentes techniques d'apprentissage automatique peuvent être
utilisées dans ces approches, telles que les machines à vecteurs de support (SVM), les réseaux
de neurones, les arbres de décision, etc. L'article fournit une vue d'ensemble utile des techniques
de détection de la fraude Simbox basée sur l'apprentissage automatique, offrant des
informations précieuses pour les chercheurs et les professionnels de la sécurité des
télécommunications.

Article : "Detecting SIM Boxes using Machine Learning" (2019)


Résumé : Dans cet article, les auteurs proposent une méthode de détection de la fraude Simbox
basée sur l'apprentissage automatique. Ils extraient des caractéristiques des appels
téléphoniques, telles que les paramètres de qualité de la voix, les motifs de trafic, etc. Ensuite,
ils utilisent plusieurs algorithmes d'apprentissage automatique tels que les arbres de décision et
les forêts aléatoires pour construire des modèles de détection de fraude. Les performances des
modèles sont évaluées à l'aide de données réelles provenant d'un opérateur de téléphonie
mobile. Les résultats obtenus montrent que les modèles basés sur les arbres de décision et les
forêts aléatoires peuvent détecter avec précision la fraude Simbox.

Article : "A Machine Learning-based SIM Box Fraud Detection System for Mobile
Telecommunication Networks" (2018)
Résumé : Cet article présente un système de détection de la fraude Simbox basé sur
l'apprentissage automatique pour les réseaux de télécommunications mobiles. Les auteurs
utilisent des caractéristiques telles que les profils de trafic, les motifs d'appels et les
enregistrements de détails d'appels pour entraîner des modèles de détection de fraude. Bien que
les algorithmes spécifiques ne soient pas mentionnés, l'approche s'appuie sur des techniques
d'apprentissage automatique, telles que les machines à vecteurs de support (SVM), les réseaux

87
Revue de littérature

de neurones, etc. Les performances du système sont évaluées à l'aide de données réelles et les
résultats obtenus montrent une précision élevée dans la détection des cas de fraude Simbox.

Article : "Detection of SIM Box Fraud Using Call Detail Records and Machine Learning
Techniques" (2019)
Résumé : Cet article propose une méthode de détection de la fraude Simbox en utilisant des
enregistrements de détails d'appels et des techniques d'apprentissage automatique. Les auteurs
extraient des caractéristiques des enregistrements d'appels, telles que les motifs d'appels, les
durées d'appel, les numéros appelés, etc. Ensuite, ils appliquent des algorithmes d'apprentissage
automatique pour construire un modèle de détection de fraude. Bien que les algorithmes
spécifiques ne soient pas mentionnés, différentes techniques d'apprentissage automatique
peuvent être utilisées, telles que les machines à vecteurs de support (SVM), les arbres de
décision, les réseaux de neurones, etc. Les performances de la méthode proposée sont évaluées
à l'aide de données réelles, démontrant son efficacité dans la détection précise des cas de fraude
Simbox. Cette approche peut être utilisée par les opérateurs de téléphonie mobile pour renforcer
leur sécurité et prévenir les pertes financières liées à la fraude.

88
Revue de littérature

Conclusion

En conclusion, le chapitre 2 a examiné en détail la littérature existante sur la détection


de la fraude Simbox et les techniques utilisées dans les études précédentes. Nous avons exploré
les concepts clés liés au trafic des appels internationaux, tels que les appels internationaux eux-
mêmes, les enregistrements de détails d'appels (CDR), la fraude Simbox et les bases de données
utilisées pour stocker et traiter les données.

L'examen de la littérature a permis de mieux comprendre l'état actuel de la détection de la fraude


Simbox et les défis auxquels les chercheurs et les opérateurs de télécommunications sont
confrontés. Nous avons identifié les différentes approches et algorithmes utilisés pour détecter
cette fraude, notamment les méthodes supervisées et non supervisées, les techniques
d'apprentissage automatique et les approches basées sur les modèles.

De plus, nous avons mis en évidence l'importance de la détection de la fraude Simbox en termes
d'impact financier et de réputation pour les opérateurs de télécommunications. La fraude
Simbox représente une menace significative pour l'industrie des télécommunications, et des
efforts continus de recherche et de développement sont nécessaires pour améliorer les
techniques de détection et de prévention.

Dans les prochains chapitres, nous utiliserons les connaissances acquises dans ce chapitre pour
développer notre propre système de détection de fraude Simbox, en exploitant des algorithmes
de détection d'anomalie et de clustering. Nous examinerons également de près les outils
technologiques tels qu'Elasticsearch, un data lake, et Dataiku, une plateforme de traitement des
données, qui seront utilisés dans notre méthodologie.

En somme, ce chapitre a posé les bases nécessaires pour la poursuite de notre recherche. Nous
avons acquis une compréhension approfondie de la littérature existante, des concepts clés et des
enjeux liés à la détection de la fraude Simbox. Ces connaissances nous serviront de guide dans
le développement de notre propre système de détection et contribueront à l'amélioration de la
sécurité et de la fiabilité des opérations de télécommunications.

89
Chapitre 3 : Conception de la solution

Introduction

Dans le chapitre 3, nous aborderons la conception générale de notre solution de gestion


et d'analyse des CDRs (Call Detail Records). Après avoir présenté le cadre théorique dans le
chapitre précédent, nous nous concentrerons ici sur les besoins de notre projet et le choix de la
solution, ainsi que des algorithmes nécessaires à la détection des anomalies et à l'évaluation de
la susceptibilité de fraude Simbox chez les abonnés.

L'analyse des CDRs revêt une importance capitale pour détecter les comportements frauduleux
et protéger les opérateurs de télécommunications contre les activités illégales. Dans ce chapitre,
nous détaillerons l'enchaînement logique du processus d'analyse des CDRs, mettant l'accent sur
les différentes étapes clés de notre solution.

Nous commencerons par analyser en détail les besoins spécifiques de notre projet, en prenant
en compte les contraintes techniques, les objectifs de détection de fraude et les exigences des
opérateurs de télécommunications. Cette analyse approfondie nous permettra de sélectionner
la solution la plus adaptée à notre contexte, en prenant en considération les aspects tels que la
performance, la précision des résultats et la scalabilité.

Ensuite, nous aborderons les choix des algorithmes qui joueront un rôle central dans notre
solution d'analyse des CDRs. Nous passerons en revue les différentes techniques existantes et
les modèles de détection de fraude les plus pertinents, en nous appuyant sur la littérature
existante et les meilleures pratiques du domaine. Nous justifierons nos choix en fonction des
avantages et des limitations de chaque algorithme.

Enfin, nous présenterons l'enchaînement logique du processus d'analyse des CDRs, décrivant
les différentes étapes, de la collecte des données à la détection des anomalies et à l'évaluation
de la susceptibilité de fraude Simbox chez les abonnés. Nous mettrons en évidence les
interactions entre les différents composants de notre solution et expliquerons comment ils
contribuent à l'atteinte de nos objectifs.

Ce chapitre constitue une étape cruciale dans le développement de notre solution, en posant les
bases conceptuelles et méthodologiques sur lesquelles nous nous appuierons par la suite. Il
permettra de guider la mise en œuvre pratique de notre système de gestion et d'analyse des
CDRs, en offrant une compréhension claire des choix effectués et de la logique sous-jacente à
notre approche.

90
Conception

1. Analyse des besoins

L'analyse des besoins pour notre solution de détection de fraude Simbox à partir des
CDRs implique plusieurs aspects clés. Tout d'abord, il est essentiel d'automatiser le processus
d'analyse en raison du grand volume de CDRs disponibles et de la nature historique des
données. Les méthodes manuelles seraient inefficaces et consommeraient beaucoup de temps
et de ressources. Par conséquent, notre solution doit être capable de traiter et d'analyser les
CDRs de manière automatisée pour une détection efficace des fraudes Simbox.

Ensuite, il est nécessaire de mettre en place une infrastructure de traitement adaptée pour gérer
les données. Les CDRs génèrent un grand nombre de données et nécessitent une solution de
traitement capable de traiter de grandes quantités d'informations et de fournir des performances
optimales. Cette infrastructure doit permettre le traitement et la gestion efficaces des données
pour assurer une analyse fluide des CDRs.

De plus, notre solution doit être en mesure d'identifier les comportements suspects des abonnés
de l'opérateur. Cela implique de développer des mécanismes d'analyse avancés pour détecter
les schémas de trafic inhabituels, les modèles de communication anormaux ou toute autre
caractéristique suspecte dans les CDRs.

Un aspect clé de notre solution consiste à attribuer un score de sévérité ou de susceptibilité


d'anomalies à chaque abonné à chaque heure donnée. Ce score permettra d'évaluer dans quelle
mesure un abonné est suspecté de fraude Simbox à un moment précis. Il est donc essentiel de
développer des modèles d'évaluation basés sur des critères spécifiques et d'appliquer des
algorithmes de scoring adaptés.

Enfin, notre solution doit fournir des résultats en temps réel ou quasi temps réel pour permettre
à l'opérateur de prendre des mesures immédiates contre la fraude Simbox. La rapidité de
traitement des données est donc une considération importante dans la conception de notre
solution.

En résumé, notre solution de détection de fraude Simbox à partir des CDRs doit être
automatisée, capable de traiter de grandes quantités de données, d'identifier les comportements
suspects, d'attribuer des scores de sévérité ou de susceptibilité d'anomalies et de fournir des
résultats en temps réel ou quasi temps réel. En répondant à ces besoins, nous pourrons offrir
une solution efficace pour détecter et prévenir la fraude Simbox chez les abonnés de l'opérateur.

91
Conception

2. Cycle de vie des données

Le cycle de vie des données dans notre solution de détection de fraude Simbox implique
plusieurs étapes clés pour garantir un traitement et une analyse efficaces des données. Voici
une proposition de cycle de vie des données :

1. Acquisition des données : Les CDRs sont collectées à partir des sources de données,
telles que les systèmes de télécommunications de l'opérateur, et stockées dans une base
de données dédiée.

2. Prétraitement des données : Les données brutes des CDRs sont soumises à un
prétraitement pour nettoyer les erreurs, gérer les valeurs manquantes, et effectuer des
opérations de normalisation et de transformation nécessaires. Cela garantit que les
données sont cohérentes et prêtes pour l'analyse.

3. Extraction des variables ou fonctionnalités : À partir des données prétraitées, des


variables ou fonctionnalités pertinentes sont extraites pour alimenter les modèles
d'analyse. Cela peut impliquer l'identification de caractéristiques spécifiques des
appels, des schémas de trafic, des profils d'utilisation, etc.

4. Analyse des données : Les données extraites sont analysées en utilisant des techniques
d'analyse avancées, telles que l'apprentissage automatique ou les règles de détection de
fraudes, pour identifier les comportements suspects et détecter les fraudes Simbox. Les
modèles prédictifs peuvent également être utilisés pour évaluer la probabilité de fraude
pour chaque abonné.

5. Visualisation des résultats : Les résultats de l'analyse sont visualisés à l'aide de


graphiques, de tableaux de bord interactifs ou d'autres outils de visualisation. Cela
permet aux utilisateurs de comprendre facilement les résultats et de prendre des
décisions basées sur les informations fournies.

6. Stockage des visualisations : Les visualisations sont stockées dans des tableaux de
bord ou des rapports dynamiques, offrant ainsi un accès facile et en temps réel aux
informations analysées. Ces tableaux de bord peuvent être consultés par les parties
prenantes concernées pour suivre les tendances, les alertes de fraude et les
performances.

7. Stockage des résultats finaux : Les résultats finaux de l'analyse, y compris les scores
de sévérité ou de susceptibilité d'anomalies pour chaque abonné, sont stockés dans des
ensembles de données dédiés. Ces ensembles de données peuvent être utilisés pour des
tâches ultérieures, telles que l'évaluation des performances du modèle, la comparaison
avec des données historiques, ou l'enrichissement des connaissances.

92
Conception

En utilisant les informations supplémentaires provenant de notre modèle, nous pouvons


enrichir davantage le cycle de vie des données. Par exemple, des données supplémentaires
provenant de capteurs, de sources externes ou d'autres modèles peuvent être intégrées lors de
l'étape d'extraction des variables. Cela peut aider à améliorer la précision de la détection de
fraudes Simbox et à fournir des informations contextuelles plus riches.

En résumé, le cycle de vie des données dans notre solution de détection de fraude Simbox
comprend l'acquisition des données, le prétraitement, l'extraction des variables, l'analyse, la
visualisation des résultats, le stockage des visualisations et des résultats finaux. En utilisant les
informations supplémentaires disponibles, nous pouvons enrichir le processus et garantir des
résultats précis et exploitables pour la détection et la prévention des fraudes Simbox.

3. Choix de la solution

Dans le cadre du traitement des données pour notre solution de détection de fraude
Simbox, nous avons plusieurs options de plateformes disponibles : Dataiku, Databricks, SAS
et AML (Azure Machine Learning). Analysons brièvement chacune de ces plateformes et
discutons des raisons de choisir Dataiku pour notre projet.

Tableau 2 : Comparaison de plateformes de Data science

Plateforme Caractéristiques Avantages Limitations

Dataiku Dataiku est une Dataiku est convivial Dataiku peut être
plateforme complète et permet aux coûteux, surtout pour
de data science qui utilisateurs de tous les petites
offre des niveaux de entreprises.
fonctionnalités pour compétences de Certaines
la préparation des travailler sur des fonctionnalités
données, projets de data avancées peuvent
l'exploration, la science. Elle offre nécessiter des
modélisation, le une grande compétences
déploiement de flexibilité, des techniques.
modèles et la intégrations avec
collaboration entre d'autres outils et des
les équipes. Elle capacités
prend en charge le d'automatisation.
code Python, R et
SQL, et propose une
interface visuelle
pour la création de
workflows.

Databricks Databricks est une Databricks est Databricks peut être


plateforme basée sur particulièrement complexe à
Apache Spark adapté aux configurer et

93
Conception

conçue pour le environnements big nécessite des


traitement et data, offrant des connaissances en
l'analyse de données performances Apache Spark.
à grande échelle. élevées et une Certaines
Elle offre des évolutivité fonctionnalités
fonctionnalités pour horizontale. Il prend avancées peuvent
l'extraction, la en charge divers nécessiter une mise à
transformation, la langages de niveau vers des plans
modélisation et la programmation, tels tarifaires plus élevés.
visualisation des que Python, Scala et
données, ainsi que R, et offre des
des capacités de intégrations avec
collaboration en d'autres outils de
temps réel. l'écosystème Spark.

Azure Machine AML est une AML est intégré à AML est spécifique
Learning (AML) plateforme cloud de l'écosystème Azure, à l'écosystème
Microsoft dédiée à ce qui permet une Azure, ce qui peut
l'apprentissage intégration restreindre les
automatique et à transparente avec options pour les
l'intelligence d'autres services utilisateurs préférant
artificielle. Elle cloud de Microsoft. d'autres
propose des Il offre une facilité environnements ou
fonctionnalités pour de déploiement, une services cloud.
l'expérimentation, le gestion simplifiée Certaines
développement et le des modèles et des fonctionnalités
déploiement de capacités d'échelle peuvent être limitées
modèles, ainsi que la horizontale. par rapport aux
gestion des pipelines autres plateformes.
de machine learning.

SAS SAS est une suite de SAS est connu pour SAS peut être
logiciels d'analyse de ses fonctionnalités coûteux, ce qui peut
données et de data avancées en matière limiter son
science. Elle offre d'analyse statistique accessibilité pour les
des fonctionnalités et de modélisation petites entreprises.
pour la préparation prédictive. Il offre L'interface utilisateur
des données, la une grande flexibilité peut être moins
modélisation, la et des options de conviviale que celle
visualisation, le personnalisation d'autres plateformes,
déploiement de pour répondre aux nécessitant des
modèles et besoins spécifiques compétences
l'automatisation des des entreprises. spécifiques pour une
processus. utilisation optimale.

94
Conception

3.1. Raisons de choisir Dataiku


❖ Interface conviviale : Dataiku offre une interface utilisateur intuitive qui facilite la
manipulation et le traitement des données, même pour les utilisateurs non techniques.

❖ Large compatibilité : Dataiku prend en charge plusieurs langages de programmation


(Python, R, SQL, etc.) et peut se connecter à diverses sources de données, ce qui permet
une flexibilité dans l'exploration et l'analyse des données.

❖ Fonctionnalités de préparation des données : Dataiku propose des outils avancés


pour nettoyer, transformer et enrichir les données, ce qui est crucial dans notre projet
de détection de fraudes Simbox.

❖ Fonctionnalités d'analyse et de modélisation : Dataiku dispose de fonctionnalités


puissantes pour créer et évaluer des modèles d'analyse, y compris des techniques
d'apprentissage automatique et des règles de détection de fraudes.

❖ Visualisation des données : Dataiku propose des options de visualisation interactives


pour présenter les résultats de l'analyse de manière claire et compréhensible.

Bien que les autres plateformes (Databricks, SAS et AML) puissent également offrir des
fonctionnalités similaires, Dataiku se distingue par son interface conviviale, sa compatibilité
étendue, ses fonctionnalités de préparation des données et sa facilité d'utilisation pour les
utilisateurs non techniques. Ces caractéristiques correspondent parfaitement à notre projet, où
nous cherchons à analyser et à détecter les anomalies dans les CDRs pour la fraude Simbox.

En conclusion, en raison de ses fonctionnalités avancées, de sa flexibilité et de son interface


conviviale, nous avons choisi Dataiku comme plateforme de traitement des données pour notre
projet de détection de fraude Simbox. Nous sommes convaincus que Dataiku nous offrira les
outils et les fonctionnalités nécessaires pour mener à bien notre analyse et atteindre nos
objectifs de détection et de prévention de la fraude.

4. Architecture générale du système

4.1. Acquisition des données


L'acquisition des données consistait à obtenir un accès aux informations des CDRs qui
étaient déjà stockées dans un index Elasticsearch. Cet index contient les enregistrements
détaillés des appels téléphoniques, y compris les numéros d'origine et de destination, les
horaires d'appel, les identifiants de port et de carte SIM, ainsi que d'autres champs pertinents.

L'accès aux données de cet index Elasticsearch a été obtenu en créant un profil spécifique
comprenant un identifiant et un mot de passe. Ce profil d'accès garantit que seules les personnes

95
Conception

autorisées disposant des informations d'identification appropriées peuvent accéder aux données
stockées dans l'index.

Grâce à cet accès sécurisé, nous avons pu extraire les données des CDRs nécessaires à notre
étude. Cela inclut les informations essentielles permettant d'analyser les comportements des
abonnés et de détecter d'éventuelles fraudes Simbox.

L'utilisation de l'index Elasticsearch offre une flexibilité significative en termes de recherche,


d'exploration et d'analyse des données. Nous pouvons effectuer des requêtes avancées,
appliquer des filtres, des agrégations et des analyses statistiques pour obtenir des informations
pertinentes et exploiter au mieux les données des CDRs.

En résumé, l'acquisition des données consistait à obtenir un accès sécurisé aux informations
des CDRs déjà stockées dans un index Elasticsearch. Ce processus nous a permis de travailler
avec les données nécessaires pour notre étude et d'utiliser les fonctionnalités puissantes
d'Elasticsearch pour analyser et détecter les fraudes Simbox.

4.2. Les types de CDR


Les types de CDR (Call Detail Records) utilisés dans l’index stockage des CDR pour
la détection de fraude Simbox sont les MOC (Mobile Originated Call) et les MTC (Mobile
Terminated Call). Voici une brève description de chacun de ces types :

❖ MOC (Mobile Originated Call) : Il s'agit d'un enregistrement de détails d'appel généré
lorsque l'appel est initié par un téléphone mobile et se termine vers une autre
destination. Par exemple, lorsqu'un utilisateur compose un numéro de téléphone pour
appeler quelqu'un, un enregistrement MOC est créé pour capturer les informations
relatives à cet appel, telles que le numéro d'origine, le numéro de destination, l'heure de
début de l'appel, la durée de l'appel, etc.

❖ MTC (Mobile Terminated Call) : Ce type de CDR est généré lorsque l'appel est initié
par une autre source, comme un appel entrant vers un téléphone mobile.
L'enregistrement MTC capture les détails de cet appel, y compris le numéro d'origine,
le numéro de destination (qui est le numéro du téléphone mobile), l'heure de début de
l'appel, la durée de l'appel, etc.

Les CDRs MOC et MTC sont essentiels pour analyser les comportements des utilisateurs,
évaluer la performance du réseau, détecter les fraudes et effectuer d'autres analyses dans le
domaine des télécommunications. Ils fournissent des informations détaillées sur les appels
effectués et reçus par les abonnés, ce qui permet aux opérateurs de services de communication
de mieux comprendre et gérer leurs services.

96
Conception

4.3. Description des données


Le tableau ci-dessous présente les variables ou champ dans l'index de stockage de données.

Tableau 3 : Description de l'index de stockage des données

Champs Types Description

Indique la date et l'heure de


@timestamp Datetime l'appel enregistré dans le
CDR

Correspond au numéro de
msisdn Qualitative téléphone de l'abonné qui a
initié ou reçu l'appel

Indique le type de CDR, qui


peut être MOC (Mobile
Originating Call) pour un
cdr_type Qualitative
appel sortant ou MTC
(Mobile Terminating Call)
pour un appel entrant.

Représente le numéro de
caller_party Qualitative
téléphone de l'appelant

Correspond au numéro de
called_party Qualitative
téléphone de l'appelé

Indique la durée de l'appel


duration Quantitative
enregistré dans le CDR

Représente l'identifiant de la
position.cell_id Quantitative cellule dans laquelle l'appel a
été établi.

Fournit une référence unique


call_reference Qualitative pour l'appel enregistré dans le
CDR.

Indique le nombre total


local_moc.count Quantitative d'appels sortants effectués
par l'abonné.

Indique le nombre total


local_mtc.count Quantitative d'appels entrants reçus par
l'abonné.

Indique le type d'opérateur de


destination.operator_type Qualitative
destination de l'appel.

category Qualitative Soit OCS pour les CDR

97
Conception

d’enrégitrement des données


de facturation ou MSC
enrégistrement des données
liées aux appels

Avec deux catégories:


primaire ou secondaire.
Primaire pour un CDR
kind Qualitative
complet et Secondaire pour
un CDR dérivé d’un autre
CDR

4.4. Data Processing

4.4.1. Data cleaning

Avant d'effectuer l'agrégation des données, il est recommandé de réaliser une étape de
nettoyage des données pour garantir la qualité des informations utilisées. Voici les étapes de
nettoyage à effectuer :

❖ Échantillonnage

Sélectionner les CDRs (Call Detail Records) d'un certain nombre d'abonnés. Ces abonnés
doivent avoir effectué au moins un appel sortant pendant une période spécifique. Cette sélection
permet de se concentrer sur un sous-ensemble d'abonnés pertinents pour l'analyse.

❖ Filtrage

Pour les CDRs MOC (Mobile Originating Calls), considérer uniquement les appels locaux dont
la durée d'appel est supérieure à 1 seconde. Cela permet d'ignorer les appels courts tels que les
bips ou les appels accidentels qui ne sont pas pertinents pour l'analyse.

Pour les CDRs MTC (Mobile Terminating Calls), considérer uniquement les appels dont la
durée d'appel est supérieure à 1 seconde. Encore une fois, cela permet de filtrer les appels courts
et de se concentrer sur les appels réels.

Ces étapes de nettoyage garantissent que seules les données pertinentes et de qualité sont
utilisées pour l'agrégation ultérieure et l'analyse des comportements des abonnés.

4.4.2. Data aggregation

Pour détecter les fraudeurs, il est nécessaire d'agréger les données par abonné et de
générer des variables dérivées qui caractérisent le comportement de chaque abonné. Cela
permettra de mettre en évidence les anomalies ou les schémas de fraude potentiels.

98
Conception

L'agrégation des données par abonné implique de regrouper les enregistrements de CDRs
associés à un même numéro de téléphone (msisdn). En rassemblant toutes les informations
liées à un abonné spécifique, il devient possible d'analyser son activité globale.

Une fois les données agrégées, il est important de générer des variables dérivées qui fournissent
des informations supplémentaires sur le comportement des abonnés. Par exemple, on peut
calculer la durée totale des appels effectués ou reçus par chaque abonné, le nombre d'appels
vers des numéros internationaux, la distribution des appels dans le temps, etc. Ces variables
dérivées permettent de caractériser le profil de chaque abonné et de détecter des schémas de
fraude éventuels.

En somme, l'agrégation des données par abonné et la génération de variables dérivées sont des
étapes clés dans le processus de détection de fraude Simbox. Elles permettent de transformer
les données brutes en informations exploitables pour l'identification des comportements
suspects et la prise de décisions appropriées.

Lors de la préparation des données collectées, un aspect pratique important concerne le niveau
de détail de l'agrégation des données. Dans le contexte de la détection de fraude à la Simbox,
il est essentiel de choisir le bon niveau de granularité pour garantir le succès de l'analyse.

Lorsqu'il s'agit d'utiliser des données CDR pour détecter la fraude, il est essentiel de prendre
en compte certains facteurs, tels que l'analyse des schémas et l'intervalle de temps auquel les
données doivent être regroupées. Si l'intervalle de temps est trop court, il est possible de
manquer les schémas de fraude pertinents. À l'inverse, un intervalle trop large pourrait retarder
la détection, limitant ainsi la possibilité de prendre des mesures préventives en temps opportun.

Il est généralement admis que l'accumulation des caractéristiques d'un utilisateur permet
d'obtenir de meilleurs résultats en matière de détection de fraude. Cependant, il est préférable
de ne pas agréger les données sur une période trop longue pour atteindre une certaine efficacité.
Il est recommandé d'opter pour un intervalle de temps raisonnable, comme une heure par
abonné. Cette approche permet de regrouper les comportements des utilisateurs et d'améliorer
la détection des schémas de fraude.

En choisissant un intervalle de temps approprié, il est possible de conserver une certaine


capacité de détection en temps quasi réel. Cela facilite également la préparation des données
d'entrée pour les algorithmes d'apprentissage automatique prévus, qui seront utilisés pour
détecter les schémas de fraude. L'objectif ultime est d'améliorer la capacité d'identification des
fraudes tout en maintenant une réactivité suffisante pour prendre des mesures préventives en
temps opportun.

En résumé, le choix du niveau de détail lors de l'agrégation des données CDR pour la détection
de fraude à la Simbox est un aspect essentiel. En utilisant un intervalle de temps approprié, tel
qu'une heure par abonné, il est possible de regrouper efficacement les comportements des

99
Conception

utilisateurs, d'améliorer la détection des fraudes et de maintenir une capacité de détection en


temps quasi réel.

Après l'agrégation des données par abonné (msisdn) et par heure, nous avons généré plusieurs
variables caractérisant le comportement des abonnés. Voici les différentes variables obtenues

Tableau 4 : Description des variables générées après agrégation des données par abonné

Nom de la variable Type Description

msisdn Numéro de téléphone de


Nominale l’abonné. Cette donnée est
anonymisée.

timestamp_hour Datetime Date et Heure d’activité

timestamp_hour Datetime Date (jour) de l’activité

Nombre d'appels sortants à Cette variable représente le


cette heure nombre d'appels sortants
Numérique
(local_moc_count) effectués par l'abonné à
l'heure spécifique.

Variation du nombre Cette variable indique la


d'appels sortants par rapport variation du nombre d'appels
à la précédente heure sortants par rapport à l'heure
(variation_local_moc.count) Numérique précédente, ce qui nous
permet de détecter les
changements significatifs
dans l'activité de l'abonné.

Nombre d'abonnés distincts Cette variable représente le


contactés depuis le nombre d'abonnés distincts
démarrage de la journée Numérique contactés par l'abonné depuis
(distinct_called_begginning_ le début de la journée.
day)

Nombre d'abonnés distincts Cette variable représente le


contactés à cette heure nombre d'abonnés distincts
Numérique
spécifique (called_party) contactés pendant cette
heure spécéfique.

Nombre d'appels sortants Cette variable indique le


depuis le démarrage de la nombre total d'appels
journée Numérique sortants effectués par
(cum_local_moc.count_begg l'abonné depuis le début de
inning_day) la journée.

Nombre d'appels entrants Cette variable représente le


depuis le démarrage de la Numérique nombre total d'appels
journée entrants reçus par l'abonné

100
Conception

(cum_local_mtc.count_beggi depuis le début de la


nning_day) journée.

Durée totale des appels Cette variable indique la


sortants depuis le démarrage durée totale des appels
de la journée Numérique sortants effectués par
(cum_duration_begginning_ l'abonné depuis le début de
day) la journée.

Durée totale des appels Cette variable représente la


entrants depuis le démarrage durée totale des appels
de la journée Numérique entrants reçus par l'abonné
(cum_incoming_duration_be depuis le début de la
gginning_day) journée.

Nombre de cellules Cette variable indique le


distinctes depuis le nombre de cellules distinctes
démarrage de la journée Numérique auxquelles l'abonné a été
(distinct_cells_begginning_d connecté depuis le début de
ay) la journée.

Nombre de cellules Cette variable représente le


distinctes pour la première nombre de cellules distinctes
fois depuis le démarrage de auxquelles l'abonné s'est
la journée connecté pour la première
Numérique
(variation_distinct_cell) fois depuis le début de la
journée, ce qui peut être un
indicateur de comportement
anormal.

Nombre d'abonnés distincts Cette variable indique le


contactés pour la première nombre d'abonnés distincts
fois depuis le démarrage de contactés par l'abonné pour
la journée la première fois depuis le
Numérique
(variation_distinct_called) début de la journée, ce qui
peut également être un
indicateur de comportement
suspect.

Indication du statut de Cette variable binaire


l'heure d'activité : Première indique si l'heure spécifique
heure d'appels sortants de la est la première heure
Nominale
journée ou non d'appels sortants de la
(first_hour_calls) journée pour l'abonné ou
non.

101
Conception

5. Choix des modèles

5.1. Isolation forest


Lorsqu'il s'agit de détecter des anomalies sur les variables dérivées, deux algorithmes
couramment utilisés sont l'Isolation Forest (forêt d'isolement) et le LOF (Local Outlier Factor).
Bien que les deux approches soient efficaces, nous avons choisi d'utiliser l'Isolation Forest pour
notre projet de détection de fraude. Voici les raisons de ce choix, en comparant les deux
algorithmes :

❖ Principe de fonctionnement : L'Isolation Forest utilise le concept de forêt aléatoire


pour isoler les anomalies, tandis que le LOF se base sur la densité locale pour détecter
les valeurs aberrantes. L'Isolation Forest se distingue par sa capacité à détecter
rapidement les anomalies en les isolant dans des partitions de l'ensemble de données,
ce qui le rend adapté aux grands ensembles de données.

❖ Sensibilité aux attributs : L'Isolation Forest est moins sensible aux attributs et aux
valeurs manquantes, ce qui le rend plus flexible lors de l'analyse de différents types de
variables. Le LOF, en revanche, peut être influencé par les caractéristiques spécifiques
de l'ensemble de données, ce qui peut nécessiter un ajustement plus fin des paramètres.

❖ Temps d'exécution : L'Isolation Forest est généralement plus rapide que le LOF, car il
utilise une approche basée sur des partitions et ne nécessite pas de calcul de distances
complexes entre les points de données. Cela le rend plus adapté à l'analyse en temps
réel, où la détection rapide des anomalies est cruciale.

❖ Interprétation des résultats : L'Isolation Forest fournit des scores d'anomalie qui
peuvent être utilisés pour évaluer la gravité de chaque anomalie détectée. Cela permet
une interprétation plus facile des résultats et une prise de décision plus précise quant
aux mesures à prendre. Le LOF, en revanche, fournit des facteurs de densité locaux qui
nécessitent une analyse plus approfondie pour évaluer la nature des anomalies.

En tenant compte de ces facteurs, nous avons jugé que l'Isolation Forest était plus adaptée à
notre projet de détection de fraude. Sa capacité à gérer de grandes quantités de données, sa
robustesse face aux attributs et sa rapidité d'exécution nous ont convaincus de choisir cette
approche. Cependant, il convient de noter que le choix de l'algorithme dépend également des
spécificités de chaque ensemble de données et de la nature de la fraude recherchée.

102
Conception

5.2. K-means

Lors de l'identification des profils d'activité particuliers sur une période d'une heure
pour la détection de fraudeurs, nous avons considéré plusieurs algorithmes de clustering,
notamment K-means, le clustering hiérarchique et DBSCAN. Après une évaluation
approfondie, nous avons opté pour l'algorithme K-means pour les raisons suivantes :

❖ Simplicité et interprétabilité : K-means est un algorithme de clustering simple et


facile à comprendre. Il divise les données en K clusters en minimisant la distance
moyenne entre les points d'un cluster et son centroïde. Les résultats obtenus sont
facilement interprétables, ce qui nous permet de comprendre et d'analyser les profils de
fraudeurs identifiés.

❖ Scalabilité : K-means est un algorithme efficace en termes de temps de calcul, ce qui


le rend adapté au traitement de grands ensembles de données. Il peut gérer efficacement
un grand nombre de points de données et est capable de s'exécuter rapidement, ce qui
est crucial pour la détection de fraude en temps réel.

❖ Sensibilité aux profils d'activité : K-means est sensible aux différences de structure
et de densité des clusters. Cela signifie qu'il est capable de détecter les profils d'activité
inhabituels et de les regrouper en clusters distincts. Cela nous permet d'identifier
efficacement les profils de fraudeurs qui se démarquent du comportement normal des
abonnés.

❖ Adaptabilité aux variables continues : K-means est adapté aux variables continues et
peut être utilisé pour caractériser les profils de fraudeurs en fonction de différentes
variables dérivées des CDRs. Il nous permet de regrouper les abonnés en fonction de
leur comportement global, ce qui est essentiel pour la détection de fraude.

En considérant ces facteurs, nous avons conclu que K-means était l'algorithme le plus approprié
pour notre projet de détection de profils de fraudeurs. Sa simplicité, sa capacité à gérer de
grands ensembles de données, sa sensibilité aux profils d'activité et son adaptabilité aux
variables continues nous ont convaincus de choisir cette approche pour notre étude.

6. Jupyter Notebook

Maintenant, dans le cadre de l'implémentation de notre solution, nous allons utiliser


Jupyter Notebook pour éditer le code en langage Python.

Jupyter Notebook est un environnement de développement interactif qui permet de créer et


d'exécuter du code Python, ainsi que d'intégrer du texte, des images et des visualisations dans

103
Conception

un seul document. Cela facilite l'expérimentation, la visualisation des résultats et la


documentation du processus de traitement des données.

En utilisant Jupyter Notebook, nous pourrons écrire et exécuter le code d'agrégation des
données CDR étape par étape. Nous pourrons également intégrer des explications et des
commentaires détaillés pour rendre le code plus compréhensible et reproductible.

Jupyter Notebook offre également la possibilité de visualiser les résultats intermédiaires, ce qui
nous permettra de vérifier et d'analyser les données agrégées à chaque étape du processus. Cela
nous aidera à détecter d'éventuelles erreurs ou incohérences dans les données, et à apporter les
ajustements nécessaires.

En résumé, l'utilisation de Jupyter Notebook dans le cadre de notre implémentation nous


permettra d'avoir un environnement interactif et flexible pour éditer, exécuter et documenter
notre code d'agrégation des données CDR. Cela facilitera le développement de notre solution
et l'analyse des résultats obtenus.

7. Flux de traitement

Voici le flux mis à jour, incluant l'étape de séparation du jeu de données en fonction de
l'indication du statut d'activité : première heure d'appels sortants ou autres heures de la journée.

1. Séparer le jeu de données en deux en fonction de l'indication du statut d'activité


❖ Premier jeu de données : Observations correspondant aux premières heures d'appels
sortants.
❖ Deuxième jeu de données : Observations correspondant aux autres heures de la journée.

2. Traiter le premier jeu de données


❖ Effectuer une détection d'anomalies à l'aide de l'algorithme Isolation Forest sur la
variable "abonnés distincts appelés depuis le début de la journée". Générer un score
d'anomalie (s1).
❖ Effectuer une détection d'anomalies à l'aide de l'algorithme Isolation Forest sur la
variable "cellules distinctes depuis le début de la journée". Générer un score d'anomalie
(s2).
❖ Effectuer une détection d'anomalies à l'aide de l'algorithme Isolation Forest sur la
variable "nombre d'appels entrants depuis le début de la journée". Générer un score
d'anomalie (s3).
❖ Effectuer un regroupement (clustering) à l'aide de l'algorithme k-means sur les variables
"durée totale des appels sortants depuis le début de la journée" et "durée totale des
appels entrants depuis le début de la journée". Attribuer un score à chaque groupe après
analyse.

104
Conception

❖ Combiner les scores précédents (s1, s2, s3) pour obtenir un score global pour chaque
heure (S1).

3. Traiter le deuxième jeu de données


❖ Effectuer une détection d'anomalies à l'aide de l'algorithme Isolation Forest sur la
variable "abonnés distincts appelés pour la première fois depuis le début de la journée".
Générer un score d'anomalie (s'1).
❖ Effectuer une détection d'anomalies à l'aide de l'algorithme Isolation Forest sur la
variable "cellules distinctes pour la première fois depuis le début de la journée". Générer
un score d'anomalie (s'2).
❖ Effectuer une détection d'anomalies à l'aide de l'algorithme Isolation Forest sur la
variable "nombre d'appels entrants depuis le début de la journée". Générer un score
d'anomalie (s'3).
❖ Effectuer un regroupement (clustering) à l'aide de l'algorithme k-means sur les variables
"durée totale des appels sortants depuis le début de la journée" et "durée totale des
appels entrants depuis le début de la journée". Attribuer un score à chaque groupe après
analyse (s'4).
❖ Combiner les scores précédents (s'1, s'2, s'3, s'4) pour obtenir un score global pour
chaque heure (S2).

4. Consolider les scores pour l'ensemble des données


❖ Regrouper les données par abonné (msisdn) et les ordonner par heure.
❖ Calculer les scores cumulés par heure en combinant les scores S1 et S2.

5. Regrouper les données par msisdn et heure, et ne conserver que la dernière


occurrence par msisdn, correspond au score final.
En divisant les données en fonction du statut d'activité, ce flux mis à jour permet un traitement
spécifique pour les premières heures d'appels sortants et les autres heures de la journée. Les
étapes d'agrégation, de détection d'anomalies et de regroupement contribuent à identifier les
profils de fraudeurs et à caractériser le comportement des abonnés en vue d'une éventuelle
détection de fraude.

105
Conception

Conclusion

Le chapitre 3 a porté sur la conception générale de notre solution de gestion et d'analyse


des CDRs dans le contexte de la détection de la fraude Simbox. Nous avons procédé à l'analyse
des besoins et fait des choix importants concernant les plateformes de traitement des données,
les algorithmes de détection d'anomalies et de clustering.

Nous avons souligné l'importance de traiter les CDRs de manière automatisée en raison de leur
grande quantité de données et de leur stockage dans un index Elasticsearch. L'accès à ces
données a été sécurisé par la création d'un profil spécifique avec un identifiant et un mot de
passe.

Nous avons également abordé la question du niveau de granularité de l'agrégation des données,
en mettant en évidence l'importance de choisir le bon niveau pour détecter les schémas de
fraude tout en conservant une capacité de détection en temps réel.

En termes d'algorithmes, nous avons choisi l'Isolation Forest pour la détection d'anomalies et
le K-means pour le clustering. Nous avons justifié ces choix en comparant les différentes
options disponibles.

Le flux de traitement des données agrégées a été structuré en deux parties, en fonction du statut
de l'heure d'activité : les premières heures d'appels et les autres heures de la journée. Chaque
partie a été soumise à des étapes spécifiques de détection d'anomalies et de clustering, suivies
de la combinaison des scores obtenus pour évaluer le comportement des abonnés.

En conclusion, ce chapitre a jeté les bases de notre approche de gestion et d'analyse des CDRs
pour la détection de la fraude Simbox. Les choix méthodologiques et techniques effectués nous
permettent d'aborder de manière efficace et pertinente l'identification des fraudeurs potentiels
et la caractérisation de leurs comportements anormaux. Le chapitre suivant se concentre sur
l'implémentation de notre solution et l'évaluation de ses performances.

106
Chapitre 4 : Réalisation

Introduction

Dans ce chapitre, nous allons nous concentrer sur l'implémentation concrète de notre solution.
Nous allons utiliser les concepts et les étapes définis dans le chapitre 3 pour construire le flux
de traitement des données et effectuer les analyses nécessaires.

Nous commencerons par la préparation de l'environnement de développement, en installant les


bibliothèques et les dépendances requises. Ensuite, nous importerons les données CDR
préalablement collectées dans notre environnement de travail, en veillant à respecter les
mesures de sécurité et d'accès appropriées.

Une fois les données importées, nous procéderons au nettoyage et à la préparation des données
en appliquant les différentes techniques de filtrage et d'échantillonnage décrites dans le chapitre
3. Cela nous permettra de sélectionner les CDR pertinents et de nous concentrer sur les appels
sortants locaux d'une durée supérieure à 1 seconde, ainsi que sur d'autres critères spécifiques.

Ensuite, nous passerons à l'agrégation des données par abonné et par heure, en utilisant les
variables générées dans le chapitre précédent. Nous utiliserons les algorithmes d'Isolation
Forest et de k-means pour détecter les anomalies et regrouper les profils d'activité des abonnés.

Une fois l'agrégation effectuée, nous analyserons les résultats obtenus et évaluerons l'efficacité
de notre approche. Nous examinerons les scores d'anomalie générés, les clusters formés et les
profils de fraude détectés. À travers ce chapitre, nous souhaitons mettre en évidence la
faisabilité et l'efficacité de notre approche, en fournissant des résultats concrets et en
démontrant son potentiel pour la détection précoce de la fraude Simbox.

107
Réalisation

1. Création du projet sur Dataiku


Les étapes pour la création du projet "Simbox System" sur Dataiku sont les suivantes :

1. Se connecter à l'interface de Dataiku en utilisant les informations d'identification


appropriées.
2. Accéder au tableau de bord principal de Dataiku.
3. Cliquer sur le bouton "Nouveau projet" ou "Créer un projet" pour démarrer le processus
de création d'un nouveau projet.
4. Donner un nom au projet, par exemple "Simbox System", afin de le rendre identifiable
et représentatif du domaine d'application.
5. Sélectionner les paramètres de configuration appropriés pour le projet, tels que les
autorisations d'accès, les rôles des membres de l'équipe, et les préférences de sécurité.
6. Vérifier et valider les informations du projet, puis cliquer sur le bouton "Créer" pour
finaliser la création du projet.
7. Attendre que Dataiku crée et configure le projet, ce qui peut prendre quelques instants.
8. Une fois la création terminée, accéder au projet "Simbox System" à partir du tableau de
bord principal de Dataiku.

Le projet "Simbox System" a été créé avec succès sur Dataiku. Ce projet constitue une base
vide prête à être utilisée pour l'implémentation de la détection de fraude Simbox. Il offre un
environnement de travail pour l'analyse des données, la modélisation et la visualisation des
résultats.

Le projet "Simbox System" est configuré avec les paramètres de base, tels que les autorisations
d'accès et les rôles des membres de l'équipe. L'interface du projet est accessible, permettant
ainsi aux utilisateurs d'explorer les fonctionnalités de Dataiku et de commencer à construire
des workflows d'analyse de données.

Le projet est actuellement vide, ce qui signifie qu'il n'y a pas encore de données ou de modèles
spécifiques associés à la détection de fraude Simbox. Cependant, le projet est prêt à recevoir
les différentes étapes d'implémentation, y compris l'importation des données, la création des
pipelines de traitement, l'application d'algorithmes de détection de fraude et la visualisation des
résultats.

Le projet "Simbox System" constitue une base solide pour le développement et l'exécution des
différentes phases de détection de fraude Simbox. Les membres de l'équipe peuvent maintenant
commencer à importer les données pertinentes, configurer les pipelines d'analyse et exploiter
les fonctionnalités avancées de Dataiku pour mettre en œuvre les stratégies de détection de
fraude.

108
Réalisation

Figure 10 : Initialisation projet Simbox system sur Dataiku

2. Data collecte - Data cleaning - Data Aggregation

Dans le cadre du processus de collecte, de nettoyage et d'agrégation des données, un


seul recette Python a été créée sur Dataiku. Cette recette est associée à un fichier notebook
permettant d'éditer le code Python correspondant. La sortie de cette recette Python est un
ensemble de données agrégées qui résume le comportement des abonnés pour chaque heure.

2.1. Data collecte


Pour la collecte des données, la bibliothèque Elasticsearch de Python a été utilisée. Elle
permet de se connecter au cluster Elasticsearch. Également, la bibliothèque eland a été utilisée
pour récupérer les données de l'index contenant les informations des CDRs (Call Detail
Records). Eland est une bibliothèque Python qui permet d'interagir avec Elasticsearch de
manière efficace et intuitive. Elle offre des fonctionnalités avancées pour la manipulation et
l'analyse des données stockées dans Elasticsearch, facilitant ainsi le processus d'extraction et
de prétraitement des données des CDRs.

Code 1 : connection à l’index

109
Réalisation

Comme mentionné précédemment, nous effectuons une sélection spécifique parmi l'ensemble
des abonnés. Nous filtrons uniquement les abonnés qui ont effectué au moins un appel pendant
une période de temps prédéfinie. En utilisant cette condition, nous constituons une liste
d'abonnés qui répondent à ce critère spécifique. Cette liste nous permet de nous concentrer sur
un groupe d'abonnés pertinent pour notre analyse et nos objectifs de détection de fraudes SIM
Box.

Code 2 : échantillonnage des abonnés

2.2. Data cleaning - Data Aggregation


Dans le processus de nettoyage et d'agrégation, étant donné la taille importante des données,
nous devons prendre en compte cette contrainte et adopter une approche itérative par abonné.
À chaque itération, nous récupérons les documents de l'index correspondant à l'abonné en
question.

Dans cette itération, nous effectuons les opérations de filtrage spécifiques, telles que la
suppression des appels locaux d'une durée inférieure à une seconde pour les CDR MOC et des
appels entrants d'une durée inférieure à une seconde pour les CDR MTC. De plus, nous
générons des variables dérivées à partir des données disponibles, telles que le nombre d'appels
sortants à une heure donnée, la variation par rapport à l'heure précédente, le nombre d'abonnés
distincts contactés depuis le début de la journée, la durée totale des appels sortants depuis le
début de la journée, etc.

Chaque fois que nous effectuons ces opérations pour un abonné donné, nous stockons les
résultats dans un dataframe appelé "msisdn_metrics" qui a été préalablement créé et initialisé.
Ce dataframe sera utilisé pour stocker les variables générées pour chaque abonné et par heure,
permettant ainsi une consolidation ultérieure et une analyse approfondie des données agrégées.

Code 3 : initialisation de la table msisdn_metrics

110
Réalisation

Code 4 : Filtrage des données par abonné (itération) - Génération des variables d’analyses

Code 5 : Extrait 1-Génération des variables dérivées pour la modélisation

111
Réalisation

Code 6 : Extrait 2-Génération des variables dérivées pour la modélisation

Code 7 : Extrait 3-Génération des variables dérivées pour la modélisation

112
Réalisation

Code 8 : Extrait 4-Génération des variables dérivées pour la modélisation

Code 9 : Extrait 5-Génération des variables dérivées pour la modélisation

113
Réalisation

Code 10 : Extrait 6-Génération des variables dérivées pour la modélisation

Code 11 : Extrait 7-Génération des variables dérivées pour la modélisation

114
Réalisation

❖ Génération de la table de sortie de la préparation


Il s’agit d’un dataset Dataiku appelé msisdn_behavior_by_hour.

Code 12 : Génération de la table de sortie de la préparation

Figure 11 : Aperçu 1 de la sortie de la préparation des données

Figure 12 : Aperçu 2 de la sortie de la préparation des données

115
Réalisation

Dans la dernière phase de la préparation des données, nous mettons en place une recette
spécifique pour reformatter les champs de type date timestamp_hour et timestamp_day. Cette
étape est essentielle pour uniformiser la représentation des informations temporelles dans notre
ensemble de données.

En appliquant cette recette de préparation des données, nous obtenons un nouveau dataframe
appelé "msisdn_behavior_by_hour_prepared". Ce dataframe contient les mêmes informations
que celui généré précédemment, mais avec les champs de timestamp_hour et timestamp_day
reformattés selon un format standardisé.

Ce reformatage des champs temporels facilite l'analyse et le traitement ultérieur des données,
car tous les enregistrements sont désormais alignés sur une représentation cohérente de l'heure
et de la journée. Cela permet de réaliser des analyses temporelles précises et d'extraire des
tendances et des modèles significatifs dans le comportement des abonnés.

En résumé, cette dernière étape de préparation des données nous permet d'obtenir le dataframe
"msisdn_behavior_by_hour_prepared", prêt à être utilisé pour l'analyse et la détection de
fraudes dans notre système Simbox.

3. Modélisation

3.1. Splitting
Pour effectuer la division du dataset en fonction de la variable "first_hour_calls" qui est de type
booléen, nous allons procéder comme suit :

❖ Premier jeu de données : Observations correspondant aux premières heures d'appels


sortants.
Nous allons filtrer le dataframe "msisdn_behavior_by_hour_prepared" en sélectionnant
uniquement les lignes où la variable "first_calls_hour" est égale à True. Ces
observations représentent les premières heures d'activité des abonnés. Ce dataframe est
appelé first_hour_calls.

❖ Deuxième jeu de données : Observations correspondant aux autres heures de la


journée.
Nous allons également filtrer le dataframe "msisdn_behavior_by_hour_prepared", mais
cette fois-ci en sélectionnant les lignes où la variable "first_calls_hour" est égale à
False. Ces observations représentent les heures d'activité ultérieures des abonnés. Ce
dataframe est appelé others_hour_calls.

En effectuant cette division du dataset en deux jeux de données distincts, nous pourrons traiter
les premières heures d'activité des abonnés différemment des autres heures. Cela nous
permettra d'appliquer des méthodes de scoring spécifiques aux premières heures d'appels
sortants, tout en traitant les autres heures de manière distincte.

116
Réalisation

Ainsi, après avoir effectué cette étape de split, nous aurons deux nouveaux dataframes : le
premier jeu de données contenant les observations des premières heures d'appels sortants, et le
deuxième jeu de données contenant les observations des autres heures de la journée. Ces deux
jeux de données seront utilisés pour des traitements et des analyses spécifiques selon leurs
caractéristiques distinctes.

Effectivement, pour réaliser la division du dataset en fonction de la variable "first_hour_callsr",


nous allons utiliser la recette "Split" de Dataiku. Cette recette permet de séparer le jeu de
données en deux parties en fonction d'un critère spécifié.

Voici comment nous allons utiliser la recette "Split" pour cette étape :

1. Sélectionner la recette "Split" dans l'interface de Dataiku.

2. Configurer les paramètres de la recette :


2.1. Sélectionner le dataset d'entrée, c'est-à-dire le dataframe
"msisdn_behavior_by_hour_prepared".
2.2. Spécifier la variable de split, qui est "first_calls_hour".
2.3. Définir les valeurs de split : "True" pour le premier jeu de données (premières heures
d'appels sortants) et "False" pour le deuxième jeu de données (autres heures de la
journée).
3. Exécuter la recette pour obtenir les deux jeux de données résultants.

En utilisant la recette "Split" de Dataiku, nous allons facilement diviser le dataset selon le
critère de la variable "first_calls_hour" et poursuivre le traitement des données de manière
séparée en fonction de cette distinction.

117
Réalisation

❖ Recette split

Figure 13 : Entrée sortie de la recette split

Figure 14 : Opérations de la recette split

118
Réalisation

3.2. Traitement - Detection d’anomalies sur le dataframe “first_hour_calls”

3.2.1. Isolation Forest sur la variable "called_party"

Pour créer un modèle de détection d'anomalies sur la variable "called_party" dans le


premier dataset, en particulier pour détecter les premières heures d'activités où un nombre élevé
d'abonnés distincts contactés peut indiquer une suspicion de fraude, nous allons suivre les
étapes suivantes en utilisant l'algorithme Isolation Forest de Dataiku :

❖ Préparation des données : Assurez-vous que la variable "called_party" est


correctement préparée, nettoyée et formatée. Vérifiez également que les autres
variables pertinentes sont présentes dans le premier dataset et prêtes à être utilisées.

❖ Configuration du modèle Isolation Forest : Utilisez l'interface de Dataiku pour


configurer un modèle d'Isolation Forest. Définissez les paramètres appropriés, tels que
le nombre d'estimateurs, la profondeur maximale de l'arbre, etc., en fonction des
caractéristiques de votre jeu de données et des objectifs de détection d'anomalies.

❖ Entraînement du modèle : En utilisant le premier dataset contenant la variable


"called_party", entraînez le modèle d'Isolation Forest en utilisant la fonction
d'entraînement fournie par Dataiku. Le modèle apprendra à détecter les comportements
anormaux dans les heures d'activités initiales en se basant sur le nombre d'abonnés
distincts contactés.

❖ Détection des anomalies : Appliquez le modèle entraîné sur le premier dataset pour
détecter les anomalies dans la variable "called_party". Le modèle attribuera un score
d'anomalie à chaque observation, indiquant le degré d'anormalité par rapport à la
distribution des données.

❖ Évaluation et interprétation des résultats : Évaluez les résultats de la détection


d'anomalies en examinant les observations ayant les scores d'anomalie les plus élevés
dans le premier dataset. Analysez ces observations pour comprendre les raisons
possibles de comportements anormaux dans les premières heures d'activités et
déterminez si cela pourrait indiquer une suspicion de fraude.

❖ Prise de décision : En fonction de l'interprétation des résultats, prenez des décisions


appropriées pour gérer les cas détectés comme des anomalies. Cela peut inclure une
enquête plus approfondie, des mesures de sécurité supplémentaires ou des actions
spécifiques pour prévenir la fraude.

En utilisant l'algorithme Isolation Forest de Dataiku sur la variable "called_party" dans le


premier dataset, nous pouvons créer un modèle de détection d'anomalies pour identifier les
premières heures d'activités où un nombre élevé d'abonnés distincts contactés peut indiquer
une suspicion de fraude.

119
Réalisation

Voici les différentes phases de l’application dans Dataiku

Lorsque l'ensemble de données d'origine est très volumineux, les ressources informatiques
requises peuvent être trop importantes par rapport aux avantages attendus de l'entraînement des
algorithmes sur l'ensemble de données complet. Par conséquent, le processus peut être effectué
sur un sous-ensemble de l'ensemble de données. La méthode d'échantillonnage indiquée dans
le tableau ci-dessous définit comment ce sous-ensemble est construit.

3.2.1.1. Data preparation


Tableau 5 : Data preparation- Isolation Forest sur la variable "called_party" du dataset “first_hour_calls”

Sampling method No sampling (whole data)

3.2.1.2. Data Ingestion

Pendant la phase d'ingestion des données, les caractéristiques sont transformées en


caractéristiques numériques sans valeurs manquantes afin d'être assimilables par l'algorithme
d'apprentissage automatique. Le tableau ci-dessous résume le traitement appliqué à chacune
d'entre elles.

Tableau 6 : Data ingestion- Isolation Forest sur la variable "called_party" du dataset “first_hour_calls”

Feature Name Status Type Processing

called_party Input Numeric Avg-std


rescaling

120
Réalisation

3.2.1.3. Réglage du modèle et des caractéristiques

L'algorithme Isolation Forest a été testé. Les paramètres de cet algorithme sont donnés
ci-dessous. Pour les hyperparamètres, les valeurs possibles ou les plages sont répertoriées :

Tableau 7 : Model tunning- Isolation Forest sur la variable "called_party" du dataset “first_hour_calls”

Number of trees 500

Contamination 0.15

Max sample proportion 0.6

Use bootstrap Yes

Max feature proportion 1

Anomalies to display 100

Seed 1337

3.2.1.4. Résultats du modèle

L'algorithme sélectionné a donné les clusters suivants :

Figure 15 : Clusters- Isolation Forest sur la variable "called_party" du dataset “first_hour_calls”

121
Réalisation

Les règles suivantes décrivent chacune d'entre elles :

Figure 16 : Clusters des observations normales- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls”

Figure 17 : Clusters des observations anormales- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls”

122
Réalisation

Voici un aperçu des valeurs de score d'anomalies attribué par le modèle :

Figure 18 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls”

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Tableau 8 : Métriques d'évaluation- Isolation Forest sur la variable "called_party" du dataset “first_hour_calls”

Measure Value

Silhouette 0.9481

Inertia 0.000

123
Réalisation

3.2.1.5. Déploiement et surveillance

Le backend utilisé par le modèle est : Python (en mémoire). Le temps pour
l'entraînement est le suivant :

Tableau 9 : Monitoring- Isolation Forest sur la variable "called_party" du dataset “first_hour_calls”

Preprocessed in 1.10s

Trained in 118.5s

Loading source dataset 1.9s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 61.1s

Saving model 0.4s

Scoring model 57.0s

124
Réalisation

Le déploiement de ce modèle sur le jeu de données first_hour_calls a abouti à un ensemble de


données appelé called_party_scored, où la variable called_party_scored représente le score
d'anomalie attribué par le modèle.

Voici un aperçu du dataset called_party_scored:

Tableau 10 : Déploiement- Isolation Forest sur la variable "called_party" du dataset “first_hour_calls”

125
Réalisation

Figure 19 : Visualisation scores d'anomalie- Isolation Forest sur la variable "called_party" du dataset
“first_hour_calls”

On observe que plus la valeur de called_party est élevée, plus le score d'anomalie est faible.
Par conséquent, un score d'anomalie faible indique une forte suspicion de fraude Simbox.

3.2.2. Isolation Forest sur la variable "position_cell_id"

Le deuxième traitement sur le dataset 'first_hour_calls' consiste à effectuer une


détection d'anomalies à l'aide de l'algorithme Isolation Forest sur la variable "cellules distinctes
depuis occupées à cette heure (position.cell_id) ". Nous allons générer un score d'anomalie (s2)
pour cette variable. En ce qui concerne le comportement des fraudeurs de Simbox, il a été
observé que plus le nombre de cellules distinctes est élevé, plus la suspicion de fraude est forte.
Cela signifie que les fraudeurs utilisent un grand nombre de cellules différentes pour leurs
activités frauduleuses, ce qui peut être détecté grâce à une anomalie dans cette variable.

3.2.2.1. Data Preparation

La méthode d'échantillonnage donnée dans le tableau ci-dessous définit comment elle


est construite.

Tableau 11 : Data preparation- Isolation Forest sur la variable "position.cell_id" du dataset “first_hour_calls”

Sampling method No sampling (whole data)

126
Réalisation

3.2.2.2. Data Ingestion

Au cours de la phase d'ingestion des données, les caractéristiques sont préparées de


manière à être transformées en caractéristiques numériques, sans aucune valeur manquante,
afin de pouvoir être utilisées par l'algorithme d'apprentissage automatique. Le tableau suivant
résume les différentes opérations de traitement appliquées à la variable position.cell_id.

Tableau 12 : Data ingestion- Isolation Forest sur la variable "position.cell_id" du dataset “first_hour_calls”

Feature Name Status Type Processing

position.cell_id Input Numeric Avg-std


rescaling

3.2.2.3. Réglage du modèle et des caractéristiques

L'algorithme Isolation Forest a été testé.

Les paramètres de cet algorithme sont donnés ci-dessous. Pour les hyperparamètres, les
valeurs possibles ou les plages sont répertoriées :

Tableau 13 : Model tunning- Isolation Forest sur la variable "position.cell_id" du dataset “first_hour_calls”

Number of trees 500

Contamination 0.1

Max sample proportion 0.6

Use bootstrap Yes

Max feature proportion 1

Anomalies to display 100

127
Réalisation

Seed 1337

3.2.2.4. Résultats du modèle

L'algorithme sélectionné a donné les clusters suivants :

Figure 20 : Clusters- Isolation Forest sur la variable "position.cell_id" du dataset “first_hour_calls”

Les règles suivantes décrivent chacune d'entre elles :

Figure 21 : Cluster des observations normales- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls”

128
Réalisation

Figure 22 : Clusters des observations anormales- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls”

Voici un aperçu des valeurs de score d'anomalies attribué par le modèle

Figure 23 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls”

129
Réalisation

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Tableau 14 : Métriques d'évaluation- Isolation Forest sur la variable "position.cell_id" du dataset “first_hour_calls”

Measure Value

Silhouette 0.9878

Inertia 0.000

3.2.2.5. Déploiement et surveillance

Le backend utilisé par le modèle est : Python (en mémoire). Le temps pour
l'entraînement est le suivant :

Tableau 15 : Monitoring- Isolation Forest sur la variable" position.cell_id" du dataset “first_hour_calls”

Preprocessed in 1.9s

Trained in 107.2s

Loading source dataset 1.8s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 54.9s

Saving model 0.3s

130
Réalisation

Scoring model 51.10s

Après le déploiement du modèle sur le jeu de données first_hour_calls, nous avons obtenu un
nouveau jeu de données appelé cell_scored. Ce jeu de données contient une variable appelée
cell_score qui représente le score d'anomalie attribué par le modèle.

Tableau 16 : Déploiement- Isolation Forest sur la variable "position.cell_id" du dataset “first_hour_calls”

131
Réalisation

Figure 24 : Visualisation scores d'anomalie- Isolation Forest sur la variable "position.cell_id" du dataset
“first_hour_calls”

Nous remarquons une tendance où les valeurs plus élevées de la variable position.cell_id sont
associées à des scores d'anomalie plus faibles. Les scores d'anomalie dans la variable
"cell_scored" varient de -0.5 à 0. Ainsi, un score d'anomalie faible indique une forte suspicion
de fraude Simbox.

3.2.3. Isolation Forest sur la variable "cum_local_mtc.count_begginning_day"

Le troisième traitement sur le jeu de données first_hour_calls consiste à détecter les


anomalies sur la variable "cum_local_mtc.count_begginning_day" en utilisant l'algorithme
Isolation Forest sur Dataiku. Les fraudeurs Simbox ont tendance à ne pas recevoir un grand
nombre d'appels dans une journée. Ainsi, plus cette variable est élevée, moins il y a de suspicion
de fraude Simbox.

3.2.3.1. Data Preparation

La méthode d'échantillonnage donnée dans le tableau ci-dessous définit comment elle


est construite.

Tableau 17 : Data preparation- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" du


dataset “first_hour_calls"

Sampling method No sampling (whole data)

132
Réalisation

3.2.3.2. Data Ingestion

Les caractéristiques sont transformées en variables numériques sans valeurs


manquantes lors de la phase d'ingestion des données, afin de les rendre utilisables par
l'algorithme d'apprentissage automatique. Le tableau suivant résume le traitement appliqué à
chaque caractéristique.

Tableau 18 : Data ingestion- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" du dataset


“first_hour_calls”

Feature Name Status Type Processing

cum_local_mtc.count_begginning_day Input Numeric Avg-std


rescaling

3.2.3.3. Réglage du modèle et des caractéristiques

L’algorithme d’Isolation forest. Les paramètres de cet algorithme sont indiqués ci-
dessous. Pour les hyperparamètres, les valeurs possibles ou les plages sont répertoriées :

Tableau 19 : Model tunning- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" du dataset


“first_hour_calls”

Number of trees 100

Contamination 0.1

Max sample proportion 0.5

Use bootstrap Yes

Max feature proportion 1

Anomalies to display 100

133
Réalisation

Seed 1337

3.2.3.4. Résultats du modèle

L'algorithme sélectionné a donné les clusters suivants :

Figure 25 : Clusters- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" du dataset


“first_hour_calls”

Les règles suivantes décrivent chacune d'entre elles :

Figure 26 : Clusters des observations normales- Isolation Forest sur la variable


"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls”

134
Réalisation

Figure 27 : Clusters des observations anormales- Isolation Forest sur la variable


"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls”

Voici un aperçu des valeurs de score d'anomalies attribué par le modèle

Figure 28 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls”

135
Réalisation

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Tableau 20 : Métriques d'évaluation- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" du


dataset “first_hour_calls”

Measure Value

Silhouette 0.9399

Inertia 0.000

3.2.3.5. Déploiement et surveillance

The backend used by the model is: Python (in memory). The timing of the training
was the following:

Tableau 21 : Monitoring- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" du dataset


“first_hour_calls”

Preprocessed in 1.9s

Trained in 24.6s

Loading source dataset 1.8s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 11.7s

136
Réalisation

Saving model 0.1s

Scoring model 12.9s

Après le déploiement du modèle sur le jeu de données first_hour_calls, nous avons obtenu un
nouveau jeu de données appelé mtc_count_scored. Ce jeu de données contient une variable
appelée "mtc_count_score" qui représente le score d'anomalie attribué par le modèle.

Tableau 22 : Déploiement- Isolation Forest sur la variable "cum_local_mtc.count_begginning_day" du dataset


“first_hour_calls”

137
Réalisation

Figure 29 : Visualisation scores d'anomalie- Isolation Forest sur la variable


"cum_local_mtc.count_begginning_day" du dataset “first_hour_calls”

Nous observons une tendance selon laquelle les valeurs plus élevées de la variable
"cum_local_mtc.count_begginning_day" sont associées à des scores d'anomalie plus faibles.
Les scores d'anomalie dans la variable "mtc_count_score" varient de -0.5 à 0. Par conséquent,
un score d'anomalie faible indique une suspicion moindre de fraude Simbox.

3.2.4. K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day

Le quatrième traitement consiste à effectuer un regroupement (clustering) à l'aide de


l'algorithme k-means sur les variables "durée totale des appels sortants depuis le début de la
journée" et "durée totale des appels entrants depuis le début de la journée". Ce regroupement
permettra de segmenter les heures d'activités en différents profils. Ensuite, un score de
suspicion de fraude sera attribué à chaque profil. Les fraudeurs Simboxs ont tendance à
accumuler de longues durées d'appels sortants au détriment des appels entrants.

138
Réalisation

Pour créer le modèle de K-means avec Dataiku, nous allons suivre les étapes suivantes :

1. Ouvrir le projet dans Dataiku.


2. Accéder à l'onglet "Flows" (Flux) et créez un nouvel objet de flux.
3. Ajouter le jeu de données contenant les variables "durée totale des appels sortants
depuis le début de la journée" et "durée totale des appels entrants depuis le début de la
journée" à votre flux.
4. Ajouter l'opération de regroupement (clustering) K-means à votre flux. Cette opération
se trouve généralement dans la section "Machine Learning" ou "Modèles" de la
bibliothèque d'opérations de Dataiku.
5. Configurer les paramètres de l'opération K-means, tels que le nombre de clusters
souhaité, les variables d'entrée, etc. Vous pouvez également ajuster d'autres paramètres
selon vos besoins.
6. Exécuter le flux pour entraîner le modèle de K-means sur vos données. Dataiku effectue
automatiquement les étapes d'apprentissage et d'évaluation du modèle.

Une fois l'entraînement terminé, vous pouvez accéder aux résultats du modèle dans Dataiku.
Vous pourrez visualiser les clusters obtenus et les caractéristiques de chaque groupe.

3.2.4.1. Data Preparation

La méthode d'échantillonnage donnée dans le tableau ci-dessous définit comment elle


est construite.

Tableau 23 : Data preparation - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Sampling method No sampling (whole data)

139
Réalisation

3.2.4.2. Data Ingestion

Pendant la phase d'ingestion des données, les caractéristiques sont transformées en


caractéristiques numériques sans valeurs manquantes afin d'être ingestibles par l'algorithme
d'apprentissage automatique. Le tableau ci-dessous résume le traitement appliqué à chacune
d'entre elles.

Tableau 24 : Data ingestion - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Feature Name Status Type Processing

cum_duration_begginning_day Input Numeric Avg-std


rescaling

cum_incoming_duration_begginning_day Input Numeric Avg-std


rescaling

3.2.4.3. Réglage du modèle et des caractéristiques

L'algorithme KMeans a été testé.

L'algorithme KMeans regroupe les données en séparant les échantillons en plusieurs


clusters, caractérisés par leurs centres ("centroïdes"). L'algorithme cherche à regrouper
les données le plus près possible de leur centroïde, en minimisant un critère appelé
"inertie".

140
Réalisation

Les paramètres de cet algorithme sont indiqués ci-dessous. Pour les hyperparamètres, les
valeurs possibles ou plages sont répertoriées :

Tableau 25 : Hyperparamètres testés - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

5
4
Number of clusters
3
6

Seed 1337

Parallelism 2

3.2.4.4. Modèle sélectionné

L'ensemble des hyperparamètres pour l'algorithme KMeans sélectionné est donné


dans le tableau ci-dessous :

Figure 30 : Modèle sélectionné - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

141
Réalisation

3.2.4.5. Résultats du modèle

L'algorithme de regroupement sélectionné a donné les clusters suivants :

Figure 31 : Clusters - K-means avec cum_duration_begginning_day et cum_incoming_duration_begginning_day


du dataset first_hour_calls

Les règles suivantes décrivent chacun d'entre eux :

Figure 32 : Premier cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

142
Réalisation

Figure 33 : Deuxième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Figure 34 : Troisième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Figure 35 : Quatrième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

143
Réalisation

Figure 36 : Cinquième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

La carte thermique ci-dessous montre l'importance de chaque caractéristique pour caractériser


un cluster.

Figure 37 : Importance des caractéristiques - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

144
Réalisation

Le graphique ci-dessous présente la répartition des points dans les différents clusters:

Figure 38 : Scatter plot - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Voici le résumé des différents profils:

Tableau 26 : Profil des clusters - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Tableau 27 : Métriques d’évaluation - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Measure Value

Silhouette 0.7790

Inertia 1.028e+5

145
Réalisation

3.2.4.6. Déploiement et surveillance

Le backend utilisé par le modèle est : Python (en mémoire). Le temps pour
l'entraînement est le suivant :
Tableau 28 : Surveillence - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset first_hour_calls

Preprocessed in 1.9s

Trained in 6.7s

Loading source dataset 1.8s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 3.5s

Saving model 0.0s

Scoring model 3.2s

Le déploiement du modèle k-means appliqué au jeu de données first_hour_calls a abouti à un


jeu de données appelé mtc_moc_duration_clusters, où les observations sont regroupées dans
les 5 clusters du modèle. En fonction du profil, un score est attribué à chaque cluster. Pour cela,
nous utilisons une recette Dataiku pour générer la nouvelle variable de score associée à chaque
cluster. La sortie est un autre jeu de données appelé mtc_moc_duration_cluster. Plus le cluster
est considéré comme suspect, plus le score associé est élevé. Le score est stocké dans la variable
mtc_moc_duration_score.

146
Réalisation

Tableau 29 : Scores attribués au clusters - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

Clusters Score

cluster_0 0,5

cluster_1 0,9

cluster_2 0

cluster_3 0

cluster_4 1

Nous présentons la recette Dataiku pour cette opération de transformation

❖ Entrée et sortie de recette

Figure 39 : Entrée et sortie de la recette d’attribution au clusters - K-means avec cum_duration_begginning_day


et cum_incoming_duration_begginning_day du dataset first_hour_calls

147
Réalisation

❖ Opérations de transformation

Figure 40 : Transformation de données avec recette d’attribution au clusters - K-means avec


cum_duration_begginning_day et cum_incoming_duration_begginning_day du dataset first_hour_calls

Voici un aperçu de la table de données mtc_moc_duration_cluster.

Tableau 30 : Deploiement - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

148
Réalisation

3.2.5. Génération du score finale associé à chaque première heure d’activité

Pour générer le score final associé à chaque première heure d'activité, nous utiliserons
successivement des recettes de jointure pour fusionner l'ensemble des datasets déduits des
précédentes tâches de détection d'anomalies et de clustering sur la base des variables msisdn et
timestamp_hour. Cela nous permettra d'obtenir un dataset appelé
called_party_cell_mtc_count_duration_anomaly. Nous souhaitons que le score soit
proportionnel à la variable called_party et au rapport entre le nombre d'abonnés distincts
appelés et le nombre d'appels sortants effectués.

Pour afin de calculer ce score final, nous allons utiliser une recette Dataiku Python qui prend
en entré le dataset called_party_cell_mtc_count_duration_anomaly associé un fichier jupyter
notebook pour éditer et tester le code.

Voici des extraits des différentes cellules de ce fichier.

Code 13 : Extrait 1 - Génération du score de suspicion de fraude associé à chaque première heure d’activité

Code 14 : Extrait 2 - Génération du score de suspicion de fraude associé à chaque première heure d’activité

Code 15 : Extrait 3 Génération du score de suspicion de fraude associé à chaque première heure d’activité

149
Réalisation

Voici un aperçu de la table de données de sortie avec les premières activités scorées. Ce jeu
de données est appelé: first_hour_calls_scored.

Tableau 31 : Aperçu du dataset généré indiquant score de suspicion de fraude associé à chaque première heure
d’activité

3.3. Traitement - Detection d’anomalies sur le dataframe “others_hour_calls”

3.3.1. Isolation Forest sur la variable variation_distinct_called

Nous allons détecter les valeurs anormales au sein de la variation_distinct_called à


l'aide de l'algorithme Isolation Forest. En effet, dans le contexte de la détection de fraude
Simbox, des valeurs anormales élevées dans la variable "variation_distinct_called" peuvent
indiquer une forte suspicion de fraude Simbox. Cela peut signifier que certaines observations
présentent des comportements inhabituels ou des schémas de variation distincte des appels qui
ne sont pas typiques du comportement des utilisateurs légitimes.

Il est important de prendre en compte ces valeurs anormales élevées lors de l'analyse des
résultats de détection d'anomalies. Elles peuvent être des indicateurs de potentielles activités
frauduleuses ou de comportements suspects liés à des activités de fraude Simbox.

150
Réalisation

3.3.1.1. Data Preparation

La méthode d'échantillonnage donnée dans le tableau ci-dessous définit comment il


est construit.

Tableau 32 : Data preparation- Isolation Forest sur la variable "variation_distinct_called" du dataset


“others_hour_calls"

Sampling method No sampling (whole data)

3.3.1.2. Data Ingestion

Le tableau ci-dessous résume le prétraitement appliqué à la variable avant l'exécution du


modèle.

Tableau 33 : Data ingestion- Isolation Forest sur la variable «variation_distinct_called» du dataset


“others_hour_calls”

Feature Name Status Type Processing

variation_distinct_called Input Numeric Avg-std


rescaling

3.3.1.3. Réglage du modèle et des caractéristiques

L'algorithme Isolation Forest a été testé. Les paramètres de cet algorithme sont donnés
ci-dessous. Pour les hyperparamètres, les valeurs possibles ou les plages sont indiquées :

Tableau 34 : Model tunning- Isolation Forest sur la variable «variation_distinct_called» du dataset


“others_hour_calls”

Number of trees 500

Contamination 0.45

Max sample proportion 0.6

151
Réalisation

Use bootstrap Yes

Max feature proportion 1

Anomalies to display 100

Seed 1337

3.3.1.4. Résultats du modèle

L'algorithme de détection d'anomalie a donné les clusters suivants :

Figure 41 : Clusters- Isolation Forest sur la variable «variation_distinct_called» du dataset “others_hour_calls”

Les règles suivantes décrivent chacun d'entre eux :

Figure 42 : Clusters des observations normales- Isolation Forest sur la variable «variation_distinct_called» du
dataset “others_hour_calls”

152
Réalisation

Figure 43 : Clusters des observations anormales- Isolation Forest sur la variable «variation_distinct_called» du
dataset “others_hour_calls”

Voici un aperçu des valeurs de score d'anomalies attribué par le modèle

Figure 44 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable «variation_distinct_called»
du dataset “others_hour_calls”

153
Réalisation

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Tableau 35 : Métriques d'évaluation- Isolation Forest sur la variable «variation_distinct_called» du dataset


“others_hour_calls”

Measure Value

Silhouette 0.6109

Inertia 0.000

3.3.1.5. Déploiement et surveillance

Le backend utilisé par le modèle est : Python (en mémoire). Le temps pour
l'entraînement est le suivant :

Tableau 36 : Monitoring- Isolation Forest sur la variable «variation_distinct_called» du dataset “others_hour_calls”

Preprocessed in 3.1s

Trained in 184.2s

Loading source dataset 3.0s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 94.9s

Saving model 0.4s

154
Réalisation

Scoring model 88.10s

Après le déploiement du modèle sur le jeu de données others_hour_calls, nous avons obtenu
un nouveau jeu de données appelé others_hour_calls_distinct_called_anomaly. Ce jeu de
données contient une variable appelée "called_party_score" qui représente le score d'anomalie
attribué par le modèle.

Tableau 37 : Déploiement- Isolation Forest sur la variable «variation_distinct_called» du dataset


“others_hour_calls”

Figure 45 : Visualisation scores d'anomalie- Isolation Forest sur la variable «variation_distinct_called» du dataset

155
Réalisation

On observe que plus la variable "variation_distinct_called" augmente, plus le score d'anomalie

diminue. Ainsi, un score faible indique une forte suspicion de fraude.

3.3.2. Isolation Forest sur variation_distinct_cell

Nous allons détecter les valeurs anormales de la variable "variation_distinct_cells" afin


d'identifier les potentielles heures d'activités de fraudes. En effet, les fraudeurs Simboxs ont
tendance à maintenir un nombre de cellules distinctes fixe au cours de leurs activités. Ainsi,
une valeur élevée de cette variable peut indiquer qu'il ne s'agit pas d'un potentiel cas de fraude.

3.3.2.1. Data Preparation

La méthode d'échantillonnage donnée dans le tableau ci-dessous définit comment il


est construit.

Tableau 38 : Data preparation- Isolation Forest sur la variable «variation_distinct_cell» du dataset


“others_hour_calls”

Sampling method No sampling (whole data)

3.3.2.2. Data Ingestion

Le tableau ci-dessous résume le prétraitement appliqué à la variable avant l'exécution du


modèle.

Tableau 39 : Data ingestion- Isolation Forest sur la variable «variation_distinct_cell» du dataset “others_hour_calls”

Feature Name Status Type Processing

variation_distinct_cell Input Numeric Avg-std


rescaling

156
Réalisation

3.3.2.3. Réglage du modèle et des caractéristiques

Les paramètres de cet algorithme sont donnés ci-dessous. Pour les hyperparamètres, les
valeurs possibles ou les plages sont indiquées :

Tableau 40 : Model tunning- Isolation Forest sur la variable «variation_distinct_cell» du dataset “others_hour_calls”

Number of trees 500

Contamination 0.1

Max sample proportion 0.6

Use bootstrap Yes

Max feature proportion 1

Anomalies to display 100

Seed 1337

3.3.2.4. Résultats du modèle

L'algorithme d’Isolation forest a donné les clusters suivants :

Figure 46 : Clusters- Isolation Forest sur la variable «variation_distinct_cell» du dataset “others_hour_calls”

157
Réalisation

Les règles suivantes décrivent chacun d'entre eux :

Figure 47 : Clusters des observations normales- Isolation Forest sur la variable «variation_distinct_cell» du
dataset “others_hour_calls”

Figure 48 : Clusters des observations anormales- Isolation Forest sur la variable «variation_distinct_cell» du
dataset “others_hour_calls”

158
Réalisation

Voici un aperçu des valeurs de score d'anomalies attribué par le modèle

Figure 49 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable «variation_distinct_cell» du
dataset “others_hour_calls”

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Tableau 41 : Métriques d'évaluation- Isolation Forest sur la variable «variation_distinct_cell» du dataset


“others_hour_calls”

Measure Value

Silhouette 0.6841

Inertia 0.000

159
Réalisation

3.3.2.5. Déploiement et surveillance

Le backend utilisé par le modèle est : Python (en mémoire). Le temps pour
l'entraînement est le suivant:

Tableau 42 : Monitoring- Isolation Forest sur la variable «variation_distinct_cell» du dataset “others_hour_calls”

Preprocessed in 2.10s

Trained in 166.3s

Loading source dataset 2.9s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 86.1s

Saving model 0.3s

Scoring model 79.9s

Après le déploiement du modèle sur le jeu de données others_hour_calls, nous avons obtenu
un nouveau jeu de données appelé others_hour_calls_distinct_cells_anomaly. Ce jeu de
données contient une variable appelée "cell_score" qui représente le score d'anomalie attribué
par le modèle.

160
Réalisation

Tableau 43 : Déploiement- Isolation Forest sur la variable «variation_distinct_cell» du dataset “others_hour_calls”

Figure 50 : Visualisation scores d'anomalie- Isolation Forest sur la variable «variation_distinct_cell» du dataset
“others_hour_calls”

On remarque que plus la variable variation_distinct_cell augmente, plus le score d'anomalie


diminue. Ainsi, plus le score se rapproche de zéro, plus il y a une forte suspicion d'activités
frauduleuses.

161
Réalisation

3.3.3. Isolation forest sur cum_local_mtc.count_begginning_day

Nous allons détecter les valeurs anormales de la variable


"cum_local_mtc.count_begginning_day" afin d'identifier les heures d'activités potentiellement
frauduleuses. En effet, les fraudeurs Simbox ont tendance à éviter de recevoir des appels. Ainsi,
une valeur élevée de cette variable peut indiquer qu'il ne s'agit pas d'un cas potentiel de fraude.

3.3.3.1. Data Preparation

La méthode d'échantillonnage donnée dans le tableau ci-dessous définit comment il est


construit.

Tableau 44 : Data preparation- Isolation Forest sur la variable «cum_local_mtc.count_begginning_day» du


dataset “others_hour_calls”

Sampling method No sampling (whole data)

3.3.3.2. Data Ingestion

Le tableau ci-dessous résume le prétraitement appliqué à la variable avant l'exécution du


modèle.

Tableau 45 : Data ingestion- Isolation Forest sur la variable «cum_local_mtc.count_begginning_day» du dataset


“others_hour_calls”

Feature Name Status Type Processing

cum_local_mtc.count_begginning_day Input Numeric Avg-std


rescaling

162
Réalisation

3.3.3.3. Réglage du modèle et des caractéristiques

L'algorithme Isolation Forest a été testé. Les paramètres de cet algorithme sont donnés ci-
dessous. Pour les hyperparamètres, les valeurs possibles ou les plages sont indiquées :

Tableau 46 : Model tunning- Isolation Forest sur la variable «cum_local_mtc.count_begginning_day» du dataset


“others_hour_calls”

Number of trees 500

Contamination 0.25

Max sample proportion 0.6

Use bootstrap Yes

Max feature proportion 1

Anomalies to display 100

Seed 1337

163
Réalisation

3.3.3.4. Résultats du modèle

The selected clustering algorithm gave the following clusters:

Figure 51 : Clusters- Isolation Forest sur la variable «cum_local_mtc.count_begginning_day» du dataset


“others_hour_calls”

Les règles suivantes décrivent chacun d'entre eux :

Figure 52 : Clusters des observations normales- Isolation Forest sur la variable


«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls”

Figure 53 : Clusters des observations anormales- Isolation Forest sur la variable


«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls”

164
Réalisation

Voici un aperçu des valeurs de score d'anomalies attribué par le modèle

Figure 54 : Aperçu des valeurs de score d'anomalies- Isolation Forest sur la variable
«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls”

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Measure Value

Silhouette 0.7486

Inertia 0.000

165
Réalisation

3.3.3.5. Déploiement et surveillance

Le backend utilisé par le modèle est : Python (en mémoire). Le temps pour l'entraînement est
le suivant :

Tableau 47 : Monitoring- Isolation Forest sur la variable «cum_local_mtc.count_begginning_day» du dataset


“others_hour_calls”

Preprocessed in 3.0s

Trained in 184.3s

Loading source dataset 2.9s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 94.6s

Saving model 0.4s

Scoring model 89.4s

Après le déploiement du modèle sur le jeu de données others_hour_calls, nous avons obtenu
un nouveau jeu de données appelé others_hour_mtc_count_anomaly. Ce jeu de données
contient une variable appelée "mtc_count_score" qui représente le score d'anomalie attribué
par le modèle.

166
Réalisation

Tableau 48 : Déploiement- Isolation Forest sur la variable «cum_local_mtc.count_begginning_day» du dataset


“others_hour_calls”

Figure 55 : Visualisation scores d'anomalie- Isolation Forest sur la variable


«cum_local_mtc.count_begginning_day» du dataset “others_hour_calls”

On observe une tendance selon laquelle plus la valeur de la variable


"cum_local_mtc.count_begginning_day" est élevée, plus le score d'anomalie est faible. En
d'autres termes, lorsque le score d'anomalie se rapproche de zéro, cela indique une forte
suspicion d'activités frauduleuses.

167
Réalisation

3.3.4. K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day

Ce processus consiste à effectuer un regroupement (clustering) en utilisant l'algorithme


K-means sur les variables "durée totale des appels émis depuis le début de la journée" et "durée
totale des appels reçus depuis le début de la journée". Cette étape permettra de segmenter les
plages horaires en différents profils. Ensuite, un score de suspicion de fraude sera attribué à
chaque profil. Les fraudeurs utilisant des boîtes SIM illégales ont tendance à accumuler des
durées d'appels sortants prolongées aux dépens des appels entrants.

3.3.4.1. Data Preparation

La méthode d'échantillonnage donnée dans le tableau ci-dessous définit comment il est


construit.

Tableau 49 : Data preparation - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Sampling method No sampling (whole data)

3.3.4.2. Data Ingestion

Le tableau ci-dessous résume le prétraitement appliqué aux variables avant l'exécution du


modèle.

Tableau 50 : Data ingestion - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Feature Name Status Type Processing

cum_duration_begginning_day Input Numeric Avg-std


rescaling

cum_incoming_duration_begginning_day Input Numeric Avg-std


rescaling

168
Réalisation

3.3.4.3. Réglage du modèle et des caractéristiques

L'algorithme KMeans a été testé. Les paramètres pour cet algorithme sont donnés ci-dessous.
Pour les hyperparamètres, les valeurs possibles ou les plages sont répertoriées :

Tableau 51 : Hyperparamètres testés - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset otherst_hour_calls

Number of clusters 5
4
3
6

Seed 1337

Parallelism 2

3.3.4.4. Modèle sélectionné

La méthodologie détaillée dans la section précédente a été exécutée. Les résultats obtenus
sont présentés dans cette section.

L'ensemble des hyperparamètres pour l'algorithme sélectionné KMeans est donné dans le
tableau ci-dessous :

Figure 56 : Modèle sélectionné - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset first_hour_calls

169
Réalisation

3.3.4.5. Résultats du modèle

L'algorithme de regroupement sélectionné a donné les clusters suivants :

Figure 57 : Clusters - K-means avec cum_duration_begginning_day et cum_incoming_duration_begginning_day


du dataset others_hour_calls

Les règles suivantes décrivent chacun d'entre eux :

Figure 58 : Premier cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

170
Réalisation

Figure 59 : Deuxième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Figure 60 : Troisième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Figure 61 : Cinquième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

171
Réalisation

Figure 62 : Cinquième cluster - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

La carte thermique ci-dessous montre l'importance de chaque caractéristique pour caractériser


un cluster.

Figure 63 : Importance des caractéristiques - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

172
Réalisation

Le graphique ci-dessous présente la répartition des points dans les différents clusters:

Figure 64 : Scatter plot - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Voici le résumé des différents profils :


Tableau 52 : Profil des clusters - K-means avec cum_duration_begginning_day et
cum_incoming_duration_begginning_day du dataset others_hour_calls

173
Réalisation

Les détails des métriques d'évaluation obtenues sont donnés ci-dessous.

Tableau 53: Métriques d’évaluation - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Measure Value

Silhouette 0.7063

Inertia 1.708e+5

3.3.4.6. Déploiement et surveillance

Le backend utilisé par le modèle est : Python (en mémoire). Le temps pour
l'entraînement est le suivant :

Tableau 54 : Surveillance - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Preprocessed in 2.10s

Trained in 12.3s

Loading source dataset 2.9s

Collecting statistics 0.0s

Preprocessing data 0.1s

Fitting model 7.2s

Saving model 0.0s

174
Réalisation

Scoring model 5.1s

Le déploiement du modèle k-means appliqué au jeu de données others_hour_calls a abouti à


un jeu de données appelé others_hour_calls_mtc_moc_duration_scored, où les observations
sont regroupées dans les 5 clusters du modèle. En fonction du profil, un score est attribué à
chaque cluster. Pour cela, nous utilisons une recette Dataiku pour générer la nouvelle variable
de score associée à chaque cluster. La sortie est un autre jeu de données appelé
others_hour_calls_mtc_moc_duration_anomaly. Plus le cluster est considéré comme suspect,
plus le score associé est élevé. Le score est stocké dans la variable mtc_moc_duration_score.

Score attribué à chaque cluster fonction de la suspicion de fraude que présente le profil du
cluster

Tableau 55 : Scores attribués au clusters - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

Cluster Score

cluster_0 0,7

cluster_1 0

cluster_2 0,8

cluster_3 0

cluster_4 0,9

175
Réalisation

❖ Entreée et sortie de la recette :

Figure 65 : Entrée et sortie de la recette d’attribution au clusters - K-means avec cum_duration_begginning_day


et cum_incoming_duration_begginning_day du dataset others_hour_calls

176
Réalisation

❖ Opérations de transformation de la recette

Figure 66 : Transformation de données avec recette d’attribution au clusters - K-means avec


cum_duration_begginning_day et cum_incoming_duration_begginning_day du dataset others_hour_calls

177
Réalisation

Un aperçu du jeu de données others_hour_calls_mtc_moc_duration_anomaly

Tableau 56 : Deploiement - K-means avec cum_duration_begginning_day et


cum_incoming_duration_begginning_day du dataset others_hour_calls

3.3.5. Génération du score finale associé aux autres heures d’activité

Pour générer le score final associé aux autres heures d'activité, nous utiliserons successivement
des recettes de jointure pour fusionner l'ensemble des datasets déduits des précédentes tâches
de détection d'anomalies et de clustering sur la base des variables msisdn et timestamp_hour.
Cela nous permettra d'obtenir un dataset appelé
others_hours_calls_distinct_called_cells_mtc_count_duration_. Nous souhaitons que le score
soit proportionnel à la variable called_party et au rapport entre le nombre d'abonnés distincts
appelés et le nombre d'appels sortants effectués.

Pour afin de calculer ce score final, nous allons utiliser une recette Dataiku Python qui prend
en entré le dataset others_hours_calls_distinct_called_cells_mtc_count_duration_y associé un
fichier jupyter notebook pour éditer et tester le code.

Voici des extraits des différentes cellules de ce fichier.

Code 16 : Extrait 1- Génération du score finale associé aux autres heures d’activité

178
Réalisation

Code 17 : Extrait 2 - Génération du score finale associé aux autres heures d’activité

Code 18 : Extrait 3 - Génération du score finale associé aux autres heures d’activité

Code 19 : Extrait 4 -Génération du score finale associé aux autres heures d’activité

179
Réalisation

Voici un aperçu de la table de données de sortie avec les autres heures d’activités scorées. Ce
jeu de données est appelé : others_hours_calls_scored.

Tableau 57 : Table de données des scores finaux associés aux autres heures d’activité

3.4. Cumul des scores de toutes les heures d’activités par msisdn

Nous allons générer générer une variable qui indique le cumul des scores de suspicion
de fraude donnés par les jeux de données first_hour_calls_scored et others_hours_calls_scored
de toutes les heures d’activités par msisdn. Pour cela, nous utilisons une recette Python de
Dataiku. La sortie de cette recette est table de données appelé msisdn_activities_scored où le
score cumulé par abonné est stocké dans la variable ‘final_score’.Voici des extraits du code à
l’intérieur de la recette.

180
Réalisation

Code 20 : Extrait 1 - Cumul des scores de toutes les heures d’activités par msisdn

Code 21 : Extrait 2 - Cumul des scores de toutes les heures d’activités par msisdn

Code 22 : Extrait 3 - Cumul des scores de toutes les heures d’activités par msisdn

181
Réalisation

❖ Entrée et sortie de la recette

Figure 67 : Entrée et sortie de la recette pour générer les scores cumulés de toutes les heures d’activités par
msisdn

❖ Aperçu de la table de données msisdn_activities_scored

Tableau 58 : Aperçu de la table de données des scores de suspicion de fraude des heures d’activités par abonné

182
Réalisation

3.5. Score de suspicion de fraude Simbox à la dernière heure d’activités des


abonnés sur toute la période de données considérée

Créer une recette de type Python qui prend en entrée le jeu de données
msisdn_activities_scored. La sortie est une table de données appelée last_score où le score de
suspicion cumulé attribué à la dernière heure d’activité est stocké dans une variable appelé
final_score.

Code 23 : Extrait 1 - Génération des scores de suspicion de fraude finaux des abonnés à la fin de la période de
données considérée

Code 24 : Extrait 2 - Génération des scores de suspicion de fraude finaux des abonnés à la fin de la période de
données considérée

Code 25 : Extrait 3 - Génération des scores de suspicion de fraude finaux des abonnés à la fin de la période de
données considérée

183
Réalisation

❖ Entrée et sortie de la recette

Figure 68 : Entrée et sortie de la recette de génération des scores de suspicion de fraude finaux des abonnés à
la fin de la période de données considérée

❖ Aperçu du jeu de données “last_score”

Tableau 59 : Table de données avec les scores de suspicion de fraude finaux des abonnés à la fin de la période
de données considérée

184
Réalisation

3.6. Catégorisation des scores de susceptibilité finaux des abonnés (variable


final_score du dataset last_score)

Nous définissons trois seuils d’analyse des scores de susceptibilité à la fraude Simbox

❖ 1er seuil : 10

Dans ce cas, les abonnés ayant des scores finaux (scores finaux des abonnés à la fin de la
période considérée) dans la table de données last_score qui sont supérieurs à 10 sont considérés
comme des fraudeurs. Les résultats de cette catégorisation sont dans la variable
“score_gte_10”.

❖ 2ème seuil : 15

Dans ce cas, les abonnés ayant des scores finaux (scores finaux des abonnés à la fin de la
période considérée) dans la table de données last_score qui sont supérieurs à 15 sont considérés
comme des fraudeurs. Les résultats de cette catégorisation sont dans la variable
“score_gte_15”.

❖ 3ème seuil : 20

Dans ce cas, les abonnés ayant des scores finaux (scores finaux des abonnés à la fin de la
période considérée) dans la table de données last_score qui sont supérieurs à 20 sont considérés
comme des fraudeurs. Les résultats de cette catégorisation sont dans la variable
“score_gte_20”.

Tableau 60 : Table de données avec les scores de suspicion de fraude finaux des abonnés à la fin de la période
de données considérée classés par seuil de suspicion

185
Réalisation

4. Visualisation des résultats

Quelques visualisations illustrant les résultats.

Figure 69 : Distribution des scores de suspicion des heures d’activités des abonnés par rapport au nombre
d’abonnés distincts contactés

Figure 70 : Distribution des scores finaux des abonnés à la fin de la période d’étude

186
Réalisation

Figure 71 : Flux du système de détection dans le projet Dataiku

5. Dashboard

Figure 72 : Catégorisation des abonnés par seuil de suspicion

187
Réalisation

Conclusion

Dans ce chapitre, nous avons exploré différentes méthodes de détection d'anomalies et


de regroupement (clustering) pour identifier les comportements suspects dans les données de
télécommunications. Nous avons utilisé des algorithmes tels que Isolation Forest et K-means
pour détecter les schémas anormaux et regrouper les données en profils distincts.

Grâce à ces méthodes, nous avons pu attribuer des scores d'anomalie et de suspicion de fraude
à chaque observation ou groupe, permettant ainsi une identification plus précise des cas
potentiellement frauduleux. Nous avons également utilisé des variables clés telles que la durée
des appels et le nombre d'abonnés appelés pour affiner notre détection.

Les résultats obtenus ont révélé des schémas intéressants, tels que des variations significatives
dans les durées d'appels ou des schémas de comportement inhabituels. Ces informations nous
ont permis de mieux comprendre les schémas de fraude et d'identifier les heures d'activité
suspectes.

En conclusion, l'utilisation de méthodes de détection d'anomalies et de regroupement nous a


permis d'obtenir des résultats prometteurs dans la détection de fraudes dans les données de
télécommunications. Ces méthodes peuvent être utilisées pour renforcer la sécurité et la
prévention des fraudes dans ce domaine, en permettant une détection proactive des
comportements suspects et une prise de décision éclairée.

188
Chapitre 5 : Recommandations pour les recherches futures

Introduction

Le chapitre précédent a exploré les différentes méthodes de détection de la fraude


Simbox, en mettant en évidence les avantages et les limites de chaque approche. Dans ce
chapitre, nous allons nous concentrer sur les recommandations pour les recherches futures afin
d'améliorer encore davantage la détection de cette forme de fraude dans les données de
télécommunications.

Nous examinerons les opportunités d'amélioration des algorithmes existants, l'intégration de


données supplémentaires, l'utilisation de techniques d'apprentissage automatique avancé et la
collaboration entre les fournisseurs de services de télécommunications. Ces recommandations
visent à renforcer la précision de détection, à réduire les faux positifs et à identifier les schémas
de fraude plus rapidement.

En proposant ces recommandations, nous espérons stimuler la recherche dans le domaine de la


détection de la fraude Simbox, encourager l'innovation et contribuer à l'effort global de
prévention et de lutte contre cette forme de fraude qui impacte le secteur des
télécommunications.

Dans les sections suivantes, nous détaillerons chaque recommandation et explorerons les
perspectives passionnantes qu'elles offrent pour améliorer la détection de la fraude Simbox.

189
Recommandations

1. Recommandations

Dans le cadre de l'amélioration de la détection de la fraude Simbox, nous formulons les


recommandations suivantes pour les recherches futures :

Amélioration des algorithmes existants : Il est essentiel de continuer à affiner et à optimiser les
algorithmes de détection utilisés pour identifier les schémas de fraude Simbox. Cela peut
inclure l'exploration de techniques d'apprentissage automatique plus avancées, l'optimisation
des paramètres des modèles existants et l'intégration de nouvelles méthodes de détection basées
sur des modèles de comportement.

Intégration de données supplémentaires : Enrichir les ensembles de données utilisés pour la


détection de la fraude Simbox peut améliorer la précision des modèles. L'intégration de
données provenant de différentes sources telles que les données de localisation, les habitudes
d'utilisation des abonnés et les informations de facturation, d’achat de recharge peut fournir des
indicateurs supplémentaires pour la détection des activités frauduleuses.

Utilisation de techniques d'apprentissage automatique avancé : Les avancées récentes en


matière d'apprentissage automatique offrent de nouvelles opportunités pour améliorer la
détection de la fraude Simbox. L'utilisation de techniques telles que l'apprentissage en
profondeur, l'apprentissage par renforcement et les réseaux de neurones récurrents peut
permettre d'identifier des schémas de fraude plus complexes et de mieux détecter les anomalies.

Collaboration entre les fournisseurs de services de télécommunications : La lutte contre la


fraude Simbox nécessite une collaboration étroite entre les différents acteurs du secteur des
télécommunications. Les fournisseurs de services peuvent partager des données et des
informations sur les schémas de fraude identifiés, ce qui permettra de renforcer la détection et
de mettre en place des mesures de prévention plus efficaces.

Validation régulière des modèles de détection : Il est important de valider régulièrement les
modèles de détection de la fraude Simbox pour s'assurer de leur performance et de leur
efficacité. Cela peut être fait en utilisant des ensembles de données de test indépendants, en
comparant les résultats avec des cas réels de fraude et en ajustant les modèles en conséquence.

En suivant ces recommandations, nous pouvons espérer améliorer la détection de la fraude


Simbox et réduire son impact sur les opérateurs de télécommunications et les abonnés. Ces
mesures contribueront à renforcer la confiance dans les réseaux de télécommunications et à
assurer une meilleure sécurité des communications.

190
Recommandations

Conclusion

En conclusion de ce chapitre, nous avons examiné les recommandations d'amélioration


pour la détection de la fraude Simbox. Ces recommandations visent à renforcer la précision et
l'efficacité des méthodes de détection existantes, ainsi qu'à explorer de nouvelles approches et
techniques pour lutter contre ce type de fraude.

L'amélioration des algorithmes de détection, l'intégration de données supplémentaires,


l'utilisation de techniques d'apprentissage automatique avancé, la collaboration entre les
fournisseurs de services de télécommunications et la validation régulière des modèles sont
autant de mesures clés pour renforcer la détection de la fraude Simbox.

En mettant en œuvre ces recommandations, nous pourrons mieux détecter les schémas de
fraude, identifier les activités frauduleuses avec une plus grande précision et prendre des
mesures préventives plus efficaces. Cela contribuera à réduire les pertes financières causées
par la fraude Simbox et à protéger les opérateurs de télécommunications ainsi que les abonnés.

Il est important de souligner que la détection de la fraude Simbox est un défi continu et évolutif,
car les fraudeurs cherchent constamment de nouvelles façons de contourner les systèmes de
sécurité. Par conséquent, il est crucial de rester à jour avec les avancées technologiques, de
continuer à explorer de nouvelles méthodes de détection et d'adapter nos approches en fonction
des évolutions de la fraude.

191
Conclusion générale

En conclusion de ce projet, nous avons suivi un processus méthodique pour aborder le


problème de la détection et de la prévention de la fraude Simbox dans les réseaux de
télécommunications. Nous avons commencé par définir clairement les besoins et les objectifs
du projet, ce qui nous a permis de délimiter le périmètre et la portée du travail et de répondre
aux attentes de l'organisme d'accueil.

Nous avons ensuite effectué une revue de la littérature pour examiner les outils et les méthodes
déjà utilisés dans la détection de la fraude Simbox. Cette étape nous a permis de comprendre
les approches existantes et de déterminer les lacunes et les opportunités d'amélioration.

Ensuite, nous avons procédé à la collecte et à la préparation des données nécessaires à notre
étude. Cela comprenait la sélection des variables pertinentes, le nettoyage des données et la
transformation des caractéristiques en formats appropriés pour l'analyse.

Dans la phase d'analyse, nous avons appliqué plusieurs algorithmes de détection, tels que
l'algorithme Isolation Forest et le clustering K-means, pour identifier les anomalies et regrouper
les heures d'activités en différents profils. Cela nous a permis d'obtenir des scores de suspicion
de fraude pour chaque profil, ce qui facilite l'identification des comportements frauduleux
potentiels.

Enfin, nous avons examiné les résultats de notre étude et formulé des recommandations pour
améliorer la détection et la prévention de la fraude Simbox. Nous avons souligné l'importance
de l'intégration de données supplémentaires, de la surveillance continue des modèles de
détection et de l'adaptation aux nouvelles techniques de fraude. Nous avons également mis en
avant l'importance de la collaboration entre les fournisseurs de services de télécommunications
pour renforcer la prévention de la fraude.

Ce projet nous a permis d'approfondir notre compréhension de la fraude Simbox et de


développer des méthodes et des outils pour la détecter et la prévenir de manière plus efficace.
Nous sommes convaincus que nos recommandations contribueront à renforcer les stratégies de
lutte contre la fraude dans les réseaux de télécommunications et à réduire les pertes financières
associées.

Il convient de souligner que la fraude Simbox reste un défi en constante évolution, et il est
essentiel que les opérateurs de télécommunications restent vigilants et continuent à améliorer
leurs capacités de détection et de prévention. En poursuivant la recherche et le développement
dans ce domaine, nous pourrons mieux protéger les réseaux et les abonnés contre les activités
frauduleuses.

192
AlBougha MR. Comparing Data Mining Classification Algorithms in Detection of Simbox Fraud
[Internet] [Thesis for the Degree of Master of Science in Information Assurance]. St. Cloud State
University; 2016. Disponible sur : https://repository.stcloudstate.edu/msia_etds/17

Al-Nahari A, Adnane K, Belaoued A, Gueham M, Ghogho M, and Aissa S, "SIM Box Fraud
Detection Using Machine Learning Techniques," IEEE Access, vol. 7, pp. 86262-86272, 2019.

Anello E. Anomaly Detection With Isolation Forest [Internet]. Medium. 2022. Disponible sur :
https://betterprogramming.pub/anomaly-detection-with-isolation-forest-e41f1f55cc6

Article L32 du Code des postes et des communications électroniques [Internet]. Consulté le
09/02/2023. Disponible sur : https://www.marche-public.fr/Marches-
publics/Textes/Codes/CPCE/cpce-article-L032.htm

Brown P. The Dataiku Logo : Uniting Business Analyst and Data Scientist [Internet]. 2015.
Disponible sur : https://blog.dataiku.com/dataiku-logo

Dataiku DSS - Reference documentation — Dataiku DSS 12 documentation [Internet].


Disponible sur : https://doc.dataiku.com/dss/latest/

Dehghani É par : A. The K-Means Clustering Algorithm in Java | Baeldung [Internet]. 2019.
Disponible sur : https://www.baeldung.com/java-k-means-clustering-algorithm

Hagos K. SIM-Box Fraud Detection Using Data Mining Techniques : The Case of ethio telecom
[Thesis submitted to School of Electrical and Computer Engineering]. Addis Ababa Institute of
Technology;

Ighneiwa I, Mohamed H. Bypass Fraud Detection: Artificial Intelligence Approach [Internet].


arXiv; 2017. Disponible sur : http://arxiv.org/abs/1711.04627

Ilyas M, Majid MB, and Javaid N, "SIM box detection using machine learning techniques : A
comprehensive survey," IEEE Access, vol. 7, pp. 117038-117060, 2019.

Jovanovic B, Zamani M, and Ghorbani K, "Detecting SIM Boxes using Machine Learning," in
2019 IEEE/IFIP Network Operations and Management Symposium (NOMS), 2019, pp. 1-6.

Kim H and Suh YJ, "A Machine Learning-based SIM Box Fraud Detection System for Mobile
Telecommunication Networks," in 2018 International Conference on Information and
Communication Technology Convergence (ICTC), 2018, pp. 918-923.

Kouam AJ, Viana AC, Tchana A. SIMBox Bypass Frauds in Cellular Networks : Strategies,
Evolution, Detection, and Future Directions. IEEE Commun Surv Tutorials.
2021;23(4):2295-323.

Logowik. Elasticsearch Logo PNG vector in SVG, PDF, AI, CDR format [Internet]. 2020.
Disponible sur : https://logowik.com/elasticsearch-vector-logo-5272.html

193
Principes de fonctionnement du réseau [Internet]. Formation présentée à Chatellerault- I.U.T. de
Poitiers ; 2011. Disponible sur : https://www.lias-
lab.fr/perso/fredericlaunay/Cours/TR3/Cours_GSM.pdf

Sarwar M, Rafique S, Aslam MA, and Sattar A, "Detection of SIM Box Fraud Using Call Detail
Records and Machine Learning Techniques," Wireless Personal Communications, vol. 104, no.
1, pp. 203-222, 2019.

S-One Streaming Analytics, 2023 : https://www.synaptique.com/s-one-streaming analytics/

Togbe MU, Chabchoub Y, Boly A, Chiky R. Etude comparative des méthodes de détection
d’anomalies. Revue des Nouvelles Technologies de l’Information [Internet]. 2020 ; Disponible
sur: https://hal.science/hal-02874904/document

VoIP - La voix sur IP [Internet]. FRAMEIP.COM. 2023. Disponible sur :


https://www.frameip.com/voip/

194

Vous aimerez peut-être aussi