Cosa è Un Proxy Server: Navigare Anonimi

21 Maggio 2007 di Daniele Frulla


Un Proxy Server è un server che ha il compito di fare da tramite tra il vostro browser e la rete Internet.

La sua funzione, a grandi linee, è simile a quella della cache di un browser, con la differenza che i dati immagazzinati non risiedono sulla vostra macchina, ma su una macchina remota, che mette a disposizione una grande quantità di spazio su disco.

Il Proxy Server intercetta tutte le richieste inoltrate dal browser (HTTP – Hypertext Transfer Protocol ), FTP – File Transfer Protocol , SSL – Secure Sockets Layer, Gopher e Socks – protocollo utilizzato dal servizio proxy di Microsoft ) e le gestisce in modo da rendere la navigazione quanto più veloce possibile.

Se la pagina o il file richiesti non sono presenti nel disco il Proxy la richiede al server d’origine e ve la fornisce. Allo stesso tempo conserva una copia dei dati nel disco locale al fine di renderli fruibili ad altri utenti.

Se invece esiste già una copia dei dati richiesti, il Proxy, prima di fornirveli, controlla se sono vecchi ed in tal caso li carica nuovamente dal server di origine.

L’uso di un Proxy Server rende la navigazione molto più veloce del normale (arrivando a toccare i limiti consentiti dal modem e dalla linea telefonica), in quanto le pagine o i files richiesti non vengono prelevati direttamente dalla rete. In questo modo infatti si annullano i ritardi imputabili alla distanza e all’intasamento delle linee.

L’efficienza di un Proxy è direttamente proporzionale al numero di persone che lo utilizzano, in quanto tante più saranno le richieste effettuate tanto maggiore sarà la cache a disposizione degli utenti.

I Proxy Server utilizzano il protocollo NAT (Network Address Translation) o altri protocolli similari, quali il PAT (Port Address Translation). Questi protocolli fanno in modo che l’indirizzo IP (Internet Protocol) del client che effettua una richiesta al Server Proxy non sia visibile al server remoto di destinazione. In questo modo è garantita una maggiore sicurezza nella navigazione d’origine.

Esistono online, proxy server che consentono la navigazione anonima, ma sono sempre di meno. Delle liste abbastanza aggiornate le potrete trovare qui:

Fonte: www.newstechnology.eu  

Steganografia

20 Maggio 2007 di Daniele Frulla


Comunicare in modo sicuro: La Steganografia

La parola steganografia deriva dall'unione di due vocaboli greci: stego (nascondo) e grafia (scrittura), ed è l'insieme delle tecniche che consente a due o più persone di comunicare in modo tale in modo da nascondere l'esistenza del messaggio e della stessa comunicazione agli occhi di un eventuale osservatore. Per quanto possa essere considerata sottile la differenza tra steganografia e crittografia tanto che, spesso vengono accomunate, le differenze sono invece sostanziali. Nella crittografia l'antagonista è a conoscenza dell'esistenza di una comunicazione, ma se la cifratura è efficace, non è in grado di comprenderne il contenuto, mentre nella steganografia l'antagonista non si accorge dell'esistenza della comunicazione. Con la steganografia si cifra un messaggio e poi lo si nasconde all’interno di un contenitore.
Si parla di queste conoscenze già ai tempi di Erodoto e di Aristotele e anche Hollywood ha fatto uso di queste tecniche in alcuni film: l'inchiostro simpatico in Chi ha incastrato Roger Rabbit? e reagenti chimici o sostanze di uso comune ne Il nome della Rosa.
Tuttavia, la steganografia è ancora in fase sperimentale, e non possiede una teoria generale che ne delinei limiti, possibilità e fondamenti teorici. Tra le tecniche più conosciute ci sono:
Steganografia iniettiva La maggior parte delle tecniche consentono di iniettare il messaggio segreto dentro un messaggio contenitore preesistente modificato per contenerlo risultando praticamente indistinguibile dall'originale, almeno con l'ausilio delle sole capacità sensoriali umane.
Steganografia generativa L'altro tipo di tecnica sfrutta la capacità di generare appositi contenitori ed in questo caso il messaggio segreto è utilizzato per pilotare il processo di generazione della cover.
Attraverso un sistema di classificazione più specifico, le tecniche steganografiche possono essere ripartite in tre classi:
Steganografia sostitutiva E' la più semplice e diffusa e si basa sul concetto che i canali di comunicazione trasmettono segnali che sono sempre accompagnati da qualche tipo di rumore o da informazioni ridondanti che i nostri sensi non possono percepire; questo rumore può essere sostituito da un particolare segnale ottenuto dal messaggio segreto trasformandolo in modo tale che, a meno di essere a conoscenza della chiave segreta o di possedere un filtro software da applicare alla cover, sia indistinguibile dal rumore vero e proprio.
Steganografia selettiva Ha valore teorico e raramente utilizzata. Si basa sull'idea di procedere per tentativi, ripetendo una stessa misura fino a quando il risultato non soddisfa una misura.
Steganografia costruttiva Cerca di raggiungere lo scopo della tecnica precedente sostituendo il rumore presente con l'informazione modificata in modo da imitare le caratteristiche statistiche del rumore originale, basandosi su modelli del rumore e adattando i parametri dei suoi algoritmi di codifica, in maniera che il falso rumore contenente il messaggio segreto sia il più possibile conforme al modello. Presenta diversi svantaggi perché la costruzione di un modello del rumore richiede grossi sforzi, solitamente un attaccante ha molto tempo a disposizione e potrà quindi generare un modello più accurato e rendersi conto della differenza con il rumore originale e nel caso in cui l’attaccante si dovesse impadronire del modello, avrebbe la possibilità di eseguire un attacco particolarmente efficace contro il sistema.

