2021/2022
Seguretat i Vulnerabilitat del Programari
Codi: 104376
Crèdits: 6
Titulació |
Tipus |
Curs |
Semestre |
2503758 Enginyeria de Dades |
OT |
4 |
0 |
La metodologia docent i l'avaluació proposades a la guia poden experimentar alguna modificació en funció de les restriccions a la presencialitat que imposin les autoritats sanitàries.
Utilització d'idiomes a l'assignatura
- Llengua vehicular majoritària:
- espanyol (spa)
- Grup íntegre en anglès:
- No
- Grup íntegre en català:
- No
- Grup íntegre en espanyol:
- Sí
Prerequisits
Domini d'algun llenguatge de programació: Java, Python o C/C++.
Objectius
L'alumne aprendrà sobre la seguretat del software durant totes les etapes del cicle de desenvolupament de programari (SDLC): Metodologies per al disseny de programació segura, tècniques de programació segura, metodologies d'avaluació de vulnerabilitats en profunditat (auditoria de programari), eines d'anàlisi de codi estàtic i dinàmic per detectar vulnerabilitats i defenses del sistema per reduir amenaces de seguretat.
Competències
- Concebre, dissenyar i implementar sistemes d’emmagatzematge de dades de forma eficient i segura.
- Prevenir i solucionar problemes, adaptar-se a situacions imprevistes i prendre decisions.
- Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia.
- Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes destacats d'índole social, científica o ètica.
- Treballar cooperativament, en entorns complexos o incerts i amb recursos limitats, en un context multidisciplinari, assumint i respectant el rol dels diferents membres de l’equip.
Resultats d'aprenentatge
- Estudiar les adaptacions que es fan als algoritmes d'anàlisi i consulta de dades perquè preservin la privadesa de les dades d'entrada, dels models apresos o de les sortides dels models utilitzats en l'àmbit de la intel·ligència empresarial.
- Prevenir i solucionar problemes, adaptar-se a situacions imprevistes i prendre decisions.
- Que els estudiants hagin desenvolupat aquelles habilitats d'aprenentatge necessàries per emprendre estudis posteriors amb un alt grau d'autonomia.
- Que els estudiants tinguin la capacitat de reunir i interpretar dades rellevants (normalment dins de la seva àrea d'estudi) per emetre judicis que incloguin una reflexió sobre temes destacats d'índole social, científica o ètica.
- Treballar cooperativament, en entorns complexos o incerts i amb recursos limitats, en un context multidisciplinari, assumint i respectant el rol dels diferents membres de l’equip.
Continguts
1. Introducció i terminologia bàsica.
2. Pensar com un atacant.
3. Programació segura:
3.1. Desbordament de buffers.
3.2. Errors numèrics.
3.3. Serialització.
3.4. Excepcions.
3.5. Atacs d'injecció.
3.5.1.Injeccion SQL.
3.5.2. Injecció d'ordres.
3.5.3. Injescció XML.
3.5.4. Injecció de codi.
3.6. Travessia del directoris.
3.7. Atacs Web.
3.7.1. XSS
3.7.2. CSRF.
3.7.3. Gestió de sessions.
3.7.4. Redireccions.
3.8. Seguretat en dispositius mòbils.
4. Disseny segur. Modelització de riscos.
5. Detecció de vulnerabilitats. Metodologia FPVA.
6. Eines de detecció de vulnerabilitats.
7. Fuzz testing.
Metodologia
Hi ha 4 hores de docència setmanals, dividides en 2 sessions de 2 hores. Durant cada sessió s'exposarà un tema teòric i es realitzaran exercicis pràctics relacionats amb el tema exposat. Això requereix que els estudiants tinguin el seu propi portàtil. El contingut de cada classe es detallarà en el programa que estarà disponible al campus virtual abans del primer dia de classe.
Nota: es reservaran 15 minuts d'una classe, dins del calendari establert pel centre/titulació, per a la complementació per part de l'alumnat de les enquestes d'avaluació de l'actuació del professorat i d'avaluació de l'assignatura/mòdul.
Avaluació
Hi haurà 2 o 3 proves escrites durant el semestre. Aquestes proves tindran un pes del 60% del total de la qualificació de l'assignatura.
Cada tema tindrà un exercici pràctic. Associat a cada exercici l'alumne haurà de presentar una petita memòria. El pes d'aquests exercicis és del 40%
Activitats d'avaluació
Títol |
Pes |
Hores |
ECTS |
Resultats d'aprenentatge |
2 o 3 controls de teoria |
60% |
3
|
0,12 |
1, 2, 3, 4, 5
|
Exercisis de practiques |
40% |
3
|
0,12 |
1, 2, 3, 4, 5
|
Programari
Els estudiants rebran una imatge de VirualBox que contindrà tot el programari necessari per realitzar la majoria d'exercicis de l'assignatura. Aquest programari inclou llenguatges de programació i múltiples eines. Els estudiants hauran de descarregar i instal·lar Android Studio per programar dispositius mòbils. També hauran de descarregar-se l'eina Microsoft Thread Modeling Tool.