Arbutus Analyzer : EuroCACS, SQL vs Arbutus Analyzer
La conférence EuroCACS 2017 a été l’occasion d’échanger sur les différents outils proposés aux auditeurs pour les accompagner dans leurs missions d’analyse et de vérification des données informatiques.
Arbutus, TSC et Intuineo à la conférence ISACA EuroCACS 2017
SQL ou ARBUTUS ANALYZER ?
SQL est un langage standardisé par l’ « American National Standards Institute » (ANSI). Cependant, les implémentations de SQL sont bien souvent incompatibles entre les différents systèmes de base de données et ne respectent pas nécessairement les normes ANSI. En particulier, la syntaxe des champs date et heure, la concaténation de chaînes de caractères, la gestion des valeurs NULL et la sensibilité à la casse lors de la comparaison de textes sont souvent gérées différemment par les différents systèmes comme MS SQL, Oracle, DB2…etc.
Il faudra également prendre en compte l’incompatibilité des différents langages de script développés par les fournisseurs de base de données puisque ces langages devront nécessairement être utilisés pour développer des scripts spécifiques capables d’effectuer le même type d’analyses que celles proposées en standard par des logiciels comme Arbutus Analyzer.
En conséquence, le code des scripts SQL développé pour une base de données ne pourra que rarement être porté sur un autre système de base de données sans y apporter d’importantes modifications et nécessiter d’investir dans une formation des collaborateurs au nouveau langage de script associé (PL/SQL, T-SQL, SQL-PSM…).
DONNEES EN LECTURE SEULE
Un autre aspect à prendre en compte lorsque vous utilisez SQL est la sécurité des données manipulées et leur intégrité. SQL permet d’effectuer toutes sortes d’opérations sur les données, incluant des modifications et des suppressions d’enregistrements, voire d’une table complète, ce qui peut être particulièrement dangereux lorsque vous auditez ou analysez des données sur un serveur de production. La moindre erreur dans un script SQL peut avoir des conséquences désastreuses sur la base de données. Pour limiter ce risque, certains systèmes permettent de définir des droits d’accès spécifiques pour un utilisateur mais la mise en place des droits demandera à nouveau l’intervention du service informatique de l’entreprise auditée ou du prestataire assurant la gestion des données.
Pour éviter tout risque de modification ou de suppression de données les logiciels de CAAT comme Arbutus Analyzer n’autorisent qu’un accès en lecture seule aux données auditées. Les données sont lues puis stockées dans un format interne indépendant du système. Vous êtes libre d’effectuer toutes les manipulations souhaitées comme l’ajout de colonnes calculées, le croisement de données ou même la suppression de données par extraction sans jamais impacter la source de données.
TRAITEMENTS ET ANALYSES RÉUTILISABLES
Lorsque vous avez consacré du temps à écrire puis tester vos scripts d’extraction et d’analyse, il est bien naturel de vouloir réutiliser cet investissement lors de missions d’audit similaires. Comme évoqué précédemment, la compatibilité entre différents système de bases de données est extrêmement limitée. Il faut également pendre en considération le fait que même lorsqu’une entreprise utilise le même système de données que celui de vos scripts SQL, il est fort probable que la structure des tables, le nom des colonnes ou les types de données seront différents des données initiales manipulées par vos scripts. Tous ces éléments devront donc être modifiés avant de pouvoir réutiliser vos scripts ainsi que l’ensemble des paramètres des traitements.
Arbutus Analyzer permet de réutiliser rapidement les scripts développés pour des analyses ou des contrôles spécifiques quelle que soit la source de données utilisée (Base de données, liaison ODBC, SAP, fichiers CSV ou TSV, COBOL…) et ainsi de capitaliser l’investissement du développement initial des procédures de contrôle.
L’auditeur pourra également facilement créer des dialogues lui permettant de choisir les colonnes contenant les données nécessaires à l’exécution de ses procédures. Les analyses deviennent indépendantes des données sources vous permettant d’intégrer de nouvelles fonctionnalités à vos scripts à mesure de vos besoins.
LOG ET ENREGISTREMENT DE CHAQUE ACTION EFFECTUÉE
Comment partagez le travail effectué sur un dossier avec un autre collaborateur lorsque vous travaillez avec SQL ? Ce type de fonctionnalité n’est pas intégré aux système de bases de données parce qu’ils ne sont tout simplement pas prévus pour ce type de travail.
Il est pourtant primordial de pouvoir échanger sur les analyses effectuées et ainsi définir de nouvelles orientations d’audit. Arbutus Analyzer enregistre et affiche chaque action effectuée dans un fichier log. Ce fichier log peut également contenir les résultats de vos traitements, des rapports ou même le contenu des scripts exécutés. Ce fichier log peut être sauvegardé au format html pour échange et affichage via un navigateur web. Parallèlement au log des opérations effectuées, les résultats des traitements peuvent être placés dans un dossier partagé pour un accès par plusieurs collaborateurs.
Ces fonctionnalités deviennent rapidement indispensables lors de missions d’audit comportant des dizaines voir des centaines d’analyses, sans ajouter la possibilité d’effectuer des drill-down directement depuis le log (affichage du détail des éléments constituant un total par exemple).
FUZZY MATCHING
La correspondance approximative (Fuzzy Matching en anglais) consiste à identifier des chaînes de caractères qui correspondent à un motif approximatif plutôt qu’à une correspondance exacte. Ces fonctions sont parfois disponibles dans les moteurs de données SQL mais leur implémentation diffère d’un système à l’autre ou ne propose que des fonctionnalités de base de type « soundex ».
L’application du « Fuzzy Matching » est pourtant largement utilisée en analyse de données puisque ces fonctions permettent par exemple de détecter des transactions ayant des bénéficiaires « similaires » ou d’effectuer des recherches sur des adresses « approchantes » pour déterminer d’éventuels doublons.
Jointure utilisant les fonction « Normalize » et « Near » avec Arbutus Analyzer.
La plupart des systèmes SQL permettent de développer et d’intégrer vos propres fonctions pour étendre les fonctionnalités du moteur de base de données, mais l’écriture de ces fonctions s’effectue en langage C ou dans un autre langage de programmation comme CLR qui SQL Serveur ce qui requiert des connaissances qui sortent du domaine de l’audit et de l’analyse de données. Il est donc peu probable que vous puissiez utiliser des fonctionnalités de « Fuzzy Matching » équivalentes à celles proposées par Arbutus Analyzer en utilisant SQL.
EN CONCLUSION
Si le choix d’utiliser SQL (Structured Query Language) comme alternative à un logiciel de CAAT peut sembler intéressant lorsque les données à analyser sont issues d’un seul système de base de données, il faudra bien souvent constater que la mise en place d’une solution d’analyse basée sur SQL ne répondra finalement pas totalement au cahier des charges initial et s’avérera difficile à faire évoluer dans le temps, a fortiori en cas de changement du système de base de données utilisé par l’entreprise ou lors du départ de certains collaborateurs de son service informatique.
En complément, certains points importants comme l’accès aux données source en lecture seule, l’utilisation de données hétérogènes pour les analyses, le développement et l’utilisation de scripts réutilisables quels que soient le format des données, le suivi et la traçabilité des différentes opérations d’audit réalisées dans des fichiers log, le partage des données d’audit entre collaborateurs, l’utilisation de fonctions spécifiques comme le « fuzzy-matching » ne sont pas disponibles dans les bases SQL.
L’utilisation d’un logiciel de CAAT comme Arbutus Analyzer s’avérera bien souvent un choix pertinent pour assister l’auditeur dans sa mission et lui permettre d’effectuer rapidement ses analyses.
Credit to Grant BRODIES - President, Arbutus Software
Arbutus Analyzer : solution pour l'audit et l'analyse informatique des données