You are currently browsing the category archive for the ‘Back to security basic’ category.

EDX is offering for time been an really interesting course (Louv1.01x Paradigms of Computer Programming) about the theory of computer programming. One of the homework was to use tail recursion in order to calculate the Fibonacci sequence. Because the solution is really smart I like to put some Python code to show the concept.

From the mathematical point of view you can see the Fibonacci sequence some think like:

a, b, a+b, a+2b, 2a+3b, 3a+5b, 5a + 8b, 8a +13b

or
0, 1, 1, 2, 3, 5, 8, 13,

so in general: F(a, b, n) = F(b, a+b, n-1) 

this can generate the following code:

def fibonacci_calc(acc1=0, acc2=1, nummber = 0):
if nummber == 0:
return acc1
elif nummber == 1:
return acc2
else:
return fibonacci_calc(acc2, acc2+acc1, nummber-1)

and the hole code can be called like:
fibonacci_calc(0, 1, n)
I wish you happy coding…

Wireshark are intre timp si un pluggin de GEOip. Ce inseamna asta? Se pot corela foarte usor informatiile de locatie cu adresele de IP pentru o mai buna vizibilitate asupra traficului.

Primul lucru care trebuie verificat este daca versiunea instalata a fost compilata cu suport de GeoIP. Informatia se poate afla daca se acceseaza meniul Help -> About Wireshark. La sectiune de compilare se afla pluggin-urile cu care a fost compilat.

Daca GeoIP-ul este unul dintre ele, pasul urmator este sa faci download la baza de date cu informatiile GeoIP de aici. Documentatia originala de instalare cat si cateva exemple de filtre bazate pe informatiile GeoIP se gasesc aici.

Pentru a putea vizualiza informatiile accesati meniul Statistics -> Endpoints -> IPv4 tab. O sa aveti o surpriza apasand obtiunea de Map. Dar mai bine va las pe voi sa o descoperiti.

BTW exista si pluggin de SNORT pentru Wireshark (WireShnork). Mai multe info aici

Have Fun

Astazi am citit despre faptul ca universitatea Standford organiseaza cursuri online. Si m-am decis sa vad cum functioneaza si daca merita. Asa ca m-am inscris la cursul de Criptografie. Cursurile incep la 1 Ianuarie. Sigur o sa incerc sa-l fac si pe cel de algoritmi pentru ca cred ca nu mi-ar strica sa-mi aduc aminte ce am invatat acum ceva timp. Oricum in programa sunt si cursuri de „Entrepreneurship” si „Computer Science”.

Have fun

Ieri am primit un mail de la ING care avea intentia sa ma educe in domeniul de phishing. Un mesaj cu un continut profesionist care l-as putea recomanda chiar multor banci.  Dar daca te uiti putin mai mult la mesaj vezi ca adresa de mail, de unde ai putea obtine informatii mai multe (contact@ing.ro), continuta in mesaj este de fapt un link catre site-ul loializare.com.

http://www.loializare.com/clients/wlm/trks.php?C=1&mi=48242&list_id=1606&u=451859&te=ZmFja3lvdTR0cmFja21lQGtpY2thc3MuY29t

Intr-un fel sau altul „deschideti de fiecare data site-ul prin introducerea adresei (nu utilizati linkuri trimise prin email)” nu se potriveste cu afirmatia de mai sus.

Un alt aspect important este ca header-ele mesajului de email arata foarte clar ca mesajul vine de la un server de e-mail din domeniul mai sus mentionat.

Received: from loializare.com (loializare.com. [89.234.14.226])

Domeniul mai sus mentionat apartine unei agentii de publicitate specializata in campanii de e-mail.
Nu vreau sa ma refer acum la faptul ca daca modific parametrul u din linkul de mai sus, dau peste o campanie a firmei e-mag. Ceea ce vreau sa subliniez este ca acest mesaj nu imi ofera nici un element de siguranta care sa ma faca sa cred ca vine de la ING. Pentru mine este numai o culegere de sfaturi bune impotriva phishing-ului care de fapt ar putea sa fie chiar maine transformat intr-un mesaj de phishing. (e-homebank.ro in loc de homebank.ro)?