Uso della Steganografia
I passi fondamentali
1 Scaricare ed installare correttamente il software adatto alle vostre esigenze
2 Scegliere un’immagine da usare come cover, assicurandovi che sia del formato usato dal software in vostro possesso, considerando che più è grande il messaggio da nascondere, più grande deve essere il contenitore (con alcuni software potrebbe essere necessario fare una copia di sicurezza dell’immagine)
3 Preparare il messaggio da nascondere, salvandolo eventualmente come richiesto dal software (es.: .txt)
4 Scegliere una password con cui mascherare il messaggio all’interno della cover, se consentite dal software, scegliere il file in output, sia come path che come immagine
5 Eseguire una verifica del procedimento per nascondere il messaggio
6 Eseguire una verifica del procedimento per estrarre il messaggio
7 Eseguire una verifica che i due files siano identici

Una branca della steganografia che sta assumendo sempre maggior peso è il watermarking, che consiste nel marchiare digitalmente le immagini, i filmati o altri documenti in modo da segnalarne l'origine e/o l'autore e garantire la proprietà intellettuale.

Conclusioni
Dai fatti del 2001 in poi, con l'aumento delle denunce di un probabile uso di immagini steganografiche come veicolo contenenti istruzioni per i terrostisti, ha scoraggiato l'uso di queste tecnologie, tanto che l'autore di OutGuess è stato costretto ad autocensurarsi, sospendendo la distribuzione dei sorgenti della sua ricerca.
Ciò non toglie che la steganografia rimane uno dei pochi modi di comunicazione, in grado di mantenere la sicurezza di un minimo di privacy. E' anche vero però, che non esiste cosa al mondo di cui non si possa fare un uso illecito e sbagliato, anche se la steganografia non è stata ideata per provocar danni. Ma l'importante è fare l'uso migliore di ogni cosa che si va ad operare.

Crittografia

di Daniele Frulla


La crittografia risente, sin dai tempi antichi, di influssi militari, ma oggi viviamo continuamente di comunicazioni crittografate (comunicazioni GSM e smart-card per programmi satellitari).

La Teoria

