Vous êtes sur la page 1sur 48

Département des Sciences de l’informatique

IA et Cyber-sécurité
(chapitre 1: introduction)
P RÉSE NTÉ PAR :
D R. H ICHEM MRABE T
SEC TION I D S-4
JANVIER 2 0 23
PLAN de module
 Chapitre 1: Introduction à la cyber sécurité
 Chapitre 2: Apprentissage supervisé
 Chapitre 3: Apprentissage non supervisé
 Chapitre 4: Apprentissage par renforcement
 Projet

L'IA POUR LA CYBER SÉCURITÉ 2


PLAN du chapitre 1
 Introduction
 Triad de la sécurité
 Les cyber-attaques
 Classification des cyber-attaques
1. Scanning attaque
2. Remote to local attaque (R2L)
3. User to Root attaque (U2R)
4. Denial of service attaque (DoS)
 Les datasets utilisés dans la cyber sécurité
 Références

L'IA POUR LA CYBER SÉCURITÉ 3


Objectifs du cours
 Se familiariser avec les différents type d’attaques réseau ou les cyber-attaques.
 Se familiariser avec la classification des cyber-attaques.
 Connaitre les 4 classes de cyber-attaque : Scanning, R2L, U2R, DoS.
 Se familiariser avec les datasets utilisés dans le domaine de la cyber sécurité.
 Manipulation de la dataset NSL-KDD avec l’environnement d’expérimentation
WEKA.
 Classification des cyber-attaques avec les algorithmes d’apprentissage
automatique supervisé.
Classification des cyber-attaques avec les algorithmes d’apprentissage
automatique non supervisé.
L'IA POUR LA CYBER SÉCURITÉ 4
Le Triad de la sécurité
 Confidentialité: garantit que seules les
personnes autorisées peuvent accéder aux
données ou à un système d'information.
 Intégrité: l'intégrité garantit que les données
ou le système d'information peuvent être
fiables. Garantit qu'il est édité uniquement par
des personnes autorisées et reste dans son état
d'origine au repos.
 Disponibilité: Des systèmes de données et
d'information sont disponibles en cas de besoin.

L'IA POUR LA CYBER SÉCURITÉ 5


Les équipements de sécurité

L'IA POUR LA CYBER SÉCURITÉ 6


Les équipements de sécurité réseaux
Equipement de sécurité Fonctions
Firewall (pare-feu) Les pare-feu de base fonctionnent au niveau des couches 3 et 4 du modèle OSI, c'est-
à-dire qu'ils peuvent autoriser ou bloquer les paquets IP en fonction des adresses IP
source/destination et des ports TCP/UDP source/destination.
IDS (intrusion detection Un IDS est un équipement passif qui utilise des signatures d'attaques et d'exploits de
system) sécurité connus afin de détecter une tentative d'intrusion.
IPS (Intrusion Un IPS, est un dispositif de sécurité actif dont la tâche principale est de prévenir les
Prevention System ) intrusions sur le réseau. Le placement ci-dessus est nécessaire pour que le dispositif
IPS bloque le trafic malveillant juste avant d'atteindre les serveurs internes.
WAF (Web Application Un WAF se concentre sur la protection des sites/applications Web. Il fonctionne au
Firewall) niveau de la couche d'application pour inspecter le trafic Web HTTP afin de détecter
les attaques par injection SQL, les scripts intersites (XSS), les attaques Javascript, les
attaques RFI (Remote File Inclusion)/LFI(Local File Inclusion), etc.

L'IA POUR LA CYBER SÉCURITÉ 7


Les étapes pour un cyber-attaque

L'IA POUR LA CYBER SÉCURITÉ 8


Classification des attaques

L'IA POUR LA CYBER SÉCURITÉ 9


Scanning attaque
 Une activité d'analyse (scanning attack) est une préoccupation croissante en
matière de cyber-sécurité, car il s'agit de la première étape d'une tentative de
détection d'intrusion qui est utilisée pour localiser les systèmes cibles dans le réseau
et ensuite exploiter les vulnérabilités connues.
 Un attaquant envoie un grand nombre de paquets d'analyse pour obtenir la
description détaillée des machines à l'aide d'outils d'analyse tels que nmap, satan,
saint, msscan, nessus, etc.