Domnilor va rog sa va decideti daca vreti sa faceti marketing sau vreti sa faceti o campanie de informare in privinta securitatii
Amandoua in acelasi mesaj nu se potrivesc.

.


Am reusit sa gasesc cateva articole interesante despre cazul „HBGary”.  A devenit rasunator nu datorita gradului ridicat de sofisticare a atacului ci mai ales a faptului ca o firma de securitate ignora voit principiile pe care le „vinde” clientilor. Dotorita arogantei?  Va recomand sa cititi cu atentie istoria intregului incident impreuna cu dreptul la replica a celor de la Anonymous.

Istoria Incidentului

Dreptul la replica

Defcon-ul este cunoscut ca fiind una dintre cele mai vizitate si apreciate conferinte de securitate IT. La editia 18 din acest an tema principala a concursului CTF (Capture the Flag) este Social Engineering-ul. Lansat initial pe site-ul social-engineer.org concursul are ca scop obtinerea a cat mai multe informatii despre o companie asignata fiecarui participant. Cu toate ca are un regulament clar care nu permite adunarea de informatii confidentiale, parole sau informatii financiare multe companii se arata ingrijorate de posibilele implicatii asupra imaginii in cazul in care ar fi target-ul unor astfel de atacuri. Interesanta este si proba in sine. Candidatii trebuie sa obtina cat mai multe informatii pe parcursul unei convorbiri de 20 de minute. Cam ce s-ar putea afla in cazul cand telefonul ar suna la voi la companie?

Have fun anyway…

NSI a facut public un document care trateaza „sterilizarea-sanitized”  :-)) informatiilor suplimentare continute in metadatele de documentele Word in momentul in care sunt convertite in formatul PDF. Microsoft s-a ocupat de aceasta tema si a pus si el la dispozitie informatii despre stergerea metadatelor. Ceea ce face documentul de la NSI interesant,  este faptul ca trateaza conversia la PDF si ca este scris in asa fel incat poate fi folosit pentru educarea utilizatorilor.. Pana la urma constientizarea de catre utilizatori a pericolului este primul pas. Documentul poate fi citit aici.

Can you read Metadatas. :-))

Verified by Visa si Mastercard SecureCode au fost obiectul analizei unui grup de cercetatori de la Universitatea Cambridge. Postul initial semnat de unul din autori Ross Anderson si mai multe reflectii asupra studiului se pot gasi aici. Aceasta analiza a vulnerabilitatilor de design, a acestor sisteme de autentificare, a atras multe reactii si discutii printre care cea mai notabila este  acea a celor de la RSA, urmata apoi de raspunsul autorilor. Intreaga dezbatere este o frumoasa lectie de concepte de securitate. Merita citit pe  blogului lui Bogdan Manolea, postul si comentariile referitoare la acest studiu recent.

Have fun.

Btw. Ati trimis flori la inmormantarea lui IE6? Microsoft-ul a facut-o. Citeva poze de la inmormintare se gasesc aici. lol

Have fun

Google pune la dispozitia webmaster-ilor un tool pentru a putea verifica daca motorul de indexare a identificat cod malware in domeniul respectiv.  Cred ca acest tool poate fi folosit si de utilizatori sau de cei care incearca sa faca o analiza „post-mortem” a unui incident de securitate.

Poate fi accesat in modul urmator:
http://www.google.com/safebrowsing/diagnostic?site=DomeniulMeu.ro si face parte din suita Google Webmaster Tools.

Din ce in ce mai multi administratori si persoanele care sint implicate in Securitatea IT ridica problema centralizarii log-urilor. Inainte de a lua o astfel de decizie este bine sa se fie clarificate citeva aspecte privitoare la o astfel de solutie.

De ce? – in primul rind.

– creste vizibilitatea asupra problemelor existente in retea

– ajuta la scaderea timpului de remediere a problemelor printr-o identificare si corelare mai usoara

– ajuta la identificarea anomaliilor in retea si depistarea posibilelor incercari de atac asupra infrastructurii IT

– ofera statut de “conform cu standardul” pentru organizatiile ce incearca sa obtina certificari de tip PCI

– oferirea de rapoarte de catre departametul IT pentru  management si alte departamente

– pentru procesul de IT forensics.