Il termine crittografia deriva dal greco kripto e graphos che significa scrittura nascosta ed identifica quella disciplina scientifica che studia le tecniche idonee a proteggere un testo, rendendolo incomprensibile da chi non è a conoscenza della corretta chiave di decifratura. La tecnica crittografica si basa su due meccanismi: la trasposizione (o permutazione) e la sostituzione.
La trasposizione consiste nel modificare l’ordine degli elementi, lasciandoli sostanzialmente immutati. Quindi il testo si presenterà come un anagramma, e grazie alla regola usata si potrà ricavare il testo originale.
La sostituzione non modifica l’ordine degli elementi, i caratteri vengono solo sostituiti con altri. Per leggere il testo dovremmo conoscere la regola di sostituzione.
Gli attuali sistemi crittografici si basano sui cifrari (complessi algoritmi di cifratura) del testo in chiaro. I caratteri vengono associati a numeri, sui quali vengono eseguite una serie di operazioni matematiche, fino ad ottenere il testo cifrato.

La Storia

La storia della crittografia risale sicuramente ai tempi dei Greci. Nel libro di Plutarco, Vite Parallele, si fa riferimento a come il governo inviasse messaggi crittografati attraverso la scitala. Successivamente nel 400 a.c. un generale di nome Enea il Tattico, parla esplicitamente in un trattato sulla difesa delle fortezze, dei sistemi crittografici, mentre in epoca successiva si hanno riferimento di sistemi cifrati nella cultura  indiana ed ebraica. Uno dei più importanti cifrari usato fu il cifrario di Cesare. Consisteva nello scrivere l’alfabeto cifrato sotto all'alfabeto in chiaro e facendo corrispondere una lettera di quest'ultimo con quello di sotto spostandosi 23 posizioni verso destra o, più semplicemente, 3 posizioni a sinistra. Tale tipo di crittografia viene oggi chiamata ROT seguita dal numero di posizioni che ci si deve spostare per la ricostruzione del messaggio in chiaro. La cifratura più utilizzata è la ROT 13, ma la ROT 1 è stata usata da Stanley Kubrick nel film 2001:Odissea nello Spazio, dove il supercomputer HAL non è altro che IBM codificato in ROT 1.

La più famosa macchina crittografica in senso stretto è stata Enigma, utilizzata dai Tedeschi nel corso della Seconda Guerra Mondiale per cifrare i loro messaggi. Un notevole impulso alla decifratura dei messaggi di Enigma lo diede un gruppo di crittoanalisti a Bletchley Park, che lavorarono per gli Inglesi agli ordini di Alan Turing che vi dedicò tutti i suoi sforzi e che morì dopo qualche anno la fine della Grande Guerra. Lo scopo del gruppo era quello di decifrare i messaggi senza che i Tedeschi ne venissero a conoscenza, altrimenti molti eventi sarebbero cambiati, come probabilmente l'esito della guerra stessa. Si narra comunque che i Tedeschi avrebbero cambiato i loro codici di li a poco (se la guerra fosse continuata), e si narra anche che Sir Winston Churchill fosse venuto a conoscenza dell'attacco giapponese a Pearl Harbour, ma che per far intervenire gli americani per contrastare l'asso tedesco-giapponese, non ne fece parola. La decifratura dei messaggi ebbe un costo elevato sia in risorse umane che in risorse finanziarie, anche se i Tedeschi stessi, grazie alla loro famosa precisione (i messaggi venivano inviati alle ore 06:05), contribuirono inconsapevolmente e in maniera determinante all'impresa.

Considerazioni

Oggi i sistemi basati sulla crittografia a chiave pubblica non sono completamente sicuri e potrebbero diventare presto obsoleti per la scoperta di nuovi algoritmi per la scomposizione di numeri interi molto grandi.
La crittografia quantistica, invece, rappresenta una via sicura che permette di spedire sequenze di bit casuali, senza possibilità di intercettazioni, ed è per questo motivo che viene usata per trasmettere le chiavi da usare per i crittosistemi diffusi e si parla di distribuzione quantistica di chiavi, piuttosto che di crittografia quantistica.

Rete Wireless A Casa. Installazione E Configurazione

di Daniele Frulla


La rete wireless all'interno delle mura domestiche, è ormai all'ordine del giorno perché i dispositivi hardware sono molti ed all'interno della famiglia ognuno ha un dispositivo con il quale ha la necessità di connettersi ad Internet.

Quello che si vuol fare è condividere la connettività ADSL per tutta la famiglia. Quindi installare una connessione Wireless casalinga.

Le reti wireless sono connessione di rete tra PC che sfruttano l'etere ossia le onde radio.

