Telechargé par Ruth Boko

TD

publicité
L’école des leaders. 25 années au service de l'excellence
***_***
Ecole Supérieure de Gestion,
d’Informatique et des Sciences
TRAVAUX DIRIGES
Filière : Licence 3 IRT-ESGIS Option Architecture Logicielle
Exercice 1
1. Clarification des terminologies ci-après : La sécurité des systèmes d’information –
Confidentialité – Authenticité – Intégrité – Disponibilité – Vulnérabilité – Attaque –
Contre-mesure – Menace – Risque
2. Quels sont les différents niveaux à sécuriser dans un système d’information ?
3. Citez quatre catégories de menaces actives.
4. Les modèles de sécurité ?
5. Différence entre la sécurité en série et la sécurité parallèle
6. Description de : Les OTP (One-Time Password) par SMS - Les OTP (One-Time
Password) par soft token - Les OTP (One-Time Password) par hard token - Les
certificats logiciels - La biométrie
7. Les six vulnérabilités classiques dans une application (L’usurpation d’identité – La
falsification – La répudiation – La divulgation – le Déni de service – L’élévation des
privilèges)
8. Quelles sont les différences entre menaces intentionnelles
accidentelles, menaces actives et menaces passives.
et
menaces
9. La norme traitant des systèmes de management de la sécurité de l’information
(SMSI) est l’ISO/CEI 27001 s’appesantit sur quels critères ?
10.
Les causes des vulnérabilités suivantes et comment s’en protéger :
a. Injection SQL
b. Cross Site Scripting
c. Cross Site Tracing
d. Cross Site Request Forgery
e. Injection de Code
f. Null Byte Injection
g. Remote File Inclusion
h. Upload
i. Indexation des répertires
j. Password Guessing
k. Slowloris
1
Exercice 2
Dans le cadre de développement d’une application d’automatisation des carnets de
santé, Jean-Yves nous montre le contenu d’un fichier dénommé appAllergyAdd.js
(voir Annexe 2)
Il souhaite ta contribution pour améliorer son application afin qu’elle soit sécurisée.
Que lui conseilleras-tu ?
Exercice 3
Un étudiant de licence a développé une application de gestion. Le document en
Annexe 1 présente un extrait du code d’une des pages de cette application de
l’application.
1. Identifier les différentes failles de sécurité du code et leurs impacts éventuels.
2. Quelles mesures correctives suggérer ?
Exercice 4
Le code figurant en Annexe 3 représente une portion de code d’une application
développée par un étudiant de la deuxième année en Architecture Logicielle à l’Ecole
Supérieure de Gestion, d’Informatique et des Sciences (ESGIS). Avant le déploiement,
il vous contacte aux fins de l’assister à corriger les différentes failles de sécurité
possible dans son application.
1. Expliquez quelle la fonctionnalité proposée par cette page.
2. Identifiez ses problèmes de sécurité et leurs impacts potentiels.
3. Que proposez-vous comme solution ?
2
Document 1
<?php
require_once ’header.php’
?>
<h1>Free online tools</h1>
<div class="container background−white">
<!−− Nmap Box −−>
<div class="col−md−6 col−md−offset−3 col−sm−offset−3">
<form class="" method="POST" action="">
<div align="center" class="error">
<?php if (isset($error)) echo $error; ?>
</div>
<div class="login−header margin−bottom−30">
<h2>Enter an IP Address</h2>
</div>
<div class="input−group">
<span class="input−group−addon">
<i class="fa fa−eye"></i>
</span>
<input name="ip" placeholder="ip" class="form−control" type="text">
</div>
<div class="row">
<div class="col−md−6">
<input type="submit" class="btn btn−primary pull−right"
name="submit" value="Try!"/>
</div>
</div>
<hr>
<h4>Nmap, the best network scanner of the wor ld ...</h4>
<p>
</form>
</div>
<!−− End Nmap Box −−>
</div>
<?php
if (isset($_POST["submit"]))
{
if (empty($_POST[’ip’]))
$error = "IP field is required.";
else
{
$ip = $_POST[’ip’];
echo "<pre>";
system("nmap −A ".$ip);
echo "</pre>";
}
}
require_once(’footer.php’);
?>
3
Document 1
$username = $_GET[’username’];
$password = $_GET[’password’] ;
$sqluser = mysql_query ( "SELECT COUNT(*) FROM users WHERE username
= ’".$username."’ ");
$countuser = mysql_fetch_row($sqluser) ;
if ($countuser[0] == 0) {
$errormsg = "Your Username is incorrect. Please try again";
} else {
$sqlpass = mysql_query("SELECT COUNT(*) FROM users WHERE username
= ’".$username."’ AND password = ’".$password."’");
$countpass = mysql_fetch_row($sqlpass);
if ($countpass[0] == 0) {
$errormsg = "Your Password is incorrect. Please try again";
} else {
$page = $_GET[’page’];
if (file_exists(’pages/’.$page.’.php’)) {
include(’pages/’.$page.’.php’);
...
}
}
}
Document 1
$username = $_GET[’username’];
$password = $_GET[’password’] ;
$sqluser = mysql_query ( "SELECT COUNT(*) FROM users WHERE username
= ’".$username."’ ");
$countuser = mysql_fetch_row($sqluser) ;
if ($countuser[0] == 0) {
$errormsg = "Your Username is incorrect. Please try again";
} else {
$sqlpass = mysql_query("SELECT COUNT(*) FROM users WHERE username
= ’".$username."’ AND password = ’".$password."’");
$countpass = mysql_fetch_row($sqlpass);
if ($countpass[0] == 0) {
$errormsg = "Your Password is incorrect. Please try again";
} else {
$page = $_GET[’page’];
if (file_exists(’pages/’.$page.’.php’)) {
include(’pages/’.$page.’.php’);
...
}
}
}
4
5
Téléchargement