Dar ce trebuie tinut minte inainte de a putea sa te gindesti la achizitionarea si implementarea unei astfel de solutii.  Daca pretul stocarii informatiei scade continuu in asa fel incit  solutiile hardware sa devina din ce in ce mai accesibile,  noi probleme trebuie rezolvate.

Normalizarea. Pentru a putea corela evenimentele si pentru o mai buna ierarhizare, logurile trebuiesc normalizate. Ce inseamna termenul de normalizare? Convertirea logurilor din diferite formate intr-un format care sa permita interpretarea, corelarea si raportarea. De exemplu logurile de la Windows Server 2008 sint diferite ca format de cele de la 2003. Blocarea unui pachet este logata diferit de IPTables in Syslog sau de Cisco ASE.

Solutia s-ar putea sa fie adoptarea standardului  Mitree CEE (Mitre Common Event Expression), adoptat de majoritatea ofertantilor de soft incepind cu Oracle si Microsoft si terminind cu Syslog.

Raportarea. Pentru a procesa un volum mare de informatii si a detecta ceea ce este important, este nevoie ca sistemul sa poata suporta crearea automata de rapoarte, accesarea lor pe baza de autorizare si transmiterea lor  pe cit mai multe canale (SMS, email, Web).

Design. Sistemele de logging inca tind sa foloseasca UDP-ul ca protocol de transmisie. In cazul unei arhitecturi distribuite trebuie luata in considerare o arhitectura bazata pe protocolul TCP. De unde se colecteaza logurile? Acum se colecteaza in principal de la sisteme de operare si dispozitive de retea. Dar in acest moment conectarea bazelor de date si aplicatiilor devine necesara pentru a putea avea si un mecanism robust de DLP (Data Loss Prevention)

Implicare. Managementul trebuie sa acorde suport pentru construirea unei astfel de solutii, pentru alocare resurselor care sa monitorizeze si sa interpreteze informatiile oferite. Totodata Log Management-ul trebuie sa devina parte din procesele curente de IT si de “Incident Response”.

Exista solutii comerciale: Arcview, Intellitactics, LogLogic, Splunk sau AllienVault. Recomandarea mea ar fi sa incepeti cu o solutie  demo, de la Splunk sau AllienVault, invatati ce poate oferi un astfel de sistem, definiti-va cerintele si apoi daca mai ramin si bani, indreptati-va catre o solutie comerciala.

Have Fun,

Mi se intampla foarte des sa aud oameni din domeniul IT Security facand foarte des confuzia intre vulnerability (vulnerabilitate), threat (amenintare), exploit si risk (risc). Ce inseamna de fapt?

