martedì 7 giugno 2011

Antifurto per computer

Con l’aumento della diffusione di computer e dispositivi portatili, sono aumentati di pari passo anche i rischi di furto legati a questi oggetti. Di conseguenza, si è sviluppato un genere di software che può essere utilizzato come antifurto, sia per avvisare quando il nostro computer viene spostato, sia per aiutarci a localizzarlo a furto avvenuto.
Il funzionamento di questi programmi varia a seconda del modello: si va dai semplici allarmi a sirena (simili al tipico antifurto per auto), fino ai sistemi per tracciare il computer e bloccare files, cartelle, o anche attivare la webcam del computer, se questa è presente. Nella quasi totalità dei casi, però, il loro funzionamento richiede la presenza di una connessione wifi e soprattutto richiede che il nostro computer possieda un dispositivo per la connessione wifi: la maggior parte dei portatili ormai ne ha uno, per cui questo non dovrebbe essere un limite. Vediamo nel dettaglio come funzionano.

Allarme “a sirena”

Il modello più classico di antifurto. Due esempi sono A.L.A.R.M. e LAlarm (nomi molto originali, bisogna dire...), il cui funzionamento è quasi uguale: quando il cavo di alimentazione viene scollegato senza permesso, scatta l’allarme acustico. LAlarm, inoltre, può essere configurato anche in modo da attivarsi quando il computer si sposta, a patto che fosse connesso a una rete wifi: quando lo spostamento del computer causa la disconnessione dalla rete, l’allarme si attiva e può anche inviarci una e-mail, o un sms, per avvisarci dell’avvenuto spostamento. Questi programmi non consentono di contattare a distanza il proprio computer, se rubato, ma possono avere una qualche utilità come deterrente.

Localizzazione

Un sistema più avanzato di antifurto è quello che ci permette di localizzare il computer rubato, usando la connessione internet o le reti wifi disponibili. Se il ladro accende il computer, e c’è una rete a disposizione, il programma antifurto si collegherà da solo alla rete e ci invierà una serie di informazioni, a seconda del tipo di programma.
Modelli di questo tipo sono Prey, Adeona, LocatePC, che ci permettono di interagire a distanza con un computer rubato, per ricevere via sms o via e-mail la posizione del computer, bloccare i dati, o anche accendere la webcam e fotografare ciò che si vede. Con un po’ di fortuna, potremmo anche ottenere un primo piano del ladro, mentre sta usando il nostro computer. Di norma, questi programmi prevedono un pannello di controllo a cui possiamo accedere via web e dal quale possiamo controllare il computer su cui il programma è installato: le operazioni di cui disporremo dipendono dal programma, ma in linea di massima prevedono il blocco del computer, l’accensione della webcam, invio e ricezione di messaggi e così via. la cosa più importante, in ogni caso, è che potremo tracciare la posizione del computer, se sarà utilizzato per connettersi alla Rete.

Cancellare i dati

Se invece siamo preoccupati per il contenuto del computer e non vogliamo che il ladro possa accedervi, in nessun modo, può essere utile un programma come LaptopLock, che permette di crittografare o cancellare tutto il contenuto del computer, in determinate condizioni che possiamo impostare: per esempio, il contenuto può essere cancellato se la corretta password di accesso non è inserita entro un certo intervallo di tempo. Una specie di meccanismo di autodistruzione dei dati, insomma.
In ogni caso, per essere sicuri che nessun altro possa leggere il contenuto del nostro computer, la soluzione migliore è sempre la buona, vecchia crittografia. Basterà creare una cartella, o anche una partizione del disco fisso, in cui salvare tutti i dati più sensibili e segreti, dopodiché proteggerla con un buon algoritmo di crittografia e soprattutto una chiave robusta. In questo campo, la scelta è molto varia: si va dal vecchio PGP (e GnuPG, la sua versione opensource), fino a TrueCrypt e tanti altri.

