Documente Academic
Documente Profesional
Documente Cultură
2
1.1 Sisteme de Operare - Definiie i funcionalitate ................................ 2
1.2 Evoluia i clasificarea sistemelor de calcul ....................................... 3
1.3 Istoria sistemelor de operare .............................................................. 3
1.4 Concepte ale SO ................................................................................ 5
1.5 Gestiunea memoriei i dispozitivelor I/O ........................................... 8
1.6 RAID - Redundant Array of Inexpensive Disks ................................13
1.7 Securitatea sistemelor de operare ......................................................15
1.7.1 Tipuri de atac .............................................................................16
1.8 ntrebri recapitulative ......................................................................19
1. SISTEME DE OPERARE
Autor: George Sebastian Chi
Dezvoltat
de
Pachete de programe
utilizatori
Biblioteci, Browsere Editoare
Soft de baz
SO Translatoare Editoare de legturi
Hard
Limbaj main
Microprograme (Firmware)
Componente fizice
Figura 2. 1 Sistem de calcul alctuit din structura hard, SO i aplicaii
Software de baz (sistem) fac sistemul s funcioneze:
Translatoare
Interpretoare de comenzi
Editoare de legturi
Programe de comunicaie etc.
Software de aplicaii ale unor utilitare pentru utilizatori:
Pachete de programe
Editoare de texte
SGBD-uri
Navigatoare Web
Instrumente de dezvoltare de aplicaii
Editoare de imagini
Sisteme financiar contabile, ERP (Entreprise Resource Planning), HRM, CRM, SCM, FMS
Bibliotecare etc.
Sistemele de operare realizeaz dou funcii de baz ntre care nu exist nici o legtur: extinderea
funcionalitii mainii i gestionarea resurselor,ceea ce nu putem spune este care din aceste funcii este mai
important. Prin funcia de extindere ascunde detalii neplcute precum: ntreruperile, timer-ele, gestiunea memoriei i
alte elemente de nivel sczut. Tot funcia de extindere ascunde programatorului adevrul despre structur hard i
prezint numai partea frumoas a fiierelor cu nume nu i cu octei i reprezint o vedere de sus n jos a SO.
n abordarea de jos n sus este prezena funcia de gestionare a resurselor care are c sarcin s realizeze o
alocare ordonat i controlat a proceselor, memoriilor i dispozitivelor de I/O n diversele programe scrise pentru
ele. Administrarea resurselor include partajarea resurselor n timp i spaiu (multiplexarea). Cnd este n timp
programele sau utilizatorii le folosesc pe rnd resursele (exemplu: tiprirea) formndu-se o coad SO este acela care
spune cine urmeaz i ct timp are alocat. Cnd este n spaiu fiecare client folosete o parte din resursa (exemplu:
memoria principal este mprit ntre mai multe programe, sau HDD este o alt resursa multiplexat n spaiu.
maina va executa frecvent operaiile aritmetice: adunarea, scderea, nmulirea i mprirea rezultnd existena
unei componente specializate destinat calculului (aritmetico-logic, unitate de calcul etc.).
operaiile se vor executa secvenial. Distincie ntre instruciunile necesare rezolvrii unei probleme particulare i
controlul general asupra acestor instruciuni. (componenta de control) - unitatea de calcul + CPU (Control and
Processing Unit) / procesor.
memorie n care se in minte" instruciunile & datele necesare rezolvrii problemei (intern sau memorie
operativ).
senzor recepioneze / transmit semnalele vin / la din exterior (astzi le numim dispozitive de intrare/ieire, I/E,
sau periferice).
volatilitatea;
memorie permanent (memoria extern de astzi).
transfer ntre memoria intern la cea permanent.
fost ENIAC. Era de 1.000 de ori mai rapid ca Mark I i consuma 160 de kilowati. 1951: apare UNIVAC I, primul
computer disponibil comercial. 1952: UNIVAC I prezice matematic alegerea ca presedinte a lui Eisenhower.
A doua generaie 1955 1965 - tranzistoare, batch systems; tranzistoare; mainframe-uri;
apare conceptul de batch; sisteme de operare: FMS, IBSYS.
Inventarea tranzistorului aduce schimbari radicale. Introdus n computere n 1956 i cuplat cu memoria cu
miez magnetic, el da natere unei generaii de ordinatoare mai mici i mai eficiente. Primele supercomputere au fost
Stretch, produse de IBM i LARC pentru laboratoarele de energie atomica. La nceputul anilor 60 apare IBM 1401,
considerat piatra de temelie a conceptului actual. Apar de asemenea limbajele de programare COBOL (Common
Business-Oriented Language) i FORTRAN (Formula Translator), care nlocuiesc codul binar criptic cu cuvinte i
formule matematice.
A treia generaie 1965 1980 - ICs i multiprogramarea; circuite integrate; apare conceptul de familie de
calculatoare (IBM System/360): aceeai arhitectura i set de instruciuni.
Dei tranzistorii reprezentau o evoluie semnificativa, ei generau intens cldur, care deteriora restul
componentelor interne. Aa ncepe folosirea cristalelor de cuar. n 1958, Texas Instruments produsese circuitul
integrat, care combina trei componente electronice pe un disc de siliciu. Un alt pas l-a constituit apariia sistemelor de
operare, care au permis computerelor sa ruleze mai multe aplicaii simultan, cu un program central de monitorizare i
coordonare a memoriei.
Sistemul de operare pentru System/360: OS/360 aduce:
Multiprogramare - Partiionarea memoriei n mai multe segmente, ct timp un job ateapt la I/O alt job se execut
Spooling - Citirea joburilor de pe cartele perforate i pstrarea lor pe disc pna la execuie
Multitasking (time-sharing):
CTSS (Compatible Time Sharing System)
MULTICS (Multiplexed Information and Computing Service)
MIT, Bell Labs, General Electric Lansat n 1960 are un succes comercial sczut, ns are o influen masiv
asupra dezvoltrii ulterioare a SO
UNIX
versiune mult redus a MULTICS, implementat de Ken Thompson System V, BSD
A patra generaie 1980 prezent- calculatoarele personale CP/M - Dezvoltat de Kidall pentru Intel 8080.
Dup circuitele integrate, direcia principal a rmas reducerea dimensiunilor. Deja, n anii 80, integrarea la
scara foarte larga putea concentra sute de componente pe un singur cip. n 1971, cipul Intel 4001 integra toate
componentele unui computer pe o pastila minuscula. Acum se naste microprocesorul. Computerele vndute sunt
nsoite de pachete de software. Pionieri ai domeniului sunt Commodore, Radio Shack i Apple Computers. La
nceputul anilor 80 apar primele jocuri arcade, precum Pac Man, i primele sisteme casnice de jocuri, precum Atari
2600. 1981: IBM lanseaz PC (Personal Computer), care va deveni standard n domeniu. Dup 1984 este folosit pe
scar larg invenia MacIntosh, pe care azi o cunoatem ca mouse. 1992: ncepe folosirea intensiv a reelelor i
Internetului n accepiunea actual a conceptului.
A cincea generaie Definirea acestei generaii este dificil, deoarece se afl n faza de nceput. Cel mai bun
exemplu ar putea fi celebrul, dar fictivul, HAL 9000 (care era dotat cu inteligen artificial), din romanul Odiseea
spaial 2001 al lui Arthur C. Clarke. Considerat utopic la data apariiei crii (1968), acest calculator se va nate n
laboratoarele viitorului, confirmnd, nc o dat, aseriunea conform creia cuvintele creeaz realitatea.
Perioada
Tehnologie
Generaia
CPU
1946-1956
Tuburi electronice
1957-1963
Tranzistori
1964-1981
Circuite integrate
Dup-1982
Circuite integrate
pe scar foarte larg
Dup 1990
Circuite integrate
pe scar extrem de
larg; maini LISP
i Prolog
Tehnologie
memorie
Tambur
magnetic
Inele de ferit
II
Memorii
semiconductori
discuri
magnetice
Memorii
cu
bule,
discuri
optice
Arhitecturi
paralele
Limbaje
Utilizate
Asamblare
nivel nalt:
FORTRAN,
COBOL etc.
Pascal, Lisp, limbaje grafice
Performane,
memorie i CPU
Figura 3. 1 Arbore de proces. Procesul A a creat dou procese- copii: B i C Procesul B a creat 3 procese
copii D, E, F
Pentru a implementa un proces a SO folosete o tabel (un vector de structuri) numit tabel de procese cu o
intrare pentru fiecare proces. Aceast intrare conine informaii despre: starea procesului, contorul program,
indicatorul de stiva, alocarea memoriei, starea fiierelor deschise, detalii de contabilizare, i planificare i orice alte
informaii despre un proces, care trebuie salvate atunci cnd procesul comut ntre strile n execuie, gata de execuie
i blocat, astfel nct s poat fi repornit mai trziu ca i cum nu ar fi fost oprit niciodat.
n tabelul de mai jos se poate vedea cteva din cmpurile importante dintr-un sistem obinuit:
Gestiunea procesului
Registrare
Contorul program
Cuvntul de stare al programului
Gestiunea memoriei
Gestiunea fiierelor
Directorul rdcin
Directorul de lucru
Descriptorii de fiiere
Indicatorul de stiv
Starea procesului
Prioritate
Parametri de planificare
Identificatorul procesului
Proces primar
Grupul procesului
Semne
Momentele nceperii procesului
Durata de utilizare UCP
Durata de utilizare UCP de ctre
copii
Identificatorul
utilizatorului
Identificatorul grupului
Termen traductibil prin grmad, ciorchine; const ntr-un spaiu continuu pe disc obinut prin alipirea a mai multor sectoare
consecutive.
bii, dimensiune acceptabil pentru discurile flexibile cu care lucra sistemul de operare DOS1.0 (12 bii semnific
4096 de sectoare adresabile adic o capacitate de 2MB, mai mare dect cei 1.44 MB ai discului). Acest sistem de
administrare a cptat denumirea de FAT12.
Ulterior, DOS 2.0 a inclus i suportul pentru subdirectoare, precum i FAT pe 16 bii necesar pentru utilizarea
primelor hard discuri de 5 MB. Cele 65536 de locaii permiteau adresarea unui disc de 32 MB, suficieni la data
respectiv. Sistemul a cptat denumirea de FAT16.
Odat ce hard discurile au ncepu s creasc n dimensiuni, FAT16 a nceput s aib probleme n
administrarea ntregului spaiu util de pe un hard disc. Soluiile au constat n partiionarea discului (mprirea n mai
multe volume logice de sine stttoare) i n introducerea clusterelor care au mrit, virtual, capacitatea de stocare a
unei uniti de alocare. n principal, aceste faciliti au aprut odat cu Windows 95 care a mai eliminat o limitare a
sistemului clasic: prin VFAT (virtual FAT) era eliminat regula numelor de fiiere 8+3.
Din 1997, creterea n dimensiuni a clusterelor a fost epuizat: clusterul maxim era de 32768 octei, ceea ce
nsemna c Windows 95 nu putea vedea discuri mai mari de 2 GB. n consecin, pentru urmtorul sistem de operare,
Windows 95 OSR2, s-a introdus FAT32, sistem care permitea adresarea a 268 435 456 clustere (deocamdat nu sunt
folosii dect 28 de bii din cei 32; valoarea reprezint 228). n aceste condiii, dimensiunea clusterelor a putut fi redus
napoi la 4 KB (8 sectoare), fiind totui posibil adresarea unui disc de 1TB. O consecin pozitiv rezultat din
scderea dimensiunii clusterului a fost i utilizarea mai eficient a spaiului pe disc.
Sistemele de operare alternative pentru PC, de exemplu OS/2, BeOS, FreeBSD, LINUX etc. dispun i ele de
variante care suport VFAT i FAT32.
FAT32 - utilizeaz spaiul mai eficient. FAT32 utilizeaz clustere mai mici (adic clustere de 4 KO pentru
uniti de pn la 8 GO), avnd ca rezultat o utilizare a spaiului de disc cu 10-15 la sut mai eficient fa de unitile
mari FAT sau FAT16, este mai robust, poate relocaliza folderul rdcin i poate utiliza copia de rezerv a tabelului
de alocare a fiierelor n locul copiei implicite. n plus, nregistrarea de ncrcare a unitilor FAT32 este extins pentru
a include o copie de rezerv a structurilor de date critice, sunt mai puin predispuse la un singur punct de eroare dect
unitile FAT16, este mai flexibil. Folderul rdcin de pe o unitate FAT32 este un lan obinuit de clustere, astfel
nct poate fi plasat oriunde pe unitate. Limitrile anterioare n ceea ce privete numrul de intrri n folderul rdcin
nu mai exist. n plus, se poate dezactiva oglindirea tabelului de alocare de fiiere, permind s fie activ o alt copie
a tabelului de alocare a fiierelor n loc de prima copie. Aceste caracteristici permit redimensionarea dinamic a
partiiilor FAT32.
UMSDOS este un sistem de fiiere pentru LINUX care simuleaz cele mai avansate faciliti UNIX folosind un
sistem de fiiere de tip FAT.
HFS (Hierarchical File System) este folosit de sistemul de operare Apple Mac OS.
HPFS (High Performance File System) a fost creat pentru sistemul de operare OS/2.
ISO 9660 (mpreun cu extensiile Rock Ridge i Joliet) este un standard care definete sistemul de fiiere pentru
CD-ROM; este implementat n Windows, Mac OS, LINUX, UNIX etc.
JFS (Journalizing File System) sistem de fiiere cu monitorizarea activitilor dezvoltat de IBM; este disponibil
pe AIX, OS/2 i LINUX.
MINIX (Mini Unix) este unul din numeroasele clone de UNIX aprute n perioada n care AT&T (proprietarul
UNIX) refuza vnzarea acestuia; a stat la baza dezvoltrii LINUX.
NTFS (New Technology File System) este sistemul de fiiere standard pentru Windows NT i predecesoarele
sale Windows 2000 i Windows XP; capacitatea de a recupera automat dup anumite erori legate de disc, ceea ce
FAT32 nu poate realiza. Suport mbuntit pentru hard disk-uri mai mari. Are securitate mai bun, deoarece avei
posibilitatea s utilizai permisiuni i criptare pentru a restriciona accesul la anumite fiiere numai la utilizatorii
autorizai. Acest sistem de fiiere folosete adrese de disc de 64 de bii i poate suporta partiii de pn la 264 bytes,
totodat ofer posibilitatea folosirii caracterelor Unicode n numele de fiiere, permite folosirea numelor de fiiere de
pn la 255 de caractere, inclusiv spaii i puncte; permite indexare general a fiierelor; ofer posibilitatea
managementului dinamic al sectoarelor; datorit compatibilitii POSIX, permite crearea hard-link-uri, face distincie
ntre litere mari i mici n cadrul numelor de fiiere i pstreaz informaii de timp referitoare la fiier; permite
utilizarea fiierelor cu seturi multiple de date.
operare
Programul
utilizatorului
RAM
Sistemul
de
operare
RAM
(a)
(b)
(c)
Figura 3. 3 Trei moduri simple de organizare a memoriei pentru un sistem de operare i un singur
proces al utilizatorului
Cu excepia sistemelor ncorporate simple, monoprogramarea nu mai este folosit aproape nicieri. Cele mai
multe sisteme moderne permit rularea mai multor procese n acelai timp. A avea mai multe programe care ruleaz
3
simultan nseamn c atunci cnd unul din procese este blocat ateptnd ca o operaie de I/E sa se termine, alt proces
poate utiliza procesorul. Deci multiprogramarea creste gradul de utilizare al procesorului. Dac n trecut numai
serverele de reea aveau ntotdeauna capacitatea de a rula mai multe procese n acelai timp pentru mai muli clieni,
n zilele noastre PC-urile personale au aceast capacitate.
Cea mai simpl modalitate de a face multiprogramarea este de a diviza memoria n N partiii posibil inegale
ca dimensiune, iar aceste partiii pot fi fcute manual la pornirea sistemului de operare. Cnd un proces trebuie
executat, va fi pus n coada de intrare a celei mai mici partiii care este suficient de mare pentru a-l cuprinde. Deoarece
partiiile sunt fixe, orice spaiu care nu este folosit de un proces, va fi pierdut.
Dezavantajul sortrii proceselor apare cnd o coada pentru o partiie mare este goal i o coad pentru o
partiie mic este plin (exemplu partiiile 1 i 3 din figura de mai jos).
Figura 3. 4 Partiii fixe ale memoriei cu cozi separate pentru fiecare partiie / Partiii fixe ale
memoriei cu o singur coad de intrare
Aici procese mici trebuie s atepte pentru a fi ncrcate n memorie, dei este suficient memorie liber,
alternativa ar fi s fie organizate ntr-o singur coad de ateptare. Deoarece cnd o partiie devine liber, procesul cel
mai apropiat de nceputul cozii care ncape n partiia respectiv va fi ncrcat i rulat n spaiul liber creat. Deoarece
este de preferat sa nu se piard o partiie mare pentru un proces mic, deci o strategie ar fi atunci cnd se elibereaz o
partiie s se caute prin toat coada de intrare cel mai mare proces care se potrivete. ns acest algoritm
dezavantajeaz procesele mici care se consider c nu merit o partiie pentru ele, n condiiile n care este de preferat
s se ofere proceselor mici cea mai buna servire, nu cea mai proast. Soluia ar reprezenta-o alocarea unei partiii mici
pentru rularea acestor procese, sau o alt soluie ar fi o regul care s nu permit ca un proces s fie srit mai mult de
k ori.
Acest sistem cu partiii fixe alese de operator dimineaa i care nu se mai schimb, a fost muli ani de OS/260.
Pe marile sisteme de calcul IBM, i se numeau MFT8, ns n prezent acest model nu mai este implementat decat de
foarte puine sisteme de operare (Exemplu: mainframe-uri).
n funcie de echipamentul folosit exist dou strategii de gestiune a memoriei: interschimbare (swapping)
aducerea unui proces n memorie, execuia sa pentru un timp, apoi trecerea lui napoi pe disc i memorie virtual
permite programelor s ruleze chiar dac nu sunt ncrcate complet n memorie.
Figura 3. 5 Alocarea memoriei se schimba pe msur ce procesele vin i pleac din memorie
Observaie: Regiunile haurate reprezint memoria nefolosit.
Figura 3. 8 Poziia i funcia MMU9 , dup cum se vede este parte a cipului procesorului.
Algoritmi de nlocuire a paginilor apar atunci cnd eroarea din pagina ne indic:
Ce pagin trebuie s nlocuim
9
Date rate
Keyboard
10 bytes/sec
Mouse
100 bytes/sec
56K modem
7 KB/sec
Telephone Channel
8 KB/sec
16 KB/sec
Laser printer
100 KB/sec
Scanner
400 KB/sec
Classic Ethernet
1.25 MB/sec
1.5 MB/sec
USB 2.0
480MB/sec
USB 3.0
4800MB/sec
Digital camcorder
4 MB/sec
IDE disk
5 MB/sec
40x CD-ROM
6 MB/sec
Fast Ethernet
12.5 Mb/sec
ISA Bus
16.7 MB/sec
16.7 MB/sec
50 MB/sec - 800MB/sec
XGA Monitor
60 MB/sec
78 MB/sec
80 MB/sec
Gigabit Ethernet
125 MB/sec
Ultrium tape
320 Mb/sec
PCI bus
528 Mb/sec
Sun
Gigaplane
XB
Backplane
20 GB/sec
Tabel 3. 1 Rate de transfer pe componente de I/O
Figura 3. 9 RAID 0
Figura 3. 10 RAID 1
RAID 1
este
oglindirea
dispozitivelor
(mirroring);
dac se folosesc dou discuri n RAID1
informaia va fi stocat pe ambele, n
oglind;
RAID 3
oricare din ele poate ceda, fr s
afecteze integritatea matricei;
Performana este afectat, deoarece
scrierea/citirea se face simultan;
spaiul de stocare este de jumtate;
numr par de discuri.
Figura 3. 11 RAID 3
RAID 5
redundan de nivel N+1;
viabil de la mai mult de 3 discuri/partiii
ntr-o matrice;
scrierea informaiilor de paritate se face
pe toate discurile,
pentru un numr mare de discuri este cea
mai eficient metod;
capacitate de stocare este data de
(capacitatea unui disc)*(numrul de
discuri -1).
Figura 3. 12 RAID 5
RAID
RAID 0
RAID 1
RAID 5
RAID 6
Nr minim de
HDD
RAID
10
RAID
50
6
de la un
disc
czut n
fiecare
sub-ir
de la doua
discuri czute
n fiecare subir
RAID 60
Protecia
Datelor
NU
un hdd
czut
un hdd czut
4
de la un
disk
czut n
fiecare
sub-ir
Performanta
Citire
Ridicat
Ridicat
Ridicat
Ridicat
Ridicat
Ridicat
Ridicat
Performanta
Scriere
Ridicat
Medie
Sczut
Sczut
Mediu
Mediu
Mediu
Performanta
Citire
(degradata)
N/A
Medie
Sczut
Sczut
Ridicat
Mediu
Mediu
RAID
Performanta
Scriere
(degradata)
Capacitatea
de utilizare
Aplicaii
RAID
10
RAID
50
sczut
Ridicat
Mediu
67% - 94%
50% - 88%
50%
67%94%
50% - 88%
Depozite BD,
servicii web,
arhivari
arhive
DB,
backup pe disc,
soluii
de
disponibilitate
foarte
mare,
servere
cu
cerine mari de
capacitate
BD
rapide,
servere
de
aplicaii
BD
mari,
Servere
de
fiiere,
servere
de
aplicaii
arhive
DB,
backup
pe
disc, soluii de
disponibilitate
foarte mare,
servere
cu
cerine mari
de capacitate
RAID 0
RAID 1
N/A
Ridicat
Sczut
100%
Staii de
lucru,
loguri de
date,
redarea n
timp real,
date
foarte
tranzitorii
50%
Sisteme
de
operare,
tranzacii
n DB
RAID 5
RAID 6
RAID 60
Sczut
condiii de siguran pentru echivalentul n inginerie de siguran). n mod ideal, un sistem sigur ar trebui s solicite
o deliberat, decizie contient, cunotine i gratuit din partea autoritilor legitime n scopul de a face nesigure.
n plus, securitatea nu ar trebui s fie o problem de totul sau nimic. Designerii i operatorii de sisteme ar
trebui s presupun c nclcrile de securitate sunt inevitabile. Pistele de audit completa ar trebui s fie pstrate de
activitate de sistem, astfel nct atunci cnd se produce o nclcare a securitii, mecanismul i gradul de nclcare
poate fi determinat. Stocarea pistele de audit de la distan, n cazul n care acestea pot fi doar anexate, se poate pstra
intrui de la care s acopere urmele lor. n cele din urm, dezvluirea complet ajut s se asigure c, atunci cnd sunt
gsite bug-uri la fereastra de vulnerabilitate este meninut ct mai scurt posibil.
Atacuri DOS
Atacurile de tip Denial of Service10 sunt o cauz major de operare defectuoas a sistemelor n Internet i
reprezint cea mai serioas ameninare de astzi. Primul atac major a ngenunchiat reeaua Universitii Minnesota n
august 1999, iar 6 luni mai trziu un tnr canadian a atacat unele dintre cele mai importante site-uri Internet: Yahoo,
CNN, Amazon, Buy i eBay. De atunci atacurile par s fie n cretere.
Din nefericire, utilizatorii sunt mai interesai de software-ul cu mai multe faciliti dect de cel robust, fr
erori. n plus, securitatea are preul su. Software-ul modern cheltuiete un numr imens de cicluri main pentru a
desena ferestre tri-dimensionale cu alpha-blending sau alte asemenea mbuntiri vizuale, dar aceste lucruri nu aduc
nimic din punct de vedere al funcionalitii. Dei securitatea este o problem major, muli utilizatori nu se arat
dispui s cheltuiasc o putere de calcul similar pentru securitate. De asemenea, multor utilizatori nu le pas dac
sistemul lor este sigur sau poate fi utilizat ca int sau ramp de lansare a unor atacuri de diferite feluri.
Falsul sentiment de securitate este probabil mai ru dect lipsa total a securitii. nc exist suficient de
muli administratori care las sistemele lor neprotejate, neaplicnd ultimele patch-uri i neconformndu-se
procedurilor de bun practic adoptate de fiecare organizaie. Dac avem n vedere faptul c numrul de locuine,
coli, biblioteci i alte locuri publice conectate la Internet a crescut exponenial n ultima vreme, dimensiunea
problemei apare n toat mreia sa.
Ameninrile de securitate se pot categorisi, dup cum urmeaz:
Scurgeri de informaii (confidenialitate)
Autentificri nereuite
Denial of Service (DOS)
n timp ce primele dou atacuri au fost analizate extensiv n literatura de specialitate, atacurile DOS nu au
primit atenia cuvenit pn de curnd.
Un atac Denial of Service poate lua una din cele dou forme posibile. Un atacator poate cauza netransmiterea
de ctre reea a mesajelor pe care ar trebui s le transmit n mod normal clienilor si. De cealalt parte se afl reelele
care trimit mesaje pe care nu ar trebui s le trimit. De departe cel mai cunoscut atac DOS este cauzarea de trafic fals
(inundarea reelei) n direcia un server particular, lucru care n final va duce la mpiedicarea clienilor legitimi s
obin serviciul pe care l cer de la acel server.
Comunitatea Internet cunoate o serie ntreag de atacuri DOS, care se pot mpri n dou categorii: atacuri
prin inundare (flooding) i atacuri prin pachete modificate.
O cauz evident a atacurilor TCP SYN este c dialogul iniial ntre pri are loc naintea unei minime
autentificri. Serverul este incapabil de a distinge traficul legitim de cel fals, fapt ce are toate ansele s rmn aa.
Impunerea necesitii de a autentifica toate cererile ar nsemna un atac DOS n sine, din moment ce serverul ar fi
ocupat cu verificarea semnturilor digital, indiferent dac acestea sunt sau nu valide. Aceast nou cale de atac ar fi
la fel de periculoas ca i simpla umplere a tabelei TCP.
O cauz mai puin cunoscut a atacurilor DOS este contabilizarea resurselor, mai precis lipsa acestora.
Spatscheck i Peterson [SPAT99] consider c sunt trei ingrediente cheie pentru protejarea de atacuri DOS:
contabilizarea tuturor resurselor consumate de un client;
detecia momentului cnd resursele alocate unui client depesc un prag stabilit apriori;
constrngerea capacitatea de a revendica resursele blocate dup detectarea unui atac prin alocarea de resurse
minime unui atacator, lucru ce nseamn automat evitarea unui atac DOS ulterior;
10
Termenul se traduce aproximativ prin interzicerea serviciului, dar am ales s folosim aici terminologia original
din limba englez deoarece este un termen de referin n articolele de specialitate
n perioada cnd Internetul nsui era proiectat, contabilizarea resurselor era scopul cu prioritatea cea mai
mic, lucru ce ne afecteaz astzi cel mai mult. n contrast cu reelele de telefonie omniprezente unde folosirea
resurselor era atent controlat, cei care au proiectat reeaua Internet nu au prut s acorde importan acestui aspect.
Astfel, serverele aloc aceeai putere de calcul tuturor cererilor care sosesc la un moment dat ceea ce mpiedic o
degradare elegant a performanei n cazul unui atac sau n cazul unei ncrcri excesive.
Scenariul anterior este oarecum similar cu mecanismul rudimentar de procesare a pachetelor de intrare
datorit arhitecturii bazate pe ntreruperi a subsistemului de reea. Toate sistemele de operare implementeaz acest tip
de arhitectur care s-a dovedit neadecvat n condiii de ncrcare mare. Pachetele de la intrare sunt procesate cu
prioritatea maxim pentru ca apoi s fie distruse pentru c nu exist nici o aplicaie care s le deserveasc. Aceast
situaie se numete receiver livelock. Mai mult, chiar dac exist o aplicaie care s deserveasc aceste pachete,
prioritatea procesului nu este luat n calcul. Astfel, aplicaiile cu prioritate mic primesc aceeai cantitate de trafic ca
cele cu prioritate mai mare. n lucrarea lor, Druschel i Banga propun o arhitectur cu de procesare ntrziat care se
bazeaz pe demultiplexarea timpurie a pachetelor i procesarea cu prioritatea destinatarului. Ei susin c noua
arhitectur ar mbunti stabilitatea, justeea i capacitatea sistemelor n condiii de ncrcare mare n timp ce
performana nu ar avea de suferit n condiii normale. O noua clas de atacuri de band ngust exploateaz deficienele
structurilor de date n diferite aplicaii. Structurile de date folosite n mod uzual au un timp de rulare n cazul mediu
mult mai bun dect n cazul cel mai defavorabil.
Spre exemplu, att tabelele de dispersie ct i arborii binari degenereaz n liste nlnuite atunci cnd la
intrare se prezint date alese corespunztor. Folosind banda tipic a unui modem, autorii citai au adus un server Bro
n pragul colapsului; n ase minute de la nceputul atacului, serverul ignora 71% din trafic i consuma ntreaga putere
de calcul disponibil.
Avnd n vedere tendina global a pieelor de a se muta on-line, atacurile DOS se dovedesc mult mai
periculoase dect s-a prevzut la nceput ntruct acestea pot bloca victimele pe durate lungi de timp. De la momentul
la care a nceput atacul i pn cnd acesta este detectat i eliminat, victima este paralizat i nu poate rspunde la
cererile legitime. Pentru site-urile comerciale mari aceasta se traduce prin pierderi de ordinul miliardelor de dolari.
Dei atacurile DOS nu amenin datele n mod direct, nu avem nici un motiv s credem c un altfel de atac
nu ar putea uram cu exact acest scop. Aceste atacuri de urmare pot distruge date critice, cauznd astfel mai multe
daune dect atacul DOS n sine, ceea ce nu este de dorit.
Acest fel de atacuri n lan pot avea loc dac protocoalele continu dialogul cu atacatorul chiar i dup
detectarea unor anomalii n dialogul purtat ntre pri. Ideea de baz n spatele protocoalelor rezistente (numite
protocoale fail-stop sau fail-safe) este c schimbul de mesaje s nceteze cu orice client care nu urmeaz cursul firesc
al protocolului.
1.7.1.2
Acest atac este posibil datorit naturii protocolului UDP care nu este orientat pe conexiune. Din moment ce
nu este necesar nici un dialog n prealabil, un atacator poate trimite pachete ctre porturi aleatoare ale sistemului vizat.
Victima va aloca resurse pentru determinarea aplicaiilor care ascult porturile pe care sosesc date, iar cnd i d
seama c nici o aplicaie nu face acest lucru, va trimite ca rspuns un pachet ICMP. Dac numrul de pachete aleatoare
este suficient de mare, exist posibilitatea ca sistemul s aib probleme.
ICMP Flood
Acest atac const din trimiterea unui numr mare de pachete ICMP ctre victim. Aceasta nu poate ine pasul
cu volumul de informaie primit i poate observa o degradare a performanei.
E-mail bombing
E-mail bombing nseamn trimiterea unui numr mare de mesaje electronice ctre un server cu scopul de
a epuiza spaiul de pe disc i limea de band.
Cu excepia atacului UDP, restul se pot evita prin msuri luate la nivelul sistemului de operare. Atacul UDP
este dificil de contracarat ntruct exist o multitudine
de aplicaii care ascult la o multitudine de porturi. Filtrarea cu ajutorul firewall-urilor ar avea un impact
puternic asupra funcionalitii iar acest pre nu l vor plti foarte muli utilizatori.
1.7.1.3
Atacul prin pachete modificate este un alt fel de atac DOS rspndit. Scopul acestui tip de atac este exploatare
greelilor de proiectare a codului care prelucreaz pachete din diferite sisteme de operare. Efectele merg de la
degradarea performanei pn la cderea sistemului.
Aproximativ jumtate din totalul problemelor pe Internet au ca i cauz depirile de buffer. Acestea se
cunosc de mai bine de 40 de ani i cam din aceeai perioad dateaz i soluia. Limbajul Algol a introdus limitele
obligatorii la tablouri dar programatorii nc refuz s foloseasc instrumente mai bune. Acest lucru este comparabil
cu un fabricant de maini care nzestreaz mainile cu rezervor din hrtie cerat [DEWA01].
Principalele atacuri cu pachete modificate sunt:
Ping of Death
Acest atac const n trimiterea unui pachet ICMP mult mai mare dect pachetul maxim IP, i anume 64
KBytes. La destinaie, unele implementri nu pot decodifica pachetul, cauznd prbuirea sau reboot-ul sistemului.
Dou implementri binecunoscute care au acest comportament sunt Windows 95 i unele versiuni timpurii de
Windows NT.
Chargen
Acest atac este o variant a atacului de tip UDP Flood i folosete portul 19 (chargen) al unui sistem
intermediar folosit ca amplificator. Atacatorul trimite un pachet UDP fals ctre un sistem intermediar care la rndul
su rspunde cu un ir de caractere victimei, pe portul su echo. Victima trimite napoi un ecou al irului primit i
bucla creat consum rapid banda dintre victim i sistemul intermediar.
Teardrop
Datorit implementrii defectuoase, unele sisteme nu pot asambla fragmente de pachete care au deplasamente
eronate. n loc s ignore elegant aceste pachete, aceste implementri blocheaz sau reboot-eaz sistemul.
Land
Dei este greu de crezut, unele sisteme se blocheaz cnd primesc pachete avnd aceeai adresa ca surs i
destinaie.
WinNuke
Acest tip de atac este specific sistemelor de operare Windows. Atacatorul trimite date aleatoare la un port
anume, ceea ce cauzeaz blocarea sau reboot-ul sistemului.
O alt clasificare a atacurilor DOS este dup numrul de participani:
Atacuri uni-surs: un singur atacator are ca int o singur victim.
Atacuri multi-surs: mai multe gazde (numite zombie) particip fr s tie n rolul atacatorilor, fiind
compromise de capul operaiunii. Dei mai greu de pus n practic, acest tip de atac este i cel mai periculos i cel mai
greu de luptat mpotriva lui. Mai este cunoscut i sub numele de atac Distributed Denial of Service (DDOS).
[RAZM00] d un echivalent al atacului DOS n lumea real: Alice nu l place pe Bob i n consecin
telefoneaz mai multor companii de pizza, comandnd cte o pizza de la fiecare i cernd ca acestea s fie trimise la
domiciliul lui Bob la o or anume. Cnd timpul sosete, Bob este copleit de mulimea de distribuitori de pizza care
ajung la domiciliul su, fiecare pretinznd banii cuvenii. Simplu i eficient, acest atac poate s rmn cu autor
necunoscut dac Alice a sunat de la un telefon public (n esen ascunzndu-i identitatea).