Seguretat del software Codi:  M1.774    Crèdits:  6
Consulta de les dades generals   Descripció   L'assignatura en el conjunt del pla d'estudis   Camps professionals en què es projecta   Coneixements previs   Objectius i competències   Continguts   Consulta dels recursos d'aprenentatge de la UOC per a l'assignatura   Metodologia   Informació sobre l'avaluació a la UOC   Consulta del model d'avaluació   Avaluació continuada  
Aquest és el pla docent de l'assignatura per al segon semestre del curs 2023-2024. Podeu consultar si l'assignatura s'ofereix aquest semestre a l'espai del campus Més UOC / La universitat / Plans d'estudis). Un cop comenci la docència, heu de consultar-lo a l'aula. El pla docent pot estar subjecte a canvis.
Es tracta d'una assignatura que no ensenya a programar, sinó que, d'una banda, mostra la necessitat d'emprar tècniques segures per tal de no crear vulnerabilitats fàcilment aprofitables pels hackers i, de l'altra, descriu les tècniques de programació existents per tal de realitzar un programari segur. I per acabar es veuen les tècniques de reversing del programari més utilitzades. Així doncs, l'assignatura és fonamentalment pràctica, a partir de la qual els estudiants hauran de recrear situacions de vulnerabilitat i  proposar solucions per tal d'evitar-les.

  • Es mostren els coneixements bàsics per entendre on es produeixen les vulnerabilitats dels programes informàtics. 
  • Es veu com modificar el comportament d'un executable a partir de la modificació del fitxer binari mitjançant les eines adequades.
  • Es mostren les tècniques que s'han de tenir en compte a l'hora de dissenyar i implementar les aplicacions per no tenir vulnerabilitats.
  • Es veuen eines de reversing, tant per programari de PC com de dispositius mòbils.

Amunt

L'assignatura de Seguretat en el Programari es desenvolupa en el pla d'estudis del Màster Universitari en Ciberseguretat i Privadesa,  té una durada semestral i consta d'un total de 6 crèdits acadèmics ECTS.

ECTS és la sigla d'European credit transfer system ('sistema europeu de transferència de crèdits'). L'ECTS se centra en l'activitat de l'estudiant i es basa en la càrrega de treball necessària per a assolir els objectius d'un programa. Un crèdit ECTS equival a 25 hores.

Així doncs, la dedicació prevista a l'assignatura és de 150 hores.

Amunt

Programadors d'aplicacions informàtiques, dissenyadors i analistes d'aplicacions, caps de projectes, caps de departament d'informàtica, auditors de seguretat, tant interns com externs.

Alguns exemples del tipus de destinataris o de sortides professionals són:

  • Cap de projectes de seguretat TIC
Professional responsable del disseny, el desenvolupament i l'adequació de controls de seguretat informàtica.
  • Expert en el desenvolupament d'aplicacions i serveis web segurs
Responsable del disseny i la programació de controls de seguretat (control d'accés, funcions criptogràfiques, filtres, bitàcoles de seguretat d'aplicacions, etc.); anàlisi d'aplicacions robustes a vulnerabilitats de seguretat; preparació de llibreries amb funcions de seguretat per al seu ús per part de l'àrea de desenvolupament de sistemes; suport de seguretat per a l'àrea de desenvolupament de sistemes; consultoria de desenvolupaments segurs (integració de seguretat en aplicacions desenvolupades per sistemes).

  • Especialista en sistemes de registre web i control d'accés
Analista/programador de serveis de registre i federació d'identitats.
 
  • Consultor de projectes d'administració electrònica.
Responsable de l'anàlisi, el disseny i la programació de projectes de l'administració electrònica.

  • Consultor de comerç i banca electrònica.
Responsable de l'anàlisi, el disseny i la programació de projectes de banca i transaccions comercials electròniques.



Amunt

No són necessaris coneixements previs, tot i així cal tenir en compte que els continguts d'aquesta assignatura estan relacionats en el desenvolupament de programari, tant en entorn d'escriptori com en entorn web.

Els coneixements relacionats per a la realització d'aquest curs són els propis dels estudis d'Enginyeria Tècnica en Informàtica, Enginyeria Informàtica, Grau d'informàtica, Grau de Multimèdia, Grau de les tecnologies de Telecomunicació i Enginyeria en Telecomunicacions.

Als estudiants que tinguin un títol universitari en altres branques d'Enginyeria i Arquitectura o en la branca de Ciències en les àrees de Matemàtiques, Física o Estadística, els coneixements en desenvolupament de programari els ajudaran a l'assoliment de l'assignatura.

Amunt

Objectius

L'assignatura està estructurada al voltant de continguts i activitats que permetran als estudiants assolir els objectius següents al llarg de la durada del període formatiu:

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

Competències

L'assignatura està estructurada al voltant de continguts i activitats que permetran als estudiants adquirir les següents competències específiques de l'assignatura i les transversals de la universitat.

