Sécurité des bases de données Nicolas Jombart Alain Thivillon



Documents pareils
laposte.net) Ministère de l'éducation nationale Atelier sécurité Rabat RALL 2007

Virtualisation et Sécurité

ORACLE 10G DISTRIBUTION ET REPLICATION. Distribution de données avec Oracle. G. Mopolo-Moké prof. Associé UNSA 2009/ 2010

Les risques HERVE SCHAUER HSC

Vulnérabilités et sécurisation des applications Web

Sécurité des applications Retour d'expérience

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

Vulnérabilités et solutions de sécurisation des applications Web

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Sécurité dans les SGBD

LES ACCES ODBC AVEC LE SYSTEME SAS

LINUX - Sécurité. Déroulé de l'action. - 3 jours - Contenu de formation

La sécurité des PABX Le point de vue d un constructeur Les mesures de sécurisation des équipements lors du développement et de l intégration

La haute disponibilité de la CHAINE DE

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Sécurité de la Voix sur IP

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

SQL MAP. Etude d un logiciel SQL Injection

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET

Notes de cours : bases de données distribuées et repliquées

Mysql. Les requêtes préparées Prepared statements

INSTALLATION DE L APPLICATION DU CONTEXTE ITASTE

<Insert Picture Here>ApExposé. Cédric MYLLE 05 Février Exposé Système et Réseaux : ApEx, Application Express d Oracle

Présentation d'un Réseau Eole +

La sécurité applicative

Architectures web/bases de données

LICENCE PROFESSIONNELLE SYSTEMES INFORMATIQUES & LOGICIELS

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant.

THEGREENBOW FIREWALL DISTRIBUE TGB::BOB! Pro. Spécifications techniques

RSX112 Sécurité et réseaux

Sécurité des Postes Clients

Infrastructure Management

Installation et configuration du CWAS dans une architecture à 2 pare-feux

Attaques applicatives

Installer le patch P-2746 et configurer le Firewall avancé

Sécurité du cloud computing

SQL Server et Active Directory

Présentation d'un Réseau Escolan

Test de HSQLDB et Comparatif avec Sqlite

Introduction sur les risques avec l'informatique «industrielle»

MySQL. (Administrateur) (Dernière édition) Programme de formation. France, Belgique, Suisse, Roumanie - Canada

Linux. Sécuriser un réseau. 3 e édition. l Admin. Cahiers. Bernard Boutherin Benoit Delaunay. Collection dirigée par Nat Makarévitch

JAB, une backdoor pour réseau Win32 inconnu

Supervision système et réseau avec Zabbix. Anne Facq Centre de Recherche Paul Pascal 17 avril 2008

Technologies du Web. Créer et héberger un site Web. Pierre Senellart. Page 1 / 26 Licence de droits d usage

Mobilité et sécurité

DÉVELOPPER DES APPLICATIONS WEB SÉCURISÉES

et Groupe Eyrolles, 2006, ISBN :

Table des matières Chapitre 1 Virtualisation, enjeux et concepts Chapitre 2 Ligne de produit XEN

Projet Sécurité des SI

SQL Parser XML Xquery : Approche de détection des injections SQL

Sécurité des réseaux sans fil

Sécurité des applications web. Daniel Boteanu

TOPOLOGIES des RESEAUX D ADMINISTRATION

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

FileMaker 13. Guide ODBC et JDBC

Clients et agents Symantec NetBackup 7

Menaces et sécurité préventive

1 / Introduction. 2 / Gestion des comptes cpanel. Guide débuter avec WHM. 2.1Créer un package. 2.2Créer un compte cpanel

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Windows Front-End Installation Guide HOPEX V1R1 FR

CS REMOTE CARE - WEBDAV

Sécurité des réseaux Les attaques

PostgreSQL. Formations. Catalogue Calendrier... 8

contact@nqicorp.com - Web :

Formation en Logiciels Libres. Fiche d inscription

Tom Pertsekos. Sécurité applicative Web : gare aux fraudes et aux pirates!

