Ricevi gli aggiornamenti nella tua email:


set
29th

I Tre Fattori dell’Autenticazione

Author: Angelo Righi | Security

Non passa giorno che i media specializzati o di massa non portino alla luce l’ennesima clamorosa violazione hacker in cui vengono pubblicate online milioni di password provenienti dai più famosi siti Internet. Nel corso degli anni, è stato evidenziato come uno dei più grandi punti deboli dei servizi offerti in rete sia la password, o per essere più precisi, il meccanismo di autenticazione.

Il problema è che spesso le password utilizzate dagli utenti sono deboli, e quasi a nulla valgono le iniziative tese a incoraggiare l’uso di password forti e pratiche più sicure (l’utilizzo di password manager, il non riutilizzo della password per servizi diversi…).

I Tre Fattori

Un modo per rendere più difficile il compito degli hacker, è quello di adottare meccanismi di autenticazione multi fattore. Di che cosa si tratta? La sicurezza dei meccanismi di autenticazione si basa essenzialmente su tre elementi:

1. Qualcosa che sai: un segreto che solo l’utente conosce, come una password o un PIN; questo è il primo fattore, il più comune su Internet.

2. Qualcosa che hai: un dispositivo, come per esempio un token RFID o qualsiasi cosa che sia necessario possedere per poter effettuare un’autenticazione; banalmente, una chiave è qualcosa che hai.

3. Qualcosa che sei: chi non ha mai visto un film dove per poter accedere ad un bunker, il personaggio deve  sottostare al riconoscimento della retina o dell’impronta digitale? Qualcosa che sei è l’autenticazione biometrica, come può essere il riconoscimento facciale (“sblocca col sorriso”), o l’impronta digitale.

L’autenticazione a più fattori è l’utilizzo di due o più fattori di autenticazione sopra elencati. Nulla di fantascientifico: l’autenticazione multi fattore (in genere a due fattori) l’utilizziamo praticamente tutti i giorni, per eempio quando ritiriamo denaro dal bancomat (qualcosa che sai, ovveto il PIN, e qualcosa che hai, ovvero il bancomat stesso).

Il Diavolo fa le Pentole

Recentemente alcuni ricercatori hanno dimostrato come il battito cardiaco, o addirittura le lacrime potrebbero essere usati come fattori di autenticazione biometrica. Ma l’autenticazione basata sulle tecnologie biometriche ha dei limiti.

Se infatti, cambiare un password compromessa è abbastanza semplice se non banale, più difficile è cambiarsi le impronte digitali o la retina (per non parlare del battito cardiaco, delle lacrime o dell’intera faccia…). Nel caso in cui il sistema di autenticazione dovesse essere in qualche modo vulnerabile, i rimedi potrebbero non essere così facili e/o veloci da implementare.

Siamo destinati a rimanere vittime degli hacker? Probabilmente, a meno di sconvolgimenti improvvisi e imprevedibili, la situazione non cambierà a breve.

Al di là del cinema, credo che più della biometria, possa bastare un po’ di buonsenso. Quindi, coca-cola e pop-corn e prepariamoci alla prossima clamorosa pubblicazione di password rubate dal sito mega-famoso.

 


Altri articoli:

I Mercanti delle Armi Digitali
Come funziona il mercato degli exploit? Cosa faccio se ho scoperto un bug, ho creato un codice che dimostra...

Come Hackerare un Boeing
Direttamente dagli scenari dei thriller fanta-politici di Tom Clancy ecco una notizia veramente clamorosa:...

Un Virus all’Attacco dei Droni Predator
E’ una notizia che se confermata sarebbe clamorosa: sembra che i droni americani Predator siano stati...

Risolvere i Problemi di Accesso alle Risorse Condivise
Tentate di accedere al vostro Windows Xp tramite rete ma ottenete un Access Denied Error 5? Cerchiamo...


ago
31st

Ransomware: Come Decifrare i File Sequestrati da Cryptolocker

Author: Angelo Righi | Malware, Risorse, Security

Negli ultimi anni si è affiancato, alle classiche forme di malware, una nuova tipologia di minaccia informatica, il cosiddetto ransomware. Per ransomware si intende un ricatto elettronico, operato da un programma che cifra tutti i dati sensibili presenti sull’hard disk del computer infettato rendendoli illeggibili. Soltando pagando il riscatto, l’utente sarà in grado di accedere di nuovo ai propri file.

