Software, copyright, licenze e distribuzione

Software Libero e Open Source

Le licenze, la diffusione, la distribuzione e la commercializzazione del software e i principi che le regolano

In informatica, open source non significa gratis ma è un termine inglese che significa codice sorgente aperto. Indica un software i cui autori (più precisamente i detentori dei diritti) ne permettono, anzi ne favoriscono il libero studio e l’apporto di modifiche da parte di altri programmatori indipendenti. Questo è realizzato mediante l’applicazione di apposite licenze d’uso. L’open source ha tratto grande beneficio da Internet, perché esso permette a programmatori geograficamente distanti di coordinarsi e lavorare allo stesso progetto. I software open source attualmente più diffusi sono Firefox, VLC, Gimp, 7- Zip, oltre ad un gran numero di progetti rivolti non all’utente finale ma ad altri programmatori. Sono inoltre degne di nota le famiglie di sistemi operativi BSD, GNU, Android e il kernel Linux i cui autori e fautori hanno contribuito in modo fondamentale alla nascita del movimento. La comunità open source è molto attiva, comprende decine di migliaia di progetti, numero tendenzialmente in crescita.
Alla filosofia del movimento open source si ispira il movimento open content (contenuti aperti): in questo caso ad essere liberamente disponibile non è il codice sorgente di un software ma contenuti editoriali quali testi, immagini, video e musica. Wikipedia è un chiaro esempio dei frutti di questo movimento. Attualmente l’open source tende ad assumere rilievo filosofico, consistendo di una nuova concezione della vita, aperta e refrattaria ad ogni oscurantismo, che l’open source si propone di superare mediante la condivisione della conoscenza.

Software, copyright, licenze e distribuzione

Il software è legalmente equiparato alle opere d’ingegno, che ricadono sotto la normativa del diritto d’autore, di proprietà dell’autore o, a seconda dei casi, del suo datore di lavoro; per questo motivo quando si acquista un programma non se ne ottiene la proprietà ma solo la possibilità di utilizzarlo secondo quanto previsto dalla legge relativa e dalla licenza: un contratto tra il titolare dei diritti sul software e l’utente che stabilisce diritti e doveri di entrambe le parti. Categorie di licenze Dal punto di vista della licenza e delle libertà che essa garantisce il software si divide in numerose categorie; in questa sezione si descrivono le più importanti. Il Software Libero è quel software la cui licenza soddisfa le condizioni di libertà richieste dalla Free Software Foundation, ovvero:

1. la libertà di utilizzare il programma, per qualunque scopo, 2. la libertà di studiarne il funzionamento e di adattarlo ai propri bisogni, 3. la libertà di ridistribuirne copie, in modo tale da poter aiutare il tuo prossimo, 4. la libertà di migliorare il programma e di distribuire tali migliorie al pubblico, in modo tale che l’intera comunità ne tragga beneficio.

La disponibilità del codice sorgente è considerata prerequisito per la seconda e la quarta libertà.

Categorie di distribuzione

È importante notare come il metodo di distribuzione sia in generale indipendente dalle libertà offerte dalla licenza; in particolare queste sono le modalità più diffuse.

Il Software commerciale è quel software che viene venduto, in qualunque modo ciò avvenga. Esempi di software commerciale sono i sistemi operativi di una nota software house detentrice di monopolio, ma lo è anche la maggior parte delle distribuzioni Linux e lo stesso EMACS, il primo programma esplicitamente dichiarato come libero è stato venduto dal suo autore Stallman e ora viene venduto dalla Free Software Foundation.

Il termine Shareware Indica un tipo di distribuzione per la quale un programma può essere distribuito da chiunque (talvolta senza scopi di lucro), ma per utilizzarlo oltre un periodo di prova è necessario pagare una quota di registrazione. Varianti di questo modello si hanno quando tale quota di registrazione è minima o non consiste in denaro; ad esempio postcardware richiede l’invio di una cartolina, buckware il pagamento di un dollaro (in americano colloquiale “buck”), charityware un’offerta ad un’associazione benefica, eccetera. Questo modello di distribuzione viene usato frequentemente per programmi proprietari, mentre per il software libero è comune una variante per la quale viene richiesto a coloro che apprezzano il programma di effettuare una donazione libera agli autori (o al progetto).

Il Software Libero e l’Open Source