Réseaux. Moyens de sécurisation. Plan. Evolutions topologiques des réseaux locaux

Configuration de plusieurs serveurs en Load Balancing

Evidian IAM Suite 8.0 Identity Management

Les formations. ENI Ecole Informatique

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

Point de situation et plan d'action du SITEL. Présentation de A. Mokeddem, devant la Commission informatique le 2 octobre 2000

Fiche Technique. Cisco Security Agent

COMMANDES SQL... 2 COMMANDES DE DEFINITION DE DONNEES... 2

Serveur d application WebDev

Jérôme FESSY. IUT de Paris 5. Base de Données. Cours Introductif. Base de Données

PySQLi. Framework d'injection de code SQL

SOLUTIONS DE SECURITE DU DOCUMENT DES SOLUTIONS EPROUVEES POUR UNE SECURITE SANS FAILLE DE VOTRE SYSTEME MULTIFONCTIONS SHARP DOCUMENT SOLUTIONS

Protection des protocoles

Créer un rapport pour Reporting Services

Etat des lieux sur la sécurité de la VoIP

Notre Catalogue des Formations IT / 2015

«Sécurisation des données hébergées dans les SGBD»

Faille dans Internet Explorer 7

RÉCAPITULATIF DES ENJEUX ET DE LA MISE EN PLACE POLITIQUE DE SÉCURITÉ DANS UN RÉSEAU

Couche application. La couche application est la plus élevée du modèle de référence.

Glossaire. Acces Denied

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons Jérémie Jourdin

Chapitre 2 Rôles et fonctionnalités

Logiciel Enterprise Guide Version 1.3 Windows

INTRODUCTION AUX SGBD/R LUW

LA PROTECTION DES DONNÉES

Fonctions avancées de document dans Word 2003 Options de collaboration dans Word 2003

ArcGIS 10.1 for Server


Transcription:

HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Sécurité des bases de données Nicolas Jombart Alain Thivillon

Place des bases de données dans la sécurité du SI Budgets Securité vont d'abord à l'achat de système de sécurité (firewalls, IDS,...) à la formation à la sécurisation des applications le SGBD est le parent pauvre de la sécurité Complexité Les BD sont une affaire de spécialistes: au niveau de leur gestion : DBA au niveau de la programmation On ne peut pas sérieusement faire de l'oracle deux fois par an Quand c'est le cas, la sécurité est encore pire! 2 /24

Contraintes sur la sécurité 3 /24 Rôle du DBA maintenir le SGBD gérer les comptes, les applications,... pas de formation sécurité : ne peut pas «imaginer» les attaques possibles Mises à jour des systèmes d'expérience, 80% des serveurs de BD meurent avec le système et le SGBD initial: (Informix 7.2, Oracle 7.2,...) «If it works, don't fix it» Conséquence : de nombreuses failles système et applicatives ne sont JAMAIS corrigées, surtout sur les réseaux internes Criticité des applications : Arrêts impossibles La sécurité passe en dernier

Contraintes (2) Le SGBD est souvent un composant installé par ou avec un logiciel tiers ERP (SAP, Lawson) DataMining Gestion de parc (SMS,...) Pour SQL Server : 223 Applications recensées en 2003 Géré via ce logiciel tiers Dans une version limitée (exemple MSDE pour Epolicy Manager) dans un mode d'installation par défaut Sa configuration de sécurité est bien souvent encore plus obscure! et personne ne veut/peut prendre la responsabilité de modifier le paramétrage 4 /24

Types d'attaques Attaques sur le SGBD lui même failles connues classiques (buffer overflows, bugs d'autentification, injections SQL dans les procédures stockées,...) failles dans les applications associées: serveurs Web d'administration, applications Web, serveurs LDAP, démons snmp, programmes setuid root installés par le SGBD,... Mauvaises configurations modes d'authentification dégradés (.rhosts, OPS$......) mots de passe par défaut Interception de mots de passe par écoute du réseau par lecture de fichiers de configuration sur disque 5 /24