Preciso che i file non vengono cancellati o “trasferiti” altrove, semplicemente vengono cifrati con una chiave che solo gli autori dell’attacco conoscono.

Uno dei ransomware più diffusii è Cryptolocker, il cui comportamento è esattamente quello descritto sopra. Secondo Symantec, il 3% degli utenti colpiti da Cryptolocker ha pagato il riscatto, ma secondo alcuni utenti, anche dopo aver pagato, i criminali non hanno fornito la chiave per poter decifrare i file “sequestrati”.

Per venire incontro agli utenti colpiti da questo malware, FireEye e Fox-it, due prestigiose aziende che si occupano di sicurezza informatica, hanno realizzato un servizio gratuito per il recupero dei file cifrati da Cryptolocker, ovvero Decryptolocker.

Il funzionamento è abbastanza semplice: bisogna effettuare l’upload di un file cifrato da Cryptolocker sul sito  https://www.decryptcryptolocker.com/ e inserire un indirizzo email.

Successivamente, all’indirizzo email fornito verrà inviata una master-key da utilizzare con un recovery program per decifrare i file “sequestrati”. Naturalmente ogni master-key è diversa da sistema a sistema.

Una nota sul sito Decryptolocker consiglia di non uploadare file cifrati che contengano informazioni sensibili.


Altri articoli:

Analisi del MBR Rootkit
E' di questi giorni la notizia che alcuni ricercatori hanno identificato in Internet un rootkit MBR per...

[Eventi] 5 e 6 Giugno: Security Summit 2013 a Roma
Si terrà presso il SGM Conference Center la tappa romana del Security Summit 2013. L’evento si aprirà...

Top Cyber Security Risk Report
Periodicamente le grandi organizzazioni che si occupano di sicurezza presentano analisi e studi sulla...

DirectX + Quick Time = Zero Day
Questa volta tocca a DirectX. Dopo Excel e PowerPoint, colpiti da bug negli ultimi mesi, bug che hanno...


lug
31st

PE Security Checker

Author: Angelo Righi | Programmazione, Security

Tra le tecniche utilizzate per mitigare le vulnerabilità zero-day, e rendere più difficile agli hacker sfruttare questi insidiosi vettori di attacco, sono state sviluppate diverse tecniche, tra le quali DEP e ASLR.

Queste tecniche devono essere esplicitamente attivate al momento della compilazione del programma. Come sapere se un particolare programma è protetto con DEP e ASLR? Possiamo scrivere un piccolo programma che ce lo dice.

I file eseguibili, ma anche le librerie dinamiche (DLL), sono generati seguendo un particolare formato, conosciuto come PE (Portable Executable). Si tratta di un formato abbastanza complesso, virus-writers e analisti di malware ne conoscono a memoria ogni aspetto più oscuro; a noi basti sapere che in questo formato esiste una particolare struttura, denominata IMAGE_OPTIONAL_HEADER.

Questa struttura contiene alcune informazioni sull’eseguibile; in particolar modo, il campo DllCharacteristics ci dice se il programma è protetto da DEP e ASLR. Infatti, analizzando questo campo, secondo quello che indica la documentazione Microsoft, saremo in grado di stabilire con precisione se il programma è protetto o meno:

IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE = 0x0040
IMAGE_DLLCHARACTERISTICS_NX_COMPAT = 0x0100

A questo punto siamo in grado di scrivere un programmino in Python, in grado di svelare automaticamente queste informazioni. L’unica cosa che ci manca è una libreria che ci permetta di decodificare senza fatica il formato PE: PEFile fa al caso nostro.

Il codice che segue fa esattamente questo:

import os.path
import sys
import pefile