L'IA POUR LA CYBER SÉCURITÉ 10


Scanning attaque 2

Exemples de scan ouvert (open scan) et scan furtif (SYN-ACK):


Le Scan ciblant un port fermé (i) un port ouvert (ii) ; Le scan SYN|ACK ciblant (iii) un port fermé et (iv) un port ouvert.

L'IA POUR LA CYBER SÉCURITÉ 11


Le scan ouvert

 L'analyse ouverte utilise la connexion TCP 3-way handshake.


Il détecte les ports TCP en utilisant le flag SYN et protocole TCP.
Un port fermé répond avec l'indicateur RST défini (ligne i) tandis que le port ouvert répond
avec l'indicateur ACK défini (ligne ii).
L'attaquant peut maintenant réinitialiser la connexion en envoyant le RST et ACK.
L'IA POUR LA CYBER SÉCURITÉ 12
Scanning furtif (SYN-ACK Scan)
 Pour le scan furtif SYN-ACK, un attaquant
envoie le drapeau SYN et ACK à la cible, les
ports fermés envoient le drapeau RST (ligne
iii) tandis que les ports ouverts génèrent
n'importe quelle réponse (ligne iv).
C'est une méthode relativement rapide et
ne nécessite pas la procédure 3-way
handshake.

L'IA POUR LA CYBER SÉCURITÉ 13


Variantes de scanning attaque
Nom Description de l’attaque Attack feature (attribut d’attaque)
Ipsweep Il est utilisé pour déterminer quels sont les Un IDS peut examiner le nombre total de paquets Ping
hôtes qui écoute sur le réseau en entrant dans un court laps de temps. Des fonctionnalités
envoyant de nombreux paquets Ping. telles que 'Duration', 'Service' (ICMP), 'Dst host same srv
Si l'hôte cible répond, la réponse révèle rate' (utilisé pour trouver les connexions au même
l'adresse IP cible à l'attaquant. service) et 'Flag' (utilisé pour trouver l'état de la
connexion) sont importantes pour trouver le nb total de
paquet Ping dans un court laps de temps et dans l'état
actuel de la connexion pour détecter cet attaque.
Reset scan L’attaquant envoie des paquets de La détection se fait en examinant les différents paquets
réinitialisation (drapeau RST=1) à la RST arrivant sur une machine vulnérable avec le même
machine victime pour déterminer si la service dans un court laps de temps. Des fonctionnalités
machine est active. Si la machine victime telles que 'Duration', 'Service', 'Flag', 'Dst host count'
n'envoie aucune réponse au paquet de (utilisé pour trouver la somme des connexions à la
réinitialisation la machine est vivante. machine vulnérable) sont importantes pour trouver la
somme des connexions qui ont initié le paquet RST.
L'IA POUR LA CYBER SÉCURITÉ 14
Variantes de scanning attaque (suite)
Nom Description de l’attaque Attack feature
SYN scan L'analyse SYN est une attaque d'analyse de Ces scans peuvent être détectés en vérifiant les
(analyse connexion semi-ouverte car l'attaquant connexions avec de grandes connexions semi-ouvertes
SYN) n'établit pas une connexion TCP complète. avec le Flag soit REJ (connexions rejetées ; SYN
L'attaquant envoie un grand nombre de initialement obtenu, avec une réponse RST) ou S1 (les SYN
paquets SYN à différents ports. échangés ne sont plus vus) initiées par la machine de
Les ports ouverts répondent avec SYN-ACK l'attaquant.
et les ports fermés répond par RST. Par conséquent, des fonctionnalités telles que "Duration",
"Flag", "Dst host diff srv rate" (pourcentage de connexions
à différents ports et à la même adresse IP de destination)
sont des fonctionnalités importantes pour détecter cette
attaque.

L'IA POUR LA CYBER SÉCURITÉ 15


Remote to Local attaque (R2L)
 L'attaque Remote to local (R2L) fait référence au groupe d'exploits utilisés pour
