Programación de código seguro Código:  M1.707    :  6
Consulta de los datos generales   Descripción   Objetivos y competencias   Contenidos   Consulta de los materiales de los que dispone la asignatura   Informaciones sobre la evaluación a la UOC   Consulta del modelo de evaluación  
Este es el plan docente de la asignatura para el segundo semestre del curso 2023-2024. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios.

En aqueta assignatura es mostren els coneixements bàsics per entendre on es produeixen les vulnerabilitats dels programes.

Es mostra com modificar el comportamient d'un executable a partir de la modificació del fitxer binari mitjançant les eines adequades.

I es finalitza amb les tècniques que s'han de fer servir a l'hora de disenyar i implementar les aplicacions per a no tenir vulnerabilitat.

Amunt


L'assignatura té els objectius següents:

   * Comprendre on i perquè existeixen vulnerabilitats en el programari. 
   * Saber modificar el comportament d'un fitxer executable 
   * Utilitzar les eines d'anàlisis de codi executable. 
   * Saber com protegir-se d'aquestes vulnerabilitats


Amunt

Mòdul didàctic 1 
Introducció 



Mòdul didàctic 2 
Gestió de memòria 

* Ordre d'escriptura de bits i bytes en memòria 
* Segments 
* Registres bàsics per a l'execució de programes 
* Utilització de la pila 



Mòdul didàctic 3 
Conceptes bàsics de llenguatge màquina 

* Tipus de nomenclatures 
* Operacions i operandos en ensamblador 
* Direccionament i operands 
* Instruccions bàsiques 
* Desensamblant  un petit programa 



Mòdul didàctic 4 
Execució de processos 

* Codi 
* Àrea de dades dinàmiques (heap) 
* Àrea de dades estàtiques (bss) 
* Pila 
* Espai d'usuari i espai de sistema 



Mòdul didàctic 5 
Eines 

* Debuggers 
* Compiladors / Llenguatges 



Mòdul didàctic 6 
Exploits remots i locals 

* Exploits Remots 
* Exploits Locals 
* Manteniment actualitzat del programari 



Mòdul didàctic 7 
Alteracions bàsiques 

* Integer Overflow 
* Stack Overflow 



Mòdul didàctic 8 
Heap overflow 

* El heap 



Mòdul didàctic 9 
Shellcodes 

* Escriptura de Shellcodes 
* Shellcodes per entrada estàndard 
* Shellcodes alfanumèriques 
* Un exemple de Shellcode 
* Adreça de la funció a cridar 
* La shellcode en ensamblador 
* La shellcode en binari 
* El exploit amb la shellcode 



Mòdul didàctic 10 
Escalada de privilegis 

* Linux 
* Windows



Mòdul didàctic 11 
Mecanismes de protecció per a memòria del sistema 

* Eines d'anàlisi estàtica de codi FxCod 
* Optimitzacions del compilador. StackSmashing Protection(/GS) 
* Evitar l'optimitzacions del compilador (/GS)
* DEP. (Data Execution Prevention) 



Mòdul didàctic 12 
Programació segura d'aplicacions web 

* Introducció 
* SQL Injection. Injeccions en bases de dades 
* Cross Site Scripting (XSS) 
* Fallades en autenticació i gestió de sessions 
* Referències insegures directes a objectes 
* Cross Site Request Forgery (CSRF) 
* Restriccions incorrectes a l'accés a URL 
* Redireccions i reenviaments no validats 
* Emmagatzematge criptogràfic insegur 
* Protecció insuficient en la capa de transport 
* Prevenció de vulnerabilitats LFI i RFI 
* Seguretat en el navegador 
* Maneig incorrecte d'errors 



Mòdul didàctic 13 
Programació segura d'aplicacions locals 

* Introducció 
* Funcionament de la pila 
* Prevenció de desbordaments de buffer: stack i heap 
* Prevenció de vulnerabilitats en les cadenes de format 
* Prevenció de condicions de carrera 
* Programació amb mínims privilegis 


Amunt

Amunt

La Normativa académica de la UOC dispone que el proceso de evaluación se fundamenta en el trabajo personal del estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados.

La falta de originalidad en la autoría o el mal uso de las condiciones en las que se hace la evaluación de la asignatura es una infracción que puede tener consecuencias académicas graves.

El estudiante será calificado con un suspenso (D/0) si se detecta falta de originalidad en la autoría de alguna actividad evaluable (práctica, prueba de evaluación continua (PEC) o final (PEF), o la que se defina en el plan docente), ya sea porque ha utilizado material o dispositivos no autorizados, ya sea porque ha copiado de forma textual de internet, o ha copiado de apuntes, de materiales, manuales o artículos (sin la citación correspondiente) o de otro estudiante, o por cualquier otra conducta irregular.

La calificación de suspenso (D/0) en la evaluación continua (EC) puede conllevar la obligación de hacer el examen presencial para superar la asignatura (si hay examen y si superarlo es suficiente para superar la asignatura según indique este plan docente).

Cuando esta mala conducta se produzca durante la realización de las pruebas de evaluación finales presenciales, el estudiante puede ser expulsado del aula, y el examinador hará constar todos los elementos y la información relativos al caso.

Además, esta conducta puede dar lugar a la incoación de un procedimiento disciplinario y la aplicación, si procede, de la sanción que corresponda.

La UOC habilitará los mecanismos que considere oportunos para velar por la calidad de sus titulaciones y garantizar la excelencia y la calidad de su modelo educativo.

Amunt

La fórmula de acreditación de la asignatura es la siguiente: (EC+Pr) o EX Vir.

 
 

Amunt