Posez n’importe quelle question sur les cours, conférences, exercices, recherches, actualités, etc. de l’EPFL ou essayez les exemples de questions ci-dessous.
AVERTISSEMENT : Le chatbot Graph n'est pas programmé pour fournir des réponses explicites ou catégoriques à vos questions. Il transforme plutôt vos questions en demandes API qui sont distribuées aux différents services informatiques officiellement administrés par l'EPFL. Son but est uniquement de collecter et de recommander des références pertinentes à des contenus que vous pouvez explorer pour vous aider à répondre à vos questions.
En informatique, un dépassement de tampon ou débordement de tampon (en anglais, buffer overflow ou BOF) est un bug par lequel un processus, lors de l'écriture dans un tampon, écrit à l'extérieur de l'espace alloué au tampon, écrasant ainsi des informations nécessaires au processus. Lorsque le bug se produit, le comportement de l'ordinateur devient imprévisible. Il en résulte souvent un blocage du programme, voire de tout le système. Le bug peut aussi être provoqué intentionnellement et être exploité pour compromettre la politique de sécurité d’un système. Cette technique est couramment utilisée par les pirates. La stratégie de l'attaquant est alors de détourner le programme bugué en lui faisant exécuter des instructions qu'il a introduites dans le processus. Une vulnérabilité de ce type permet d'écrire des données au-delà du tampon qui leur est alloué. Avec le langage C, cela peut typiquement se produire lorsque des fonctions telles que gets (lecture d'une suite de caractères sur le flux d'entrée standard) ou strcpy (copie d'une chaîne de caractères), qui ne contrôlent pas le nombre de caractères écrits en mémoire, sont appelées sur des entrées non fiables. Il devient alors possible pour l'attaquant de modifier les variables situées à la suite du tampon. Sur la plupart des architectures de processeurs, l'adresse de retour d'une fonction est stockée dans la pile d'exécution. Lorsqu'un dépassement se produit sur un tampon situé dans la pile d'exécution, il est alors possible d'écraser l'adresse de retour de la fonction en cours d'exécution. L'attaquant peut ainsi contrôler le pointeur d'instruction après le retour de la fonction, et lui faire exécuter des instructions arbitraires, par exemple un code malveillant qu'il aura introduit dans le programme. Des vulnérabilités de dépassement de tampons peuvent exister dans des programmes dans lesquels l'adresse de retour est protégée (par exemple par le Stack-Smashing Protector), ou exister ailleurs que la pile d'exécution.
[2]Paolo Prandoni, [3]LCAV, EPFL
This notebook shows a simple way to process audio files (in WAV format)
in a block-by-block fashion; this is useful in two cases
1. when you want to process a data stream in real time but you can
accept a small processing delay; in this case a buffered approach
can yield computational gains
2. when you need to process a large file that does not fit entirely
into [2]Paolo Prandoni, [3]LCAV, EPFL
The Karplus-Strong algorithm is a simple method to generate synthetic
sounds with arbitrary pitch. In this notebook we will explore a few
variations of the method to illustrate some basic notions of
discrete-time signal processing.
In [1]:
%matplotlib inline
import matplotlib
import matplotlib.pyplot as plt
import numpy as np
import IPython
In [2]:
plt.rcParams["figure.figsize"] [2]Paolo Prandoni, [3]LCAV, EPFL
In this notebook we will explore various ways to implement a system
that changes the voice of a speaker. Typical applications for these
techniques, strictly sorted by plausibility, include international spy
missions and prank telephone calls, and devices such as the one
displayed here can be easily bought on the web... or in a novelty shop.
No description has been provided for t