obtenir un accès local à la machine vulnérable, à condition que l'attaquant puisse
envoyer des paquets à la machine victime via un réseau.
Il existe différentes manières de lancer des attaques pour obtenir un tel privilège
illégitime sur une machine.
Dans l'attaque Dictionary/Guess Password, un attaquant essaie de deviner à
plusieurs reprises un nom d'utilisateur et un mot de passe possibles.
L'attaque peut être tentée en utilisant de nombreux services qui fournissent la
fonction de connexion, tels que telnet, ftp, pop, rlogin et imap.
Dans l’attaque FTPwrite, un attaquant tente d'exploiter la mauvaise configuration ftp

L'IA POUR LA CYBER SÉCURITÉ 16


R2L (suite)
 Dans les configurations ftp, si le répertoire racine ftp ou les sous-répertoires ne sont
pas protégés en écriture et dans le même groupe du compte ftp.
 Un attaquant peut ajouter des fichiers dans ces répertoires tels que des fichiers
rhost et accéder à la machine.
 Dans l'attaque Imap, un attaquant tente d'exploiter les débordements de buffer du
serveur Imap qui existent dans le code d'authentification de la transaction de
connexion. L'attaquant envoie un texte soigneusement rédigé pour exécuter des
instructions arbitraires.
 Dans l'attaque Xlock, les attaquants exploitent la console X non protégée de
l'utilisateur pour accéder à la machine.

L'IA POUR LA CYBER SÉCURITÉ 17


Attack feature R2L
 Les fonctionnalités de connexion réseau ne sont pas suffisantes pour observer
le comportement des attaques R2L.
 En fait, il est très difficile de distinguer ces attaques les unes des autres en
considérant les caractéristiques de connexion au réseau.
 Cependant, quelques fonctionnalités présentes dans KDD'99 telles que
'Duration', 'Service', 'Src bytes', 'Dst bytes', 'Num failed login', 'Is guest login',
'Num compromise', 'Num File creation', 'Count', 'Dst host count‘ et 'Dst host srv
count' peuvent fournir des indices sur les anomalies comportement d'un
utilisateur dans une connexion locale et donc utile pour détecter les attaques
R2L.

L'IA POUR LA CYBER SÉCURITÉ 18


User to Root attaque (U2R)
 L'attaque User to Root (U2R) fait référence au groupe d'exploits utilisés pour
obtenir l'accès root à une machine par un utilisateur local non privilégié.
 Ces exploits sont utilisés de différentes manières pour obtenir l'accès root à la
machine.
 Par exemple, dans une attaque par débordement de tampon (buffer
overflow), l'attaquant exploite la vulnérabilité d'un programme utilisateur qui
copie trop de données dans un tampon statique sans vérifier que les données
conviendront bien.
 L'attaquant tente de manipuler les données qui débordent de la mémoire
tampon et provoquent l'exécution de commandes arbitraires par le système
d'exploitation.

L'IA POUR LA CYBER SÉCURITÉ 19


User to Root attaque (U2R)
 Dans l'attaque Ffbconfig, l'attaquant exploite le programme ffbconfig distribué
avec certains OS.
 L'attaquant écrase l'espace de pile interne du programme ffbconfigct qui
n'effectue pas une vérification liée suffisante sur les arguments.
 Le programme ffbconfig fait partie du FFB (Fast Frame Buffer) Accélérateur
graphique.

L'IA POUR LA CYBER SÉCURITÉ 20


DoS attaque
 Cette catégorie d'attaques entraîne l'indisponibilité d’un service/serveur/réseau
pour les utilisateurs légitimes et est donc également appelée attaque DoS (Denial of
Service).
Par exemple, prenons un scénario d'attaque : un attaquant peut envoyer plusieurs
demandes de service soit pour s'enregistrer auprès de l'entreprise, soit pour accéder
à l'une des instances de service valides exécutées dans l'entreprise.
Dans ce cas, le serveur d'administration sera inondé de nombreuses demandes de
service et ne parviendra pas à fournir des services à d'autres clients/utilisateurs
légitimes.

L'IA POUR LA CYBER SÉCURITÉ 21


DoS attaque

L'IA POUR LA CYBER SÉCURITÉ 22


DoS attaque
 DoS attaque est un attaque qui viole la disponibilité des données ou des services.
 Dans ce type d’attaque, il y a 3 étapes :