Un sistema meno ortodosso, ma ugualmente efficace, per controllare il proprio computer a distanza, è quello di infettarlo con un trojan, magari un RAT. Possiamo infettare il nostro portatile con un nostro trojan che controlleremo dal computer fisso (se abbiamo due computer a disposizione): in questo modo, potremo di solito utilizzare molte più opzioni di controllo, rispetto a quelle fornite da un normale programma antifurto, ma sarà pur sempre necessario attendere che il computer rubato sia connesso a internet, prima di poter fare qualcosa.
Certo, non è un metodo consigliabile, ma è pur sempre un’alternativa...

Naturalmente, questi programmi funzionano se li avete installati sul vostro computer prima che fosse rubato; se il computer è già stato rubato, e nessun di questi programmi era installato, allora c’è ben poco che potrete fare, a parte l’ovvia denuncia di furto.
Un altro problema è che, essendo programmi, possono essere eliminati in caso di formattazione del disco fisso. Cosa che non succederà se qualcuno ha rubato il vostro portatile per impossessarsi dei dati al suo interno, ma che probabilmente succederà subito, se al ladro interessa il portatile e non i dati al suo interno. In questo caso, come ulteriore misura di sicurezza si può impostare una password del BIOS e disattivare l’opzione di avvio con supporti esterni (CD, chiavette USB, eccetera). Certo, è possibile resettare il BIOS anche a mano, se necessario, smontando il computer e utilizzando l’apposita levetta, e se abbiamo un computer fisso non è troppo difficile da fare; su un portatile, invece, l’operazione si può rivelare piuttosto complicata, a seconda del modello, e non è consigliabile a chi non sappia come aprirlo e come risistemare al suo interno tutti i vari pezzi, dopo averli estratti e dopo aver trovato quello che cercava.

venerdì 3 giugno 2011

Cosa sono i roguelike

Oggi mi dedicherò a un argomento che mi sta particolarmente a cuore, anche se la maggioranza di voi potrà vivere tranquillamente anche senza conoscerlo: il roguelike.
Il roguelike è un tipo di videogioco alquanto di nicchia, la cui conoscenza è riservata a pochi, tanto che neppure esiste una pagina di Wikipedia in italiano sull’argomento. È anche una categoria di videogiochi molto antica, in termini di storia di computer, perché la sua origine risale alle nebbie del 1980, epoca di scarse risorse sia in termini di grafica, sia soprattutto come processori e memoria. Vediamo dunque di spiegare cosa sia di preciso.

