-
Installare una webcam integrata
Sull "mio" nuovo fiammante Sony Vaio la webcam è l'unica periferica non riconosciuta al volo da Vista (anche il lettore di impronte lo è, ma ormai non mi sorprendo più di tanto). Siccome - coincidenze delle coincidenze - anche il 'donzo proprio due giorni fa parlava di installazione di webcam integrata per l'Asus su Ubuntu, ecco un post che mette a confronto Vaio+Vista con Asus+Ubuntu. Chiaramente, essendo un confronto tra mele ed arance, non mi pronuncio su quale ritengo sia l'elemento di complicazione (decisamente è colpa dell'Asus )
È un post scherzoso (anche se le istruzioni sono vere, almeno per quanto io entienda lo spagnolo), dedicato al rilascio del Gibbone, visto che di provare l'ultimo ritrovato tecnologico di Canonical proprio non mi va più, anche se muoio dalla curiosità di sapere se almeno in questa versione i mouse PS2 virtualizzati funzionano.
Vista + Vaio SZ
Installare il driver della webcam per XP
Ignorare il messaggio di warning di PCA
Usare la webcam (sono certo che funziona)Ubuntu + ASUS A6KM
Aprire una finestra terminale
sudo update-pciids
sudo update-usbids
Verificare che la webcam sia effettivamente quella:
$ lsusb
Rimuovere i driver vecchi:
Bus 005 Device 003: ID 174f:a311
sudo apt-get remove --purge dash
In alcuni casi rimuovere a mano anche le directory:
sudo rm -f /bin/sh
sudo ln -s /bin/bash /bin/sh
Prepararsi a compilare:
sudo apt-get install build-essential bin86 kernel-package \
Installare il driver del kernel (uno dei due in base al kernel installato; non chiedetemi come si fa a saperlo):
libqt3-headers libqt3-mt-dev \
libncurses5-dev libusb-dev libsane-dev \
libsane-extras-dev subversion \
exuberant-ctags camorama
sudo apt-get install dpkg-dev debhelper devscripts fakeroot linda dh-make
sudo apt-get install linux-headers-generic
oppure
sudo apt-get install linux-headers-`uname -r`
Creare una directory e compilare (ignorando i warning, che a cosa servano non si capisce):
sudo bash
in caso di errore forzare la seguente procedura:
cd /usr/src
svn co https://syntekdriver.svn.sourceforge.net/svnroot/syntekdriver syntekdriver
cd syntekdriver/trunk/driver/
make driver
cp stk11xx.ko /lib/modules/`uname -r`/kernel/drivers/media/video
depmod -a
Lanciare, via ALT+F2, il seguente comando:
gksu gedit /etc/modules
e aggiungere le seguenti righe al file:
videodev
v4l1-compat
stk11xx
lanciare questo comando per flippare eventualmente l'output della webcam:
modprobe stk11xx hflip=0 vflip=1
Testare la webcam col programma preferito (che funzioni non c'è certezza).
Se qualcuno dei passi non dovesse funzionare, spulciatevi il codice; se c'è (forse).Non che installare bitlocker su un laptop col BIOS bacato e l'assistenza tecnica di Sony (sono dei geny(*)) sia una passeggiata. Ma anche lì ce l'ho fatta.
-quack
(*) bitlocker è supportato su tutti i PC Sony con TPM 1.2; però su questo laptop è supportato solo Vista Business che peccato non prevede bitlocker per cui sono stato dirottato al supporto Microsoft. In realtà è bastato aggiornare il BIOS.
Technorati Tags: Cazzate -
Paranoie vere
In questo post, che segue quello sulla definizione di integrità e quello sulla definizione di chain of trust, mi interessa presentare i quattro scenari che rappresentano le paranoie vere, quelle che hanno portato alla definizione del TPM così com'è oggi nella versione 1.2. In un certo senso tali scenari pre-datano l'invenzione del TPM e quindi esistono a priori. L'individuazione di tale scenari porterà (spero) a chiarire due ruoli distinti ma spesso maliziosamente confusi nel tentativo di confutare la bontà di alcuni approcci (tornando all'esempio dei passaporti, qualcuno spesso confonde il ruolo del ministro degli interni con quello del titolare del passaporto). Uno dei quattro scenari l'ho già visto "implementato" (senza TPM e quindi con lacune importanti) nell'ultimo viaggio di lavoro quasi a garanzia che la paranoia è un linguaggio universale e universalmente riconosciuto.
Joe il paranoico (risk management)
La preoccupazione di Joe è il furto del portatile o la violazione dell'integrità del suo sistema. Joe non è un genio dell'informatica e qualsiasi mezzo che possa ridurre tali rischi è ben accetto, in quanto in possesso di informazioni di altissimo valore. In questo scenario proprietario ed utente sono la stessa entità.Gestione dell'hardware
Il dipartimento IT della Vip&Vip Inc. è molto paranoico per quanto riguarda l'accesso alla rete interna. La soluzione perfetta sarebbe quella di garantire l'accesso alla rete solo a PC di proprietà dell'azienda opportunamente configurati. In questo caso invece proprietario (l'IT di Vip&Vip) e l'utente sono entità disgiunte.E-commerce
Jeannie lavora con l'azienda Quartz&Tempus che gestisce contrattazioni di titoli in borsa. Sia Jeannie che Q&T sono molto paranoici riguardo la legittimità e la non repudiabilità delle transazioni e per protezione reciproca stanno cercando un protocollo che possa garantire entrambi. In questo scenario proprietario ed utente sono la stessa entità.Gestione della sicurezza e risposta alle emergenze
Un net-worm imperversa nella rete interna di Vip&Vip e il dipartimento IT vuole dirottare tutti i PC infetti in una subnet con sandbox dove permettere di scaricare le patch necessarie. Il worm è abbastanza evoluto ed in grado di ingannare anche i più sofisticati engine di scansione. In questo caso invece proprietario (l'IT di Vip&Vip) e l'utente sono entità disgiunte.Due note:
- Altri scenari sono ovviamente possibili, come pure anti-scenari (questa forse l'ho inventata io, ma mi piace la definizione di anti-pattern). Seguirà un post su qualcuno di questi.
- Ho volutamente evitato di spiegare come risolvere i vari problemi con un TPM.
Nel prossimo post finalmente si parla "in codice": ovvero di registri, di algoritmi e protocolli. Cominciando da come implementare il secure boot.
-quack
Technorati Tags: Trusted Computing -
Fantasia e realta'
Certe volte - per la realtà - non c'è niente di meglio che ispirarsi alla fantasia.
Attacco Ninja fantasia - (fonte)
Attacco Ninja reale - (fonte)
Mr. Anderson fantasia
Mr. Anderson reale
(sorry no pictures: link)
-'uak
Technorati Tags: Cazzate -
Integrita' ed identita'
Uno degli argomenti più ostici da affrontare quando si parla di Trusted Computing è la differenza tra i concetti di identità e di integrità. Sebbene strettamente correlati tra loro, non sono la stessa cosa. Prima di addentrarcisi su come funziona tecnicamente il famoso chip Fritz, è necessario chiarire tale distinzione. Lo faccio con una metafora spero banale.
Per viaggiare all'estero verso paesi extra-europei c'è bisogno del passaporto. La foto con i dati anagrafici sul passaporto dicono all'addetto alla frontiera chi siamo. Chi siamo corrisponde alla nostra identità che viene verificata appunto attraverso il matching con la foto sul nostro passaporto. Il fatto che il passaporto sia impossibile da modificare, ossia che sia tamper-proof, rende perfettamente il concetto di integrità del passaporto. Se scopriamo che il passaporto ha la pellicola trasparente manipolata, possiamo essere certi che l'integrità del passaporto è stata violata, anche se la foto sul passaporto (identità) è la stessa. Il guaio è - a voler dare retta a qualcuno - che l'addetto alla frontiera è estremamente interessato all'integrità del passaporto in misura maggiore o uguale all'identità. Anche se io sono certo di essere io al 100%, l'ufficiale alla frontiera non può più avere tale certezza in quanto l'identità senza integrità non serve a molto in una relazione tra entità sconosciute. A completare l'esempio, calzante quasi come un guanto, il fatto che la pellicola trasparente sul passaporto protegge solo una parte sebbene alquanto importante del passaporto stesso: nessuno ci vieta di pasticciare con ghirigori degni di Mirò tutte le restanti pagine del passaporto.
Trasponendo l'esempio nel mondo del trusted computing, la foto (identità) coincide con la password, la smartcard o l'impronta digitale (o meglio ancora una combinazione delle tre); la pellicola trasparente con il secure boot via TPM. Le due cose sono complementari[1] ma purtroppo anche strumenti di identità abbastanza complessi come una smart card o un'impronta digitale sono totalmente inutili per garantire l'integrità. A peggiorare le "cose del software" ed aumentare la paranoia dei tecnofili, un'ulteriore differenza tra l'esempio del passaporto e il mondo software: la scalabilità degli attacchi nel mondo del computing. Se manipolare mille passaporti (entrare nella casa di qualcuno, manipolare, usare e restituire) è mille volte più difficile che manipolarne uno solo, portare a termine un milione di attacchi usando una vulnerabilità 0-day combinata è facile quasi quanto portare a termine un singolo attacco basato sulla stessa vulnerabilità (se la vulnerabilità è "abbastanza buona"). Nella trasposizione dell'esempio, il fatto che possiamo usare le pagine non sigillate del passaporto come vogliamo corrisponde con il fatto che possiamo più o meno lanciare, su una macchina integra, tutti sistemi operativi che vogliamo con tutti i processi che vogliamo, compresi virus e altre schifezze (i menzionati ghirigori): l'unica cosa che non può accadere è che qualcuno modifichi
la foto o i dati anagraficigli elementi importanti per l'integrità del sistema (e questo lo decide ilpaese che rilascia il passaportosistema operativo/utente) senza che il titolare se ne possa accorgere.Un'ulteriore nota sul concetto di integrità. L'integrità è un valore booleano (vero/falso) e non un floating point; non ci sono valori intermedi di integrità (esempio: il sistema è integro al 99.999%). Quanto questo valore interessi il proprietario del sistema è un altro paio di maniche che dipende anche dalla paranoia ma non solo del propetario: se il propetario del sistema è il povero IT manager che deve gestire decine di migliaia di desktop qualsiasi valore inferiore alla certezza matematica potrebbe non avere nessun significato.
Infine un'ultima osservazione: il passaporto tamper-proof è una tecnologia moderna interessante. Come avviene per tutte le tecnologie si possono teoricamente verificare degli abusi. La critica che più va di moda è cosa succederebbe se tutte le pasticcerie del mondo decidessero di vendere bigné solo a cittadini nati in anni dispari che presentano un passaporto tamper-proof alla cassa. È per questo che il gruppo promotore "Mondo senza passaporti", in virtù del fatto che alcuni paesi che rilasciano passaporti sono delle "sanguinarie" dittature, nell'interesse "eventuale futuro" dei diritti dei compratori di bigné ha fatto richiesta presso il "ministero dei passaporti mondiali" che - in base alla pura discrezione del titolare del passaporto - la pellicola trasparente, e quindi anche i dati relativi all'identità, sia facilmente falsificabile; la motivazione ufficiale è "non si sa mai". Non sto scherzando. E pensare che basterebbe smettere di comprare bigné!
Nel prossimo post intendo analizzare quelle che sono le vere paranoie ed entrare nei dettagli tecnici di come il TPM intende risolverle; il secure boot via chain of trust è solo una di quelle.
-quack
[1] Nella realtà è possibile usare - ma è sconsigliato - una delle feature del TPM anche per scopi di identità ma non viceversa (usare la smart card per garantire l'identità)
Technorati tags: Trusted Computing -
Linksys PAP2T, Betamax e VOIP
Ho ricevuto in questi giorni il mio VOIP adapter di cui ora vado molto, molto fiero. Lo scatolotto qui a fianco è un Linksys PAP2T delle dimensioni di una confezione di sofficini Findus per due, comprato su Voxilla.
Le mie impressioni sull'oggetto in questione, che supporta due linee telefoniche e quindi due diversi provider VOIP, sono ottime. Se non fosse che il mio provider attuale, justvoip, di proprietà di betamax finge di non supportare il SIP (session initiation protocol, abbastanza standard nel mondo VOIP) ci avrei messo meno di 10 minuti nel configurarlo.
La mia "recensione" si basa sulle esigenze di un residente negli USA di chiamare l'Italia (fisso e mobile) e di fare chiamate fuori distretto negli USA (che le compagnie telefoniche fanno pagare in media quanto una chiamata VOIP USA -> Italia cellulare); e sul fatto che fossi già cliente Betamax e Justvoip nello specifico (tariffe: 0c al minuto per le chiamate agli USA e Italia fisse; 10c al minuto per le chiamate ai cellulari italiani).
Una volta collegato lo scatolotto al router e al telefono, tutto è avenuto in automatico. Lo scatolotto si è preso un indirizzo IP e tramite interfaccia web based sono riuscito a configurarlo. Purtroppo, nonostante riuscisse a loggarsi correttamente presso il server justvoip, non sono riuscito a fare nessuna chiamata in uscita. Cercando in giro ho scoperto che justvoip - a differenza di altri prodotti betamax - non vuole supportare il VOIP arrivando ad usare alcuni stratagemmi per evitare di inoltrare la chiamata. Una prova banale con VOIPSTUNT (presso cui vanto un credito di quattro cent e scoperto grazie al blog di Beppe Grillo!) mi ha dato la certezza finale che non era una questione di parametri, ma semplicemente di provider. La difficoltà successiva è stata quella di impostare il dial plan.
Il dial plan è una specie di regular expression che permette di mappare quello che digitiamo sulla tastiera del telefono a quello che sarà il numero in uscita. La cosa sembra banale ma no lo è in quanto provider diversi hanno regole di composizione del numero telefonico diverse e dipendenti dal paese in cui si trovano. Per esempio per fare una chiamata dalla Svizzera all'Italia bisogna comporre +39... oppure 0039... Se ci si trova in America invece bisogna comporre 01139..., ovvero in America al posto del +/00 si usa 011. Alla fine il dial plan che ho usato è il seguente:
(<1:+1>xxxxxxxxxxS0|<0:+390>xxxxxxxxxS0|<3:+393>xxxxxxxxxS0)
che significa che se il numero comincia per 1 seguito da altre dieci cifre, la chiamata va dirottata in America usando +1 come prefisso (Betamax è localizzata in Europa e quindi usa la convenzione europea). Se comincia per 0 o per 3, la chiamata va dirottata in Italia. Non è il miglior dial plan possibile in quanto ci sono diverse eccezioni a queste numerazioni, ma per gli scopi di casa basta e avanza.
L'ultima cosa da fare è trovare un provider VOIP conveniente in base al target di chiamata (nel mio caso solo USA e Italia). Il migliore che ho trovato, tramite questa tabella gentilmente indicata da Pluto, ho scoperto che voipcheap è il provider che fa per me visto il supporto per il SIP e tariffe di 0c/min, 0c/min e 11c/min rispettivamente verso l'America, numeri fissi italiani e i cellulari italiani. Visti i costi della telefonia odierna (anche in Italia ho speso davvero tanto per le chiamate dal cellulare in sole 5 settimane) l'affarotto, dal costo di 70$ spediti, si ammortizza in pochissimo tempo. Certo si può fare la stessa cosa anche via PC, ma accendere il laptop, cercare il microfono e chiamare non è altrettanto immediato come usare il telefono. Il che mi fa chiedere perché non l'ho fatto prima (forse perché lo scatolotto costava un pochino di più). L'affidabilità è abbastanza elevata e la qualità audio altrettanto, forse anche meglio della telefonia tradizionale che probabilmente sotto sotto usa tecnologie VOIP.
Se qualcuno avesse intenzione di sperimentare in tal senso il mio suggerimento è di far attenzione ad adattatori lockati su specifici provider, come avviene per alcuni telefonini.
Parlando di telefonate mi è venuto in mente il mio rapporto personale con i costi della telefonia passato da 10$ per 7 minuti con una scheda telefonica regalatami al mio arrivo ai 0-10c/min delle chiamate VOIP. La telefonia ha fatto davvero passi da gigante! Viva il voip.
-quack
-
Monopoly
Mi limito a riportare alcuni articoli e brani interessanti:
- Is Apple the new Microsoft?
The market, however, corrects issues such as that. In the case of Microsoft's "monopoly," Linux, Firefox and now Apple prove that customers always had choices.
- Europe’s new ‘monopoly’ tariff on Microsoft bypasses WTO
The EU Competition Competitor Neelie Kroes said that the EU now expects a “significant drop” in Microsoft’s overwhelming market share. In fact Kroes even hinted that perhaps somewhere around 50% but not exactly is the correct market share. Kroes’ spokesman Jonathan Todd clarified that:“Once illegal abuse has been removed and competitors are free to compete on the merits, the logical consequence of that would be to expect Microsoft’s market share to fall,”
So I can translate this (via the contrapositive rule of logic) that if the market share doesn’t fall, then that “logically” must means that free competition doesn’t yet exist and illegal abuse must still be rampant. That leaves absolutely no other possible explanation for Microsoft’s dominant market share so what’s next if crippling PC makers doesn’t work? Will the EC then order ISVs (Independent Software Vendors) to port all of their applications to Linux with equivalent performance, functionality, stability, and validation if they wish to continue doing business in Europe? Where does the madness end?
- Has Google actually read U.S. v. Microsoft?
The weaknesses in Google's argument are that it has nothing to do with the original Microsoft case or with the purpose of the consent order, and that it does not relate to the conditions of the market that have developed in the years since the case ended.
Una sola osservazione e una domanda: avere un monopolio in U.S. non è di per sé illegale. Se Firefox non fosse gratuito ma costasse 80$ avrebbe la stessa quota di mercato?
-quack
P.S. oggi sono 9 anni.Quest'anno le M&Ms sono nere e arancioni:
- Is Apple the new Microsoft?
-
Vista e le previous versions scomparse
Un baco degno dei migliori post de "i miei guai con Vista" attanaglia la feature delle "Previous Versions" di Vista. In alcune edizioni di Vista è infatti possibile recuperare versioni precedenti dei propri folder cliccando col tasto destro su un folder e scegliendo "Restore previous Versions":
Quello che appare è una schermata che presenta tutte le versioni precedenti del folder che poi è possibile ripristinare, aprire o addirittura copiare da qualche altra parte:
L'utilità di questa feature sta nel fatto che viene creata una copia di backup differenziale di tutto il drive almeno ogni giorno e che si può assegnare quanto spazio di HD assegnare a tali backup. La stessa feature di System Backup/Restore fa uso del meccanismo delle Shadow Copies per mantenere la copia dei file di sistema di volta in volta aggiornati.
Certe volte capita invece che per qualche motivo tutta la parte inerente le versioni più vecchie è completamente mancante, come nella figura qui sotto:
Il baco è dovuto alla cancellazione, o la mancata accessibilità, della "Default Share", quella che per intenderci viene creata automaticamente dal sistema ed indicata con il nome lettera_drive + simbolo_dollaro (C$ per C:, D$ per D:, ecc.). Questo può avvenire per svariate ragioni:
- cancellazione accidentale o accidentata
- migrazione di hard-disk da un PC all'altro
- firewall aggressivi che bloccano l'accesso di loopback a \\localhost\c$
- varie ed eventuali
Per ripristinare la situazione (insieme con tutti i dati che non sono mai stati cancellati!) basta ricreare la share di default che si può fare in due modi diversi:
- aprire l'applet dei servizi ( + R e lanciare services.msc), cercare il servizio "Server", cliccare-col-destro e scegliere riavviare:
- aprire un command prompt da amministratore e digitare:
NET STOP SERVER
NET START SERVER
Dopodiché la finestra delle "Previous Versions" dovrebbe magicamente tornare a mostrare tutti i file. Un ringraziamento ad Enrico che mi ha permesso di indagare sul baco.
-Enjoy!
UPDATE: in qualche caso strano la soluzione proposta potrebbe non funzionare. Se per qualche motivo riavviare il servizio server non rigenera le share di default, la mossa successiva e definitiva è di ricrearle a manina. La via più semplice da descrivere su un blog è quella del command prompt da amministratore. Digitare:
NET SHARE x$=x:\
(dove x è la lettera del drive e va fatto per tutti i drive. Esempio: NET SHARE C$=C:\)Technorati Tags: Vista -
Isaia
Sei mesi fa ho fatto una previsione multipla basata su 3 affermazioni. Manca meno di una settimana alla verifica finale (che coinciderà con il rilascio di Leopard) e come si può vedere la previsione numero due:
Security: non che ce ne sia bisogno, ma visto che il lavoro sui compilatori vari è stato già fatto da altri, il nuovo arrivato colmerà qualcuno dei buchi vistosamente mancanti nella colonna MacOS, di questa tabella.
si è realmente concretizzata. Dato il mio forte interesse per la sicurezza, sono piuttosto deluso che di tutta la tabella è stata colmata solo una delle tante lacune. Ma d'altra parte sono sinceramente contento che oltre a queste features "compile time" sono state introdotte anche altre misure runtime, quasi (?) tutte sono già precedentemente implementate in altri sistemi operativi (non che sia un male!). Andiamo per ordine:
- ASLR (Vista RTM, Linux 2.6.20)
- Sandboxing (sembra simile agli IL di Vista, ma stranamente Safari non sembrerebbe sandboxed)
- Tagging Downloaded Applications (Windows XP SP2)
- Signed Applications (sembra molto interessante e sono curioso di vedere come è stata implementata)
- Application Based Firewall (Vista RTM)
- Storage Encryption (che dalla descrizione sembra più simile a TrueCrypt che a Bitlocker)
-quack
-
Hot coffee
Che Seattle sia la patria di Starbucks è risaputo; la gente beve "caffé" anche mentre guida.
Meno risaputo che Seattle fosse la patria di cowgirls espresso:
Magari il caffé lascia desiderare, ma il servizio sembrerebbe compensare
-quack
-
Chain of trust
Sabato scorso avevo proposto un quiz sul tanto odiato TPM. La domanda era cosa offre un TPM che una Smart Card non può offrire. La risposta è riassunta nel titolo di questo post, la chain of trust.
Il TPM - essendo un dispositivo riconosciuto e supportato da BIOS - permette di validare il Sistema Operativo prima che quest'ultimo venga caricato in memoria, cominciando appunto dal boot loader: in parole povere i l TPM è in grado di garantire l'integrità del boot loader _AL_ sistema operativo; l'unico modo safe in cui questo può avvenire è via hardware e necessariamente prima che il sistema operativo venga caricato. Perché non ci si può fidare del boot loader solamente via software? Perché il boot loader potrebbe venire facilmente aggirato e programmato per mentire (i rootkit sono solo una via). Il TPM, per come è costruito, garantisce l'integrità fisica delle chiavi private in esso contenute: modificarle dall'esterno è impossibile, come può avvenire con una chiave memorizzata su una chiavetta USB.
Per far funzionare una Smart Card, o un dispositivo SD, c'è bisogno di driver e di un sistema operativo. Per questo motivo una Smart Card, laddove non supportata a livello di BIOS[1], non può essere usata come dispositivo per garantire la chain of trust.
Nota importante: il compito principale del secure boot non è quello di impedire di far partire software "non firmato" ma è quello di dare al software interessato la risposta «certa» alla domanda «ma io sono veramente io?». La reazione a tale risposta dipende quindi solamente da «chi» fa la domanda e non dal TPM stesso.
C'è infine un aspetto pratico: se si usasse una Smart Card per memorizzare le chiavi di cifratura di bitlocker, il trafugamento fisico dei dati sarebbe un pelino più semplice.
Questo da parte mia è il primo post sull'argomento Trusted Platform. Cercherò di evitare accuratamente «false» paranoie; quelle vere vanno prese in considerazione in quanto alla base dei requirements per creare una Trusted Platform.
-quack
Technorati Tags: TPM, Trusted Computing
[1] Ad oggi, non sono a conoscenza di sistemi in vendita che supportino il secure boot via smartcard. -
Licenza di scrivere
Prendo spunto da questo complimento (mi fanno arrossire):
Il blogger e' letteralmente un pazzo con la licenza di scrivere !!!!
Watson: ma Sherlock, ma che licenza ci vuole per scrivere?
Sherlock: elementare Watson, elementare!!!-quack
-
TPMQ
Oggi è giornata di quiz sul TPM.
"Batman" ha colpito ancora. L'articolo, che varrebbe uno dei miei "soliti" post, è pieno di inesattezze. Siccome sono in vena di quiz, ne riporto un paragrafo:
Se avete acquistato un banalissimo notebook con Vista Hut (la versione povera di Vista Home) sappiate che potete tranquillamente cifrare il disco fisso usando uno qualunque dei vari strumenti disponibili sul libero mercato. Potete usare BestCrypt di Jetico, TrueCrypt o cercare qualcosa di alternativo a Tucows. Non occorre avere Windows Vista Enterprise ed un TPM per avere accesso a questa feature. Più esattamente, non è nemmeno necessario avere Windows.
La mia domanda: c'è un motivo specifico per il quale in uno scenario del genere un chip TPM diventa insostituibile. Quale?
Un punto in più per chi spiega perché quello che si può fare con un TPM non si può fare con una memory card SD (secure digital) oppure una smartcard (a cui pare Batman ci sia molto affezionato).
La risposta (corretta?) dopo il weekend. Io intanto vado a farmi una birra all'Oktoberfest di Leavenworth, paese bavarese negli Stati Uniti .
-Salut'!
-
Disabilitare il secure desktop di Vista
In passato ho già spiegato come disabilitare parzialmente UAC, operazione che sconsiglio vivamente (senza UAC molte features interessanti sono altrettanto spente). Un'altra possibilità alternativa alla disabilitazione parziale è quella di disabilitare il secure desktop. Tale desktop, totalmente separato da quello normalmente "interattivo", viene usato dal sistema esclusivamente per presentare il prompt di UAC ma non solo: il secure desktop è controllato esclusivamente dal sistema e nessun software può interagire automaticamente con esso; una misura di sicurezza in più a garanzia dell'utente.
Spegnere il secure desktop è abbastanza semplice. Basta settare a zero il valore di questo intero nel registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
PromptOnSecureDesktopPer riattivarlo basta rimetterci il valore "1".
Quali sono le implicazioni dal punto di Vista della sicurezza?
Se il malware è già presente ed in esecuzione sul sistema ma come 'utente normale' (e già basta per far parecchi danni) potrebbe lanciare un altro processo, forzare UAC e avere accesso totale (e quindi infettare anche tutti gli altri profili). Infine, sarà una mia impressione, ma i prompt UAC con il SP1 in un secure desktop mi sembrano istantanei, ma potrebbe essere dovuto ad un effetto placebo. Il mio consiglio: questa opzione è interessante dal punto di vista sperimentale. Fatti i dovuti esperimenti è meglio lasciare tutto come prima.
-quack
-
Overengineering
Comincio a credere che quello di passare troppo tempo sul come migliorare una soluzione - laddove non sia strettamente necessario - stia diventando una piaga molto comune. In inglese hanno una sola parola, overengineering: un esempio [quasi] reale di quanto ho visto accadere può essere di aiuto.
Richiesta di implementare HelloWorld in C#. La prima versione:
/// <summary> /// My hello world class /// </summary> public class HelloWorld { static void Main(string[] args) { System.Console.WriteLine("hello world"); } }
Primo feedback: System.Console non è proprio standard. Meglio uno using statement. E ovviamente mancano i copyright.
/* * HelloWorld.cs * * copyright PippoSoft corp. 2007 * * owner: Paolino Paperino * * */ using System; /// <summary> /// My hello world class /// </summary> public class HelloWorld { static void Main(string[] args) { Console.WriteLine("hello world"); } }
Secondo feedback: che succede se non vogliamo più scrivere alla console ma ad un'altra classe di tracing? Giusto:
/* * HelloWorld.cs * * copyright PippoSoft corp. 2007 * * owner: Paolino Paperino * * */ using System; /// <summary> /// Abstract trace writer /// </summary> public abstract class AbstractWriter { public abstract void WriteLine(string line); } /// <summary> /// Trace writer to Console /// </summary> public class ConsoleWriter : AbstractWriter { public override void WriteLine(string line) { Console.WriteLine(line); } } /// <summary> /// My hello world class /// </summary> public class HelloWorld { static void Main(string[] args) { ConsoleWriter cw = new ConsoleWriter(); cw.WriteLine("hello world"); } }
Terzo feedback: ma così facendo la stringa non è localizzabile. Ah vero!
/* * HelloWorld.cs * * copyright PippoSoft corp. 2007 * * owner: Paolino Paperino * * */ using System; /// <summary> /// Abstract trace writer /// </summary> public abstract class AbstractWriter { public abstract void WriteLine(string line); } /// <summary> /// Trace writer to Console /// </summary> public class ConsoleWriter : AbstractWriter { public override void WriteLine(string line) { Console.WriteLine(line); } } public enum LocalizedStrings { Error, HelloWorld } public class ResourceHelper { public static string RetrieveResource(string xmlFileName,
LocalizedStrings aLocalizedString) { // TODO: open the file // find the string return "Hello world"; } } /// <summary> /// My hello world class /// </summary> public class HelloWorld { static void Main(string[] args) { ConsoleWriter cw = new ConsoleWriter(); cw.WriteLine(ResourceHelper.RetrieveResource("myfilename.resx",
LocalizedStrings.HelloWorld)); } }Quarto feedback. Ma se volessimo scrivere ad un server che ha una certa latenza? Meglio invertire il controllo tra Writer e codice che lo invoca. Un paio d'ore dopo:
/* * HelloWorld.cs * * copyright PippoSoft corp. 2007 * * owner: Paolino Paperino * * */ using System; /// <summary> /// Generic interface for all traceable stuff /// </summary> public interface ITraceable { string ReturnTrace(); } public enum LocalizedStrings { Error, HelloWorld } public class ResourceHelper { public static string RetrieveResource(string xmlFileName,
LocalizedStrings aLocalizedString) { // open the file // find the string return "Hello world"; } } /// <summary> /// My ITraceable implementation /// </summary> public class MyTraceable : ITraceable { public string ReturnTrace() { return ResourceHelper.RetrieveResource("myfilename.resx",
LocalizedStrings.HelloWorld); } } /// <summary> /// Abstract trace writer /// </summary> public abstract class AbstractWriter { public abstract void WriteLine(); public abstract void SetTraceable(ITraceable myTraceable); } /// <summary> /// Trace writer to Console /// </summary> public class ConsoleWriter : AbstractWriter { ITraceable _mytrace = null; public override void WriteLine() { if (_mytrace == null) { throw new Exception("traceable not set"); } Console.WriteLine(_mytrace.ReturnTrace()); } public override void SetTraceable(ITraceable myTraceable) { this._mytrace = myTraceable; } } /// <summary> /// My hello world class /// </summary> public class HelloWorld { static void Main(string[] args) { MyTraceable mt = new MyTraceable(); ConsoleWriter cw = new ConsoleWriter(); cw.SetTraceable(mt); cw.WriteLine(); } }Quinto feedback. Ma se non si riesce a instanziare una delle classi per OUT_OF_MEMORY? Quinta e ultima implementazione:
/// vaffanc **o; an this is not a pointer pointer!
public class HelloWorld { static void Main(string[] args) {
System.Console.WriteLine("hello world"); } }Sì, perché il codice poi non lo debugga chi dà questi geniali suggerimenti, ma chi lo "scrive".
-quack
P.S. che ci crediate o no il codice compila e funziona come da specifiche in tutte le forme!
-
Amis du Brazil
Evviva i brasiliani che hanno capito tutto della vita.
-
Buon compleanno 2600
30 anni fa nasceva l'Atari 2600, che con i suoi 128 byte di memoria fa comparire un lacrimone enorme di nostalgia a quelli della mia generazione.
Io non ne ho mai avuto uno, ma averlo non era importante quanto avere la possibilità di giocarci - rigorosamente dopo aver finito i compiti - a casa di qualche amico come quello del terzo piano.
La cosa favolosa è che non c'era bisogno di decine e decine di titoli, anzi si finiva per passare il tempo solo su un paio di giochi. O meglio: game programs come li chiamava l'Atari (con tanto di marchio registrato). Tra i classici dei pomeriggi del terzo piano c'erano Space Invaders e Defender, fino a quando al mio amico hanno prestato "il gioco".
Il gioco è "Slot Racers" ricevuto in prestito perenne perché giocabile solo in modalità due giocatori. Con 128 byte non c'era nessuna speranza di creare una AI adeguata e ci credo!
Si trattava di guidare una macchina dotata di cannone (?) all'interno di un labirinto cercando di colpire l'avversario in una gara spietata all'ultimo colpo. Nel gioco c'erano un paio di chicche uniche a cominciare dal modo di guidare il trabiccolo con controllo "relativo": per far girare il veicolo di 90 gradi verso destra - sia che sullo schermo fosse "destra", sia che sullo schermo fosse "sinistra" perché si andava nel verso opposto - bisognava inclinare il joystick (la leva!) a destra. L'altra chicca consisteva nel fatto che una volta sparato il proiettile continuavao a girare ad infinito seguendo il percorso del labirinto (c'erano pure diversi labirinti a rendere le cose più complicate, ma quello base era decisamente il migliore) fino a quando non veniva raccolto dalla macchina o colpiva la macchina avversaria. Per gli "esperti" era possibile settare una modalità in cui la macchina non poteva sparare altri colpi fino a quando il colpo precedente non andava a segno o veniva raccolto indietro. E se dopo venticinque e passa anni ricordo tutti questi dettagli il motivo è legato alle sterminate ore passate a giocare a Slot Racers.
Il gioco nella sua semplicità e bellezza è davvero indescrivibile con le parole: incredibile quanto ci siamo appassionati a quei blocchi di pixel quadrettati.
Il post non sarebbe completo di ricordi se non facessi menzione "all'altro gioco", l'ultimo che abbiamo giocato sulla 2600 prima di passare ad altri lidi. Joust! Se qualcuno venisse colto da nostalgia, può rifarsi con Stella, un emulatore open source della mitica console per tutti i gusti.
Tenete solo a mente che per divertirsi a slot racers c'è bisogno di 2 giocatori, nella speranza che prima o poi qualcuno implementi un network mode.
-Enjoy!
-
Spegnere o non spegnere?
Questo è il dilemma.
Leggevo su PuntoDiVista un post che indica come cambiare le impostazioni di default del "pulsante" di spegnimento; e mi son chiesto: perché la gente vuole "spegnere" il PC?
Mi spiego meglio: una delle features che più avevo atteso in Windows 2000 era la possibilità di fare hibernate. L'ibernazione è quella feature che salva lo stato del PC (RAM, processore, IRQs, etc.) su un file che all'accensione ci farà sembrare tutto così come era prima. Da quando è stata inventata a feature di "ibernazione" io non ho mai più spento (leggi: shutdown) il mio PC se non per casi eccezionali (hardware upgrade, windows update, ecc.). Fino ad XP però l'ibernazione non era abilitata di default né era il metodo "preferenziale" di spegnimento. Col tempo la tecnologia è migliorata e l'integrazione tra hardware e software ha permesso un'ulteriore innovazione in Vista: «il sonno ibrido».
In questa pagina cortesia di Intel sono indicati tutti gli "stati" di alimentazione (che vanno da S0 completamente acceso a S5 completamente spento). Lo stato di «sonno ibrido» corrisponderebbe ad una via di mezzo tra S3 ed S4. S3 è lo stato cosidetto di sleep in cui tutta la circuiteria hardware è senza alimentazione ad eccezione della RAM: questo permette una accensione ultrarapidissima (sotto la manciata di secondi) bilanciata ad un consumo molto basso. Lo stato S4 è quello dell'ibernazione: la memoria viene appunto scaricata anch'essa in un file e all'accensione il sistema operativo si occuperà di ricaricarla richiedendo una quantità di tempo non indifferente (tempo di boot/bios + tempo di caricamento da disco in memoria). La differenza tra lo stato S4 ed S5 è puramente "software" nel senso che l'ibernazione è implementata dal SO: all'accensione infatti il BIOS si comporta come se fosse una vera e propria accensione "da spento" (POST, controllo della RAM, lancio dell'OS, ecc.). Dal punto di vista dell'esperienza dell'utente, a parte i tempi di caricamento, la differenza tra S3 ed S4 è nulla: l'utente si ritrova il desktop così come l'aveva lasciato. Il problema dello stato S3 è relativo a cosa accadrebbe se il PC non fosse più alimentato (calo di tensione, qualcuno tira la spina, ecc.): si otterrebbe la stessa cosa che si ottiene spegnendo il PC a crudo. Di qui l'idea - se mi è concesso geniale - dello stato ibrido. Al momento dello spegnimento la RAM viene copiata su file come se fosse una ibernazione ma dal punto di vista elettrico il PC viene messo nello stato S3. Se la corrente va via, il sistema operativo si occuperà di fare il boot come se il pc fosse stato ibernato, altrimenti il processo di accensione segue la via molto più veloce dell'accensione da sleep. Il migliore dei mondi possibili.
Lo stato di sleep era già stato implementato ai tempi di XP ma purtroppo una politica di gestione dei power modes che dà troppo potere agli applicativi (che sullo sleep hanno diritto di veto) ha reso lo stato di sleep in XP un terno al lotto. Con Vista tutti power modes sono stati ridisegnati e la novità principale è che i programmi hanno due secondi di clean-up time (i casi in cui un programma deve fare qualcosa per reagire allo sleep sono rarissimi) e alla fine dei due secondi il PC è già in fase di spegnimento.
C'è da aggiungere che nei portatili lo stato ibrido non è attivo di default; il motivo è banale: essendo di solito alimentati da batteria che funge da alimentazione di backup, non si corre il rischio di cadute di alimentazione. Quando la batteria raggiunge livelli critici il laptop si accende brevemente per passare a S4. Purtroppo rimuovere la batteria non attiva automaticamente lo sleep ibrido.
Una nota ecologica: lo stato S3 di sleep consuma davvero pochissimo mentre l'ibernazione dal punto di vista ecologico è praticamente identica a tenere il PC spento. Il fatto che il PC si accenda molto velocemente mi ha spinto a spegnerlo più spesso di prima (PC lasciato acceso durante la pausa pranzo).
Infine una mia curiosità: sento sempre più sovente usare la parola "spengere" come equivalente di "spegnere" anche da giornalisti non toscani. Che l'Italia si stia Toscanizzando?
-quack
-
Chiuso?
?
(lo so è un post un po' del cavolo anche per me e mi dispiace se è un po' ambiguo. Problemi complessi richiedono calcoli laboriosi. Sto cercando una soluzione mentre nel frattempo rispondo ad un po' di conversazioni già avviate. A presto e grazie per i commenti!)
-
Scatole grandi
Scott Hanselman si lamentava della scatola gigantesca con cui Amazon ha spedito
il lettoreun film (!) HD-DVD. Newegg non è da meno. Questo è l'involucro con cui mi è arrivata la memoria microSD per il mio telefonino:In basso al centro la memoria (la cosina nera che si intravede). A destra l'involucro in blister con cui la memoria viene venduta. Rapporto prodotto scatola 1:100000 e forse più. Pazzesco!
-q
-
Banane agli occhi
Banane agli occhi è l'espressione gravinese equivalente della più comune «prosciutto sugli occhi». Con una sostanziale differenza: che se col prosciutto si può intravedere qualcosa controluce, con le banane ci sono davvero poche speranze. È questa la prima cosa che ho pensato quando ho messo insieme due pezzi di informazione separati:
- il feedback estremamente positivo su Vista ricevuto in questi giorni da due grossi clienti; con l'accezione "grossi" clienti non mi riferisco alla relativa quotazione in borsa ma al numero di installazioni di Vista previste
- un editoriale su CNet di Don Reisinger che consiglia a MS di buttare via Vista se si vuole salvare.
Penso alle banane quando leggo le solite panzane fritte e rifritte. Questa la più bella:
For the first time on any operating system, we're not even allowed to backup our favorite movies? Come on.
Mi chiedo se questo tipo dell'editoriale ha mai pensato di far girare su Vista applicazioni come i vari «shrinker» e «decrypter» disponibili anche in versione ad alta definizione.
E mi chiedo se questo tipo dell'editoriale ne sa abbastanza per capire che la relazione tra Protected Video Path e la possibilità di fare un backup è davvero minima se non esattamente nulla.
Meno male che TGIF e si torna a casa: l'esperienza è stata davvero educativa e a tratti esilarante. Come questa scena tratta dal volo Neward-Orlando.
<scena>Ci notificano che il volo subirà un notevole ritardo (90 minuti e passa) e che siamo in coda per il decollo nella «posizione 37». Passa un hostess e con tono molto serio quasi drammatico le dico: «Senta, potrebbe riferire al capitano che io ed il mio collega siamo pronti e se vuole possiamo anche partire?». La faccia dell'hostess era indescrivibile con un'espressione mista schifata-sorpresa. Poi peró ci ha ringraziato per il sense of humor.</scena>
Happy weekend!
-quack
Technorati tags: cazzateUpdate: apparentemente non sono l'unico a pensare che le ca**ate di Don siano aria fritta. Notare la somiglianza di alcuni punti su quanto detto in questo post. In inglese si dice «great minds think alike». Non voglio peccare di immodestia per cui mi limito solo a dire che ultimamente sono abbastanza in forma