Si dice Software Libero quel software la cui licenza soddisfa i requisiti di libertà Libero stabiliti nella Free Software Definition della Free Software Foundation, mentre si dice Software Open Source quello la cui licenza soddisfa i criteri stabiliti nell’Open Source definition della Open Source Initiative; tra le due definizioni ci sono delle differenze, ma non sostanziali, per cui in pratica la maggior parte delle licenze che soddisfano i requisiti dell’una soddisfano anche quelli dell’altra, tuttavia ciò che distingue nettamente le due definizioni sono il motivo per cui sono state scritte e gli scopi che si prefiggono. La definizione della FSF è in un contesto nel quale si vuole porre l’attenzione sulla libertà più che sugli aspetti pratici (ad esempio la definizione non richiede esplicitamente la disponibilità del codice sorgente, se non come prerequisito per alcune libertà); l’OSD è nata invece in una fase di coinvolgimento delle realtà aziendali nel mondo del software libero e contiene tutti quei dettagli necessari ad evitare scappatoie legali da parte di aziende in cattiva fede. I sostenitori della dizione “Software Libero” affermano che il termine “Open Source” sia da evitare, in quanto pone troppa importanza alla questione pratica della disponibilità dei sorgenti e trascura la questione, fondamentale ma scomoda, della libertà; per contro i sostenitori del termine “Open Source” ribattono che il termine “Free Software” è troppo ambiguo, a causa del doppio significato della parola free, (in inglese sia “libero” che “gratuito”) sicuramente non gradito a coloro che sviluppano software per vivere. In questa dispensa i due termini verranno usati più o meno indistintamente, con la prevalenza di “Open Source” quando si trattano argomenti “pratici” e di “Software Libero” altrimenti.

Sicurezza Informatica

Sicurezza dei Dati e Comunicazione Segreta

Con il termine sicurezza informatica si intende quel ramo dell’informatica che si occupa dell’analisi delle vulnerabilità, del rischio, delle minacce e della successiva protezione dell’integrità logico-funzionale (software) di un sistema informatico e dei dati in esso contenuti o scambiati in una comunicazione con un utente. Tale protezione è ottenuta attraverso misure di carattere organizzativo e tecnologico tese ad assicurarne l’accesso solo ad utenti autorizzati (autenticazione), la fruizione (disponibilità) di tutti e soli i servizi previsti per quell’utente nei tempi e nelle modalità previste dal sistema, l’oscuramento (cifratura) e la correttezza (integrità) dei dati scambiati in una comunicazione nonché la protezione del sistema da attacchi di software malevoli.

Sicurezza Informatica

I principali aspetti di protezione del dato sono la confidenzialità (o riservatezza), l’integrità dei dati e la disponibilità. La protezione dagli attacchi informatici viene ottenuta agendo su più livelli: innanzitutto a livello fisico e materiale, ponendo i server in luoghi il più possibile sicuri, dotati di sorveglianza e/o di controllo degli accessi; anche se questo accorgimento fa parte della sicurezza normale e non della sicurezza informatica è sempre il caso di far notare come spesso il fatto di adottare le tecniche più sofisticate generi un falso senso di sicurezza che può portare a trascurare quelle semplici. Il secondo livello è normalmente quello logico che prevede l’autenticazione e l’autorizzazione di un’entità che rappresenta l’utente nel sistema. Successivamente al processo di autenticazione, le operazioni effettuate dall’utente sono tracciate in file di log. Questo processo di monitoraggio delle attività è detto audit o accountability. Per evitare invece gli eventi accidentali, non esistono soluzioni generali, ma di solito è buon senso dell’utente fare una copia di backup del sistema, fare backup periodico di dati e applicazioni in modo da poter fronteggiare qualsiasi danno imprevisto. Quando si parla di sicurezza informatica spesso si distinguono i concetti di sicurezza passiva e di sicurezza attiva. Per sicurezza passiva normalmente si intendono le tecniche e gli strumenti di sicurezza passiva tipo difensivo, ossia quel complesso di soluzioni tecnico-pratiche il cui obiettivo è quello di impedire che utenti non autorizzati possano accedere a risorse, sistemi, impianti, informazioni e dati di natura riservata. Il concetto di sicurezza passiva pertanto è molto generale: ad esempio, per l’accesso a locali protetti, l’utilizzo di porte di accesso blindate, congiuntamente all’impiego di sistemi di identificazione personale, sono da considerarsi componenti di sicurezza passiva.