Il capostipite, da cui il genere stesso prende il nome, è il videogioco Rogue, sviluppato appunto nel 1980. Rogue era grossomodo un gioco di ruolo, con una grafica molto semplice, ispirato a D&D, che si svolgeva attorno a un’idea molto semplice: il protagonista doveva esplorare un dungeon, ossia un insieme di sotterranei, per raccogliere soldi e diventare a mano a mano più potente, uccidendo mostri, guadagnando punti esperienza e salendo di livello. Niente di straordinario, come potete vedere, e niente che non fosse già stato sperimentato nelle prime avventure testuali per computer. La differenza, però, sta proprio in questo: i primi videogiochi di ruolo erano appunto avventure testuali, ossia storie che il giocatore leggeva sullo schermo e con cui interagiva scrivendo comandi (non molto diverse da un libro-game, insomma). Rogue, invece, trasferisce il concetto in una grafica molto rudimentale, fatta di simboli ASCII (ossia lettere alfabetiche e punteggiatura).
Molto diverso dalle grafiche attuali, naturalmente, ma per l’epoca era qualcosa di rivoluzionario. Il giocatore poteva far muovere il proprio personaggio con semplici comandi da tastiera, di solito premendo alcuni tasti, che corrispondevano a una diversa azione: r per leggere qualcosa (read), e per mangiare (eat), q per bere (quaff) e così via. I tasti freccia, o il tastierino numerico, erano usati per il normale movimento del personaggio, cioè per farlo camminare nelle varie direzioni.
Il personaggio stesso, così come i mostri e ogni altro oggetto incontrato, era rappresentato da un particolare simbolo: di solito, il protagonista è @, mentre i vari tipi di mostro sono resi con una lettera alfabetica diversa per ognuno, maiuscola o minuscola. Un cane può essere d, mentre un drago sarà D; un orco potrebbe essere o, un goblin sarà una g, e così via. Per attaccare un mostro, spesso è sufficiente muovere il personaggio contro il mostro stesso.
Altra caratteristica di Rogue, fondamentale per definire un roguelike, è lo svolgimento del gioco con un sistema di turni. Le azioni non sono in tempo reale, ma sono strutturate in modo simile a una partita di scacchi: prima di ogni azione, il giocatore ha tutto il tempo che vuole per pensare e decidere, dopodiché toccherà ai vari mostri. Non è dunque un tipo di gioco in cui contino riflessi e velocità, ma piuttosto la tattica di gioco. Posso anche prendermi un’ora di tempo, per decidere quale sia il tipo di attacco più efficace contro un determinato mostro, se necessario.
Il mondo in cui si svolge l’azione, poi, di solito è generato casualmente. Così era per Rogue e così è rimasto per la maggior parte dei suoi discendenti. Ogni volta che entriamo in un nuovo livello del dungeon, il livello è creato casualmente e riempito sempre casualmente di oggetti e mostri. In questo modo, ogni livello di gioco è un mondo a sé, che il giocatore dovrà scoprire a poco a poco, mentre procede con l’esplorazione. Nessuna partita è mai uguale alla precedente, dunque: rigiocabilità e continuo rinnovamento erano fattori che all’epoca avevano molta importanza ma che, ormai, si sono invece persi nella maggior parte dei videogiochi moderni.
Collegato a questo concetto, c’è anche quello di permadeath, ossia di morte definitiva: quando il tuo personaggio muore, è morto. Non puoi recuperare un salvataggio precedente e ricominciare dall’ultimo punto. Quando muori in un roguelike, tutto ciò che puoi fare è creare un nuovo personaggio e ripartire da capo, un altro elemento che sottolinea l’importanza di riflettere prima di agire e di avere in mente una buona tattica di gioco e non buttarsi avanti come capita, contando sulla possibilità di rifare.
Infine, la trama. Può esserci, come può non esserci. Lo schema base consiste di solito in un super mostro da sconfiggere, posto nel livello più basso del dungeon, oppure un oggetto da recuperare. Per farlo, bisognerà scendere svariati livelli del dungeon, combattere mostri di ogni tipo, ottenere armi sempre più potenti, accumulare esperienza e così via, come in un gioco di ruolo.
Per una presentazione più dettagliata dei vari punti, inclusi i sottoaspetti, vi rimando alla definizione data (in inglese) da uno dei principali siti del settore, ossia RogueBasin.

Tutto questo, come detto, avveniva negli anni ’80, con la nascita del capostipite Rogue e poi di tutti i suoi discendenti: Hack e poi NetHack, Moria, Omega, eccetera.
La tradizione dei roguelike ha continuato per tutti gli anni ’90, è sopravvissuta al cambio di millennio e ancora continua a vivere, anche se è più che altro un genere di nicchia. Molti aspetti sono rimasti invariati, o hanno subito solo leggeri adattamenti: il sistema a turni, per esempio, è tuttora valido, anche se i principali roguelike lo hanno perfezionato introducendo fattori come la velocità dei personaggi,che modificano il normale fluire dello schema “un colpo io e un colpo tu”. Il sistema di livelli, con la crescita graduale del protagonista, è tuttora in uso, così come il permadeath e la casualità dei dungeon.
Ciò che più è cambiato è la grafica. La vecchia interfaccia in ASCII è ancora molto usata, sia per nostalgia, sia per mantenersi aderenti alla tradizione, ma accanto a essa si sono sviluppate anche grafiche più evolute, sia bidimensionali sia anche tridimensionali (pochi, ma alcuni esempi esistono di roguelike 3D). Un progresso naturale, perché il vecchio Rogue aveva adottato una grafica ASCII in quanto non aveva alternative, all’epoca; oggi, invece, le alternative esistono ed è piuttosto comune vedere roguelike che utilizzano non solo una grafica 2D, in cui mostri e oggetti, suolo e pareti, sono rappresentati da immagini, ma si possono trovare anche roguelike che utilizzano effetti sonori o musica.
Nel sottobosco della Rete, i roguelike rimangono vivi e continuano a proliferare, sotto forma di giochi amatoriali, gratuiti e spesso anche open source. Ma di questo parleremo un’altra volta.