Présentation dans le cadre de l'Application Security Forum de Yverdon 2014.
La présentaiton indique comment se service de Sonar pour effectuer des analyses sécurité. Et présente aussi le projet OWASP SonarQube
Analyser la sécurité de son code source avec SonarSource
1. U6liser
SonarQube
pour
la
Sécurité
Application Security Forum West
Switzerland
6
Novembre
2014
Yverdon
les
bains
Sébas&en
Gioria
Sebas6en.Gioria@owasp.org
Chapter
Leader
&
Evangelist
OWASP
France
2. 2
http://www.google.fr/#q=sebastien gioria
‣ Innovation and Technology @Advens &&
Application Security Expert
‣ OWASP France Leader & Founder &
Evangelist,
‣ OWASP ISO Project & OWASP SonarQube Project
Leader
‣ Application Security group leader for the
CLUSIF
‣ Proud father of youngs kids trying to hack my
digital life.
Twitter :@SPoint/@OWASP_France
2
3. Agenda
• L’analyse
de
code
source
• Qualité/Sécurité
• SonarQube
• Le
projet
OWASP
SonarQube
3
5. L’analyse
de
code
source
• Iden6fier
toutes
les
occurrences
d’une
faille
• Évaluer
des
facteurs
contribuant
à
la
sécurité
• Étudier
l’applica6on
dans
le
détail
• Détecter
les
erreurs
d’implémenta6on
sournoises
6. Analyse
du
code
vs
Test
d’intrusion
applica6f
(pour
un
CISO)
Top10
Web
Tests
d’intrusion
Analyse
du
code
A1
-‐
Injec6on
++
+++
A2
–
Viola6on
de
Session
/
Authen6fica6on
++
+
A3
–
Cross
Site
Scrip6ng
+++
+++
A4
–
Référence
Directes
+
+++
A5
–
Mauvaise
configura6on
+
++
A6
–
Exposi6on
de
données
++
+
A7
–
Probleme
d’habilita6on
fonc6onnelle
+
+
A8
-‐
CSRF
++
+
A9
–
U6lisa6on
de
Composants
vulnérables
+++
A10
–
Redirec6on
et
transferts
+
+
7. L’
analyse
de
code
ou
le
test
d’intrusion
pour
un
développeur
8. L’évolu6on
du
développement
logiciel
Gestionnaire de code
Makefile" Intégration continue" Tests unitaires" Inspection continue"
source"
16. Les
tests
unitaires
?
• En
programma6on
informa6que,
le
test
unitaire
(ou
"T.U.")
est
une
procédure
permejant
de
vérifier
le
bon
fonc6onnement
d'une
par6e
précise
d'un
logiciel
ou
d'une
por6on
d'un
programme
(appelée
«
unité
»
ou
«
module
»).
(c)
Wikipedia
17. 7
axes
pour
couvrir
la
qualité
d’un
code
Architecture
et
Concep6on
Code
Source
Code
dupliqué
Test
unitaires
Bugs
Complexité
Commentaires
Règle
de
codage
• Bugs
• Non
respect
des
standards
de
codage
• Duplica6on
de
code
• Manque
de
tests
unitaires
• Code
trop
complexe
• Concep6on
spagheq
(
mauvais
design)
• Trop
ou
pas
assez
de
code
commenté.
18. SonarQube
• Plateforme
centralisé
de
ges6on
de
la
qualité
:
– Profils
de
qualité
– Intégrable
dans
la
chaine
de
build
– Support
de
nombreux
languages
(C/C++,
java,
php,
javascript,
...)
– Plugins/extensions
disponibles
– Ges6on
de
rapports
et
visualisa6on
de
l’évolu6on
– Existe
en
version
Open-‐Source
19. SonarQube
pour
la
sécurité
applica6ve
• S’intègre
dans
le
SDLC
– liens
possible
avec
Jenkins/Hudson
– Repor6ng
sur
les
viola6ons
– Possibilité
d’ajouter
des
règles
• Dispose
de
règles
permejant
de
couvrir
– non
respect
des
regles
de
codage
– découverte
de
bugs
sécurité(XSS,
SQl-‐Injec6on)
20. SonarQube
pour
la
sécurité
applica6ve
• Ce
n’est
pas
un
ou6l
de
revue
de
code
!
– Il
fonc6onne
sur
la
viola6on
de
règles;
détec6on
de
pajerns
uniquement
• Il
6re
toute
sa
puissance
– si
vous
disposez
d’une
poli6que
de
Secure
Coding
– si
vous
démarrer
un
nouveau
projet
• Il
n’est
pas
“tres”
orienté
sécurité
actuellement
– peu
de
plugins
de
sécurité
– pas
de
profils
type
pour
les
viola6ons
de
secure
coding.
21. Le
projet
OWASP
SonarQube
• Collabora6on
OWASP
/
SonarSource
– Mejre
a
disposi6on
de
la
communauté
un
ensemble
de
règles,
profils,
et
plugins
pour
analyser
la
sécurité
avec
SonarQube.
• Plusieurs
buts
prévus
– Livraison
d’un
profil
OWASP
Top10
supporté
et
maintenu
par
le
projet
début
Octobre
2014
vis
a
vis
du
langage
Java.
– Livraison
d’autres
profils
(probablement
en
2015):
• ASVS
• ISO
27034-‐5
• CERT
Secure
Coding
– Développement
de
plugins
spécifiques
OWASP
• pour
les
autres
langages