Per sicurezza attiva si intendono, invece, tutte quelle tecniche e gli strumenti mediante i quali le informazioni ed i dati di natura riservata sono resi intrinsecamente sicuri, proteggendo gli stessi sia dalla possibilità che un utente non autorizzato possa accedervi (confidenzialità), sia dalla possibilità che un utente non autorizzato possa modificarli (integrità). è evidente che la sicurezza passiva e quella attiva siano tra loro complementari ed entrambe indispensabili per raggiungere il desiderato livello di sicurezza di un sistema.

Attacchi alla Sicurezza

Le possibili tecniche di attacco sono molteplici, perciò è necessario usare contemporaneamente diverse tecniche difensive per proteggere un sistema informatico, realizzando più barriere fra l’attaccante e l’obiettivo.

L’individuo che effettua l’attacco è denominato cracker. Tale termine indica colui che si ingegna per eludere blocchi imposti da qualsiasi software al fine di trarne profitto. Il cracking di un sistema può essere usato per diversi scopi secondari, una volta guadagnato l’accesso di root nel sistema desiderato o dopo aver rimosso le limitazioni di un qualsiasi programma. Spesso l’obiettivo dell’attaccante non è rappresentato dai sistemi informatici in sé, quanto piuttosto dai dati in essi contenuti, quindi la sicurezza informatica deve preoccuparsi di impedire l’accesso ad utenti non autorizzati, ma anche a soggetti con autorizzazione limitata a certe operazioni, per evitare che i dati appartenenti al sistema informatico vengano copiati, modificati o cancellati. Tra le azioni di attacco ai sistemi e ai dati da parte dei cracker troviamo il phishing, l’exploit, il buffer overflow, il cracking, il backdoor, il port scanning, lo sniffing, il keylogging e lo spoofing.

Il phishing è un tipo di truffa via Internet attraverso la quale un aggressore cerca di ingannare la vittima convincendola a fornire informazioni personali sensibili. Si tratta di una attività illegale che sfrutta una tecnica di ingegneria sociale: attraverso l’invio casuale di messaggi di posta elettronica che imitano la grafica di siti bancari o postali, un malintenzionato cerca di ottenere dalle vittime la password di accesso al conto corrente, le password che autorizzano i pagamenti oppure il numero della carta di credito. Il termine phishing è una variante di fishing (letteralmente pescare in lingua inglese), probabilmente influenzato da phreaking e allude all’uso di tecniche sempre più sofisticate per pescare dati finanziari e password di un utente.

Un exploit è un codice che, sfruttando un bug o una vulnerabilità di un software, di un computer o di un sistema, porta all’acquisizione di privilegi che ne permettono di acquisirne il controllo. Il buffer overflow è un tipo di exploit che può affliggere un programma software. Consiste nel fatto che tale programma non controlla in anticipo la lunghezza dei dati in arrivo, ma si limita a scrivere il loro valore in un buffer di lunghezza prestabilita, confidando che l’utente (o il mittente) non immetta più dati di quanti esso ne possa contenere: questo può accadere se il programma è stato scritto usando funzioni di libreria di input/output che non fanno controlli sulle dimensioni dei dati trasferiti. Quando, per errore o per malizia, vengono inviati più dati della capienza del buffer destinato a contenerli, i dati extra vanno a sovrascrivere le variabili interne del programma, o il suo stesso stack; come conseguenza di ciò, a seconda di cosa è stato sovrascritto e con quali valori, il programma può dare risultati errati o imprevedibili, bloccarsi, o (se è un driver di sistema o lo stesso sistema operativo) bloccare il computer e una virtual data room.