Amenintarea (threat) reprezinta o cauza potentiala pentru un incident nedorit. Acesta poate fi o persoana sau entitatea ce ar putea produce pagube unei organizatii. In aceasta categorie intra (un hacker, compania concurenta, un worm care foloseste un exploit, un angajat nemultumit sau un botnet care incearca sa iti compromita infrastructura de IT.

Vulnerabilitatea este un punct slab al infrastructura de IT. Poate fi o configuratie prost facuta, un calculator care nu a fost patch-uit sau chiar o parola care poate fi usor ghicita.

Risc-ul reprezinta potentialul ca o anumita amenintare (THREAT) sa poata folosi o vulnerabilitate impotriva infrastructurii IT a unei organizatii. De obicei riscul se poate masura printr-o combinatie a impactului si a probabilitatii de aparitie. Deci putem spune ca daca avem o anumita amenintare dar nici o vulnerabilitate atunci nu avem nici un risc si vice-versa daca avem vulnerabilitatea dar nimeni nu este interesata de informatii atunci iarasi nu apare nici un risc.

Un exploit este obiectul sau actiunea intreprinsa de un infractor, care foloseste o vulnerabilitate pentru a crea o pierdere. Exploit-ul poate fi un soft sau poate fi chiar o actiune luata de un infractor(ex social engineering-ul) pentru a putea obtine informatii relevante. Sper sa fi putut adus ceva lumina in definirea acestor termeni.

Un an nou interesant la toata lumea.

Update:

Cautind in internet dupa o definitie cit mai exacta pentru aceste aspecte, am gasit urmatoarele site-uri care ar putea sa fie utile:

CWE (Common Weakness Enumeration ) Glossary of Terms.

ISO 27001 Glosary of Terms.

PalmSecure este o tehnologie de recunoastere biometrica a topologiei venelor din mina. Este o tehnologie oferita de Fujitsu si pare a fi metoda de identificare biometrica ce va inlocui metoda de recunoasterea a amprentelor de la deget. Tehnologia consta in implementare unei camere de unde infrarosii intr-un mouse. In momentul in care cineva pune mina pe mouse, este emis un fascicul de unde infrarosii care citesc topologia venelor din mina oferind destule puncte de unicitate pentru a fi luata in considerare in folosirea topologiei ca baza de autentificare. Automat user-ul este autentificat de sistemul de operare sau de aplicatie.

Tehnologia nu presupune atingerea senzorului, ceea ce elimina posibilele amprente lasate pe dispositiv.

De mentionat ca pe parcursul vietii, incepind de la virsta de 12 ani,  topologia venelor de la o mina nu se schimba si ca topologia venelor de la mina stinga este diferita de cea de la mina dreapta.

Pretul unui dispozitiv de citire este de aproximativ 400 USD la aceasta ora,  mult mai ieftin decit dispozitivele de recunoastere a retinei, oferind aceeasi acuratete.

Posibile aplicatii: ATM-uri, oferind in acest fel autentificare bazata pe 2 factori . IBM si Citrix au inclus deja tehnologia in solutiile proprii de SSO (Single Sing On). Pagina de informatii asupra tehnologiei aici.

Nu-mi place UFW-ul, firewall-ul care vine implicit cu Ubuntu.  Poate si pentru ca atunci cind e vorba de firewall-uri prefer sa il configurez eu singur. Cum arata la mine scheletul de la care pornesc?

touch /opt/tools/script/firewall
sudo chown root:root /opt/tools/script/firewall
sudo chmod 755 /opt/tools/script/firewall
sudo ln -s /opt/tools/script/firewall /etc/init.d/firewall

Continutul fisierul /opt/tools/script/firewall este:
#!/bin/sh -e

### BEGIN INIT INFO
# Provides:          My own Firewall
# Required-Start:    mountall
# Required-Stop:     
# Default-Start:     S
# Default-Stop:      
# Short-Description: start firewall
### END INIT INFO

PATH="/sbin:/bin:/usr/sbin:/usr/bin"

. /lib/lsb/init-functions

error=0
case "$1" in
start)
 log_action_begin_msg "Appling the firewall rules:"
 iptables --table filter --flush
 iptables --table filter --delete-chain
 iptables --table filter --zero
 #iptables --table filter --policy INPUT DROP
 #iptables --table filter --policy OUTPUT DROP
 #Accept ICMP Type 8 Echo Replay Request and Type 0 Echo Replay.
 iptables --table filter --append INPUT --protocol icmp --icmp-type 8 -s 0/0 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT
 iptables --table filter --append INPUT --protocol icmp --icmp-type 0 -s 0/0 --match state --state ESTABLISHED,RELATED --jump ACCEPT
 iptables --table filter --append OUTPUT --protocol icmp --icmp-type 0 -d 0/0 --match state --state ESTABLISHED,RELATED --jump ACCEPT
 iptables --table filter --append OUTPUT --protocol icmp --icmp-type 8 -d 0/0 --match state --state NEW,ESTABLISHED,RELATED --jump ACCEPT
 #Accept Localhost
 iptables --table filter --append INPUT --source 127.0.0.1 --destination 127.0.0.1 --match state --state NEW --jump ACCEPT
 iptables --table filter --append OUTPUT --source 127.0.0.1 --destination 127.0.0.1 --match state --state NEW --jump ACCEPT
 #Accept DHCP    
 iptables --table filter --append INPUT --protocol udp --destination-port 67 --jump ACCEPT
 iptables --table filter --append INPUT --match state --state ESTABLISHED,RELATED --jump ACCEPT
 #Drop windows broadcast
 iptables --table filter --append INPUT --protocol udp --match udp --dport 137:138 --jump DROP
 iptables --table filter --append INPUT --jump LOG --match limit --limit 5/min --log-level 4 --log-prefix "INPUT CHAIN DROP"
 iptables --table filter --append INPUT --jump DROP
 log_action_end_msg $error
 exit $error
 ;;

