Your SlideShare is downloading. ×
  • Like

Loading…

Flash Player 9 (or above) is needed to view presentations.
We have detected that you do not have it on your computer. To install it, go here.

×

Now you can save presentations on your phone or tablet

Available for both IPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Debordement de tableaux

  • 546 views
Published

 

Published in Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
546
On SlideShare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
4
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide
  • * Virus, vers informatiques?\n* Patch et update des logiciels?\n* Alertes de sécurités?\n* Buffer Overflow?\n
  • \n
  • * Structure de donnée abstraite. \n* Premier arrivé, dernier sorti. \n* Push() et pop()\n
  • \n
  • * Allocation de mémoire\n* Pointeur vers l’instruction suivante\n* Variables locales\n* Autres...\n
  • \n
  • \n
  • * Causé par des méthodes non sécuritaire.\n* Expliquer ce qui est arrivé\n
  • Méthodes disponible dans les libraries standards!\n
  • \n
  • * Architecture de Von Neumann\n* Le développeur n’a plus le contrôle de son application.\n
  • \n
  • MyFloat value = 10\nMyFloat value = 61695\n
  • \n
  • Glisser un mot à propos chaques. Autres : gcc, ne pas faire confiance aux données de l’usager.\n
  • Appliquer la citation à la sécurité informatique.\n
  • * À quoi sert la pile?\n* Qu’est-ce qui peut être écraser par un débordement de tableau?\n* Nommez une contre-mesure?\n
  • \n

Transcript

  • 1. Débordement de tableauxPréparé par Pier-Luc Caron St-Pierre
  • 2. Table des matièresQu’est-ce qu’une pile?Qu’est-ce que la pile?Qu’est-ce qu’un débordement de pile?Pourquoi cela est dangereux?Exemple simpleAntidote
  • 3. Une pile
  • 4. Table des matièresQu’est-ce qu’une pile?Qu’est-ce que la pile?Qu’est-ce qu’un débordement de pile?Pourquoi cela est dangereux?Exemple simpleAntidote
  • 5. La pile
  • 6. Utilisation normale
  • 7. Table des matièresQu’est-ce qu’une pile?Qu’est-ce que la pile?Qu’est-ce qu’un débordement de pile?Pourquoi cela est dangereux?Exemple simpleAntidote
  • 8. Débordement de tableau
  • 9. Méthodes non-sécuritairesvoid * memcpy ( void * destination, const void * source,size_t num );char * strcpy ( char * destination, const char * source );Et plus encore...!
  • 10. Table des matièresQu’est-ce qu’une pile?Qu’est-ce que la pile?Qu’est-ce qu’un débordement de pile?Pourquoi cela est dangereux?Exemple simpleAntidote
  • 11. Potentiel Variables modifiées Contrôle sur les pointeurs de retour Ajout de code Et plus encore...
  • 12. Table des matièresQu’est-ce qu’une pile?Qu’est-ce que la pile?Qu’est-ce qu’un débordement de pile?Pourquoi cela est dangereux?Exemple simpleAntidote
  • 13. Exemple #include <string.h> #include <stdio.h> void foo(char *bar) { int myFloat = 10; char c[12]; printf("MyFloat value = %in", myFloat); memcpy(c, bar, strlen(bar)); //no bound checking... printf("MyFloat value = %in", myFloat); } int main() { foo("Too long !!!xFFxF0"); }
  • 14. Table des matièresQu’est-ce qu’une pile?Qu’est-ce que la pile?Qu’est-ce qu’un débordement de pile?Pourquoi cela est dangereux?Exemple simpleAntidote
  • 15. AntidoteCanari de pilePile non-exécutableDisposition de l’espace mémoire aléatoireUtilisation des méthodes sécuritairesChoix du langage de programmationAutres...
  • 16. Conclusion Finagle’s Law : “Whatever can go wrong will go wrong, and at the worst possible time, in the worst possible way.”
  • 17. Questions?
  • 18. RéférencesWikipedia.orgSecurity Now! avec Leo Laporte et Steve GibsonCours LOG619Levy, Elias (1996-11-08). "Smashing the stack for funand profit". Phrack 1 (49): 14.Ward, Craig E. (2005-06-13). "C/C++ BufferOverflows" (PDF). Unix Users Association of SouthernCalifornia. Orange County, California.