Con cracking si intende la modifica di un software per rimuovere la protezione dalla copia, oppure per ottenere accesso ad un’area altrimenti riservata. La distribuzione di software così reso privo di protezione (detto warez) è generalmente un’azione illegale a causa della violazione di un copyright. Le backdoor in informatica sono paragonabili a porte di servizio (cioè le porte sul retro) che consentono di superare in parte o in tutto le procedure di sicurezza attivate in un sistema informatico o un computer entrando nel sistema stesso. Queste porte possono essere intenzionalmente create dai gestori del sistema informatico (amministratori di rete e sistemisti) per permettere una più agevole opera di manutenzione dell’infrastruttura informatica da remoto, mentre più spesso da cracker intenzionati a manomettere il sistema. Possono anche essere installate autonomamente da alcuni malware (come virus, worm o trojan), in modo da consentire ad un utente esterno di prendere il controllo remoto della macchina senza l’autorizzazione del proprietario. Il port scanning è una tecnica informatica utilizzata per raccogliere informazioni su un computer connesso ad una rete stabilendo quali porte siano in ascolto su una macchina. Letteralmente significa scansione delle porte e consiste nell’inviare richieste di connessione al computer bersaglio (soprattutto pacchetti TCP, UDP e ICMP creati ad arte): elaborando le risposte è possibile stabilire (anche con precisione) quali servizi di rete siano attivi su quel computer.

Tecniche di Difesa

Un antivirus consente di proteggere il proprio personal computer da software dannosi conosciuti come virus. Un buon antivirus deve essere costantemente aggiornato ad avere in continua esecuzione le funzioni di scansione in tempo reale. Per un miglior utilizzo l’utente deve avviare con regolarità la scansione dei dispositivi del PC (dischi fissi, CD, DVD e dischetti floppy), per verificare la presenza di virus, worm. Per evitare la diffusione di virus è inoltre utile controllare tutti i file che si ricevono o che vengono spediti tramite posta elettronica facendoli verificare dall’antivirus correttamente configurato a tale scopo. Un antivirus da solo, per quanto affidabile ed efficiente, non è una protezione totale contro il 100% dei virus informatici esistenti al mondo. Inoltre, un antivirus si basa su determinate regole e algoritmi scritti da esseri umani, e pertanto queste possono portare a errori (falsi positivi) e/o a decisioni sbagliate. Alcune funzioni di controllo sono più specializzate in un software Antispyware che a sua volta può avere funzioni di Antivirus ma non ai massimi livelli.

sicurezza informatica

Crittografia

I dati che possono essere letti e compresi senza alcuna tecnica speciale, vengono definiti testi in chiaro. Il metodo utilizzato per camuffare un testo in chiaro in modo da nasconderne il significato è chiamato crittografia. Un testo in chiaro risulterà come una sequenza di caratteri illeggibili chiamata testo cifrato. Si usa la crittografia per assicurare che le proprie informazioni siano nascoste a chiunque altro non sia destinatario al messaggio in chiaro, anche a coloro i quali possono vedere i dati criptati. Il processo di conversione di un testo cifrato in testo in chiaro viene definito decriptazione.

La crittografia è quella scienza che utilizza la matematica per criptare e decriptare i dati. La crittografia permette di memorizzare informazioni sensibili o di trasmetterli attraverso reti non protette (come Internet) affinché non possano essere letti da nessuno al di fuori dei destinatari prefissati. Mentre la crittografia è la scienza che mette al sicuro i dati, la crittoanalisi è la scienza che analizza e che rompe la comunicazione sicura. La crittoanalisi tradizionale coinvolge un’interessante combinazione di ragionamenti analitici, applicazione di strumenti matematici, modelli di ricerca, pazienza, determinazione e fortuna.

Crittografia Simmetrica

La crittografia simmetrica ha dei benefici: è davvero veloce. Ed è indicata specialmente per quei dati criptati che non devono raggiungere qualsiasi destinazione. Però dobbiamo precisare che la crittografia simmetrica, utilizzata da sola per la trasmissione di dati sicuri, può essere molto costosa a causa della comunicazione sicura della chiave. Proviamo a rievocare nella nostra memoria l’immagine di un personaggio di un film di spionaggio, la persona con il polso ammanettato con una valigetta chiusa a chiave. Cosa ci sarà in questa valigetta? E’molto probabile che non troveremo il codice per il lancio di un missile, o per la formula di una tossina o per l’invasione della terra, bensì la chiave che decritterà i dati segreti. L’unico modo utile per un mittente e un destinatario per comunicare in maniera sicura e criptata è che entrambi siano d’accordo sulla chiave e che la mantengano segreta. Se si trovano in luoghi diversi, dovranno trovare un mezzo o un modo sicuro, come il Bat Telefono, per comunicare in maniera protetta affinché non venga scoperta la chiave per decrittare i loro dati. Chiunque riesca ad intercettare questa comunicazione potrà entrare in possesso della chiave e comportarsi con essa a proprio piacimento, leggendo, modificando o contraffacendo le informazioni criptate. Sin dai tempi di Giulio Cesare, il problema più grande legato alla crittografia è quello della trasmissione della chiave: come si può far arrivare la chiave al destinatario senza che nessuno la intercetti?