stop)
 log_action_begin_msg "Removing the firewall rulles:"
 iptables --table filter --flush
 iptables --table filter --delete-chain
 iptables --table filter --zero
 log_action_end_msg $error
 exit $error
 ;;
status)
 iptables -L
 log_action_end_msg $error
 exit $error
 ;;
*)
 echo "Usage: /etc/init.d/ufw {start|stop|restart|force-reload|status}"
 exit 1
 ;;
esac

si la sfirsit:

sudo update-rc.d -f ufw remove # to remove the ufw firewall

sudo update-rc.d firewall defaults

Cum functioneaza? Se stie ca troianul are ca simtom blocarea unor site-uri de unde utilizatorul poate face download la update-urile de semnaturi pentru antivirusii care il recunosc. Pa aceste restrictii la site-urile respective se afla si urmatorul test. Deci fara teama apasati aici si spuneti tare cite imagini vedeti. Nu are nimic de-a face cu 1 aprilie. :-))

Have fun.

Initial a fost gindit ca o unealta de lupta impotriva phising-ului. Browserele prezinta bara de URL in verde in momentul in care se acceseaza un site care are un Extenden Verification SSL.  In cazul unui certificat SSL normal ea este albastra .

Ce reprezinta?

Tehnologic nu exista nici o diferenta fata de certificatul normal dar procesul de emitere a unui certificat este mai complex. De ce? Persoana sau organizatia care solicita certificatul SSL este mult mai bine verificata din punct de vedere juridic si legal pentru a se stabili ca este cine pretinde ca este. Deci automat utilizatorii pot distinge mai usor diferenta intre  site-urile autentice si cele care sint contrafacute.

Aceasta optiune apare in momentul in care este selectat Phising  filter-ul de la IE  este activat sau in Firefox 3 (about:config) browser.identity.ssl_domain_display este setat 1.

Ce dezavantaje sint?

Oamenii care nu au nici o experinta in securitatea pe internet nu vor interpreta in nici un fel colorile afisate in bara de URL. Ceilalti insa care citesc help-ul de la IE sau se interezeaza macar de ce sint diferita au sansa de a evita un numar mare de incercari de phishing.

Diferenta de pret? La Thawte EV-SSL-ul este de 3 ori mai mare decit cel normal.

Este implementata? Aici este un studiu netcraft care arata ca site-urile care au nevoie de SSL tind catre EV-SSL.

Fazit.

Merita sa cumperi asa ceva?  Daca esti o institutie financiara sau doresti sa inspiri incredere clientilor tai, atunci este o investitie meritata.

Exista site-uri de internet banking in romania care au EV SSL?  Nu dupa cunostinta mea.  Incercati PostBank ca sa vedeti diferenta. Site-urile Alphabank, Banca Transilvania, Banca Romaneasca si BRD. Lista de MCTI m-a ajutat. 😀

Have fun.

Documentele word, excel, powerpoint , PDF cit si imaginile contin informatii ce ar putea fi folosite ca punct de pornire pentru un eventual atac. Fiecare document pe linga continut inregistreaza si metadate (numele utilizatorului care a editat documentul, calea unde a fost salvat, tipul si versiunea programului folosit). Este usor de imaginat ca astfel de informatii pot fi folosite pentu atacuri de tip brute-force sau exploituri create special pentru a putea sa penetrezi reteaua unei anumite companii. Daca va aduceti aminte am prezentat si metagoofil-ul, un soft dezvoltate pentru culegerea si analiza de metadate.

Data leakage prevention inseamna in primul rind un complex de masuri organizationale, cit si tehnice care permit eliminarea acestor metadate in cazul in care documentele parasesc compania. Care ar fi acestea?

– „constientizarea” pericolului de catre utilizatori. Utilizatorii ar trebui sa fie constienti ca in momentul in care trimit documente sint trimise si infromatii confidentiale.

– crearea in organizatii a unor politici de securitate care sa trateze exact acesta problema.

– implementare unor masuri tehnice care sa permita anonimizarea metadatelor cum ar fi solutiile de genul: iScub sau WorkShare Protect Network.