Competències específiques

  • Conèixer els tipus i consequències de les vulnerabilitats i dels exploits
  • Ús de les bases de dades d'exploits
  • Utilitzar les eines de sistemes d'explotació
  • Conèixer les metodologies en el disseny d'aplicacions segures
  • Aplicació dels tests de seguretat
  • Aplicació de les bones pràctiques en el desenvolupament de programari segur
  • Diferenciar les parts de codi segur i el de no segur
  • Conèixer per què, com, quan un codi pot ser o no segur
  • Conèixer les conseqüències del codi no segur
  • Conèixer les tècniques i tàctiques dels hackers

Competències transversals

Les competències transversals s'inclouen en totes les titulacions de la Universitat Oberta de Catalunya, les quals constitueixen un element distintiu de tot graduat UOC.

  • Comunicar, intercanviar i construir coneixement en un entorn virtual en el marc d'una comunitat d'aprenentatge
  • Col·laborar, compartir i publicar informació relativa a la seguretat dels sistemes informàtics
  • Debatre i compartir les experiències pròpies en l'àmbit de la seguretat
  • Capacitat de comunicar informació tècnica i especialitzada de forma clara.
  • Ús de l'anglès en l'àmbit de les TIC.
  • Capacitat per a actualitzar les competències professionals, aconseguint una adaptació contínua en l'àmbit de la seguretat en de les tecnologies de la informació tant en el present com en el futur.
  • Capacitat per a detectar i resoldre problemes de seguretat en la programació
  • Capacitat d'anàlisi en l'àmbit de la seguretat
  • Iniciativa emprenedora

Amunt



    Mòdul 1 Exploits
        Bugs
        Vulnerabilitats
        Bases de dades de vulnerabilitats
        Exploits
        Tipus d'exploits
        Sistemes d'explotació
        El mercat dels exploits

    Mòdul 2 Eines
        Depuradors
        Compiladors

    Mòdul 3 Disseny d'aplicacions segures
        Cicle de vida del desenvolupament de programari segur
        Avaluació de riscos
        Modelatge d'amenaces
        Tècniques de seguretat

    Mòdul 4 Testing i bones pràctiques
        Test de seguretat
        Revisió de codi segur
        Bones pràctiques

    Mòdul 5 Codi segur
        Integer overflow
        Desbordament de pila (stack overflow)
        Desbordament de heap
        Funcions vulnerables

    Mòdul 6 Shellcodes
        Escriptura de shellcodes
        Shellcodes per entrada estàndard
        Shellcodes alfanumèrics
        Un exemple de shellcode
        Adreça de la funció per cridar
        El shellcode en assemblador
        El shellcode en binari
        L'exploit amb el shellcode

Amunt

Material Suport

Amunt

El curs es realitza de forma on-line, per la qual cosa, tant la comunicació amb l'alumnat com el desenvolupament íntegre de l'assignatura es fa des de l'aula virtual.

L'alumnat disposa d'un entorn estructurat en diversos blocs des dels quals pot accedir a la documentació de referència, els enunciats de les activitats a realitzar i als materials i recursos disponibles, així com a les àrees de debat, als fòrums i a tot allò necessari per al desenvolupament del curs.

Cal tenir en compte que algunes de les activitats es basen en treballs que s'han de realitzar fent ús d'eines web 2.0 assequibles i gratuïtes per tal d'afavorir el treball col·laboratiu i la construcció de coneixement.

L'entorn d'aprenentatge de la UOC és l'eLearning i en el model educatiu constructivista que s'aplica, les activitats d'aprenentatge són l'element clau del model educatiu de la UOC, el nucli al voltant del qual s'organitza la docència i es dóna sentit a l'aprenentatge dels estudiants: els recursos d'aprenentatge, la col·laboració i l'acompanyament.

En aquest model constructivista de forma resumida es poden anomenar els següents rols de l'estudiant i del docent:

  • Estudiant
  • Aprenentatge centrat en l'alumne, aprendre fent i construint, resolució de problemes, simulació de supòsits pràctics.
  • Compromís actiu, responsable del seu propi aprenentatge
  • Col·laboratiu, participació en grups
  • Constructor del coneixement
  • Interacció entre els companys, cooperació
  • Intercanvi de idees, opinions
  • Docent
  • Acompanya l'estudiant
  • Comparteix experiències
  • Facilita coneixement
  • Dinamitza, impulsa i incentiva

Amunt

El procés d'avaluació es fonamenta en el treball personal de l'estudiant i pressuposa l'autenticitat de l'autoria i l'originalitat dels exercicis realitzats.

La manca d'autenticitat en l'autoria o d'originalitat de les proves d'avaluació; la còpia o el plagi; l'intent fraudulent d'obtenir un resultat acadèmic millor; la col·laboració, l'encobriment o l'afavoriment de la còpia, o la utilització de material o dispositius no autoritzats durant l'avaluació, entre d'altres, són conductes irregulars que poden tenir conseqüències acadèmiques i disciplinàries greus.