1. La première étape l’attaqueur commence par envoyer des commandes pour
contrôler à un ensemble de machine infectés appelé Botnet.
2. La deuxième étape l’attaqueur va lancer une attaque depuis le botnet vers le
serveur victime.
3. La troisième étape : le traffic d’attaque va émerger le serveur en le rendant
incapable de répondre aux requêtes légitimes.

L'IA POUR LA CYBER SÉCURITÉ 23


Variantes des attaques DoS
Nom Description de l’attaque Attack feature
Land Un attaquant envoie un paquet SYN imité dans L'attaque peut être détectée en considérant l’attribut
lequel l'adresse source est la même que celle "Land". Si la valeur de "Land" est 1, cela signifie que
de l’adresse de destination. Il est efficace dans l'adresse source et destination sont identiques.
certains TCP/IP implémentations. Par conséquent, cette caractéristique est la plus
importante pour reconnaître cet attaque.
Teardrop L'attaquant essaie d'envoyer le paquets L’attribut « wrong fragment » qui est la somme
fragmenté vers une machine cible. Il définit le erronée des paquets de checksum dans une
décalage du fragment de manière à ce que les connexion fournit un indice sur les paquets IP
paquets suivants se chevauchent entre eux. malformés.
Smurf L'attaquant envoie un grand nombre d'ICMP Cette attaque peut être facilement détectée dans la
messages d'écho à une adresse IP de diffusion machine victime en regardant le grand nombre de
avec l'adresse usurpée de la machine de la paquets d'écho ICMP réponse à la machine victime
victime comme adresse IP source. sans pourtant que la machine victime à envoyer des
requêtes d’écho ICMP.
L'IA POUR LA CYBER SÉCURITÉ 24
Variantes des attaques DoS (suite)
Nom Description de l’attaque Attack feature
Ping of Il est causé par un attaquant envoyant un L’attribut "Dst bytes’" (nombre total d'octets reçus) et
Death (PoD) paquet IP supérieur aux 65 536 octets autorisés "Duration" dans une connexion peuvent être utiles
par le protocole IP. Cela provoque le plantage pour fournir des indices sur l'attaque PoD, c-à-d en
ou le gel du système. Beaucoup d’OS sont comparant le nombre total d'octets reçus dans une
vulnérables à cette attaque. courte durée avec une certaine valeur seuil (65 535)
Mailbomb Les utilisateurs non autorisés envoient un Les attributs tels que 'Destination IP', 'Dst bytes'
grand nombre d'e-mails avec des pièces jointes (nombre total d'octets reçus), 'Service' (SMTP/MIME)
volumineuses à un serveur de messagerie et 'Dst host same src port rate' (pourcentage de
particulier, remplissant l'espace disque, ce qui connexions au même port et à la même destination
entraîne le refus des services de messagerie IP adresse) sont des caractéristiques importantes
aux autres utilisateurs. pour détecter cet attaque.

L'IA POUR LA CYBER SÉCURITÉ 25


Variantes des attaques DoS (suite)
Nom Description de l’attaque Attack feature
SYN Flood Un attaquant envoie la requête SYN à la 'Duration', 'Flag' (S0 : 'Initialement SYN reçu sans
machine victime. suite), 'Dst host count' (pourcentage de connexion à
La victime répond par ACK et attend la la même machine victime) sont très importants pour
réponse. Le serveur ajoute les informations de reconnaître cette attaque . Par conséquent, il est utile
chaque connexion semi-ouverte dans la file de noter les connexions qui lèvent l'indicateur SYN
d'attente des connexions en attente. Les sans connexion établie dans un court laps de temps.
connexions semi-ouvertes sur le système du
serveur victime finiront par remplir la file
d'attente et le système sera incapable
d'accepter tout nouveau connexion entrant

L'IA POUR LA CYBER SÉCURITÉ 26


Datasets publique pour l’analyse du
traffic réseau (IDS)

L'IA POUR LA CYBER SÉCURITÉ 27


Dataset pour la cyber-sécurité
Name Description Classes