class PESecurityCheck:

  # IMAGE_OPTIONAL_HEADER structure
  # http://msdn.microsoft.com/en-us/library/windows/desktop/ms680339(v=vs.85).aspx
  IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE = 0x0040  # http://en.wikipedia.org/wiki/Address_space_layout_randomization
  IMAGE_DLLCHARACTERISTICS_NX_COMPAT = 0x0100     # http://en.wikipedia.org/wiki/Data_Execution_Prevention
  IMAGE_DLLCHARACTERISTICS_NO_SEH = 0x0400        # ttp://en.wikipedia.org/wiki/Microsoft-specific_exception_handling_mechanisms

  def __init__(self,pe):
    self.pe = pe

  def aslr(self):
    return bool(self.pe.OPTIONAL_HEADER.DllCharacteristics & self.IMAGE_DLLCHARACTERISTICS_DYNAMIC_BASE)

  def dep(self):
    return bool(self.pe.OPTIONAL_HEADER.DllCharacteristics & self.IMAGE_DLLCHARACTERISTICS_NX_COMPAT)

  def seh(self):
    return bool(self.pe.OPTIONAL_HEADER.DllCharacteristics & self.IMAGE_DLLCHARACTERISTICS_NO_SEH)

if len(sys.argv) < 2:
  print 'Usage: %s <file_path>' % sys.argv[0]
  sys.exit()

def main():
  file_path = sys.argv[1]   

  try:
    if os.path.isfile(file_path):
      pe = pefile.PE(file_path,True)
    else:
      print "File '%s' not found!" % file_path
      sys.exit(0)
  except pefile.PEFormatError:
    print "Not a PE file!"
    sys.exit(0)  

  ps = PESecurityCheck(pe)

  if ps.aslr():
    print "[+] ASLR Enabled"
  else:
    print "[-] ASLR Not Enabled"

  if ps.dep():
    print "[+] DEP Enabled"
  else:
    print "[-] DEP Not Enabled"

  if ps.seh():
    print "[+] SEH Enabled"
  else:
    print "[-] SEH Not Enabled"

if __name__ == '__main__':
  main()

Per utilizzarlo, lanciarlo da linea di comando, specificando il path del programma da verificare:

C:\>pescheck.py C:\Windows\system32\cmd.exe
[+] ASLR Enabled
[+] DEP Enabled
[-] SEH Not Enabled

Questo script è disponibile su Github.


Altri articoli:

Non Solo WindowsUpdate
Windows Update non basta. Bisogna andare oltre. L'aggiornamento del PC è un'operazione...

Due Tecniche (e un Tool) per Neutralizzare gli Zero-Day
Uno degli attacchi informatici più pericolosi è lo zero-day, ovvero un  attacco per il quale non esiste...

Eliminazione Sicura di File con Eraser
In uno degli ultimi articoli abbiamo visto come sia facile recuperare i file cancellati. Questa volta...

Sofisticato Attacco DDoS Contro le Banche Americane
Benchè rimanga tutt’ora misteriosa l’identità degli autori degli attacchi che da qualche tempo...


giu
29th

Due Tecniche (e un Tool) per Neutralizzare gli Zero-Day

Author: Angelo Righi | Security

Uno degli attacchi informatici più pericolosi è lo zero-day, ovvero un  attacco per il quale non esiste ancora un rimedio. Per mitigare gli effetti di questi attacchi, sono state elaborate diverse tecniche e alcuni strumenti.

Vediamone due, le più potenti: DEP e ASLR, tenendo presente che in questo articolo indicherò col termine attacker colui che tenta di accedere in modo non autorizzato ad un computer, ovvero l’hacker, ma anche un  attacco automatizzato, un malware; col termine payload un codice, una serie di azioni, che l’attacker compie dopo aver ottenuto l’‘accesso non autorizzato al sistema.

DEP (Data Execution Prevention)

Lo scopo di ogni exploit letale è l’esecuzione di codice arbitrario, ovvero la possibilità dell’intruso (o del malware) di eseguire codice a piacere sulla macchina target e ottenere così il pieno controllo. L’attacker ha bisogno di spazio in memoria dove poter memorizzare ed eseguire il codice iniettato tramite la vulnerabilità zero-day (payload); in genere questo spazio viene individuato in aree di memoria del processo adibite ad immagazzinare dati. Se l’attacker riesce ad iniettare il payload in questa zona, e riesce poi a dirottare il flusso del programma verso quest’area, avrà il controllo totale.

Ma qui entra in scena il DEP (Data Execution Prevention): il programma può essere compilato per essere immune da questi attacchi facendo in modo che le aree di  memoria contenenti dati non possano essere utilizzate per contenere codice eseguibile; nel caso in cui si tentasse di eseguire codice in questa zona si otterrebbe un errore e un blocco del programma. Proteggendo la memoria dati tramite DEP, l’attacker, se anche riuscisse a introdurre un payload. non sarebbe comunque in grado di eseguirlo.