Applicazioni web-based

Internet e le applicazioni web-based

Internet, da “semplice” veicolo per lo scambio di informazioni, sta evolvendo verso una piattaforma per:

  • lo sviluppo, la diffusione e l’esecuzione di applicazioni distribuite (web-based)
  • L’evoluzione delle tecnologie sta radicalmente cambiando il modo di realizzare e diffondere il software i Network Centric Computing,
  • il concetto stesso di software è destinato a mutare per adattarsi alla nuova realtà i Software “free”

Applicazioni che permettono di accedere, tramite web, alle applicazioni / sistemi informativi aziendali Inizialmente, via interfaccia web a preesistenti sistemi aziendali (scarsa integrazione). Successivamente, completa integrazione fra sistemi informativi aziendali tradizionali e i server Web. Tutto il patrimonio informativo (di processo) aziendale può essere utilizzato via Web, ottenendo così una serie di vantaggi tecnologici ed economici.

Possibilità di aumentare o uniformare i canali d’accesso alle applicazioni aziendali:

  • TCP/IP = infrastruttura
  • web-browser = client

Applicazioni web-based: vantaggi

Facilità di aggiornamento e distribuzione, Accesso multi-piattaforma, Riduzione dei costi di gestione (cost-of-ownership), Scalabilità: un’applicazione web-based ben progettata può crescere insieme alle esigenze dell’azienda e diverse dimensioni (rete, server applicativo, database).

Applicazioni web-based: caratteristiche

Contesto di esecuzione Internet, Intranet, Extranet e impatto su: client, requisiti del server, sicurezza.
Gestione della Sicurezza Tecnologia basata su crittografia asimmetrica e certificati digitali Impatto non solo su client, server e processi organizzativi (gestione dei certificati), ma anche integrazione con la politica di sicurezza aziendale autenticazione su server web, autorizzazione tramite database aziendale preesistente. Mantenimento dello stato dell’applicazione: ovvero, informazioni consistenti sullo stato della connessione tra l’utente (browser) e il server (http, …).

Architetture di riferimento per le applicazioni web-based

L’architettura per la progettazione, lo sviluppo, e l’erogazione delle applicazioni web-based ha un ruolo centrale: F interfaccia di progettazione e programmazione tra l’utente (requisiti) e il dominio applicativo (applicazioni aziendali), substrato di riferimento per la risoluzione di problemi comuni ai diversi domini (approccio generale), F disponibilità sempre maggiore di software “free”, il cui codice è a volte disponibile e modificabile.

Architettura a tre livelli

client

Conclusioni

Livello utente, Elaborazione sul client dettata dalle necessità dell’applicazione uLivello applicativo, ASP è ormai una soluzione ben collaudata e molto diffusa.
I Servlet non sono ancora molto usati i prestazioni inferiori alle ASP e carenza di ambienti di sviluppo, ma beneficieranno delle evoluzioni della piattaforma Java i portabilità, manutenibilità progetti complessi uLivello dati, Stored Procedures (app. esterni) per una gestione efficiente. Confinare i punti di accesso ai dati.

Introduzione ai sistemi di basi di dati

Una base di dati è una collezione di dati usata per rappresentare informazione di interesse per un dato sistema informativo.

Una base di dati è una collezione di dati gestita da un sistema (di gestione) di basi di dati (DataBase Management System o DBMS). Un DBMS è costituito da una collezione di file interconnessi e da un insieme di programmi che consentono di accedere e modificare tali file.

Le basi di dati supportano astrazioni sui dati. Livelli di astrazione:

  1. il livello fisico
  2. il livello logico/concettuale
  3. il livello delle viste

Un modello dei dati è una collezione di strumenti concettuali per descrivere i dati, le loro relazioni e i vincoli di consistenza sui dati.
In ordine cronologico:

  • modelli reticolare e gerarchico;
  • modelli relazionale ed entità/relazioni;
  • modello orientato agli oggetti;
  • modelli ibridi relazionali e orientati agli oggetti;
  • modelli dei dati (basati su) XML

