24
Silicomp Silicomp Silicomp Silicomp- - -AQL AQL AQL AQL sécurité applicative éléments de sensibilisation Philippe ENSARGUET Orange Business Services Head of IT Architecture Skills Center IT&L@BS Technical board [email protected]

(Microsoft PowerPoint - INRIA- conf\351rence S\351curit\351

  • Upload
    lamtram

  • View
    213

  • Download
    0

Embed Size (px)

Citation preview

SilicompSilicompSilicompSilicomp----AQLAQLAQLAQL

sécurité applicativeéléments de sensibilisation

Philippe ENSARGUET

Orange Business Services

Head of IT Architecture Skills Center

IT&L@BS Technical board

[email protected]

Sensibilisation à la sécurité applicative Page 2

témoignages

> exemple 1 : plateexemple 1 : plateexemple 1 : plateexemple 1 : plate----forme eCommerceforme eCommerceforme eCommerceforme eCommerce- Problèmes fonctionnels

- Spécification de besoins

> exemple 2 : application mexemple 2 : application mexemple 2 : application mexemple 2 : application méééétier de calcul en ligne des retraitestier de calcul en ligne des retraitestier de calcul en ligne des retraitestier de calcul en ligne des retraites- Problèmes fonctionnels/applicatifs

- Spécification détaillée et conception de l’architecture

> exemple 3 : site de vente de videxemple 3 : site de vente de videxemple 3 : site de vente de videxemple 3 : site de vente de vidééééo en ligneo en ligneo en ligneo en ligne- Problèmes applicatifs

- Implémentation

> exemple 4 : systexemple 4 : systexemple 4 : systexemple 4 : systèèèème de gestion de codeme de gestion de codeme de gestion de codeme de gestion de code- Pas de référentiel partagé

- Pas de normalité dans la sécurité

Sensibilisation à la sécurité applicative Page 3

un spectre large

Poste clientCouches transports

Filtragecloisonnement

Environnementproduction

Couche applicative

AntivirusAntiSpyware

ProxyFirewall

… ChiffrementContrôle d’accès

IPSIDSSSO

Sécuritéapplicative

>70% des

attaques

Source : senzic.com

Sensibilisation à la sécurité applicative Page 4

tour d’horizon des vulnérabilités en présence

Source : cenzic.com

Source : owasp.org

Sensibilisation à la sécurité applicative Page 5

nous sommes tous concernés !

Sensibilisation à la sécurité applicative Page 6

généralité sur les applications Web

> une application Web c’est…- … une relation entre un client et un serveur,

- … mis en relation par l’infrastructure d’acheminement TCP/IP de l’internet,

- … dialoguant au travers d’un protocole applicatif de requêtage HTTP sur un port applicatif identifié.

> constat : Les applications distribuées sur le web sont incontournables

HTTPHTTPHTTPHTTP 80808080ServeurServeurServeurServeur

HTTPHTTPHTTPHTTP

ExtensionsExtensionsExtensionsExtensions

ApplicativesApplicativesApplicativesApplicatives

Sources Sources Sources Sources

de donnde donnde donnde donnééééeseseses

ClientClientClientClient

>Apache

>IIS

>…

>SSI

>CGI (Perl, Python, PHP,…)

>Extension HTTP (ISAPI,AAPI, …)

>Server-side Scripting (ASP,JSP, PHP,…)

>Serveurs d’application(Java EE, .Net)

Sensibilisation à la sécurité applicative Page 7

Sécurité

tendance et évolution de la sécurité

> depuis plus de 15 ans, de nombreuses technologies

d’implémentation

- aucune technologie ne s’est montrée invulnérable !

- exploitation de failles/vulnérabilités portant une atteinte à l’intégrité, la

confidentialité, l’imputabilité et l’accès aux données utilisateurs.

OS

Réseau

Sécurité

Architecture

Sécurité

Développement

Org

anis

ationnelle

Internet

ClientArchitecture technique

applicative

Sensibilisation à la sécurité applicative Page 8

quelques chiffres pour confirmer !

Source : cenzic.com

Sensibilisation à la sécurité applicative Page 9

évolution des attaques

> depuis quelques années

- meilleure prise en compte des recommandations sur la sécurité

périmétrique

- firewall, cloisonnement, passerelles (reverse proxy…)

- serveurs publiques : configurés et minimisés

- vulnérabilités corrigées et OS stables (appliances)

> attaques plus difficiles à mettre en œuvre au niveau de

l’infrastructure

Sensibilisation à la sécurité applicative Page 10

évolution des attaques

> évolution des attaques

- montée dans les couches du modèle OSI

- ports applicatifs : HTTP/HTTPS,...

- à la fois :

• directement, par les serveurs applicatifs et les applications métiers

• indirectement, via les postes utilisateurs

> flux autorisés vers les serveurs

- accès direct aux conteneurs applicatifs

- flux plus ou moins surveillés

> solutions/produits ayant, par essence, davantage de vulnérabilités

- délai de mise en place du patch

Sensibilisation à la sécurité applicative Page 11

évolution des attaques

> les machines des utilisateurs internes sont :

- moins protégées / plus de fonctionnalités

- connectées / autorisées sur le réseau interne

- accèdent à Internet

> applications métiers propriétaires

- non éprouvées

- peu auditées

> lien direct avec les données métiers

> de nombreuses vulnérabilités !

Sensibilisation à la sécurité applicative Page 12

objectifs de ces attaques

> récupération d'informations confidentielles (identité des utilisateurs, informations bancaires,…)

atteinte à la confidentialité

> modification du contenu- données internes (BDD financière, cliente…)

- sites Web publiques (façade commerciale)

atteinte à l'intégrité

> rendre le service indisponible (Déni de Service – DoS)- temporaire

- permanente

atteinte à la disponibilité

> rebond- point d’entrée privilégié

- atteindre des machines internes

- relais pour attaques externes

Sensibilisation à la sécurité applicative Page 13

évolution des architectures applicatives

> des applications monolithiques vers des applications distribuées

Application monolithique

mainframe

Client lourd Serveur de base de données

Serveur de base de données

Client léger

Serveur HTTP+scripts

Serveurs HTTP

Serveur de base de données

Client léger

Serveurs HTTP

Serveursapplicatifs

Serveur de base de données

Client riche

Serveursapplicatifs

Application Client/Serveur

Application Web Client léger

Application d’entreprise Client léger

Serveursapplicatifs

Application d’entreprise Client riche

1

2 4

5

Serveur de base

de données

Client lourd

Serveurde composants

applicatif

Application à composantsClient Lourd

3

6

Sensibilisation à la sécurité applicative Page 14

Ident°Authent°

Ident°Authent°

Contrôle d’accès

Ident°Authent°

Contrôle d’accèsHabilitations

fédération d’identités

Ident°Authent°

Contrôle d’accès

SSO

approche globale de la sécurité applicative

de plus en plus d’exigences de sécurité…

Sensibilisation à la sécurité applicative Page 15

deux tendances fortes

> se préparer à ne plus gérer [totalement] des opérations de sécurité

- identification + authentification

- contrôle d’accès

- filtrage et inspection de contenu

> ne plus gérer les utilisateurs dans les applications

- identité / profil / rôle

- dépendance trop forte / réactivité et pérennité des données

Sensibilisation à la sécurité applicative Page 16

besoin en sécurité

complémentarité des solutions

> la solution peut passer par la complémentarité des moyens :

- d’authentification/identification,

- de contrôle d’accès,

- de gestion des habilitations applicatives.

Ident°

Authent°

Contrôle

AccèsHab°

Référentiel

AuthentificationRéférentiel

Habilitation

Moyens technologiques

d’infrastructure

Moyens technologiques

applicatifs

FirewallRup

ture

Flu

x /

Pro

tocola

ire

Rup

ture

Flu

x /

Pro

tocola

ire

Filtrage

Sensibilisation à la sécurité applicative Page 17

IdentificationIdentificationIdentificationIdentification

AuthentificationAuthentificationAuthentificationAuthentification

Contrôle dContrôle dContrôle dContrôle d’’’’accaccaccaccèèèèssss

SessionSessionSessionSession

HabilitationHabilitationHabilitationHabilitation

DonnDonnDonnDonnééééeseseses

TracesTracesTracesTraces

Wan

DMZDMZDMZDMZ

Firewall Firewall Firewall Firewall

applicatifapplicatifapplicatifapplicatif

Lan

SSOSSOSSOSSO

ApplicatifApplicatifApplicatifApplicatif

FiltrageFiltrageFiltrageFiltrage

besoin en sécurité

des modèles d’architecture

Sensibilisation à la sécurité applicative Page 18

les vulnérabilités des applicatifs Web

> 3 origines :3 origines :3 origines :3 origines :

- poste Client :

• code hostile (Virus, vers, etc.),

• contrôles ActiveX, Applets Java

• RIA et RDA

- canal de communication :

• pas de mécanisme de sécurité dans IPv4

- serveurs :

• "Front-End" : Serveurs HTTP/HTTPS frontaux

• scripts CGI : écrits en perl, python, etc. et exécutés sur le serveur

• "Middlewares" : Bus de communication ou Services Web permettant la

distribution des composants logiciels

• "Back-End" : Bases de données

Sensibilisation à la sécurité applicative Page 19

typologies d’attaques applicatives Web

> plus de 70% des applications web prplus de 70% des applications web prplus de 70% des applications web prplus de 70% des applications web préééésentent des vulnsentent des vulnsentent des vulnsentent des vulnéééérabilitrabilitrabilitrabilitéééés :s :s :s :

- responsabilité de l’application

• XSS

• Injection

• CSRF

• usurpation de paramètres

• modification de cookies

• …

- responsabilité du conteneur

• serveur SGBD

• serveur Web

• …

Sensibilisation à la sécurité applicative Page 20

les mécanismes de sécurité impliqués dans la

protection des principales attaques

Identification

Auth

entification

Contr

ôle

d'a

ccès

Filt

rage e

t in

spection d

e f

lux

Habili

tations

Tra

ces e

t jo

urn

alis

ation

Utilis

ation d

e r

essourc

es

cry

pto

gra

phiq

ues

A1 Cross Site Scripting (XSS) X

A2 Paramètre non validé X

A3 Exécution de fichiers malicieux X

A4 Référence directe d’objets non sécurisé X X X X

A5 Cross Site Request Forgery (CSRF) X

A6 Mauvaise gestion des erreurs X

A7 Violation de Gestion d’Authentification et de Session X X X X

A8 Stockage non sécurisé X

A9 Communication non sécurisée X

A10 Violation de Contrôle d’Accès X X X

Typolo

gie

d'a

ttaques

Sensibilisation à la sécurité applicative Page 21

tendance

> les menaces sont passées du réseau à l’application

- vulnérabilités applicatives sont graves, exploitables, exploitées

> les applications sont vulnérables, puisque …

- chaque application est unique, exposant son propre lot de vulnérabilités

- chaque application est développée avec une part de nouveautétechnologique et donc de risque

- chaque application devient multimodale avec des fonctionnalités complexes avec l’avènement du Web 2.0 et de la SOA

> contrairement à la sécurité de l’infrastructure où les pirates attaques des protocoles, au niveau applicatif la cible est l’application elle-même

- l’impact sous-jacent est nécessairement au moins plus important !

Sensibilisation à la sécurité applicative Page 22

processus de développement

> un processus à part entière du développement- applications en projet

• prise en compte de la sécurité dès le début du projet

• bonnes pratiques de développements

• mécanismes de sécurité

• tests adaptés

- applications en production

• audits de sécurité technique : revue de code, audits, tests d’intrusion

> outils automatiques- accélère la découverte

- permet de se concentrer sur les points importants, pour l’outil retenu

- faux positifs à confirmer

- non exhaustifs : certains tests non couverts� nécessité d’un contrôle manuel complémentaires

Sensibilisation à la sécurité applicative Page 23

perspective

> remonter la sécurité le plus en amont possible- passage d’architecture n tiers vers n+1 tiers, avec une couche, logique ou physique, dédiée à

la sécurité

- capitaliser sur l’implémentation des fonctions de sécurité portées par le serveur d’application ou par des frameworks dédiés

- mise à disposition de « services de sécurité » pour les équipes de développement concentrées sur le développement de la logique métier

• accélération des phases d’intégration et de déploiement

> gérer les exigences et spécifier la sécurité de l’application comme n’importe quelle fonctionnalité … critique

> élévation naturelle du niveau de sécurité de l’architecture- faire appliquer la politique de sécurité maîtrisée

- d’un point de vue technique, cela repose sur une combinaison de moyens portés par l’infrastructure et l’applicatif

> faire évoluer nos mentalités- hier, je livrais du code

- aujourd’hui, je livre du code de qualité

- demain, je livrerai du code de qualité et sécurisé• il faut se préparer à apporter des éléments d’appréciation des moyens mis en oeuvre

Sensibilisation à la sécurité applicative Page 24

merci