Types d'attaques (2) Attaques sur les applicatifs Injection SQL sur les applications Web détournement des requêtes effectuées par un ERP autorisations trop larges Attaques sur l'os via le SGBD écriture/lecture de fichiers, exécution de commandes la base de données tourne avec des privilèges différents contournement de la politique de sécurité 'safe_mode' de PHP chroot critique chez les hébergeurs Web mutualisés load data infile '/web/data/a/anotheruser/db.param' INTO hack... 6 /24

7 /24 Securité Listener Gestion des accès réseaux Oracle Problèmes de sécurité Peut être arrêté à distance sans mot de passe Peut être utilisé (via la fonction de trace) pour écraser n'importe quel fichier Oracle. Attention aux entrées ExtProc qui peuvent permettre à des anonymes d'exécuter du code arbitraitre via les appels de procédures externes Multiples dénis de service Possibilité: De placer un mot de passe De limiter l'accès réseau Oracle : tcp.validnode_checking = yes, tcp.invited_nodes = (x.x.x.x,...) Cf http://www.integrigy.com/info/integrigy_oracledb_listener_security.pdf

Mots de passe par défaut Combien d'installations Oracle 8 ont encore SYSTEM/MANAGER et SYS/CHANGE_ON_INSTALL? Au moins 80% de nos audits (et c'est bien pratique,...) Permet d'accéder à tous l'environnement à distance Permer d'écrire des procédures stockées appelant le système Mots de passe des comptes applicatifs appli/appli... Comptes par défaut installés par Oracle... Possession des tables, privilèges DBA attribués abusivement,.. 8 /24

Vulnérabilités Oracle Multiples vulnérabilités découvertes en permanence 25 vulnérabilités en un seul jour Principalement liées aux extensions (mod_plsql,...) Beaucoup de problèmes liées aux procédures stockées nécessaires au fonctionnement de IAS et autres... Exemple: gain des privilèges via le compte CTXSYS Produit difficile à patcher La suppression des comptes par défaut, une installation minimalisée permet de réduire beaucoup de problèmes 9 /24

Vulnérabilités Oracle Problème le plus évident: utilisation d'une fonctionnalité dangereuse: «remote_os_authent» Oracle fait confiance au client pour authentifier l'utilisateur s'il envoie POUET, il est transformé en OPS$POUET (pas de mot de passe) ROMINET Hello, je suis POUET sqlplus /@ROMINET OK POUET! 10 /24

En environnement Internet Typiquement utilisé pour «dynamiser» les sites Web Contenu mobile (publications) Commerce électronique / Notion de compte Risques principaux sur la base de données : Injection SQL Compromission de la base depuis une autre machine compromise Les bases de données sont souvent moins durcies Comptes oracle/oracle Systèmes d'exploitation non configurés pour la sécurité Déni de service 11 /24

Défense en profondeur Architecture en strates HTTP/HTTPS Sqlnet/1521 Servlet/8080 12 /24

Conseils de sécurité Durcir le système d'exploitation Notamment l'accès, et les comptes Supprimer les exemples, les autres applications satellites Pour l'écriture de l'application Principe de séparation des privilèges Savoir quels comptes sont nécessaires (Création, Lecture, Mise à jour, Sauvegarde) Appliquer ces rôles dans la base de données Comptes SELECT seulement Comptes ayant accès à toutes les tables/à certaines tables... Se prémunir contre l'injection SQL et le déni de service En contrôlant ce qui est envoyé à la base de données 13 /24

Risques applicatifs Protection contre le déni de service Conception de la base Empêcher de générer trop de calculs ou trop de réponses Injection SQL Le principe de l'attaque : Insérer du code SQL dans une requête construite dynamiquement, pour modifier son comportement Outrepasser par exemple un contrôle effectué par l'application Fonctionnement d'une application : 1. Récupération de données client (formulaires, fichiers XML,...) 2. Construction d'une requête SQL (SELECT, INSERT, procédure,...) 3. Exécution de celle-ci sur la base 4. Traitement des résultats et présentation 14 /24