KDD’99 dataset Classification des attaques Denial of Service (DoS) attaques, Scanning
d’intrusion dans 4 categories attaques (Probe) and Remote to Local (R2L)
basées sur 41 attributes attaques and User to Root (U2R) attaques
NSL-KDD Version améliorée de KDD’99 Même classe utilisée dans KDD’99 dataset
basées sur 42 attributes
UNSW-NB Classification des attaques Fuzzer, Analysis, Reconnaissance,
d’intrusion dans 9 categories ShellCode, Worm, Generic, DoS, Exploit
basées sur 43 attributes and Generic
TON_IoT 35975 instances, 127 attributes et DoS, DDoS, injection, MitM,
7 classes brute force, XSS et scanning attaques
CIC-IDS2017 2830540 instances, 83 attributes BENIGN, Bot, DDoS, DoS GoldenEye, DoS
et 15 classes Hulk, DoS Slowhttptest, PortScan, Sql
Injection, Brute Force
L'IA POUR LA CYBER SÉCURITÉ 28
KDD’99 Dataset
Classes Description Example d’attaque

Probing attaques Attaques de collecte d'informations Port-Sweep, Nmap, Mscan

Remote to Local (R2L) Accès local non autorisé à partir d’une Buffer-overflow, SQL-attack,
attaques machine distante Rootkit

User to Root (U2R) L'accès non autorisé au super- Worm, SNMP-guess, Guess-
attaques utilisateur local ou root password

Denial of Service (DoS) Une tentative de rendre une machine Smurf, Land, Mail-Bombe
attaques ou un service indisponible pour son
utilisateur légitime

L'IA POUR LA CYBER SÉCURITÉ 29


KDD’99 dataset intrinsec +content
features

L'IA POUR LA CYBER SÉCURITÉ 30


KDD’99 dataset time based features

L'IA POUR LA CYBER SÉCURITÉ 31


KDD’99 host based features

L'IA POUR LA CYBER SÉCURITÉ 32


KDD’99 dataset

L'IA POUR LA CYBER SÉCURITÉ 33


From KDD’99 dataset to NSL-KDD datset

 La nature de l’ensemble de données KDD CUP 99 Données d'entraînement brutes KDD Cup 99 : 4
Go de données de TCP dump binaires compressées.
 Collecté à partir de 7 semaines de trafic réseau.
 Transformé en enregistrements de connexion 5/000/000.
 Chaque enregistrement de connexion comprend environ 100 octets. Se compose de 41 attributs et
24 types d'attaques, 1 classe normal et 4 classes d’attaques.

L'IA POUR LA CYBER SÉCURITÉ 34


NSL-KDD Dataset

L'IA POUR LA CYBER SÉCURITÉ 35


NSL-KDD Dataset

L'IA POUR LA CYBER SÉCURITÉ 36


Description de l’attribut Flag

L'IA POUR LA CYBER SÉCURITÉ 37


NSL-KDD
(Attribut protocol type, service et flag)
Label Flag
1 OTH (autre)
2 S1
3 S2
Label Protocol 4 RSTOS0
1 ICMP 5 RSTRs
2 TCP 6 RSTO
3 UDP 7 SF
8 SH
9 REJ
10 S0
11 S3

L'IA POUR LA CYBER SÉCURITÉ 38


Exemple de scanning attaque dans NSL-
KDD (Ipsweep)
7,1,20,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,0,0,1,1,1,0,0,160,87,0.52,0.14,0.25,0.02,0,0,0.25,0.02,4
ICMP ftp
7,1,20,5,0,0,0,0,0, 1-9 intrinsec features
Flag=5(RSTR)

0,0,0,0,0,0,0,0,0,0,0,0,0 10-22 content features

2,2,0,0,1,1,1,0,0, 23-31 time based features


160,87,0.52,0.14,0.25,0.02,0,0,0.25,0.02 32-41 host based features
Dst host same srv rate
4 Scanning label

L'IA POUR LA CYBER SÉCURITÉ 39


Exemple de R2L attaque dans NSL-KDD
0,1,20,2,334,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,1,0,0,5,27,1,0,1,0.07,0,0,0,0,3
ICMP ftp
0,1,20,2,334,0,0,0,0, 1-9 intrinsec features
Flag=2(S1) Num file creation
0,0,0,0,0,0,0,0,0,0,0,0,0, 10-22 content features
1,1,0,0,0,0,1,0,0 23-31 time based features

Dst host count


5,27,1,0,1,0.07,0,0,0,0, 32-41 host based features

Dst host srv count


3 R2L label