Daca doriti sa cititi mai multe despre medatate va recomand documentul creat de Larry Pesce „Document Metadata, The Silent Killer”. Personal eu nu sint de acord cu solutia propusa de el referitoare la crearea unor compartimente diferite unde sa fie stocate documentele ce urmeaza sa fie anonimizate sau cele ce urmeaza sa ramina in companie. At aduce un grad de complexitate in ceea ce un utilizator are de rezolvat cu ajutorul calculatorului. E ca si cum l-ai obliga sa treaca de la o parole de 6 caractere la una de 12 cu un grad de complexitate ridicat. :-))

Voi ce parere aveti?

Metodele acceptate de un server de HTTP sint GET, HEAD, POST, PUT, DELETE, TRACE, OPTIONS si CONNECT. Pentru definitia fiecaruia va rog sa consultati RFC 2616. De ce sint metodele acceptate de un server atit de importante si care este un posibil scenariu de atac?

Incercati sa identificati un link care este accesibil numai daca userul este autentificat. In momentul in care inlocuti metoda cu HEAD, veti putea avea surpriza ca serverul sa raspunda cu HTTP/1.1 200 in loc de HTTP/1.1 302, redirect catre pagina de login. O alta posibilitate este sa incercati cu BLAMETOD / HTTP/1.1. Serverul va trebui sa raspunda cu 405 Not Allowed sau 501 Not Implemented, dar …

Deci incercati sa vedeti ce metode sint implementate folosind OPTIONS.

Daca doriti sa indentificati un server si nu puteti afla daca este Apache sau IIS atunci incercati cu OPTIONS daca este permis. Ordinea in care sint afisate metodele este specifica fiecarui tip de server.

Pentru a evita acest tip de atac este recomandar restrictionare metodelor permise. Pentru Apache, restrictionarea metodelor se face folosind directiva <Limit>.

Have fun.

In primul rind ce este CWE. CWE vine de la Common Weakness Enumeration, si este o colectie a greselilor de programare ce se pot transforma in erori de securitate.

Ce este CWE-20? „Improper Input Validation” este prima intr-un top-ul 25 al organizatiei SANS referitoar la erorile facute in programarea aplicatiilor web. CWE ar trebui sa devina o referinta pentru toti programatorii mai ales ca organizatia MITRE ofera si exemple de programare, cit si considerente de implementare si arhitectura.

Am avut sansa intr-un audit, in care s-au intamplat multe si despre care poate o sa mai povestesc, sa fac un test de securitate pentru un domeniu Windows securizat foarte bine, unde Domain Controller-ele nu foloseau sau stocau parole in format LM Hash. Am reusit sa gasesc o statie care nu facea parte din procesul de patch regulat care era aplicat intregului domeniu. Pe aceasta statie am devenit administrator local si cu ajutorul hashdump-ului din meterpreter am reusit sa obtin parolele salvate pentru utilizatorii care s-au logat pe aceasta statie. Problema era ca politica de domeniu forta complexitatea si lungimea parolei. John the Ripper, dupa 62 de zile, nu a reusit sa obtina nici o parola.

62:04:57:04 – Expanding tables for length 8 to character count 38

62:04:57:04 – Trying length 8, fixed @7, character count 38

Solutia: Ce este un token de access al unui proces in windows?  Este un obiect care descrie contextul de securitate al unui proces. Mai multe despre token-uri aici . Ce se poate face cu aceste token-uri?  In momentul in care esti logat pe o statie si ai drepturi de SYSTEM poti sa impersonezi temporar unul din token-urile create de logarea unui administrator de domeniu si sa reusesti sa executi comenzi in contextul lui. Prezentarea de la Defcon 15 aici . Pentru asta exista suita de utilitare numita incognito . Ea este acum prezenta si in framework-ul 3.2 de la Metasploit. Optiunea find_token permite listarea token-urilor existente si optiunea execute permite lansarea unui executabil in contextul dorit.

Have fun next time. 😉

Dan Kaminsky a pus pe foc Internetul cu al sau bug descoperit in modul cum functioneaza conceptuala a DNS-ul. A reusit sa coordoneze toti vendorii pentru creeare si publicarea simultana  a patch-urilor. Un efort imens care merita APLAUDAT.  Acum prima lui prezentare publica la conferinta Blackhat, despre aceasta problema este aici. Have fun.

Iulie 2017
L M M M V S D
« Mar    
 12
3456789
10111213141516
17181920212223
24252627282930
31