Injection SQL Différentes méthodes : Modification simple de comportement SELECT * FROM users WHERE name='hsc' and password='xxx' or 'x'='x' Enchaînement de deux requêtes SELECT * FROM table WHERE login='hsc' ; SELECT * FROM passwords ' Ne fonctionne plus avec la plupart des drivers Utilisations de fonctions spécifiques master..xp_cmdshell (MS SQL) shell("ping.exe 10.20.30.40") 15 /24 Utilisation de UNION SELECT Ccnum, Ccexp FROM Creditcards WHERE Ccnum='xxx' UNION SELECT NULL, NULL FROM 1=1 '

Injection SQL Exemple : Vulnérabilité IMP (Webmail) de janvier 2003 $sql="select username from $default->db_pref_table where username='$user@$server'"; http://webmail/imp/mailbox.php3?actionid=6&server=x&imapuser=x';somesql+--&pass=x" Écueils Utilisation des quotes (simples ou doubles) et des commentaires Les résultats ne sont pas toujours visibles Couche de présentation Les possibilités peuvent dépendre du driver utilisé et de la base attaquée 16 /24

De l'utilité des messages d'erreur Exemple avec le driver ODBC/ASP http://webserver/script.asp?id=0--%20%28select%20*%20from%20table%29 Microsoft OLE DB Provider for ODBC Drivers error '80004005' [Microsoft][ODBC Microsoft Access Driver] You have written a subquery that can return more than one field without using the EXISTS reserved word in the main query's FROM clause. Revise the SELECT statement of the subquery to request only one field. /script.asp, line 15 17 /24

Se prémunir Sécurité du développement : valider les entrées Règle fondamentale, ne protégera pas que contre l'injection SQL Injection de code, modification de comportements, buffer overflows,... Utiliser les fonctions spécialement conçues par le driver ->quote() (Perl DBI) mysql_escape_string (PHP) magic_quotes (PHP)... Se connecter avec des comptes différents si nécessaire Compte read-only Compte read-write 18 /24

Plusieurs niveaux: Sécurité des ERP Sécurité systèmes Sécurité réseau (chiffrement, firewalls, accès distants,...) Sécurité intrinsèque (accès, rôles, interfaces,...) Sécurité de la base de données Télémaintenance Doit être étudiée: Par les équipes fonctionnelles Par les consultants ERP Par l'équipe sécurité 19 /24

Exemple : SAP Peu d'études publiques de sécurité sur SAP («La sécurité SAP pour les nuls»): http://www.sapsecurity.net/ http://www.auditnet.org/sapaudit.htm http://www.giac.org/certified_professionals/practicals/gsec/0760.php Comptes systèmes créés sur Unix <SID>adm, ora<sid> Privilèges SAP : SAP_ALL S_A.SYSTEM Certaines transactions permettent d'exécuter du code système (SM59, rôle S_RSZ_ADM). 20 /24

SAP et Oracle Mot de passe par défaut sur l'utilisateur SAPR3 : SAP Oracle en mode insécurisé remote_os_authent = TRUE Utilisateurs OPS$SIDADM et OPS$ORASID ont le pribilège SAPDBA Pas de restrictions dans le LISTENER 21 /24

SAP Router: Télémaintenance SAP Relais TCP générique authentifié Permet d'atteindre toutes les applications du LAN (!) Restrictions Limitations IP Sources Limitations IP Destinations et protocoles http://help.sap.com/saphelp_nw04/helpdata/en/4f/992dbd446d11d189700000e8322d00/content.htm Doit être placé dans une DMZ 22 /24

Mobiles Sap Waldorf Proxy HTTPS Internet HTTPS IPSEC Sap Router VPN SSL Firewall SAP SAP LAN Infrastructure SAP 23 /24

Les SGBD sont: Complexes Conclusions Leur sécurité n'est pas toujours maîtrisée Les risques sont réels et parfois ignorés expériences HSC Il faut sensibiliser la chaîne: appels d'offre/cahier des charges développeurs recettes dba, admins, réseau,... Questions? 24 /24