Sono usciti diversi standard di questo protocollo e l'802.11g è quello tra i più usati.

Tramite questo protocollo si posso impostare due tipologie di rete:

La rete Ad-Hoc si può implementare quando non si ha un Access Point per gestire le connessioni. Tutte le schede wireless dei PC devono essere impostate su connettività Ad-Hoc così potranno scambiarsi i dati.

Le reti tramite Access Point hanno bisogno appunto dell'acquisto di un Access Point Wireless. Ora esistono in commercio Access Point che hanno anche funzioni da router e modem per collegarsi alla rete ADSL.

Un esempio di questi è USRobotics® Wireless MAXg™ ADSL2 che ha al suo interno un modem per collegarsi direttamente alla rete ADSL di cui si ha un contratto, un access point per creare la rete wireless e un router per collegare PC tramite cavo dati RJ-45. Tutto questo in un unico apparato.

Per la configurazione si può semplicemente leggere sul manuale. Ogni apparato ha per default un'indirizzo IP privato a cui collegarsi per la configurazione dello stesso. Quindi leggere l'indirizzo IP, collegare l'apparato tramite cavo di rete RJ-45, impostare l'IP sulla scheda di rete del PC utilizzato e tramite browser (solitamente Internet Explorer o Firefox) è possibile configurare l'apparato.

Esempio: Per il router Wireless della USRobotics l'IP di default è 192.168.1.1. Quindi basta impostare nel proprio PC sulla scheda di rete un IP 192.168.1.2 con subnet mask 255.255.255.0.

Tutti gli apparati ormai si configurano tramite browser. Le cose essenziali che si devono configurare per mantenere un minimo di sicurezza sono:

E' noto che le rete Wireless non sono molto sicure, tuttavia è sempre consigliabile inserire password di accesso alla rete, anche per scoraggiare possibili attacchi.

Fonte: www.newstechnology.eu

CRONTAB. Scheduling E Operazioni Pianificate Con Linux

19 Maggio 2007 di Daniele Frulla


Quando si deve pianificare un backup oppure lanciare un'applicazione automaticamente è necessario pianificarla ad un orario stabilito.

Con il sistema operativo Microsoft Windows si usano le operazioni pianificate, mentre in Linux si ha il semplice e comodo comando crontab.

Il comando crontab, eseguito da terminale, è semplice ma efficace.

Se siamo loggati come utente root scheduleremo un comando che si avvia come utente root.

I parametri di crontab sono pochi:

Esempi:

  1. Siamo loggati come root e vogliamo editare il crontab dell'utente pippo allora da terminale scriveremo: crontab -u pippo -e
  2. Siamo loggati come pippo e vogliamo listare il crontab di pippo: crontab -e

Quando si edita il crontab esso deve essere scritto in un formato particolare:

* * * * * comando da eseguire
– – – – –
| | | | |
| | | | —–> giorno della settimana (0 – 6) (domenica=0)
| | | ——-> mese (1 – 12)
| | ———> giorno del mese (1 – 31)
| ———–> ora (0 – 23)
————-> minuti (0 – 59)

I primi cinque asterischi separati da uno spazio rappresentano l'ora, i minuti, il giorno, il mese, il giorno della settimana. Se si lascia l'asterisco sui giorni indica che il comando si ripeterà tutti i giorni.

Esempio:

00 21 * * * cp -r -f -u /pippo /mnt/hda1

Questo esempio esegue una copia da /pippo a /mnt/hda1/ tutti i giorni alle ore 21:00.

Il comando crontab, semplicissimo, può davvero salvarvi la vita semplicemente pianificando un backup tutti i giorni delle cartelle che utilizzate solitamente.

Fonte: www.newstechnology.eu

Sicurezza Informatica

17 Maggio 2007 di Daniele Frulla


Non illuderti che il nemico possa non venire, ma tieniti sempre pronto ad affrontarlo.

Non illuderti che il nemico non ti attacchi, ma fai piuttosto in modo di renderti inattaccabile.

Sun Tzu, L’arte della Guerra

