Documente Academic
Documente Profesional
Documente Cultură
LABORATOARE
SECURITATE
ANUL III
Laborator 1:
w3af (atac de aplicație web) este un scaner de securitate pentru aplicații web open
source. Proiectul oferă un scanner de vulnerabilitate și un instrument de exploatare
pentru aplicații Web. Oferă informații despre vulnerabilitățile de securitate folosite
în misiunile de testare a penetrării. Scannerul oferă o interfață grafică de utilizator și
o interfață de linie de comandă.
w3af este împărțit în două părți principale, nucleul și plug-in-urile.Miezul
coordonează procesul și oferă caracteristici care sunt consumate de plug-in-urile, care
găsesc vulnerabilitățile și le exploatează. Plugin-urile sunt conectate și partajarea
informațiilor între ele folosind o bază de cunoștințe.
3.a
1. 2/5? Raspuns: 0
2. 2/5.0? Raspuns: 0.4
3. 3**4? Raspuns:81
4. “Hallo”? Raspuns:Hallo
5. Print „Hallo” + „Welt”? Raspuns:HalloWelt
6. (i,j)=(1,2) Raspuns:Nu afiseaza nimic
7. Range(10)? Raspuns:[0,1,2,3,4,5,6,7.8,9]
8. Range(1,1000,100)? Raspuns: [1,101,201,301,401,501,601,701,801,901]
9. S=”ham” ? Rapuns:variabilei s i se atribuie stringul ‚ham ’ iar daca inmultim
variabila s cu 2 ne va returna ‚hamham’
10. „eggs” +2? Raspuns: Nu poti concatena un string cu un int
11. ‚ham’’and’’eggs’? Raspuns:hamandeggs
12. S*5? Raspuns:hamhamhamhamham
13. S[:0]? Raspuns: gol
14. S[0][0][0]? Raspuns:h
15. (‚x’,)[0]? Rapuns:x
16. ‚eggs’[2][0]? Raspuns:g
17. (‚x’,’y’)[1]? Raspuns:y
18. L=[1,2,3]+[4,5,6]? Raspuns: Nu afiseaza nimic
19. L[:]? Raspuns: Afiseaza continutul listei : 1,2,3,4,5,6
20. L[:0]? Raspuns: []
21. L[-2]? Raspuns:5
22. L[-2:]? Raspuns: 5,6
23. ([1,2,3] + [4,5,6])[2:4]? Raspuns : [3,4]
24. (l[2],l[3])? Raspuns: [3,4]
25. L.reverse()? Raspuns: Nu afiseaza nimic
26. L? Raspuns: Afiseaza lista invers -> [6,5,4,3,2,1]
27. L.sort; l? Raspuns: Afiseaza lista sortata -> [1,2,3,4,5,6]
28. L.index(4)? Raspuns: 3
29. {‚a’:1,’b’:2}[‚b’]? Raspuns: 2
30. D={‚x’:1, ‚y’:2 , ‚z’:3} Raspuns: s-a implementat un dictionar
31. D=[‚w’]=0
32. D[‚x’]+d[‚w’]? Raspuns: 1
33. D[(1,2,3)] = 4; d? Raspuns: {‚x’:1 , ‚y’:2 , ‚z’:3 , ‚w’:0 , (1,2,3):4}
34. D.keys()? Raspuns: dict_keys([‚x’, ‚y’ , ‚z’, ‚w’, (1,2,3)])
35. D.values()? Raspuns: dict_values([1,2,3,0,4])
36. D.has_key((1,2,3))? Raspuns: Nu exista has_key pentru dictionar
37. (1,2,3) in d? Raspuns: True
38. 0 or [] or () or {} or None or „Ende”? Raspuns: ‚Ende’
39. (x,y)=(1,2)? Raspuns: Variabilei x i se atribuie valoarea 1, iar variabilei y i se
atribuie valoarea 2
40. (x,y)=(y,x)? Raspuns: x primeste valoarea lui y si invers.
3.b
1. var origArray = [3, 5, 7, 9];
var newArray = origArray. slice(0, -1);
var anewArray = origArray.append(„6789”);
document.write(origArray);
2. l = [1,2]
l.append(l)
Raspuns : Afiseaza lista [1, 2, [...]]
l = [1,2]
l = l+l
Raspuns : [1, 2, 1, 2 ]
d. Cititi in documentatia python ce face functia dir . Ce metode are clasa lista?
Dacă obiectul are o metodă numită __dir __ (), această metodă va fi apelată și
trebuie să returneze lista de atribute. Acest lucru permite obiectelor care implementează o
funcție personalizată __getattr __ () sau __getattribute __ () pentru a particulariza modul
în care dir () raportează atributele lor.
dir()
['__builtins__', '__doc__', '__name__', 'struct']
dir(struct)
['Struct', '__builtins__', '__doc__', '__file__', '__name__',
'__package__', '_clearcache', 'calcsize', 'error', 'pack', 'pack_into',
'unpack', 'unpack_from']
class Shape(object):
def __dir__(self):
return ['area', 'perimeter', 'location']
Laborator 2:
3. Python (Py02).
a. Instructiuni ciclice
1. Pentru secventa de cod de mai jos transformati instructiunea repetitiva for in
instructiunea repetitiva while
l = [1,2,3]
for e in l:
print e
while (l>=1&&l<=3)
e=l
print e
b. Scrieti o functie care calculeaza cmmdc. Pentru calcul utilizati metoda cmmdc(x;
y) = cmmdc(y; x) si pentru x > y : cmmdc(x; y) = cmmdc(x - y; y). Testati functia
cu numere din fisierul py02_b.dat. Fiecare linie din fisier contine un singur numar.
Calculati cmmdc dintre numerele de pe linia i si i+1 pentru i numar par.
c. Calculati cmmdc pentru toate numerele din fisier.
d. Scrieti o functie care calculeaza cmmdcLista pentru o lista de numere (pentru
numerele x,y,z cmmdc(x,y,z)=cmmdc2(cmmdc2(x,y),z) ).
e. Argumente. Definiti urmatoarele functii:
f(1,2,3)
f(1)
f(1,2)
f(1,2,3,4)
g(1,2)
g(1,2,3,4)
g(1,2,3,4,bla="bla")
h(1,2,3,4,5,6,c=7)
h(1,2,3,4,5,6,x=7)
Nume VenitStudent*NumarOre
daca NumarOre>0.
Laborator 3:
1.1 Nmap este un scaner de securitate, scris inițial de către Gordon Lyon (cunoscut și sub
pseudonimul de Fyodor Vaskovich)[1] folosit pentru a descoperi host-uri
și servicii într-o rețea de calculatoare, creând astfel o „hartă” a rețelei. Pentru a-și
realiza obiectivul, Nmap trimite pachete special formatate la host-ul țintă și
analizează apoi răspunsurile. Spre deosebire de multe scanere simple de porturi, care
doar trimit pachete cu o frecvență constantă predefinită, Nmap ia în considerare și
particularități ale rețelei (fluctuațiile de latență, traficul din rețea, interferența target-
ului cu scanarea) în timpul procesului de scanare.
1.2 Cu toate ca functiile Nmap au crescut ca numar in timp, el a inceput ca un scaner de
porturi eficient si acesasta ramane fuctia lui de baza. Simpla
comanda nmap <tinta>scaneaza mai mult de 1660 de porturi TCP ale <tintei>.
1.3 Filtrarea poate proveni de la un firewall dedicat, din regulile unui router sau dintr-un
firewall software al tintei. Aceste porturi frustreaza atacatorii deoarece furnizeaza
foarte putine informatii. Uneori raspund cu un mesaj de eroare ICMP cum ar fi tipul 3
codul 13 (destinatie care nu a putu fi atinsa: comunicatia interzisa administrativ), dar
filtrele care executa operatia drop (ignora pachetul) fara sa raspunda sunt mult mai
comune. Acest lucru forteaza Nmap sa retrimita de cateva ori probele pentru cazul in
care pachetul s-a pierdut din cauza congestionarii retelei si nu din cauza filtrarii.
Acest lucru incetineste viteza de scanare dramatic.
1.4 Un port inchis este accesibil (primeste si raspunde la un pachet de proba trimis de
Nmap), dar nu exista nici o aplicatie care sa asculte la el. Pot fi folositoare in
dezvaluirea starii hostului sau ca parte a detectiei sistemului de operare. Deoarece cu
porturile inchise se pote comunica, ele merita scanate si mai tarziu in caz ca vreunul
dintre ele se deschide. Administratorii pot lua in considerare blocarea unor astfel de
porturi cu ajutorul unui firewall.
2.1 Nu.
2.2 Cei care se conecteaza la retea nu mai beneficiaza de serviciile oferite de programul
restrictionat.
2.3 CONFIG_IP_ALWAYS_DEFRAG
2.5 NetFilter si OpenBSD PF
4.a.1 L={1,2,3}
l.add(4) => set([1,2,3,4])
a.3 l.remove(1) => set([2,3,4])
a.4 l.clear() => set([])
b.1 a =[‚Mary’ , ‚had’ , ‚little’ , ‚lamb’]
for i in range (len(a)):
print (i, a[i]) => 0 Mary 1 had 2 a 3 little 4 lamb
b.2 l=[”paine”, “”gem”, “margarina”]
for item in l: for item in l:
if item == „gem”: if item != „cartofi”:
print („Yuck”) print(„Yuck)
else: else:
print („Good!”) print („Good”)
Rezultat: Good! Rezultat: Yuck
b.3 l=[„mar” , „banana”, „kiwi”]
print l => [‚mar’ , ‚banana’ , ‚kiwi’]
c.
parent = dict ()
rank = dict()
def make_set(vertice):
parent[vertice] = vertice
rank[vertice] = 0
def find(vertice):
if parent[vertice] != vertice:
parent[vertice] = find(parent[vertice])
return parent[vertice]
def union(vertice1, vertice2):
root1 = find(vertical1)
root2 = find(vertical2)
if root1 != root2:
if rank[root1] > rank[root2]:
parent[root2] = root1
else:
parent[root1] = root2
if rank[root1] == rank[root2]: rank[root2] += 1
def kruskal (graph):
for vertice in graph[‚vertices’]:
make_set(vertice)
minimum_spanning_tree = set()
edges = list(graph[‚edges’])
edges.sort()
#print edges
for edge in edges:
weight, vertice1, vertice2 = edge
if find(vertice1) != find(vertice2):
union(vertice1, vertice2)
minium_spanning_tree.add(edge)
return sorted(minimum_spanning_tree)
d.
import random
print „Am ales un numar intre 1 si 100. Il poti ghici?”
solutie = random.randit(1,100);
numar = int(raw_input(„Introduceti numarul:”))
while numar != solutie:
if numar < solutie:
print „Mai mare”
else:
print „Mai mic”
numar = int(raw_input(„Introduceti numarul:”));
print „Ai ghicit! Numarul era:”, solutie
Laborator 4:
iptraf
Python (Py04).
aa. Sa se scrie un script python care trimite un mail la o adresa data cu lista
utilizatorilor logati in ziua curenta
bb. #Sa se scrie un script python care trimite un mail la o adresa data cu lista
utilizatorilor logati in ziua curenta
cc.
dd. import smtplib
ee. import subprocess
ff. import string
gg. import time
hh. import os
ii.
jj. from datetime import date
kk. today=date.today()
ll. #p = subprocess.Popen("last ", shell=True, stdout=subprocess.PIPE)
mm. #MSG = p.stdout.read()
nn. today=date.today()
oo. today= today.strftime("%Y%m%d%H%M%S")
pp. x='last -t'+ today
qq. MSG = os.system(x)
rr. FROM = "costel@info.unitbv.ro"
ss. TO = "costel.aldea@unitbv.ro"
tt. SUBJECT = "The users logged in today"
uu. msg = string.join((
vv. "From: %s" % FROM,
ww. "To: %s" % TO,
xx. "Subject: %s" % SUBJECT,
yy. "",
zz. MSG), "\r\n")
aaa. server = smtplib.SMTP('info.unitbv.ro')
bbb. server.sendmail(FROM, TO, msg)
ccc. server.quit()
Laboratorul 5:
1 Cryptool
1.1 Criptati un text folosind Caesar (Crypt menu)
Text: This text file was created in order to help you to make your first steps
with CT1.
Text criptat: Uijt ufyu gjmf xbt dsfbufe jo psefs up ifmq zpv up nblf zpvs gjstu
tufqt xjui DU1.
1.2 Creati o pereche de chei RSA. La ce pot folosite aceste chei?
Perechile de chei RSA sunt utilizate pentru crearea unei semnaturi digitale
pentru mesaje.
1.3 Descrieti procesul verificarii semnaturii digitale (trebuie semnat mai intai
un mesaj ..)
Se deschide fisierul cu mesajul respectiv
Se selecteaza Sign Message din meniul Digital Signatures
Se alege o cheie
Se introduce codul PIN si se apasa butonul Sign
Se deschide fisierul cu mesajul semnat
Se selecteaza Verify Signature din meniul Digital Signatures
Se alege cheia cu care mesajul a fost semnat si se apasa butonul Verify
Signature
1.4 Creati un fisier text ce contine textul ”teste”. Ce valoare de hash (MD5) are
acest fisier?
69 8D C1 9D 48 9C 4E 4D B7 3E 28 A7 13 EA B0 7B.
1.5 Creati un fisier care contine textul ”abracadabra”. Ce valoare SHA are acest
fisier?
F5 43 39 3F C9 4B C9 02 16 5A F2 00 FB AC 09 79 42 FD E6 3B.
1.6 Decriptati fisierul ”cryDES” folosind Crypt¿DES(ECB) cu cheia
AAAAAAAAAAAAAAAA Ce contine acest fisier?
Acesta este un test. Felicitari ati reusit!!
1.7 Decriptati urmatorul fisier ”cryIDEA” folosind Crypt_IDEA
cu cheia: BCBCBCBCBCBCBCBCBCBCBCBCBCBCBCBC.
Ce reprezinta acest mesaj?
Laborator 6:
1 Snort
1.1 De ce aveti nevoie pentru ca instalarea snort sa functioneze?
Pentru a functiona instalarea Snort, trebuie instalate mai intai niste librarii
software (libpcap, zlib1g, libssl, libnghttp, libdumbnet s,i libpcre). Se foloseste
urmatoarea comanda (pentru Linux):
Laboratorul 7:
1 PGP
1.1 Configurati outlook sa foloseasca un cont de email. Care este diferrenta intre
outlook si un client webmail?
Webmail este un client care este conectat la server in permanenta, pe cand
Outlook descarca mesajele, stergandu-le ulterior de pe server.
1.2 Trimiteti un mail criptat cu cheia publica unui alt coleg. Explicati ce se
intampla.
Colegul care nu are acces la cheia privata nu poate descifra mesajul primit.
Laborator 8:
1.1 .NET Framework oferă un mecanism pentru aplicarea unor niveluri diferite de
încredere pe diferite coduri care rulează în aceeași aplicație numită Security Access Code
(CAS). Securitatea codului de acces în .NET Framework nu ar trebui să fie folosită ca un
mecanism pentru impunerea limitelor de securitate pe baza originii codului sau a altor
aspecte de identitate.
Gazda implicită pentru aplicațiile desktop permite codului să ruleze în deplină
încredere. Prin urmare, dacă aplicația dvs. vizează desktopul, acesta are un permis de
setare nerestricționat. Alte gazde sau sandboxuri oferă o permisiune limitată setată pentru
aplicații. Deoarece setul de permisiuni se poate modifica de la gazdă la gazdă, trebuie să
proiectați aplicația pentru a utiliza doar permisiunile permise de gazda țintă.
1.2 Permisiunile de acces la cod provin din clasa CodeAccessPermission. Sunt necesare
permisiuni pentru a accesa resurse protejate, cum ar fi fișiere și variabile de mediu, și
pentru a efectua operațiuni protejate, cum ar fi accesarea codului neangajat.
Permisiunile de identitate reprezintă caracteristici care identifică un ansamblu.
Permisiunile sunt acordate unei adunări bazate pe dovezi, care pot include elemente
precum semnătura digitală sau locul în care a apărut codul. De asemenea, permisiunile de
identitate provin din clasa de bază CodeAccessPermission.
Rolul permisiunilor de securitate se bazează pe faptul dacă un director are o identitate
specificată sau dacă este membru al unui anumit rol. Clasa PrincipalPermission permite
controale declarative și imperative de permisiune împotriva principalului activ.
FullTrust - Permiteți accesul deplin la toate resursele.
Everything - Permiteți accesul complet la toate resursele (grupul nu este adăugat la
lista de ansamblu)
Internet – Drepturi de Grant Default.
SkipVerification - Treceți prin toate verificările de securitate
Nothing - Anulează tot accesul, inclusiv executarea
Execution - Permite accesul exclusiv în execuție.
1.3 Să spunem că 2 clienti decid să semneze digital, un contract între ei, care este foarte
confidențial. Iată protocolul pe care îl pot utiliza pentru a semna digital contactul:
1. Clientii obțin fiecare câte o copie a dosarului care conține contractul.
2. Al doilea client pregătește un mesaj și calculează hash-ul și criptează valoarea
hash-ului cu cheia privată numită Block Signature.
3. Apoi criptează mesajul cu cheia publică a primului client.
4. Al doilea client trimite două fișiere către primul: hash și mesajul criptat.
5. După primire, primul client decriptează valoarea hash cu cheia publică a celui
de-al doilea.
6. Apoi decodifică mesajul cu cheia privată.
7. Apoi calculează hash-ul acestui mesaj.
8. În cele din urmă, compară cele două valori hash. Dacă acestea sunt identice,
semnătura este "bună", altfel nu este buna.
Laborator 12:
1. Definitia spune, pe scurt, ca spamul este orice mesaj nesolicitat. Din nefericire insa
(pt cei din industria antispam), utilizatorii uneori fac abuz de ceea ce ofera produsele
antispam pentru a bloca nu neaparat "mesajele nesolicitate", ci mesajele "nedorite".
Sunt mai multe metode de detectare a acestor mesaje, unele se bazeaza pe
continut, unele nu. Dintre cele care se bazeaza pe continut, unele sunt proactive (o retea
neurala, expresii regulate create in asa fel incat sa detecteze si variatii ulterioare ale
valurilor de spam) iar detectia proactiva este cea mai valoroasa, pentru ca spamurile sunt
prinse instantaneu, de la momentul zero al "campaniei de spam". Se face de asemenea
filtrare in functie de url-urile din spam, in functie de IP-urile de unde au fost trimise.
Filtrarea care nu se bazeaza pe continut se refera la monitorizarea frecventei mesajelor
similare intr-un interval mic de timp - comportament specific valurilor de spam. Se
raporteaza numai date din care nu se poate extrage continutul mesajului sau identitatea
utilizatorului.
Black list - Lista neagră este forma de filtrare bazată pe reguli, care utilizează o
regulă pentru a decide care e-mailuri sunt spamuri. Lista neagră este lista cu adresa IP a
mașinii sau a înregistrării adreselor de e-mail care au fost utilizate anterior. Când ajunge
mesajul de intrare, filtrul de spam verifică dacă IP sau adresa de e-mail se află pe lista
neagră, dacă da, mesajul este considerat spam și respins.
Greylist - O tehnică relativ nouă de filtrare a spamului, are avantajul faptului că
mulți spammeri încearcă doar să trimită o singură dată un lot de mesaje nedorite.Sub
sistemul greylist, serverul de e-mail destinatar respinge inițial mesajele de la utilizatori
necunoscuți și trimite un mesaj de eroare serverului inițial. Dacă serverul de poștă
electronică încearcă să trimită mesajul a doua oară - un pas pe care îl va lua cel mai
legitim server - greylistul presupune că mesajul nu este spam și lasă-l să meargă la cutia
poștală a destinatarului. În acest moment filtrul greylist va adăuga e-mailul sau adresa
destinatarului la o listă de expeditori permiși.Deși filtrul greylist necesită mai puține
resurse de sistem decât alte tipuri de filtre de spam, acestea întârzie și livrarea de mesaje,
ceea ce ar putea fi incomod.
Content Based Filter - Filtrul bazat pe conținut este cel mai frecvent utilizat grup
de metode de filtrare a spamurilor. Filtrul de conținut acționează fie asupra conținutului,
informațiilor conținute în corpul poștal, fie asupra anteturilor poștale (cum ar fi
"Subiecții") pentru a clasifica, accepta sau respinge un mesaj.
2. Fiecare cuvânt din e-mail contribuie la probabilitatea spam a emailului sau numai la
cele mai interesante cuvinte. Această contribuție se numește probabilitatea posterioară și
se calculează folosind teorema lui Bayes. Apoi, probabilitatea de spam a e-mail-ului se
calculează peste toate cuvintele din e-mail și, dacă totalul depășește un anumit prag (de
exemplu 95%), filtrul va marca e-mailul ca un spam.
3. Shamir's scheme - Este nevoie de două puncte pentru a defini o linie dreaptă, trei
puncte pentru a defini complet un patrat, patru puncte pentru a defini o curbă cubică și așa
mai departe. Adică, este necesar să se definească un polinom de gradul t - 1. Metoda este
de a crea un polinom de gradul t - 1 cu secretul ca primul coeficient și coeficienții rămași
sunt aleși la întâmplare. Apoi găsiți n puncte pe curbă și dați câte unul jucătorului. Atunci
când cel puțin t din jucătorii n dezvăluie punctele lor, există suficiente informații pentru a
se potrivi cu un polinom gradului (t - 1), primul dintre ele fiind secretul.
Blakley's scheme - Două linii neparalele în același plan se intersectează exact la un
punct. Trei planuri non-paralele în spațiu se intersectează exact la un punct. Mai general,
orice n nelinear (n - 1) . Secretul poate fi codificat ca orice coordonată a punctului de
intersecție. Dacă secretul este codificat folosind toate coordonatele, chiar dacă acestea
sunt aleatoare, atunci un insider câștigă informații despre secret, deoarece știe că trebuie
să stea pe plane-ul lui. Dacă un insider poate dobândi mai multe cunoștințe despre secret
decât un străin poate, atunci sistemul nu mai are informații de securitate teoretică. Dacă se
folosește doar una dintre coordonatele n, atunci insiderul nu cunoaște mai mult decât un
outsider (adică secretul trebuie să stea pe axa x pentru un sistem bidimensional). Fiecare
jucător primește suficiente informații pentru a defini un hiperplane; secretul este recuperat
prin calcularea punctului de intersecție al avionului și apoi luând o coordonată specifică a
intersecției respective.
4.
import soket
import random
__all__ = [‚Tracer’]
class Tracer (object):
def __init__(self, dst, hops = 30):
self.dst = dst
self.hops = hops
self.ttl = 1
#Alegeti un port random in range (33434-33534)
self.port = random.choise(range(range(33434-33535))
def run(self):
try:
dst_ip = socket.gethostname(self.dst)
exept socket.error as e:
raise IOError(„Unable to resolve {}: {}”, self.dst,e)
text = ‚traceroute to {} ({}), {} hops max’.format(
self.dst,
dst_ip,
self.hops
)
print (text)
while True:
reciver = self.create_reciver()
sender = self.create_sender()
sender.sentto(b’’’,(self.dst, self.port))
addr = None
try:
data, addr = reciver.recvform(1024)
except socket.error:
raise IOError(’Socket error :{}’.format(e))
finally:
reciver.close()
sender.close()
if addr:
print(’{:<4} {}’.format(self.ttl, addr[0]))
else:
print (’{:<4} *’.format(self.ttl))
self.ttl += 1
if addr[0] == dst_ip or self.ttl > self.hops:
break
def create_reciver(self):
s = socket.socket(
family=socket.AF_INET,
type=socket.SOCK_RAW,
proto=socket.IPPROTO_ICMP
)
try:
s.bind((’’ ,self.port))
except socket.error as e:
raise IOError(’Unable to bind receiver socket: {}’.format(e))
return s
def create_sender(self):
s = socket.socket(
family=socket.AF_INET,
type=socket.SOCK_DGRAM,
proto=socket.IPPROTO_UDP
)
s.setsockpt(socket.SOL_IP, socket.IP_TTL, self.ttl)
return s
Laborator 14:
Laborator 18:
1.Setarea controlului parental poate fi foarte benefică pentru familia ta. Vă oferă
posibilitatea de a gestiona modul în care copiii utilizează dispozitivul dvs. și vă oferă
liniște că acestea se află în siguranță online.
(cred că "custodian") este de asemenea disponibil pentru Mac, Android, iOS, Kindle și
(ciudat) Nook.
de router.
parental blochează automat domeniile pe care OpenDNS le-a semnalat sub titlurile "fără
4. Keylogger – inregistreaza actiunile tastaturii (si chiar capturi de ecran) iar dupa
o perioada sunt trimise autorului virusului astfel incat acesta poate afla informatii
importante, cum ar fi useri si parole, conturi, numere de carti de credit…
Exploit – utilizeaza erorile de programare pentru a prelua controlul
computerului-tinta. Sunt periculoase datorita faptului ca multe nu sunt aduse la cunostinta
publicului si sunt cunoscute numai de cei care au descoperit „portile de intrare” (hackeri).
Din acest motiv, periodic, furnizorii de programe (inclusiv Microsoft) fac update-uri
pentru a remedia erorile descoperite si a imbunatati siguranta programului;
Backdoor – dupa cum ii spune si numele (usa din spate) deschide o intrare – fara
ca posesorul computerului sa observe ceva – si, controlandu-l, are la dispozitie toate
informatiile personale, unele foarte importante (useri, password-uri, numere carti de
credit, conturi etc.). Un foarte bun virus de acest tip a fost creeat de un roman si se
numeste Subseven.
Sniffing – se intercepteaza datele transferate printr-o rețea de calculatoare –
eventual se si decodifica – in scopul sustragerii de informatii importante; autorul trebuie
sa se afle in aceeasi retea pentru a putea avea acces la datele respective, cele transferate
prin retea.
Port-scanning – se verifica toate porturile unui calculator (65.535 de toate!) si cand
se depisteaza unul se incepe atacul pentru a se prelua controlul.
Bitdefender
KinderServer
AVG Family Safety
CoreFlood
Tiny Banker Trojan
Shedun Android malware