Due possibili classificazioni:

  • modelli basati sull’identità degli oggetti (reticolare, gerarchico, orientato agli oggetti) vs modelli basati sui valori (entità/relazioni, relazionale, XML);
  • modelli basati sugli oggetti (entità/relazioni, orientato agli oggetti, XML) vs modelli basati sui record (reticolare, gerarchico, relazionale).

Possiamo distinguere più classi di utenti di una base di dati, sulla base delle diverse possibili modalità di interazione col sistema: • utenti “na¨ıve”; • utenti che sviluppano programmi applicativi scritti in un linguaggio di alto livello, tipo Cobol, Pascal, C, Java, che necessitano di accedere alla base di dati (uso del DML all’interno di linguaggi host); • utenti “sofisticati”, che utilizzano direttamente il DML.

Il gestore della memoria

Modulo che costituisce l’interfaccia tra i dati di basso livello, memorizzati nella base di dati, e i comandi/programmi dell’utente In particolare, gestisce l’interazione col gestore del file, traducendo i comandi formulati in un linguaggio per la manipolazione dei dati in comandi di basso livello per il file system (il gestore del file pu`o essere visto come un componente del gestore della memoria) E responsabile della memorizzazione, del recupero e ` dell’aggiornamento dei dati.
Le componenti: • gestore delle autorizzazioni e dell’integrit`a dei dati • gestore delle transazioni (garantisce le propriet`a acide delle transazioni) • gestore dei file (responsabile della allocazione dello spazio in memoria secondaria e della gestione delle strutture dati utilizzate per la rappresentazione dell’informazione) • gestore del buffer (responsabile della gestione della porzione di memoria principale riservata al DBMS).

dati

Patogenesi della sindrome di Prader-Willi

Genetica della Sindrome di Prader-Willi

Difetto di espressione dei geni ereditati per via paterna nella regione cromosomica 15q11.2-q13. Nella suddetta regione ci sono geni che si esprimono indipendentemente dalla loro sede nell’allele materno o paterno (cosiddetta espressione biallelica), altri che si esprimono esclusivamente se ereditati per via paterna e presenti nell’allele paterno (cosiddetta espressione monoallelica paterna), ed altri che si esprimono se ereditati per via materna e presenti nell’allele materno (cosiddetta espressione monoallelica materna). L’espressione monoallelica di un gene corrisponde al fenomeno definito impriting genico ed è regolato dal cosiddetto “centro dell’imprinting”. La presenza o l’assenza di metilazione in un gene (test di metilazione) può essere utilizzata in genetica per valutare la normalità o la patologia dell’imprinting genico in una determinata regione genomica (nel nostro caso la 15q11.2-q13. I meccanismi principali che determinano la mancata espressione dei geni, responsabile della sindrome di Prader-Willi (qui maggiori info), sono la microdelezione paterna (75-80% dei casi), la disomia uniparentale materna (UPD) del cromosoma 15 (20-25% dei casi), il difetto del centro dell’imprinting (≈1% dei casi, ≈15% dei quali hanno una delezione del centro dell’imprinting) ed infine traslocazioni bilanciate della regione 15q11.2-13 che allontano i geni dal centro dell’imprinting. Il rischio di ricorrenza per la sindrome di Prader-Willi in successive gravidanze di genitori con figli affetti da sindrome di Prader-Willi è solitamente inferiore all’1%, ad eccezione delle mutazioni ereditate del centro dell’imprinting (fino al 50%) e delle traslocazioni ereditate con punto di rottura nella regione 15q11.2-q13 (fino al 25%).

Fisiopatologia della Sindrome di Prader-Willi

Sebbene non vi sia attualmente una chiara ed esaustiva spiegazione fisiopatologica del quadro clinico della sindrome, i risultati della maggior parte degli studi sono a favore di una alterazione primitiva a livello ipotalamico, responsabile sia dei deficit ormonali ipofisari che dell’alterazione del senso di sazietà. La particolare composizione corporea della sindrome, caratterizzata da un eccesso di massa grassa e da ridotta massa magra con ipotrofia muscolare (sarcopenia), può essere in parte spiegata dal deficit di ormone somatotropo e/o di IGF1,  dimostrabile in una alta percentuale di soggetti affetti da sindrome di Prader-Willi. L’ipogonadismo riconoscerebbe cause sia centrali (ipotalamo-ipofisarie) che periferiche (ipogonadismo primitivo).