Il 27/12/2015 15:17, Giuseppe Attardi ha scritto:
In un sogno che stavo facendo poco fa mi trovavo a scrivere delle norme per bloccare processi su macchine fuori controllo. Stavo imponendo l’esistenza su ciascuna macchina di un servizio standard, che denominavo ProgramManager, attraverso il quale si poteva intervenire per uccidere un processo. A parte il fatto che non sapevo come fare a garantirne la presenza, dato che le macchine hanno sistemi operativi diversi (forse ci si può basare su SNMP), poi mi chiedevo chi avesse il diritto di intervenire. Allora mi immaginavo che prima di intervenire, si dovesse chiedere al responsabile della macchina. Pensavo che lo si dovesse informare via mail, dandogli 5 minuti di tempo per rispondere. Ma anche questo era difficile, perché in 5 minuti un processo potrebbe averne generati altre migliaia, rendendo difficile poi andarli a uccidere selettivamente. Ricordo che mi é già capitato di non fare in tempo a uccidere i processi, perché l’esecuzione dei comandi di kill richiedeva più tempo della rapidità con cui i nuovi venivano generati. Pensavo però che male che vada, potevo comunque spegnere la macchina o staccarla dalla rete. Ma ora la cosa si complica se la macchina è un server virtuale: spegnerla potrebbe interferire con altre attività legittime in corso sulla stessa macchina. Anche staccarla dalla rete non è più così semplice: non si può semplicemente staccare il cavo. Intanto i cavi posso essere più di uno e poi ci sono le connessioni wireless. Allora bisogna intervenire sul router: ma se poi il problema è sul router stesso?
Mi sono così reso conto che il problema è più complicato di quanto immaginassi e mi chiedevo se qualcuno ha definito delle “regole di ingaggio”, simili a quelle previste per le forze di polizia quando si trovano di fronte a una minaccia. In effetti il termine non è nuovo e lo sta proponendo anche il Pentagono: http://thehill.com/policy/cybersecurity/254206-dod-official-calls-for-cyber-...
Il sogno credo sia stato innescato dalla discussione che avevo avuto a cena su come ci si deve comportare di fronte a una Google car. Come fa la polizia a fermarla? Di chi è la responsabilità per gli incidenti? Chi va in galera per omicidio colposo?
forse bisogna obbligare alla progettazione di freni e motori "normalmente bloccati/spenti" e lasciare al software di tenerli sbloccati/accesi tale che una volta che il supervisor di turno emette un killall -u googlecar (inteso come l'utente sotto il quale girano tutti e solo i processi della Google Car) a quel punto il freno ed il motore tornano nella valle di minimo energetico e blocca le ruote/spegne il motore (la via di mezzo puo includere una procedura di parcheggio al lato della strada etc etc) comunque i processi supervisionati sono una realta ampiamente usata (vedi ad esempio la subordinazione nel kernel di linux con i namespaces i.e. host GNU/Linux + lxc container) saluti