Il computer sicuro per definizione è quel computer privo di lettore cd-rom, di lettore floppy, sprovvisto di modem, scheda di rete, porte Usb e ogni altro tipo di connettore esterno, posizionato in un bunker con delle guardie armate poste davanti all’accesso e …. spento.

Leggi…

Componenti Hardware Principali di un PC.

di Daniele Frulla


Quando ci si prepara all’acquisto di un PC è bene sapere non tutti i componenti che ci propongono sono essenziali per il suo funzionamento.

Quali sono le caratteristiche minime di un Personal Computer perchè possa funzionare? Leggi…

Il Tag DIV Nella Programmazione HTML

di Daniele Frulla


Il tag <div> nella programmazione html sta ormai diventando di uso comune, sia per la facilità di utilizzo che per la snellezza del codice. Qui vi sono delle istruzioni su come utilizzare questo tag.

Nella creazione di un template, spesso vi sarete chiesti che tag utilizzare per mantentere la compatibità dei vari browser, <table>, <div> o <frame>.

Il tag <table> è molto facile da usare, tuttavia rimane difficile il settaggio dello stile e resta anche difficile la visualizzazione del codice.

Il tag <frame> è semplice, ma non va molto d'accordo con i crawler di internet.

Il tag <div> è semplice e snello. Un esempio di codice è il seguente:

<div id="pippo">Questa stringa sta dentro la sezione pippo</div>

Al tag <div> va sempre associato uno stile CSS.

La costruzione del CSS associato al tag <div id="pippo"> sarà ad esempio la seguente:

#pippo{
float:left;
margin:0 auto;
width:45%;
background-image:url(../images/pippo.png);
background-repeat:repeat-y;
}

Fonte: www.newstechnology.eu

Partizionare L’Hard Disk Con Linux

16 Maggio 2007 di Daniele Frulla


Partizionare un disco rigido o una memoria fisica è un'operazione fondamentale nell'istallazione di Linux e di qualsiasi altro sistema operativo, e a volte è indispensabile anche successivamente. Qui di seguito vi sono alcuni passi utili per creare o cancellare partizioni tramite linux.

Aprite il terminale ed entrate come utente root.

Il comando per visualizzare partizioni è fdisk -l.

Un esempio di come vengono visualizzati i dati col comando fdisk -l 

Disk /dev/hda: 122.9 GB, 122942324736 bytes
255 heads, 63 sectors/track, 14946 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hda1               1        1020     8193118+  83  Linux
/dev/hda2            2551       14946    99570870   83  Linux
/dev/hda3            1021        2295    10241437+  83  Linux
/dev/hda4            2296        2550     2048287+  82  Linux swap / Solaris

Partition table entries are not in disk order

Disk /dev/hdb: 251.0 GB, 251000193024 bytes
255 heads, 63 sectors/track, 30515 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/hdb1               1        5100    40965718+   c  W95 FAT32 (LBA)
/dev/hdb2            5101       30515   204145987+   c  W95 FAT32 (LBA)

I dischi in linux vengono visti come hda, hdb e così via, mentre il numero a fianco rappresente il numero della partizione su cui andrete a lavorare.

Se dovete lavorare su di un disco in particolare darete il comando fdisk /dev/hda.

Questo vi farà accedere ad un menù digitando il tasto m. 

Potete cancellare e creare tutte le partizioni che volete inserendo il punto di inizio ed il punto di fine dei blocchi.

Fino a quando non premere il tasto w, tutto quello che avete realizzato non sarà salvato sul blocco nell'hard disk che gestisce le partizioni.

Infine attenzione a quale partizioni andate a modificare! In particolare fate attenzione a non eliminare quella di sistema e di booting, perchè sarà poi difficile tornare indietro e ripristinare il sistema.

Fonte: www.newstechnology.eu

Ingegneria del software Open Source

15 Maggio 2007 di Daniele Frulla


L’ingegneria del software Open Source trae le sue origini dall’annosa questione dell’Arte della Programmazione, perché creare un buon software applicativo è come creare un’opera d’arte con due differenze:

La prima non fa colpo sulle ragazze, la seconda difficilmente provocherebbe la paralisi dell’intero traffico aereo occidentale.

Leggi…


Copyright di Caterina Mezzapelle Part. I.V.A. 02413940814 - R.E.A. 191812