L'IA POUR LA CYBER SÉCURITÉ 40


Exemple de U2R attaque dans NSL-KDD
176,1,61,2,1559,2732,0,0,0,3,0,1,4,1,0,0,1,0,0,0,0,0,1,1,0,0,0,0,1,0,0,8,8,1,0,0.12,0,0,0,0.12,0.12,2
ICMP telnet
176,1,61,2,1559,2732,0,0,0 1-9 intrinsec features
Flag=2(S1) Num file creations
3,0,1,4,1,0,0,1,0,0,0,0,0, 10-22 content features
Root shell
1,1,0,0,0,0,1,0,0 23-31 time based features

8,8,1,0,0.12,0,0,0,0.12,0.12, 32-41 host based features


2 U2R label

L'IA POUR LA CYBER SÉCURITÉ 41


Exemple de DoS attaque dans NSL-KDD
(SYN flood)
0,1,50,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,123,6,1,1,0,0,0.05,0.07,0,255,26,0.1,0.05,0,0,1,1,0,0,1
ICMP private
0,1,50,4,0,0,0,0,0, 1-9 intrinsec features
Flag=4(RSTOS0)
0,0,0,0,0,0,0,0,0,0,0,0,0, 10-22 content features
123,6,1,1,0,0,0.05,0.07,0 23-31 time based features
% des connexion avec des erreurs de SYN
255,26,0.1,0.05,0,0,1,1,0,0, 32-41 host based features

Nbre de connexion qui ont le même hôte de destination


1 DoS label

L'IA POUR LA CYBER SÉCURITÉ 42


Exemple d’activité normale
0,1,25,2,249,3323,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,1,0,0,19,19,1,0,0.05,0,0,0,0,0,5
ICMP http
0,1,25,2,249,3323,0,0,0, 1-9 intrinsec features

Flag=2(S1)
0,0,1,0,0,0,0,0,0,0,0,0,0, 10-22 content features

6,6,0,0,0,0,1,0,0, 23-31 time based features

19,19,1,0,0.05,0,0,0,0,0, 32-41 host based features

5 normal label

L'IA POUR LA CYBER SÉCURITÉ 43


Répartition des instances entres les
classes

L'IA POUR LA CYBER SÉCURITÉ 44


NSL-KDD Training Dataset

L'IA POUR LA CYBER SÉCURITÉ 45


NSL-KDD Testing Dataset

L'IA POUR LA CYBER SÉCURITÉ 46


Travail pour le TP
1. Ouvrir les jeux de données de training et de test de NSL-KDD dataset (fichier CSV)
2. Déterminer le nombre d’attributs de NSL-KDD
3. Donner le nombre d’instance de fichier de training de NSL-KDD
4. Donner le nombre d’instance de fichier test de NSL-KDD
5. Donner le pourcentage du nombre d’instance de fichier de test comparé au nombre
d’instance de fichier de training de NSL-KDD
6. Installer WEKA.

L'IA POUR LA CYBER SÉCURITÉ 47


References
1. P. Mishra, V. Varadharajan, U. Tupakula and E. S. Pilli, "A Detailed Investigation and Analysis
of Using Machine Learning Techniques for Intrusion Detection," in IEEE Communications
Surveys & Tutorials, vol. 21, no. 1, pp. 686-728, Firstquarter 2019, doi:
10.1109/COMST.2018.2847722.
2. K. Veeramachaneni, I. Arnaldo, V. Korrapati, C. Bassias and K. Li, "AI^2: Training a Big Data
Machine to Defend," 2016 IEEE 2nd International Conference on Big Data Security on Cloud
(BigDataSecurity), IEEE International Conference on High Performance and Smart Computing
(HPSC), and IEEE International Conference on Intelligent Data and Security (IDS), 2016, pp.
49-54, doi: 10.1109/BigDataSecurity-HPSC-IDS.2016.79.
3. https://www.unb.ca/cic/datasets/nsl.html (NSL-KDD dataset)
4. https://towardsdatascience.com/a-deeper-dive-into-the-nsl-kdd-data-set-15c753364657
5. https://fadeevab.com/ai-and-machine-learning-in-cybersecurity-simply-explained/

L'IA POUR LA CYBER SÉCURITÉ 48

Vous aimerez peut-être aussi