ASLR (Address Space Layout Randomization)

Address Space Layout Randomization serve per togliere punti di riferimento fissi all’attacker, rendendo l’ambiente più ostile. Quando un programma e le sue dipendenze vengono caricate in memorida, vengono caricate sempre agli stessi indirizzi; questa situazione è ideale per l’attacker, perchè può muoversi in un territorio conosciuto, utilizzando risorse ad indirizzi prevedibili.

Con l’introduzione di ASLR, lo scenario cambia: ad ogni riavvio del sistema, gli indirizzi degli spazi di memoria del programma e delle sue dipendenze sono diverse, cosa che rende l’esecuzione dell’exploit problematica, riducendo drasticamente le probabilità di successo dell’attacco.

Sebbene queste tecniche siano potenti e abbiano messo indubbiamente il bastone tra le ruote dei creatori di malware, entrambe possono essere aggirate; comunque lo sviluppo di malware ed exploit che funzionino nel mondo reale e non solo in laboratorio è diventato più complesso.

Microsoft ha realizzato un tool gratuito in grado di rendere efficaci queste tecniche sui sistemi basati su Windows, si tratta di EMET (Enhanced Mitigation Experience Toolkit). E’ un ottimo strumento da aggiungere al proprio arsenale e da affiancare all’antivirus, per mitigare le minacce sconosciute, non ancora neutralizzate dagli aggiornamenti.


Altri articoli:

PE Security Checker
Tra le tecniche utilizzate per mitigare le vulnerabilità zero-day, e rendere più difficile agli hacker...

Sofisticato Attacco DDoS Contro le Banche Americane
Benchè rimanga tutt’ora misteriosa l’identità degli autori degli attacchi che da qualche tempo...

Come Associare una Cartella ad una Lettera di Unità per Accedervi Velocemente.
L'altro giorno mi sono trovato a dover assegnare ad una memoria di massa  un'altra lettera di unità,...

Non Sempre un Attacco DoS è un Attacco DoS
Cos'è un attacco DoS, e come funziona? Spesso quando si parla di attacco DoS (Denial of Service), lo...


mag
31st

Kali Diventa Persistente e Cifrata

Author: Angelo Righi | Hacking, Linux

Il gruppo di sviluppo che sta dietro al progetto Kali Linux ha annunciato la disponibilità di una nuova release della nota distribuzione dedicata al penetration testing, distro che ha sostituito Backtrack.

La nuova versione di Kali, la 1.0.7, si distingue per il fatto che da questa incarnazione, ha inizio un sforzo congiunto del team Kali e degli sviluppatori dei vari tools inclusi nella distribuzione stessa,  per far si che i tools di terze parti funzioni in maniera perfetta e siano integrati senza problemi nella distribuzione.

Ma la caratteristica più interessante di questa nuova versione, è la possibilità di creare una versione persistente di Kali su supporto USB completamente cifrata, grazie a LUKS (Linux Unified Key Setup). Con questa caratteristica sarà possibile creare una versione di Kali imprenetrabile a occhi indiscreti, anche in caso di perdita del supporto.

Notevole il tempismo di questa nuova caratteristica, vista l’improvvisa e imprevista uscita di scena di TrueCrypt, software che per tanto tempo è stato il software per antonomasia per la cifratura di dischi.

Che si tratti di un’uscita di scena definitiva o temporanea ce lo dirà solo il tempo, anche se sono fiducioso del fatto che TrueCrypt tornerà tra qualche settimana sotto una nuova forma. Ma questo è un altro discorso, intanto godiamoci Kali Linux 1.0.7.


Altri articoli:

Metasploit 3.4.0 è tra Noi
Come annunciato dal blog ufficiale, dopo cinque mesi di sviluppo ha visto la luce la versione 3.4.0...

UnderAttaHack: gli Hackers sono Sotto Attacco ma Resistono
All'inizio fu Phrack, leggendaria ezine americana scritta dagli hackers per gli hackers. All'inizio...

Cosa Succede a Twitter?
Oggi verso le 15 quando l'iconcina di TwitterFox è diventata rossa non ci ho fatto caso, ma era l'inizio...

La Guerra Fredda dell’Open-Source
Non ho particolare simpatia per il nuovo presidente USA Barack Obama, anzi ho molti dubbi. Basta guardare...