D'una banda, si es detecta alguna d'aquestes conductes irregulars, pot comportar el suspens (D/0) en les activitats avaluables que es defineixin en el pla docent - incloses les proves finals - o en la qualificació final de l'assignatura, sigui perquè s'han utilitzat materials o dispositius no autoritzats durant les proves, com ara xarxes socials o cercadors d'informació a internet, perquè s'han copiat fragments de text d'una font externa (internet, apunts, llibres, articles, treballs o proves d'altres estudiants, etc.) sense la citació corresponent, o perquè s'ha practicat qualsevol altra conducta irregular.

De l'altra, i d'acord amb les normatives acadèmiques, les conductes irregulars en l'avaluació, a més de comportar el suspens de l'assignatura, poden donar lloc a la incoació d'un procediment disciplinari i a l'aplicació, si escau, de la sanció que correspongui.

La UOC es reserva la potestat de sol·licitar a l'estudiant que s'identifiqui o que acrediti l'autoria del seu treball al llarg de tot el procés d'avaluació pels mitjans que estableixi la Universitat (síncrons o asíncrons). A aquests efectes, la UOC pot exigir a l'estudiant l'ús d'un micròfon, una càmera o altres eines durant l'avaluació i que s'asseguri que funcionen correctament.

La verificació dels coneixements per garantir l'autoria de la prova no implicarà en cap cas una segona avaluació.

Amunt

Aquesta assignatura només es pot superar a partir de l'avaluació contínua (AC), nota que es combina amb una nota de pràctiques (Pr) per a obtenir la nota final de l'assignatura. No es preveu fer cap prova d'avaluació final. La fórmula d'acreditació de l'assignatura és la següent: AC + Pr.


Ponderació de les qualificacions

Opció per superar l'assignatura: AC + Pr

Nota final d'assignatura = Final Continuada (FC)= AC+Pr

AC = 50%

Pr = 50%

Notes mínimes:

· Pr = 5

· AC = 5

En cas de no assolir la nota mínima a la Pr, la nota obtinguda en la fórmula correspon a l'obtinguda a la Pr, o el que indiqui el model d'avaluació.

Amunt

L'avaluació contínua (també anomenada avaluació formativa) és l'eix fonamental del model educatiu de la UOC i és la que s'aplica en l'assignatura de Seguretat en el Programari.

L'avaluació contínua (AC) consisteix en la realització i superació d'un seguit de proves d'avaluació contínua (PAC) establertes en el pla d'aprenentatge de l'assignatura.

El procés d'avaluació es realitza al llarg del desenvolupament de l'assignatura i d'aquí la importància d'anar acompanyant el desenvolupament de les activitats de manera sostinguda i amb un alt grau d'implicació personal i amb el grup.

La finalitat de l'avaluació serà formativa i contínua, i amb això es pretén valorar el progrés de l'estudiant des del punt de vista del seu procés d'aprenentatge.

L'avaluació s'encarregarà de donar informació, a les dues parts, sobre el procés d'aprenentatge de l'alumnat. Per determinar les activitats d'avaluació cal tenir en compte tres factors. Per un costat l'autenticitat, és a dir, que les activitats d'avaluació siguin reals; que creïn una interactivitat entre el professorat i l'alumnat; que siguin multidimensionals on s'integrin coneixements, destreses i diferents habilitats; i, per tant, que es tracti d'una experiència no només avaluadora, sinó també d'una experiència útil i significativa.

Hem de tenir en compte que el procés avaluatiu de l'assignatura té una intenció formativa, és a dir, ensenyar, aprendre i avaluar formen part del mateix procés.

El docent durà a terme un seguiment constant de totes les activitats que l'alumnat vagi confeccionant dins el marc de l'aprenentatge, tenint en compte, en tot moment, el seguiment d'un model constructivista centrat en l'alumne.

L'avaluació estarà repartida en activitats (PACS) i una pràctica de forma que el seguiment i qualificació final serà el resultat de la realització correcta d'aquestes activitats.

Cada prova d'avaluació consta de diversos tipus d'activitats: resolució de qüestions teòriques i supòsits pràctics, així com activitats col·laboratives ja sigui en format de debat, blogs, wiki, etc. A més a més, en cada una de les proves d'avaluació s'especifica per a cada activitat el pes que suposa en la qualificació global de la prova.

En general s'aplicaran dos tipus de criteris d'avaluació en funció del tipus d'activitat: col·laboratives o proves escrites.

Proves escrites

En aquest tipus de proves l'estudiant ha de mostrar les competències adquirides mitjançant el treball personal.

Es valora que l'estudiant processi correctament la informació manejada, que sistematitzi els coneixements adquirits, que apliqui els coneixements a la solució de situacions de caràcter professional, que mostri competències de reflexió i de síntesi i que sigui capaç de comunicar idees i d'elaborar conclusions. També es valora la presentació, la capacitat resolució, d'anàlisi i de recerca.

Activitats col·laboratives

Per a aquest tipus d'activitats (participació en wikispace, debats, blogs, etc) es tindran en compte la rellevància del contingut de les aportacions i el grau de participació.

La superació de l'assignatura serà sempre i únicament per Avaluació continuada. Tots els exercicis són obligatoris i no hi haurà recuperació final.

Amunt