Gli albori di Linux

Sfruttando le conoscenze del corso di Sistemi Operativi  in questo articolo cercherò di rendervi partecipi di alcuni capisaldi e retroscena che forse non tutti conoscono sulla nascita di Linux.

linux-minix

Convinto del fatto che almeno una volta nella vita lo avete usato o almeno sentito nominare in una delle sue più disparate versioni, voglio mettere alla vostra attenzione le vere radici di questo sistema operativo che se pur di difficile approccio e comprensione è dato di fatto, ritenuto molto potente e utilizzato dagli addetti ai lavori.

Al contrario dei poco approfonditori della materia storica,  il vero spunto per la nascita dell’attuale Linux è scaturito da  Andrew Stuart Tanenbaum nato in America ha vissuto quasi sempre in Olanda, professore di informatica e caposaldo degli studi in materia di sistemi operativi e non solo. Negli anni 80 l’unico sistema operativo utilizzato era UNIX, sviluppato da AT&T e Bell Laboratories, essendo lo stesso coperto da copyright non dava la possibilità a nessun studente o “smanettone” di poter studiare e approfondire le conoscenze su questo sistema operativo, visto che i sorgenti non erano rilasciati e accessibili ai non addetti ai lavori. Allora il prof. Tanembaum nella seconda metà degli anni 80, precisamente nel 1987 presso la Vrije Universiteit ad Amsterdam diete alla luce un nuovo sistema operativo, sempre UNIX base che chiamò MINIX; contestualmente pubblicò un libro dove erano presenti i sorgenti del kernel, del gestore della memoria e del file system, quasi tutto interamente scritto in linguaggio C.

Ed è questa la vera svolta per la nascita del sistema operativo che conosciamo e usiamo oggi con il nome di Linux, è grazie a MINIX,  nato con uno scopo prettamente didattico e di apprendimento che lo studente Linus Torvalds grazie alle sue doti di programmatore si avvia ad un concetto di kernel diverso da quello di MINIX che successivamente darà vita a Linux stesso.

Famoso è lo scambio di differenti vedute avuto sul newsgroup comp.os.minix dal titolo Linux is obsolete.Torvalds riteneva di aver trovato una soluzione per rendere più veloce e più performante il kernel di MINIX, Tanenbaum liquidò lo studente facendogli presente che lui era il prof. e quello che diceva e faceva lui non si discuteva.Questo è stato il punto di rottura che dopo pochi anni ha dato vita a Linux come lo conosciamo oggi, la differenza fondamentale che Torvalds aveva intuito o meglio aveva ipotizzato era un kernel con struttura monolitica al contrario di quello che equipaggiava MINIX che era a microkernel.

Tutto quello che è avvenuto successivamente è frutto di questa storica scissione e rottura tra queste due figure diventate emblemi della storia e nella nasciata dei sistemi operativi moderni, resta il fatto che Tanenbaum nel suo ultimo libro ha dedicato un capito a Linux e a quello che qualche anno prima avevo ritenuto un progetto non perseguibile e di poca importanza.

Inutile dilungarsi sulle differenze salienti dei due sistemi, MINIX era un sistema base per il solo studio e approfondimento degli aspetti architetturali dei sistemi operativi, Linux attualmente è un sistema operativo a tutti gli affetti usatissimo nei settori di gestione e applicazione di un certo livello, ma anche utilizzato quatidianamente da un ristretto gruppo di persone in versione desktop. Inoltre, afferire quali delle due strutture è più performante e affidabile (monolitica o microkernel) è la medesima sfida affrontata dall’amico Flavio nel post precende sui sistemi operativi, la risposta è semplicemente dipende, non pensate sia un’escamotage per non esporsi, ma semplicemente dipende da che tipo di applicazione ne vogliate fare.

 

Spero di non avervi annoiato troppo e di aver fatto cosa gradita delucidarvi su un aspetto che se pur minimale è la vera nascita di Linux.

Studente fuori sede??….Si! Fesso??….No!

La vita da studente universitario fuori sede ha pro e contro, d’altronde come tutte le cose di questo mondo.

Queste quattro parole che oggi metto alla vostra attenzione le ho maturate nel corso dei miei 5 anni vissuti da studente fuori sede.
Tra poche settimane, per la terza volta dovrò, o meglio dovremo :D, cambiare casa e voi giustamente direte! Perchè???

Questo è il fulcro della discussione che seguirà! Sia chiaro, non sarà uno sfogo, ma una presa di coscienza del fatto che
il rapporto tra il proprietario di casa e lo studente nella maggior parte dei casi, prima o poi, si debba per forza incrinare.
Non voglio fare di tutta l’erba un fascio, ma le esperienze parlano chiaro, almeno le mie/nostre.
Tanto per cominciare, nel contratto che fa il proprietario per tutelarsi (lui dice così), tu studente diventi il conduttore mentre lui è il conducente (il capo)!

Leggi tutto “Studente fuori sede??….Si! Fesso??….No!”

Reverse engineering: algoritmo calcolo WPA dei router Alice Gate Wi-Fi

MAC (es:\x00\x23\x34\x01\x02\x03)

SSID (es. Alice-11223344)

Per reperire il MAC address della rete wi-fi usare Netstumbler e sommare 2 all’ultima cifra esadecimale del MAC trovato

MAC trovato: 11:22:33:44:55:66

MAC da inserire: 11:22:33:44:55:68

alicegate

Questo articolo prende spunto da una ricerca fatta dalla White Hat Crew , nella quale si rende noto nel dettaglio l’algoritmo di generazione delle chiavi WPA dei router Alice.

Dopo aver appreso la notizia, (essendo studenti di ingegneria) curiosi del modo in cui le chiavi vengono generate e allo stesso tempo preoccupati delle possibili conseguenze a cui vanno incontro ignari possessori di tali apparati, decidiamo di rendere la notizia fruibile e accessibile anche sul nostro blog al fine di fare. informazione.

Allo scopo puramente didattico, per curiosi e appassionati, cerchaimo di dare una semplice e intuitiva spiegazione del come lavora l’algoritmo per generare tale chiave.
Ogni router AGPF di Alice ha un suo SSID, il quale è univoco e si presenta nella forma generica  Alice-11223344, in più le prime 2-3 cifre del numero sono significative perchè identificano la serie del router da cui è possibile risalire a parametri cruciali come il firmware montato e il numero seriale.
Tuttavia il serial number o più comunemente chiamato (SN) non è individuabile direttamente, ma grazie al MAC address della scheda wi-fi interna del router e all’SSID della rete è possibile, tramite precise informazioni della ricerca condotta da WHC, calcolarlo.

Sintetizzando all’osso, per non essere troppo macchinosi nel discorso, la WHC dopo vari studi e prove effettuate ha scoperto che in qualche forma esiste una relazione per cui è possibile calcolare il seriale conoscendo la sola parte numerica dell’ESSID. E’ stato infatti scoperto che la relazione che sussiste tra SN e SSID è di aritmetica modulare: esistono due costanti, definite per comodità con k e Q, dipendenti dalla serie del router, tale che SSID=k*SN+Q.
Da questa formula si riesce a ricavare la formula finale SN=(SSID-Q)/k. Notoriamente e’ risaputo, almeno si spera :P, che da un’equazione a due incognite non ammette un’unica soluzione, per questo gli esperti di WHC hanno ben pensato di impostare un sistema che prende in considerazione i dati di due router della stessa serie.

A questo punto fornendo questi tre parametri:

  • Mac Address delle scheda WiFi del router (considerato in byte)
  • Seriale completo del router (considerato come stringa)
  • Sequenza speciale (costante, in byte)

è possibile generare un vettore di calcolo SHA256

Infine, si riempie l’hash e grazie ad opportune conversioni sui singoli byte si riesce a risalire alla chiave WPA.
Per i più smanettoni o semplicemente curiosi vi rimando all’articolo ufficiale , anche perchè sarebbe inutile e ripetitivo riportare tutti i particolari.

Da smanettoni convinti 😀 , essendo molto più propensi alla pratica, abbiamo reso disponibile all’inizio di questo articolo uno script che inserendo ESSID e MAC del vostro rouer Alice vi calcola in automatico la WPA.
Ovviamente lo script essendo puramente dimostrativo e didattico è equipaggiato solo con le seguenti serie:

  • Alice-96xxxxxx Serie: 69102X******* k=13 Q=96017051
  • Alice-93xxxxxx Serie: 69101X******* k=13 Q=92398366
  • Alice-56xxxxxx Serie: 67902X******* k=13 Q=54808800
  • Alice-55xxxxxx Serie: 67904X******* k=8 Q=55164449
  • Alice-54xxxxxx Serie: 67903X******* k=8 Q=52420689
  • Alice-48xxxxxx Serie: 67903X******* k=8 Q=47896103
  • Alice-46xxxxxx Serie: 67902X******* k=13 Q=39015145

Ovviamente lo script viene reso disponibile per il solo testing della vulnerabilità della propria rete wi-fi, vi ricordiamo che ogni accesso non autorizzato a reti terze è punito a norma di legge, di conseguenza ci estraniamo e decliniamo ogni responsabilità per eventuali abusi dello stesso.