Text Derulant

28 dec. 2010

Codul si etica hackerului.

38.Codul hackerului:

 Hackerii ca si comunitate se ghideaza dupa anumite legi, acesta e un cod pe care ei sunt obligati sa il respecte.


1.    Nu ataca niciodată, cu răutate, un sistem. Nu şterge şi nu modifica fişierele. Nu provoca prăbuşirea sau încetinirea unui sistem. Excepţie fac procedurile de accesare şi de ascundere a urmelor.

2.    Nu furniza niciodată şi nimănui numele tău real, numărul de telefon sau adresa. Mulţi dintre hackerii renumiţi, după ce au fost prinşi, i-au denunţat pe toţi cei pe care îi cunoşteau, pentru a li se mai îndulci pedepsele.

3.    Fereşte-te de computerele guvernului. O să descoperi foarte repede că încercarea de a pătrunde o instalaţie MilTac se află la graniţa imposibilului şi s-ar putea să fii arestat înainte de a spune “peşte”. “Fratele cel mare” are o grămadă de resurse disponibile şi tot timpul de care are nevoie, pentru a te vîna. Guvernul poate petrece ani întregi pentru a te urmări. Aşa că cel mai bine nu te arunca cu capul înainte într-o asemenea treabă. În cele din urmă îţi va părea rău.

4.    Sub nici o formă nu trebuie să foloseşti codurile de acasă. Este cea mai nesăbuită operaţiune. Folosirea abuzivă a codurilor a dus la prăbuşirea multor oameni, care la început păreau foarte inteligenţi şi promiteau mult. Cele mai multe coduride tip PBX/950/800s (Private Branch Exchange) posedă ANI (Automatic Number Identification – Număr automat de identificare). În cazul în care le foloseşti, vei fi prins fără nici o îndoială. Şi mai grav este să foloseşti o cartelă de apelare -“And calling cards are an even worse idea”.

5.    Nu-i incrimina pe alţii, indiferent de cît de mult îi urăşti. Generarea de dispute între oameni, este un lucru îngrozitor şi de cele mai multe ori nu rezolvă problemele.

6.    Fii atent la ce foloseşti. Nu lansa coduri în reţele deschise. Vor dispărea în cîteva zile şi îţi vei pierde noua comoară. Trebuie să ştii că folosirea unor numere de cărţi de credit este considerată o infracţiune gravă.

7.    Dacă, din anumite motive, chiar trebuie să foloseşti unele coduri, foloseşte-le pe cele proprii. Nu folosi coduri găsite pe INTERNET, pentru că sînt şanse foarte mari ca ele să fie puse special şi să fie monitorizate pentru a-i prinde pe fraieri.

8.    Eşti liber să pui cît mai multe întrebări, dar fă-o în aşa fel încît cel care îţi va răspunde să nu îşi de-a seama la ce îţi folosesc lămuririle respective. Oamenii nu sînt prea săritori cînd e vorba să împărtăşească şi altora cunoştinţe rare. Este necesar să înveţi din propria experienţă.

9.    Fii puţin paranoic. Foloseşte cît mai multe programe pentru a-ţi încripta fişierele, păstrează-ţi materialele scrise în locuri secrete.

10.    Dacă eşti prins, nu spune nimic autorităţilor. Refuză să vorbeşti şi cere să fii asistat de un avocat.

11.    Dacă Poliţia îţi bate la uşă şi îţi prezintă un mandat de percheziţie, cercetează-l cu atenţie, pentru că este dreptul tău. Află ce au voie şi ce nu au voie să facă pe baza acelui mandat, iar dacă au voie să facă ceva, împiedică-i.

12.    Dacă este posibil nu folosi propria linie telefonică, în timp ce penetrezi anumite sisteme. Piratează linia telefonică a vecinului sau foloseşte un telefon clonat sau orice altceva. Dacă stai prea mult timp în reţea, sînt mari şanse ca într-o zi să fii prins pe baza ANI. Să nu fii niciodată prea sigur că eşti invincibil, pentru că, indiferent dacă va dura ceva vreme, poţi fi detectat.

13.    Fă tot posibilul pentru ca operaţiunile de urmărire să devină foarte complicate şi costisitaore, pentru cei care se ocupă cu acest lucru. Pentru asta trebuie să foloseşti serviciile mai multor companii telefonice, să nu stai în reţea prea mult şi să alternezi orele şi datele.

14.    Nu păstra notiţe scrise. Pătrează toate informaţiile în computer, încriptate cu programe cît mai bune. Notiţele scrise pot fi folosite la tribunal de către acuzatori.

Etica Hackerilor:

In prefata cartii Hackerii: Eroilor Revoluţiei Computerelor se enunta  principiile generale sau principiile etice ale hackerilor:
-Partajarea - contribuie  la dezvoltarea de software liber şi deschis.Când Bill Gates  a scos versiunea de BASIC pentru Altair si  a fost împărţite în comunitatea hackerilor, Gates a pretins ca a pierdut o sumă considerabilă de bani, deoarece putini utilizatori plătit pentru software.
-Deschiderea - Principiul Hands-On este definit prin necesitatea accesului liber la informare deschisă şi împărtăşirea cunoştinţelor.Pentru un hacker adevărat, justificarea mijloaceleor pentru a face libera circulatia informatiilor, este ca astfel pot fi aduse îmbunătăţiri. Este important să reţineţi că acest principiu nu este rău intenţionat, el  nu  căuta să aducă atingere sistemelor sau utilizatorilor lor.
-Descentralizarea-Cel mai bun mod de a promova liberul schimb de informaţii este de a avea un sistem deschis.Hackerii cred că birocraţia, guvernarea corporativa sau universitara, sunt sisteme eronate.
-Accesul gratuit la computere- Accesul la computere ar trebui să fie nelimitat şi total
-Îmbunătăţirea lumii
-Toate informaţiile trebuie să fie libere.Un schimb liber de informaţii permite o creativitate tot mai mare si permite dezvoltarea.
-Hackerii ar trebui să fie judecaţi dupa activitatea lor, nu dupa criterii cum ar fi: grad, vârstă, rasă, sex, sau poziţie.Criteriile cum ar fi vârsta, sex, rasă, poziţie, calificare, vor fi considerate irelevante în cadrul comunităţii hackerilor si in calificarea hacker. Un criteriu final de acceptare in comunitate este activitatea depusa si aportul adus comunitatii.
Hackerii apreciaza profund tehnicile inovatoare, care permit programelor să îndeplinească sarcini complicate cu instrucţiuni puţine.
-Calculatoare iti pot schimba viata in bine.Hackerii cred că toată lumea si societatea ar putea beneficia de pe urma calculatoarelor,calculatoarele pot îmbunătăţii lumea si pot reuşi  transformarea viseleor in infinite posibilităţi si în realităţi. Principalul obiectiv al hackerilor a fost de a spune societatatii că lumea deschisă de calculatorare este fără limite.
Conceptul de comunitate şi colaborare este valabil şi în prezent, deşi hackerii nu mai sunt limitati la colaborare în regiuni geografice. Acum colaborarea are loc prin intermediul internetului. Eric S. Raymond identifică şi explică această schimbare de concept în ,,Catedrala şi Bazarul". Raymond, de asemenea, observă că succesul  Linux-ului a coincis cu o largă disponibilitate a World Wide Web . Valoarea de comunitate este încă o practică si e folosita si astazi.

Cum să devii un hacker?

37.Cum să devii un hacker?
 

Zilele acestea ,in timp ce ma documentam despre hackeri, am gasit un text care dupa parerea mea merita citit, cu toate ca e scris cu foate mult timp in urma. M-am gandit sa-l postez aici fiindca mie mi sa parut interesant, raspunde unor intrebari pe care multi si le pun si este inca este destul de actual. Este scris de Eric Steven Raymond in 2001 si a suferit in timp unele modificari si adaugiri, dar cu toate acestea ramane actual.

Cine este Eric Steven Raymond? Este un programator , autor software si avocat open source. Suferind de paralizie cerebrala congenitala, aceasta boala l-a facut sa-si alunge din calcule viitorul. Implicarea sa in cultura hackerilor a început în 1976, şi a contribuit la primul său proiect de software open source, la sfârşitul anilor 1980. Numele lui a devenit cunoscut în cultura hackerilor , când a luat nastere "
The Jargon File
"se gaseste  la aceasta adresa:http://catb.org/~esr/jargon/), în 1990. După publicarea din 1997 " Catedrala şi Bazarul ", Raymond a devenit, pentru un număr de ani, un purtator de cuvant neoficial al mişcării open source .Raymond este autorul unui număr de documente şi întrebări frecvente , multe dintre ele sunt incluse în Linux Documentation Project. In2003 in cartea de  programare ,,The Art of Unix",  se referă la istoria şi cultura Unix,  folosirea instrumentelor moderne disponibile pentru  programare şi  îndeplinirea sarcinilor în Unix. Raymond a fost, de asemenea, editor al dicţionarului de jargon in 1990. A fost autorul documentului-ghid inclus pentru NetHack in mai multe versiuni.Raymond are un interes puternic în science-fiction şi o centura neagră în Tae Kwon Do.In iunie 2009 Raymond a participat la înfiinţarea site-ului hacktivist  NedaNet.
 

,,Cum pot să învăţ să fiu un hacker?".
 

În 1996 am observat că nu există nici un fel de document care să raspundă la această întrebare, asa ca am scri randurile de mai jos.
Dacă vrei să şti cum să devii un hacker doar două definiţii sunt relevante. Există o comunitate, o cultură, formată din programatori experti şi magicieni în ceea ce priveşte reţelele care îşi are originea în primele experimente ARPAnet. Membrii acestei culturi au creat termenul de hacker. Hackerii au construit Internetul
Hackerii menţin World Wide Web funcţional. Dacă faci parte din această cultură, dacă ai contribuit şi ceilalţi ştiu cine eşti şi te numesc hacker, atunci eşti un hacker. Conceptul de hacker nu este limitat doar la tehnică. Există oameni care aplică atitudinea unui hacker şi în alte domenii cum ar fi electronica şi muzica. Termenul poate fi asociat celui mai înalt nivel din orice ştiinţă sau artă. Hackerii programatori recunosc aceste spirite înzestrate şi în alte persoane. Unele persoane spun că atitudinea unui hacker este independentă de domeniu. În continuarea acestui document o să mă concentrez pe deprinderile şi atitudinea unui hacker programator, şi pe tradiţia celor care au impus denumirea de hacker.
Mai există un grup de oameni care se autodeclară hackeri, dar care nu sunt. Aceşti oameni ( în special adolescenţi ) nu fac altceva decât să atace calculatoare pe internet şi să folosească ilegal sistemul informatic. Hackerii adevăraţi numesc aceste persoane crackeri şi nu vor să aibă nici o legătură cu ei. Majoritatea hackerilor adevaraţi cred că crackerii sunt leneşi, iresponsabili, şi nu foarte inteligenţi, şi simplu fapt de a fi capabil să intri în anumite calculatoare nu te face să fi hacker la fel cum a fi capabil să porneşti o maşină fară chei nu te face un inginer auto. Din nefericire, mulţi jurnalişti şi scriitori au fost păcăliţi să folosească cuvântul hacker pentru a descrie crackeri; acest lucru îi irită pe hackerii adevăraţi.
Diferenţa esenţială dintre un hacker şi un cracker este următoarea : hackerii construiesc lucruri pe când crackerii nu fac altceva decât să distrugă.
Dacă vrei să devii un hacker continuă să citeşti. Dacă tot ce vrei e să fi un cracker atunci citeşte grupul de ştiri alt.2600 şi pregăteşte-te să faci cinci sau zece ani de închisoare după ce descoperi că nu eşti aşa inteligent cum crezi. Şi asta e tot ce voi spune despre crackeri.
 

Atitudinea unui Hacker
 

Hackerii rezolva probleme şi construiesc, ei cred în libertate şi ajutorul reciproc dezinteresat. Pentru a fi acceptat ca un hacker, trebuie să te comporţi ca şi cum ai avea această atitudine. Şi pentru a te comporta astfel trebuie să crezi cu adevărat în aceste valori.
Dar dacă te gândeşti să imiţi atitudinea de hacker doar pentru a fi acceptat în comunitate atunci ai inţeles greşit. E foarte important să devii tipul de persoană care crede că aceste lucruri sunt importante pentru că te ajută să înveţi şi să rămâi motivat. Ca toate celelalte arte care presupun creativitate, cel mai eficient mod de a deveni un maestru este imitarea acţiunilor unui maestru, nu doar intelectual ci şi emoţional.
 

Sau, aşa cum afirmă acest poem Zen modern :
Pentru a urma calea:
priveşte maestrul,
urmează maestrul,
mergi împreună cu maestrul,
priveşte prin ochii maestrului,
fi tu maestrul.

Deci, pentru a deveni un hacker repetă următoarele lucruri până când reuşeşti să crezi în ele:
 

1. Lumea este plină de probleme fascinante care aşteaptă să fie rezolvate.
A fi un hacker e foarte amuzant, un gen de amuzament care are nevoie de foarte mult efort. Efortul necesită motivaţie. Atleţii de succes îşi menţim motivaţia din dorinţa de a-şi împinge trupul către obiective din ce în ce mai ridicate. Asemănător, pentru a fi un hacker trebuie să te simţi motivat să rezolvi probleme, să îţi îmbunătăţeşti aptitudinile, şi să îţi exerciţi inteligenţa.
Dacă nu eşti genul de persoană care simte aceste lucruri natural
, va trebui să devii o astfel de persoană pentru a deveni un hacker. Altfel, o să descoperi că energia pentru hacking e folosită în altfel de distracţii precum sex, bani şi aprobare socială.
( Trebuie să îţi dezvolţi şi o încredere în propria capacitate de a învăţa lucruri noi, încrederea în faptul că chiar dacă nu şti tot ce e necesar pentru a rezolva o problema, dacă reuşeşti să întelegi o parte din ea şi să înveţi în continuare din acest punct vei şti suficient pentru a rezolva urmatoarea parte şi tot aşa, până când termini. )
2. Nici o problemă nu ar trebui rezolvată de două ori.
Creierele creative sunt o resursă limitată. Nu ar trebui să fie irosite reinventând roata mai ales ştiind că sunt atâtea probleme interesante care aşteaptă să fie rezolvate.
Pentru a te comporta ca un hacker, trebuie să înţelegi că timpul
celorlalţi este la fel de important ca şi al tău, astfel încat este o datorie morală să împarţi informaţiile, să rezolvi probleme a căror soluţie să o faci disponibilă oricui pentru ca ceilalţi hackeri să rezolve noi probleme şi să nu fie nevoiţi să rezolve probleme deja rezolvate.
Atenţie pentru că "Nici o problemă nu ar trebui rezolvată de două ori" nu implică faptul că toate solutiile existente trebuie să fie considerate permanente, sau că există o singură soluţie pentru o anumită problemă. Des învăţăm mult despre o problema pe care nu am ştiut să o rezolvăm studiind o primă rezolvare. Este bine, şi de multe ori chiar necesar, să decidem că putem să rezolvam problema mai bine. Nu sunt benefice barierele artificiale impuse tehnic, legal sau instituţional ( programe cu sursă închisă ) care împiedică refolosirea unei soluţii bune şi fortează oamenii să reinventeze roata.
(Nu trebuie să crezi ca eşti obligat să dai toată munca ta creativă, deşi hackerii care fac acest lucru sunt mai respectaţi. E compatibil cu valorile hackerilor să vinzi destul astfel încât să ai ce mânca, platii chiria şi cumpăra calculatoare. Este acceptat să îţi foloseţti deprinderile de hacker pentru a te îmbogatii, atâta timp cât nu uiţi de ceilalţi hackeri şi de valorile de care discutam aici.)
3. Evită plictiseala şi munca neinteresantă.
Hackerii ( şi persoanele creative în general ) nu ar trebui să fie niciodată plictisiţi sau să facă o muncă repetitivă şi neinteresantă, pentru că atunci când acest lucru se întâmplă nu mai pot să rezolve probleme noi şi interesante. Pierderea este dureroasă pentru toţi. Evită plictiseala şi orice formă de muncă neinteresantă.
Pentru a te comporta ca un hacker trebuie să crezi în acest lucru suficient de mult încât să încerci să automatizezi orice fel de muncă plictisitoare, nu doar pentru tine ci şi pentru ceilalţi ( în special alţi hackeri ).
(Nu există nici o excepţie la acest lucru. Hackerii vor face câteodată lucruri care par repetitive şi plictisitoare unui observator ca un exerciţiu de limpezire a gândurilor, sau pentru a forma o nouă deprindere sau pentru o anumită experienţă care nu poate fi încercată altfel. Dar aceasta este o alegere, nimeni care e capabil să gândească nu ar trebui să fie forţat să facă o muncă plictisitoare.)
4. Libertatea este bună.
Hackerii sunt natural independenţi, nesupuşi autorităţilor. Oricine poate să îţi dea ordine poate să te oprească să rezolvi o problemă de care eşti fascinat, şi sigur va găsi un motiv stupid pentru aceasta. Aşa că atitudinea autoritară trebuie să fie respinsă în orice situaţie.
(Dar asta nu înseamnă că trebuie să luptăm împotriva tuturor autorităţilor. Copii trebuie să fie ghidaţi şi criminalii închişi. Un hacker poate să accepte o anumită autoritate pentru a obţine ceva, care este mai valoros decât timpul pe care îl pierde urmând ordinele. Dar aceasta este o situaţie rar întâlnită şi acceptată conştient.)
Autorităţile se dezvoltă bazându-se pe secrete şi cenzură. Acestea împiedică schimbul liber şi voluntar de informaţie, autorităţile preferă cooperarea pe care o pot controla
. Deci pentru a te comporta ca un hacker trebuie să îţi dezvolţi o repulsie instinctivă faţă de cenzură, secrete şi uzul forţei. Trebuie să ai puterea să acţionezi conform acestei credinţe.
5. Atitudinea nu substituie competenţele.
Pentru a fi un hacker trebuie să îţi dezvolţi această atitudine. Dar copierea unei atitudini nu te va face un hacker, aşa cum nu te va face un atlet sau o vedetă. Pentru a devenii un hacker ai nevoie de inteligenţă, practică, dedicare, şi multă muncă.
Trebuie să înveţi să nu ai încredere în atitudine şi să respecţi competenţa de orice fel. Priceperea la lucruri dificile, pe care puţini le pot înţelege, care necesită concentrare şi atenţie, este cu atât mai mult apreciată.
Dacă respecţi competenţa, o să îţi placă să o dezvolţi în tine şi munca dificilă va devenii un joc intens. Atitudinea este vitală pentru a devenii un hacker.
 

Cunoştinţe esenţiale:
 

Atitudinea este foarte importantă dar cunoştinţele sunt şi mai importante. Atitudinea nu substituie cunoştinţele, şi există un set de deprinderi pe care trebuie să le ai înainte ca cineva să se gândească să te numească hacker.
Acest set de deprinderi se schimbă lent pe masură ce trece timpul şi tehnologia creează cunoştinţe noi şi le face pe cele vechi insuficiente. De exemplu iniţial includea necesitatea de a şti să programezi în limbaj de asamblare, şi doar recent a fost introdus şi HTML. Dar acum include următoarele deprinderi :
1. Învată să programezi.
Acest lucru este esenţial. Daca nu şti să programezi în nici un limbaj îţi recomand să începi cu Python. E foarte bine gândit, bine documentat, şi destul de blând cu începătorii. Lăsând la o parte faptul că e un limbaj bun pentru începători, Python nu este o jucărie, este un limbaj foarte puternic şi flexibil şi care se pretează a fi folosit la proiecte mari.Nişte tutoriale foarte bune sunt disponibile pe pagina web www.python.org
Java este un alt limbaj bun pentru a învăţa să programezi în el. Este ceva mai dificil decât Python dar produce un cod mai rapid. Este un limbaj care e foarte bine să fie ştiut. Din nefericire însă implementarea oficială Sun este încă proprietară. Aceasta nu este o prea mare problemă în ceea ce priveşte limbajul în sine pentru că există alternative open-source de foarte bună calitate; problema reală este dată de bibliotecile de funcţii care sunt disponibile împreună cu limbajul. Implementările open-source sunt încă în spatele celor oficiale oferite de Sun. Aşa că dacă vrei să înveţi Java foloseşte o implementare open-source pentru a evita să devii dependent de codul proprietate Sun.
Dar trebuie să fi conştient că nu o să ajungi un hacker, nici măcar un programator dacă şti unul sau două limbaje de programare, trebuie să inveţi să gândeşti problemele de programare la modul general, independent de limbaj. Pentru a fi un hacker adevărat trebuie să ajungi până în punctul în care să reuşeşti să înveţi un limbaj nou în câteva zile făcând asociaţii cu ceea ce şti deja. Asta înseamnă că trebuie să şti mai multe limbaje diferite.
După ce depăşeşti faza iniţială şi o să incepi să înţelegi principalele concepte trebuie să înveţi C, limbajul pe baza căruia a fost construit Unix. C++ are foarte multe elemente comune cu C, dacă şti unul va fi uşor să îl înveţi pe celălalt. Nici C, nici C++ nu sunt genul de limbaje pe care să le înveţi prima data. O să observi că o să fi mult mai productiv in alte limbaje decât în C.
C-ul este foarte eficient , şi econom cu resursele calculatorului. Din nefericire C-ul are aceasta eficienţă deoarece managementul memoriei şi a resurselor este lăsat în seama programatorului. Tot codul acesta este complex şi predispus la probleme ( bug-uri ) şi va consuma foarte mult timp. Tinând cont de cât de rapide sunt calculatoarele de astăzi este mai bine să foloseşti un limbaj care să economisească timpul programatorului şi nu pe cel al calculatorului ( ex:Python ).
Alte limbaje de importanţă deosebită pentru un hacker sunt Perl şi LISP. Perl merită învăţat în special din motive practice; este folosit foarte frecvent pentru pagini de web dinamice şi pentru administrarea sistemului, astfel încât chiar dacă nu o scri programe în Perl tot trebuie să şti să înţelegi o sursă. Mulţi oameni utilizează Perl aşa cum sugerez eu să fie folosit Python, pentru a evita programarea în C atunci cand nu e nevoie de eficienţă. Va trebui să fi capabil să înţelegi aceste programe.
LISP merită învăţat pentru sentimentul de mulţumire pe care îl ai atunci cand reuşeşti să-l înţelegi. Această experienţă te va face un programator mai bun pentru tot restul vieţii, chiar dacă nu o să foloseşti LISP pentru a scrie programe. ( Poţi să capeţi nişte experienţă în LISP uşor scriind şi modificând moduri de editare pentru Emacs, sau Script-Fu plugins pentru GIMP. )
Cel mai bine e să le înveţi pe toate cinci : Pyhton, C/C++, Java, Perl si LISP. În afara faptului că sunt cele mai importante limbaje pentru hacking sunt şi ipostaze ale diferitelor paradigme de programare, şi fiecare te va educa în diferite moduri.
Nu pot să dau instrucţiuni complete despre cum să înveţi să programezi, e o muncă dificilă. Dar pot să îţi spun că nu te vor ajuta foarte mult carţile şi cursurile ( mulţi, poate cei mai mulţi hackeri sunt autodidacţi ). Pot să înveţi despre un limbaj din carţi, dar modul de gândire care transformă acele cunoştiinţe într-o deprindere pot fi învăţate numai prin exerciţiu şi programare. Ceea ce trebuie să faci e să (a) citeşti programe şi să scri programe.
Peter Norving care este unul dintre cei mai buni hackeri de la Google şi coautor al unor excelente cărţi despre inteligenţă artificială, a scris un eseu excelent numit Teach Yourself Programming in Ten Years. Reţeta lui pentru succes în programare merită toată atenţia.
A învăţa să programezi e ca şi cum ai învăţa o nouă limbă. Cea mai bună modalitate e să citeşti câteva texte scrise de experţi în domeniu, să scrii nişte chestii singur, să citeşti mai mult, să mai scri, să citeşti, să scri .... şi să repeţi până când dezvolţi în scris genul de putere şi economie pe care o vezi în modelele tale.
Găsirea unor programe bune pentru analizat era o chestie dificilă, pentru că erau puţine disponibile sub formă de cod sursă pe care puteau experimenta hackerii. Acest lucru s-a schimbat dramatic; programe cu sursă deschisă ( open-source ), unelte pentru programare şi sisteme de operare ( toate construite de hackeri ) sunt acum disponibile pentru oricine. Ceea ce ne apropie de următorul subiect .....
2. Instalează şi foloseşte un sistem de operare din familia Unix.
O să presupun că ai un calculator personal sau ai acces la unul. ( Gândeşte-te un moment ce înseamnă asta. Cultura hackerilor a apărut în timpul în care calculatoarele erau aşa de scumpe încât nici o persoană fizică nu îşi permitea să îşi cumpere. ). Unul dintre cei mai importanţi paşi pe care un începător îl poate face pentru a începe să dobândească deprinderi de hacker este să facă rost de o copie de Linux sau BSD, să-l instaleze pe calculatorul personal şi să înveţe să-l folosească.
Da, mai sunt şi alte sisteme de operare în lume în afară de Unix. Dar sunt distribuite sub formă binară, nu poţi citi codul, nu-l poţi modifica. A încearca să înveţi hacking pe un calculator cu Microsoft Windows sau orice alt sistem de operare cu surse închise e ca şi cum ai încerca să dansezi îmbrăcat în gips.
Sub Mac OS X este posibil, dar numai o parte din sistemul de operare are şi surse, e posibil să te loveşti de multe ziduri, şi trebuie să fi atent să nu dezvolţi prostul obicei de a depinde de codul proprietate Apple. Dacă te concentrezi pe Unix poţi învăţa foarte multe lucruri.
Unix este sistemul de operare al internetului. Deşi poţi să înveţi să foloseşti internetul fără să şti Unix, nu poţi să fi un hacker fără să înţelegi Unix. Din acest motiv, cultura hackerilor este strâns legată de Unix. ( Acest lucru nu a fost întotdeauna adevărat, şi câţiva hackeri nu sunt prea bucuroşi, dar simbioza între Unix şi internet este suficient de puternică încât nici Microsoft nu poate să intervină.)
Aşa că instalează un sistem din familia Unix ( Şi mie îmi place Linux dar mai există şi alte căi ( şi da, poţi să ai şi Linux şi Windows pe acelaşi calculator )). Invaţă să-l folosesti. Experimentează cu el. Navighează pe internet cu el. Citeşte codul. Modifică codul. O să ai la dispoziţie unelte pentru programare : C, LISP, Python şi Perl, mai mult decât pe orice sistem Microsoft, o să înveţi mult mai repede decât îţi dai seama.
Pentru mai multe informaţii în legătură cu Unix vezi The Loginataka. Aruncă o privire şi pe The Art Of Unix Programming.
Pentru a obţine o copie Linux, vizitează Linux Online!; poţi să descarci de acolo sau ( o idee mai bună ) gaseşte un grup local de utilizatori Linux care să te ajute cu instalarea. Din perspectiva unui nou utilizator toate distribuţiile Linux sunt identice.
Poţi să gasesti informaţii şi resurse despre BSD Unix la www.bsd.org.
Am scris o scurtă introducere la adresa Basics of Unix and the Internet
(Notă : Nu recomand instalarea unui sistem Linux sau BSD singur, mai ales dacă eşti un începător. Pentru Linux găseşte un grup de utilizatori şi cere ajutor.)
3. Învaţă să foloseşti internetul şi HTML.
Cele mai multe lucruri pe care cultura hackerilor le-a produs nu s-au bucurat de atenţie publică, fiind folosite în fabrici şi universităţi fără nici un impact direct asupra omenilor în general. Internetul este marea excepţie, marea şi strălucitoarea jucărie realizată de hackeri care a schimbat lumea. Din acest motiv ( şi multe altele ) trebuie să înveţi să şti să lucrezi pe internet.
Asta nu înseamnă doar să şti să foloseşti un browser ( oricine poate să facă asta ), trebuie să înveţi să scri HTML - limbajul Web-ului. Dacă nu şti să programezi învăţând HTML o să îţi fie mai uşor să înveţi apoi un limbaj de programare. Aşa că trebuie să îţi faci o pagină pe web. Încearcă să foloseşti standardul XHTML, care e mai aranjat decât clasicul HTML. ( Se găsesc uşor tutoriale pe Internet)
Dar simplu fapt de a avea o pagina e doar începutul lungului drum spre a devenii un hacker. Internetul e plin de astfel de pagini. Majoritatea au un conţinut inutil ( vezi The HTML Hell Page ).
Ca să merite, pagina ta va trebui să aibă conţinut, să fie interesantă/folositoare altor hackeri. Şi asta ne aduce la urmatorul subiect ....
4. Dacă nu ştii engleză la un nivel acceptabil, învaţă.
Ca american şi vorbitor nativ de limbă engleză am ezitat să sugerez acest lucru, l-am perceput ca o formă de imperialism cultural. Dar câţiva vorbitori nativi de altă limbă decât engleza m-au împins să declar că engleza este limba comunităţii hackerilor şi că trebuie să o şti pentru a te integra.
În jurul anului 1991 am învăţat că mulţi hackeri care stiau engleza o foloseau în special în discuţiile tehnice
; mi s-a spus că engleza are un vocabular tehnic mult mai bogat decât orice altă limba şi deci este un instrument mai bun pentru astfel de discuţii. Din motive similare traducerile cărţilor tehnice din engleză sunt deseori nesatisfăcătoare.
Linus Torvalds comentează tot codul pe care îl scrie în engleză ( aparent nici nu şi-a pus vreodată problema dacă ar trebui să facă altfel ). Engleza lui fluentă a fost un factor important în abilitatea sa de a recruta o comunitate globală de dezvoltatori Linux. Este un exemplu bun de urmat.
Fiind un vorbitor nativ de engleză nu garantează că ştii suficient de mult pentru a fi un hacker. Dacă scrisul este plin de dezacorduri şi de greşeli, mulţi hackeri ( inclusiv eu ) vor avea tendinţa să te ignore. Deşi scrisul dezordonat nu înseamnă neapărat şi o gândire dezordonată am observat că există totuşi o corelaţie destul de puternică. Daca nu şti să scri bine, învaţă.

Statutul în comunitatea hackerilor
 

Ca şi celelalte culturi care nu se bazează pe economie, cultura hackerilor se bazează pe reputaţie. Tu încerci să rezolvi probleme interesante, dar cât de interesante sunt, şi cât de bune sunt soluţiile tale rămâne să decidă ceilalţi.
Atunci când faci parte din jocul hackerilor scorul tău e dat în special de ceea ce gândesc ceilalţi ( din acest motiv nu te poţi numi hacker până în momentul când ceilalţi nu te numesc astfel ). Acest fapt este mascat de imaginea hackingului văzut ca o activitate solitară; şi de un tabu din cultura hackerilor ( care a început să dispară din 1990 dar care este încă puternic ) împotriva admiterii faptului că aprobarea celorlalti are un rol în motivaţie.
Cultura hackerilor este ceea ce antropologii numesc o cultură a darului. Obţii reputaţie şi eşti respectat, nu fiind frumos, nu având lucruri pe care alţi oameni le vor, ci oferind : timp, creativitate, şi rezultatul muncii tale.






Sunt cinci lucruri pe care le poţi face pentru a fi respectat de ceilalţi hackeri :
 

1. Scrie programe cu surse deschise ( open-source )
Primul lucru ( central şi tradiţional ) pe care îl poţi face e să scrii programe pe care ceilalţi hackeri să le considere distractive şi utile, şi să oferi codul sursă al acestor programe astfel încât toţi să îl poată folosi.
(Iniţial au fost numite gratis ( free ) dar termenul a introdus confuzie pentru că nu se ştia exact ce înseamnă gratis. Cei mai mulţi folosesc astăzi termenul de open-source).
Cei mai respectaţi în cultura hackerilor sunt cei care au scris programe mari şi capabile, care au satisfăcut o nevoie generală şi care au fost oferite gratis împreună cu sursele complete astfel încât oricine să le poată folosi şi învăţa din ele.
Dar lucrurile nu au fost mereu aşa. Deşi hackerii au privit dezvoltatorii open-source cu multă admiraţie ca un element esenţial al culturii, înainte de 1990 majoritatea hackerilor scriau programe cu sursele închise. Această atitudine era încă activă în 1996 când am scris prima versiune a acestui document; lucrurile s-au schimbat începând cu anul 1997. Astăzi comunitatea hackerilor şi comunitatea dezvoltatorilor open-source sunt două denumiri care descriu acelaşi lucru dar e bine să ştim că lucrurile nu au fost mereu aşa.
 

2. Ajută la testarea şi îmbunătăţirea programelor open-source
Şi cei care găsesc erorile din programele open-source sunt foarte respectaţi. În această lume imperfectă, inevitabil ajungem să ne petrecem cel mai mult timp de dezvoltare
a programelor căutând erori. Din acest motiv orice dezvoltator open-source care gândeşte îţi va spune că nişte testeri buni ( care ştiu cum să descrie simptomele clar, să localizeze problemele, să ignore micile probleme din primele apariţii, şi care pot să aplice nişte funcţii de diagnosticare ) sunt foarte valoroşi. Chiar şi unul singur poate să facă diferenţa între o căutare de erori care este stresantă şi una foarte uşoară.
Daca eşti un începător, încearcă să găseşti un program care este în dezvoltare şi de care eşti interesat şi fi un bun tester. Are loc un avans natural de la a ajuta la testarea programelor, la a ajuta la eliminarea erorilor şi a ajuta la scrierea lor. O să înveţi foarte mult astfel şi o să ai o relaţie bună cu oameni care te vor ajuta mai târziu.
 

3. Publică informaţii utile
Un alt lucru bun e să colectezi şi să filtrezi informaţii utile şi interesante în pagini web sau documente cu răspunsuri la întrebări frecvente ( FAQ - Frequently Asked Questions ) pe care să le faci disponibile tuturor.
Menţinătorii celor mai importante liste de întrebări frecvente primesc la fel de mult respect ca şi dezvoltatorii open-source.
 

4. Ajută la menţinerea infrastructurii funcţionale
Cultura hackerilor ( şi a inginerilor care au dezvoltat internetul ) se bazează pe voluntariat. E foarte multă muncă necesară care trebuie făcută pentru a menţine lucrurile funcţionale : administrare liste de mail, moderare grupuri de ştiri, menţinerea unor arhive mari de soft , dezvoltarea de RFC-uri şi alte standarde tehnice.
Oamenii care fac aceste lucruri sunt foarte respectaţi pentru că toată lumea ştie că aceste munci sunt mari devoratoare de timp şi nu sunt atât de distractive ca programarea. Făcând aceste lucruri persoanele respective îşi arată loialitatea.
 

5. Ajută comunitatea hackerilor
În final, poţi să ajuţi la propagarea culturii hackerilor în sine ( prin de exemplu scrierea unui eseu despre cum să devii un hacker :-)). Nu vei putea să faci acest lucru decât dacă vei fi cunoscut de cât mai mulţi oameni pentru unul din primele patru lucruri.
Comunitatea hackerilor nu are lideri, dar are eroi, "bătrâni", istorici şi purtători de cuvânt. Când ai fost implicat mai mult timp în comunitate se poate să ajungi ceva de genul ăsta. Atenţie: hackerii nu au încredere în ego-ul zgomotos al "bătrânilor" aşa că poate fi periculos să ai o astfel de faimă. Nu trebuie să încerci din toate puterile să te ridici la un astfel de nivel, trebuie să te poziţionezi de aşa natură încât să îţi cadă în braţe şi atunci să fi modest.






Legătura Hacker/Tocilar(nerd)
 

Termenul nerd din engleză nu are o traducere exactă în română. În limba engleză termenul este mult mai nuanţat decât definiţia acceptata în limba română. O astfel de persoană nu poate fi numită pur şi simplu tocilar. Pentru mai multe informaţii vedeţi pagina http://eu.wikipedia.org/wiki/Nerd. În continuare în text o să folosesc termenul din română, tocilar, dar cu sensul mult mai nuanţat şi apropiat de cel real. O discuţie pe această temă poate fi lungă - şi într-o oarecare măsură asemănătoare cu cea despre cum să devii un hacker.
Contrar miturilor, nu trebuie să fi un tocilar ca să fi un hacker. Ajută, şi întradevăr majoritatea hackerilor sunt tocilari. Fiind mai puţin sociabil te ajută să rămâi concentrat asupra lucrurilor cu adevărat importante, precum gândirea şi hackingul.
Din acest motiv, mulţi hackeri au adoptat termenul de nerd(tocilar) şi chiar şi termenul mai dur geek ca o modalitate de a-şi declara independenţa faţă de aşteptările societăţii.
Dacă reuşeşti să te concetrezi pe hacking suficient astfel încât să fi bun şi să ai şi o viaţă socială, totul e înregulă. Astăzi e mult mai uşor să faci asta decât era în 1970 când eram un începător; societatea este mult mai prietenoasă cu astfel de persoane azi. Există un număr în creştere de persoane care realizează că hackerii sunt şi nişte persoane foarte sensibile şi iubitoare.
Dacă eşti atras de hacking pentru că nu ai o viaţă socială şi asta e ok, cel puţin nu o să ai probleme să te concentrezi. Poate o să ai o viaţă mai târziu.
 

Puncte pentru stil
 

-Pentru a fi un hacker trebuie să îţi formezi un mod de gândire specific. Sunt anumite lucruri pe care le poţi face atunci când nu eşti la un calculator care par să ajute. Nu există un substituient pentru hacking ( nimic nu e ) dar mulţi hackeri apelează la astfel de activităţi şi se simt conectaţi într-un anumit fel cu hackingul.
-Învaţă bine limba materna. Deşi există un stereotip că programatorii nu pot scrie, un număr surprinzător de hackeri ( inclusiv unii dintre cei mai împliniţi pe care îi cunosc ) sunt foarte buni scriitori.
-Citeşte cărti ştiinţifico-fantastice. Mergi la întâlnirile pe teme ştiinţifico-fantastice( sunt un loc bun unde poţi întâlni alţi hackeri )
-Învaţă o formă de arte marţiale. Genul de disciplină mentală necesară pentru arte martiale este similară cu ceea ce fac hackerii. Cele mai populare forme între hackeri sunt Tae Kwon Do, diferite forme de Karate, Wing Chun, Aikido, sau Ju Jitsu. Cele mai populare sunt cele care pun accentul pe disciplina mentală, relaxare conştientă, şi control în defavoarea rezistenţei şi puterii fizice.
-Studiază o disciplină de meditaţie. Cea mai practicată în acest moment este Zen ( important, poate fi practicată fără necesitatea de a crede într-o noua religie sau renunţarea la cea pe care o ai deja ). Şi altele pot funcţiona dar trebuie să fi atent să nu începi să crezi chestii aiurea.
-Dezvoltă-ţi simţul muzical. Învaţă să apreciezi diferite genuri de muzica. Învaţă să cânţi la un instrument muzical, sau doar să cânţi.
-Apreciază jocurile de cuvinte.
 

Cu cât mai multe lucruri din cele enumerate faci deja, este mai probabil să fi un hacker natural. De ce aceste lucruri nu se poate explica, dar sunt conectate cu o serie de caracteristici ale emisferei drepte şi emisferei stângi care sunt importante; hackerii trebuie să fie capabili să gândească logic dar şi să poată să depăşească tiparele.
Munceşte la fel de intens cum te joci, joacă-te la fel de intens precum munceşti. Pentru hackerii adevăraţi graniţele dintre "joc", "muncă", "ştiinţă" şi "artă" par să dispară şi să se uneasca într-un singur concept. Deasemenea nu trebuie să fi mulţumit cu un anumit set de cunoştinţe. Deşi majoritatea hackerilor se recomandă ca programatori, este foarte probabil să fie competenţi şi în alte domenii : administrare de sistem, web design, şi depanatori de componente. Un hacker care este administrator de sistem este probabil să fie foarte bun la programarea în limbaje de script şi web design. Hackerii nu fac lucrurile pe jumătate : dacă învaţă ceva nou au tendinta să devină foarte buni.


În final, câteva lucrurile care nu trebuie făcute:
 

-Nu folosi un nick sau un ID grandios sau prostesc.
-Nu participa la jigniri( flame wars ) pe Internet ( sau oriunde altundeva ).
-Nu te autointitula un vandal electronic( cyberpunk ) şi nu băga pe nimeni în seamă care se denumeşte astfel.
-Nu pune mesaje sau trimite mail-uri care sunt pline de erori - Nu vei primi decât mustrări pentru orice fel de astfel de abatere. Hackerii au memorie lungă, poate dura ani de zile pentru a fi acceptat.
-Problema cu nick-urile merită să fie abordată mai pe larg. Ascunderea identitatii în spatele unui nume fals este o atitudine copilărească specifică crackerilor, warez d00dz, şi altor forme de viaţă inferioare. Hackerii nu fac asta; sunt mândrii de ceea ce fac şi vor ca acţiunilor lor să fie asociate cu numele lor real. Aşa că dacă ai un astfel de nick, renunţă la el. În cultura hackerilor nu va face altceva decât să te marcheze ca un ratat.
 

Alte resurse
 

Paul Graham a scris un eseu numit Great Hackers, şi încă unul numit Undergraduation, în care se gaseşte multă înţelepciune.
Peter Seebach menţine un excelent Hacker FAQ pentru manageri/angajatori care nu ştiu cum să trateze un hacker.
Există un document numit How To Be A Programmer care este o excelentă continuare la acesta. Conţine sfaturi valoroase nu numai despre programare, dar şi despre cum să te comporţi într-o echipă de programatori.
Am scris şi A Brief History Of Hackerdom.
Am scris un articol, The Cathedral and the Bazaar, care explică cum funcţionează comunitatea Linux şi comunitatea open-source. Am abordat subiectul şi mai serios în cotinuarea numită Homesteading the Noosphere.
Rick Moen a scris un document excelent despre how to run a Linux user group.
Rick Moen şi cu mine am colaborat la un alt articol numit How To Ask Smart Questions( Cum să pui întrebări inteligente ). Acesta te va ajuta să cauţi ajutor într-un fel în care e destul de probabil să-l primeşti.
Dacă ai nevoie de informaţii despre cum merg calculatoarele personale, Unix şi internetul citeşte The Unix and Internet Fundamentals HOWTO.
Atunci când publici programe sau scri patch-uri pentru programe încearcă să urmezi regulile din Software Release Practice HOWTO.
Dacă ţi-a plăcut poemul Zen sigur o să-ţi placă şi Rootless Root: The Unix Koans of Master Foo.  



Cum ştiu dacă sunt deja un hacker?
 

Pune-ţi următoarele întrebări:
Vorbeşti cod fluent?
Te identifici cu scopul şi valorile comunităţii hackerilor ?
Ai fost numit hacker de către un membru recunoscut al comunităţii?
Dacă poţi răspunde da la toate cele trei întrebări atunci eşti deja un hacker. Două nu sunt suficiente.
Primul test vizează cunoştinţele. Probabil că ai răspuns da dacă ai minimul descris mai sus. Treci fără probleme dacă ai scris o cantitate apreciabilă de cod pentru un proiect open-source.
A doua întrebare vizează atitudinea. Dacă cele cinci principii ale hackerilor ti s-au părut obişnuite, asemănându-se mai mult cu modul cum trăieşti decât cu o poveste, te apropii de un raspuns afirmativ. Aceasta e prima jumătate, cealaltă vrea să afle cât de mult de identifici cu proiectele pe termen lung ale comunităţii.
 

Aici am enumerat câteva dintre aceste obiective : 
-Contează pentru tine dacă Linux devine mai bun şi mai răspândit ? 
-Te pasionează libertatea programelor ? 
-Eşti ostil monopolurilor ? 
-Acţionezi în credinţa că trebuie să vedem calculatoarele ca simple instrumente care fac lumea mai bogată şi mai umană ?
 

Dar trebuie să punctăm un lucru aici. Comunitatea hackerilor are nişte principii politice specifice, în special defensive, în special apărarea dreptului la libera exprimare. Comunitatea se luptă şi cu legile de proprietate intelectuală care ar face comunitatea open-source ilegală. Unele dintre aceste proiecte pe termen lung sunt reprezentate de organizaţii precum Fundaţia Frontierei Electronice ( Electronic Frontier Fundation ). Dar în spatele acestui lucru, cei mai mulţi hackeri văd în încercarea de a sistematiza atitudinea lor un program politic explicit dubios; am învăţat, pe calea ce grea, că aceste încercări au efecte negative divizând comunitatea. Daca cineva vrea să te recruteze pentru a participa la un protest în numele atitudinii hackerilor, atunci clar a înţeles greşit. Raspunsul corect este probabil să Taci şi arată-le codul.
A treia întrebare include o definiţie recursivă. Am observat în secţiunea numită Ce este un hacker ? că a fi un hacker ţine foarte mult de apartenenţa la o anumita subcultură şi reţea socială cu o anumită istorie. În trecut, hackerii erau un grup mult mai disipat decât sunt astăzi. Dar importanţa unei reţele sociale a crescut în ultimii 13 ani pe măsură ce internetul a facut posibilă menţinerea uşor a legăturii cu ceilalţi hackeri. O mică schimbare de comportament este că în acest deceniu avem propriile tricouri.
Sociologii care studiază reţele precum cea a hackerilor sub sigla generală de "colegii invizibile" au observat că o caracteristică a reţelelor de acest gen este că au aşa numiţi pazitori ale porţilor, membrii cheie cu autoritate socială care pot să introducă noii membrii în comunitate. Pentru că termenul de "colegiu invizibil" care defineşte cultura hackerilor este un termen mult prea general şi informal şi rolul unui astfel de păzitor al portilor este informal. Dar ceea ce fiecare hacker întelege este că nu orice hacker este un păzitor al porţilor. Aceste persoane au o anumită vechime şi un anumit număr de realizări înainte să primească acest titlu. Cât de mult este greu de precizat, dar fiecare hacker ştie când vede o astfel de persoană.
A fi un hacker înseamnă a avea o anumită atitudine şi un set mare de cunoştiinţe pe care trebuie să le dobândeşti singur. O să observi că chiar dacă hackerii adevăraţi vor să te ajute nu o să te respecte dacă îi implori să îţi spună tot ce ştiu.
Învaţă câteva lucruri mai întâi. Arată că încerci, că eşti capabil să înveţi singur. Apoi apelează la alti hackeri cu întrebări precise.
Dacă îi scrii unui hacker nişte întrebări, sunt două lucruri pe care trebuie să le ştii. În primul rând am observat că persoanele care sunt leneşe şi neatente în scris sunt de cele mai mult ori neatente şi leneşe şi în gândire, neavând capacitatea de a devenii hackeri buni, aşa că ai grijă să scrii corect, să foloseşti gramatica şi semnele de punctuaţie, altfel vei fi ignorat. În al doilea rând nu cere ca mesajul să fie trimis la o căsuţă de mail diferită de cea de pe care ai trimis mesajul; am aflat că persoanele care fac acest lucru sunt deobicei hoţi care folosesc conturi furate, şi nu avem nici un interes în a rasplăti sau ajuta hoţii.
-Cum pot să încep ?
Cea mai bună modalitate să incepi este să mergi la o intâlnire a unui grup de utilizatori Linux ( LUG ). Poţi să gaseşti astfel de grupuri pe LDP General Linux Information Page; probabil că există unul aproape de tine, asociat cu o universitate sau un colegiu. Membrii acestei comunităţi îţi vor da o copie Linux şi te vor ajuta să îl instalezi şi să începi să înveţi.
-Când trebuie să încep? Este prea târziu pentru mine să învăţ?
Orice varstă la care eşti motivat este bună. Mulţi oameni devin interesaţi între 15 şi 20 de ani, dar cunosc excepţii în ambele direcţii.
-Cât va dura să învăţ să devin un hacker?
Asta depinde de cât de talentat eşti şi cât de mult eşti dispus să munceşti. Majoritatea oamenilor pot să înveţe un volum respectabil de informaţii în 18 luni pană la 2 ani, dacă se concetrează. Nu te gândi că se termină aici; dacă eşti un hacker adevărat o să îţi petreci restul vietii învăţând şi perfecţionându-ţi cunoştinţele.
-Sunt Visual Basic sau C# limbaje bune pentru începători?
Dacă pui această întrebare în mod sigur te gândeşti să înveţi să fi un hacker folosind un sistem Microsoft Windows. Aceasta este o idee proastă în sine. Când am comparat încercarea de a învăţa să fi un hacker pe Windows cu a învăţa să dansezi îmbrăcat în gips, nu glumeam. Nu încerca asta. E urât şi nu va înceta să fie urât.
Sunt probleme specifice cu Visual Basic şi C#; în principal din cauza faptului că nu sunt portabile. Deşi există implementări open-source ale acestor limbaje, standardele implementate nu acoperă decât o mică parte din interfaţa de programare. În Windows majoritatea librăriilor sunt proprietatea unui singur producător ( Microsoft ); daca nu eşti extrem de atent la ce fel de facilităţi foloseşti, mult mai atent decât poate fi un începător o să ajungi să fi blocat, softul fiind portabil doar pe platformele pe care Microsoft decide să le suporte. Dacă începi pe Unix, sunt disponibile limbaje mult mai bune. De exemplu, Python.
Visual Basic este groaznic. Ca orice alt Basic este slab gândit şi nu te învaţă decât obiceiuri proaste de programare. Nu mă ruga să le explic în detaliu, această explicaţie ar umple singură o carte. Învaţă un limbaj bine realizat.
Unul dintre aceste obiceiuri proaste este să devii dependent de librăriile şi uneltele de dezvoltare ale unui singur producător. În general orice limbaj care nu este suportat măcar sub una dintre platformele Linux sau BSD, şi/sau măcar de trei producători diferiţi de sisteme de operare, este un limbaj slab în care să înveţi.
-O să mă ajuţi să sparg un sistem, sau să mă înveţi cum să sparg programe?
Nu. Orice persoană care pune o astfel de întrebare după ce a citit acest set de întrebări frecvente este prea proastă pentru a fi educată. Orice fel de întrebări pe email legate de acest subiect vor fi ignorate sau vor primi un răspuns brutal.
-Cum pot să obţin parola contului altei persoane?
Acesta este cracking. Dispari idiotule.
-Cum pot să sparg/citesc/monitorizez casuţa de mail a altcuiva ?
Acesta este cracking. Pa.
-Cum pot să fur drepturi de operator pe un canal de IRC?
Acesta este cracking. Dispari.
-Am fost crackuit. O să mă ajuţi să mă apar de atacuri viitoare ?
Nu. De fiecare dată când am fost întrebat acest lucru, întrebarea venea de la o persoană care rula Microsoft Windows. Nu este posibil să securizezi Windows împotriva atacurilor; codul şi arhitectura au pur şi simplu prea multe probleme, ceea ce face securizare Windows o misiune imposibila. Singura rezolvare este să treci la Linux sau la alt sistem de operare mai bun care să fie capabil de securitate.
-Am probleme cu sistemul meu de operare Windows. Mă ajuţi ?
Da. Deschide consola DOS şi tastează "format c:". Orice problemă ai întâlnit va înceta să mai existe în câteva minute.
-Unde pot găsi nişte hackeri cu care să vorbesc?  

Cel mai bun mod este să găseşti un grup local de utilizatori Linux sau Unix şi să mergi la întâlnirile lor ( poţi să găseşti câteva adrese de grupuri la LDP )\ (Obişnuiam să spun că nu o să găseşti nici un hacker adevărat pe IRC, dar am început să înţeleg că acest lucru se schimbă. Aparent nişte comunităţi serioase de hackeri, ataşate proiectelor precum GIMP şi Perl, au canale pentru IRC acum ).
-Poţi să îmi recomanzi câteva cărti utile despre subiecte legate de hacking ?
 Linux Reading List HOWTO  îţi poate fi utilă. Loginataka poate fi interesantă. Pentru o introducere în Python vezi materiale introductive pe site-ul Python.
-Trebuie să fiu bun la matematică pentru a deveni un hacker?
Nu. Hackingul foloseşte foarte puţină matematică formala şi aritmentică. În particular nu o să-ti trebuiască trigonometrie, calcul sau analiză ( excepţia la acest lucru o face grafica 3D ). E bine să şti ceva logică şi algebră booleană. Cunoştiinţe de bază în teoria seturilor finite, combinatorică şi teoria grafurilor se pot dovedi utile.
E mult mai important să fi capabil să gandeşti logic şi să urmezi un lanţ de raţionamente logice, aşa cum fac matematicienii. Deşi conţinutul matematic nu te va ajuta foarte mult, vei avea nevoie de disciplina şi inteligenţa matematică. Dacă nu eşti prea inteligent nu sunt prea multe speranţe pentru tine ca hacker; dacă îţi lipseşte disciplina ar fi bine să o dezvolţi.
Cred că o bună modalitate de a afla dacă ai ceea ce îţi trebuie e să gaseşti o copie a carţii lui Raymond Smullyan's What Is The Name Of This Book?. Logica pe care o promovează în carte este în spiritul hackerilor. Dacă eşti capabil să rezolvi problemele puse acolo e un semn bun; dacă îţi place să le rezolvi e un semn şi mai bun.
-Ce limbaj ar trebui să învăţ prima dată ?
XHTML ( ultimul dialect de HTML ) dacă nu îl cunoşti deja. Sunt foarte multe carţi pe această temă, dar puţine bune. Cea care îmi place cel mai mult este HTML: The Definitive Guide.
Dar HTML nu poate fi considerat un limbaj de programare. Când eşti gata să începi să programezi, îţi recomand să începi cu Python. O să auzi foarte multă lume care recomandă Perl, şi Perl este încă mult mai popular decât Python, dar este mai dificil de învăţat şi ceva mai puţin bine gândit. C este foarte important, dar este şi mult mai dificil decât Python şi Perl. Nu încerca să-l înveţi ca primul limbaj. Ca utilizator Windows nu trebuie să te axezi pe Visual Basic. O să te înveţe obiceiuri proaste, şi nu este portabil. Evită-l.
-De ce fel de calculator am nevoie?
În trecut calculatoarele erau destul de slabe încât impuneau limite artificiale hackerilor. Acest lucru nu mai este valabil începand cu mijlocul anului 1990; orice calculator mai bun decât un Intel 486DX50 va avea suficientă putere pentru dezvoltare, grafică, şi comunicaţii internet, şi cele mai mici discuri pe care le poţi cumpăra astăzi oferă spatiu de stocare suficient. Cel mai important lucru în alegerea unui calculator este compatibilitatea Linux ( sau BSD dacă decizi să urmezi acest drum). Acest lucru este valabil pentru majoritatea calculatoarelor noi. Singura parte problematica o reprezintă conectarea la Internet; unele calculatoare au componente specifice Windows care nu vor funcţiona sub Linux.
-Vreau să contribui. Poţi să mă ajuţi să aleg o problemă la care să lucrez?
Nu, pentru că nu ştiu care sunt talentele şi interesele tale. Trebuie să fi automotivat, din această cauză proiectele alese de alţi oameni aproape niciodată nu reuşesc.
Încearcă astfel. Priveşte anunţurile de proiecte pentru câteva zile la adresa Freshmeat. Când vezi unul care te face să zici "Super! Aş vrea să lucrez la acest proiect!", înscrie-te.
-Trebuie să urăsc Microsoft?
Nu, nu trebuie. Nu pentru că nu ar merita, ci pentru că a existat o cultură a hackerilor cu mult înainte de Microsoft şi va mai exista una şi după ce Microsoft va fi istorie. Energia pe care o consumi urând Microsoft poate fi folosită mai util pentru a-ţi îmbunătăţii capacităţile. Scrie programe bune care să discrediteze Microsoft fără a-ţi polua karma.
-Programele open-source pun programatorii în imposibilitatea de a câştiga bani?
Acest lucru pare improbabil pentru moment, industria de programe open-source a creat locuri de muncă noi. Dacă a avea un program scris reprezintă un câştig economic faţă de faptul de a nu-l avea, programatorul va fi plătit indiferent dacă programul va fi open-source după ce este gata. Şi nu contează cât de multe programe gratis sunt scrise, mereu va exista cerere pentru noi aplicaţii. Am scris mai multe despre acest subiect pe paginile Open Source.
-Cum încep ? Unde găsesc o versiune gratis de Unix?
Dacă încerci să gaseşti un prim proiect pe care să-l faci nu mă întreba pe mine. În schimb urmareşte proiectele de pe Freshmeat unde e posibil să găseşti ceva interesant la care să poti să contribui.
Dacă nu ai instalat un sistem Unix pe calculator încă, găseşti  pe Internet legături către locuri unde să găseşti cele mai populare versiuni de Unix. Pentru a fi un hacker îţi trebuie iniţiativă şi abilitatea de a te educa singur. Incepe acum ......

(Adaptare dupa Eric Steven Raymond 2001 si tradusa de Savu Andrei - 21 ianuarie 2006)

26 dec. 2010

Virusii informatici(IV)-Virusi de Linux, cine a zis ca nu exista?


36.Virusi de Linux, cine a zis ca nu exista?
 
 Orice sistem de operare are virusii sai.Aceasta este o constatare logica deoarece asa cum e scris sistemul de operare pot fi scrisi si virusi pentru el, fiind in fond amindoua la baza, niste programe.

Linux, Unix şi alte Unix-like sisteme de operare sunt în general considerate ca fiind foarte bine protejate - dar nu imune - la viruşi de calculator .Malware-ul de Linux include viruşi, troieni, viermi şi alte tipuri de malware care afecteaza Sistemul de Operare Linux. Linux oferă o protecţie mai bună în comparaţie cu Microsoft Windows.Linux-ul nu este, inca, amenintat la o scara asa mare precum Windows.Totusi numărul de programe malware - inclusiv virusi, troieni, şi a altor ameninţări - special scris pentru Linux a fost în creştere în ultimii ani şi s-au dublat ca numar ,de la 422 la 863, dar sigur sunt in continua crestere.
 
Vulnerabilitatea Linux
 
Ca orice sistem de tip Unix si Linux implementeaza un mediu multi-utilizator în care se acordă utilizatorilor privilegii specifice şi există o anumită formă de acces la control.Pentru a avea controlul asupra unui sistem Linux, malware-ul trebuie sa aibe acces la root-ul sistemului si nu  provoca nici o consecinţă gravă la sistemului în sine.Shane Coursen, un senior consultant tehnic la Kaspersky Lab , susţine: ,,Cresterea malware-ului de Linux se datoreaza cresterii popularitatii sale in special ca sistem de operare desktop.Interesul dezvoltarii de malware este direct corelat cu interesul dezvoltarii sistemului de operare". ,,Acest argument ignora dominaţia Unix-lui într-o serie de aplicatii speciale non-desktop, inclusiv servere Web şi staţii de lucru ştiinţifice" spune Rick Moen, un experimentat administrator de sistem Linux.
Unii utilizatori Linux utilizeaza soft antivirus pentru a scana documente nesigure şi e-mail-uri care provin de la utilizatorii de Windows.Unele maşini Linux au nevoie cu siguranta de software anti-virus.Serverele Samba sau NFS, de exemplu, pot stoca documente ilegale, in formate Microsoft vulnerabile, cum ar fi Word şi Excel, care conţin şi propaga virusi. Serverele de mail Linux ar trebui să ruleze solutii antivirus, în scopul de a neutraliza viruşii înainte ca acestia să apară în cutiile poştale ale utilizatorilor Outlook si Outlook Express. Nu este un motiv sa nu securizam Linux doar din faptul ca acesta este folosit doar de o minoritate si prin urmare numai aceasta minoritate trebuie sa contribuie la securizarea lui!
Deoarece sunt utilizati în mod preponderent pe serverele de mail care pot trimite mail-uri la computere pe care ruleaza alte sisteme de operare, solutiile antivirus de Linux sunt folosite în general pentru definiţii şi pentru scanarea tuturor viruşilor cunoscuţi, pentru toate platformele de calculator.
In cazul în care un fisier binar infectat (fisiere binare care conţin coduri de virusi) este rulat, sistemul ar fi infectat. Nivelul de infecţie depinde de utilizator si de privilegiile de a rula fisierul binar. A rula fisierul binar sub contul de root, ar trebui să poată infecta întregul sistem. Marirea numarului de privilegii, pot permite malware-ului care rulează sub un cont limitat, de a infecta întregul sistem. Este demn de remarcat faptul că acest lucru este valabil pentru orice program malitios care se execută, fără măsuri speciale luate pentru a limita privilegiile sale. Pentru a asigura distribuirea în siguranţă a software-ului, verificarea fisierului md5checksum (suma de control), ne poate scuti de neplaceri si este la dispoziţia utilizatorului. Acesta face posibilă descoperirea de versiuni modificate ale softului, a unor coduri care poate au fost introduse sau atasate in softul original.Un fisier care contine un cod virus poate face, de exemplu, deturnarea de comunicaţii printr-un atac de redirecţionare, cum ar fi ARP(Adress Resolution Protocol) sau otrăvirea DNS(Domain Name System).Utilizarea atentă a semnăturii digitale oferă o linie suplimentară de apărare adecvata, în funcţie de modul în care sunt tratate cheile şi sumele de control, care limitează domeniul de aplicare al atacurilor. Se recomanda rularea si folosirea numai pachetelor originale ale autorilor şi limitarea numarului de persoane cu acces administrativ. Vulnerabilitatea la caii troieni şi viruşi, sunt rezultatul utilizarii si rularii soft-ului din surse care nu sunt de încredere. O măsură de protectie eficace este verificarea autenticitatii software-ului descărcat.
Ameninţarile clasice ale sistemeleor Unix, sunt vulnerabilităţile în reţea, de tip  daemon , cum ar fi ssh şi servere WWW. Acestea pot fi utilizate de viermi sau pentru atacurile împotriva unor obiective specifice.
Mai vechile distribuţii Linux au fost relativ sensibile la atacuri  de tip buffer overrun: în cazul în care programul nu-i păsa de dimensiunea tampon, protectia oferita de kernel era o protecţie limitată, care  permitea unui atacator să execute un cod arbitrar în cadrul drepturilor, care deveneau vulnerabile la atac. Programele care obţin acces root chiar şi atunci când sunt lansate de către un utilizator non-root (prin intermediul setuid bit) au fost deosebit de atractive pentru a ataca. Cu toate acestea, începând cu 2009 de cele mai multe nuclee includ in spaţiul de randomizare de adresa, protecţie de memorie sporită şi alte extensii care fac astfel de atacuri mult mai dificile.
Un nou domeniu de interes sunt viruşii cross-platform identificati în 2007, aparuti in contextul sporirii popularitatii aplicatiilor cross-platform. Constatarea s-a facut dupa aparitia virusului Bad Bunny pentru Openoffice.
 
Linux este la fel de vulnerabil la malware ca si alte sisteme de operare.Un nou malware sau atacuri îndreptate către site-uri specifice, pot constitui descoperirea unor noi vulnerabilitati care nu au fost cunoscute de către comunitate sau nu au fost utilizate anterior.
 
Vom enumera(partial) mai jos, cateva ameninţări cunoscute ale Linux:
 
1.Troieni:
*Kaiten = Cal Troian Linux.Backdoor
*Rexob = Cal trojan Linux.Backdoor
*Waterfall = backdoor screensaver - pe gnome-look.org
 
2.Viermi:
* Adm-Net = LinuxWorm
* Adora
* Cheese
* Devnull
* Kork
* Lupper
* Lion (cunoscut si ca Ramen)
* Mighty
* Ramen
* Slapper
* SSH Bruteforce
 
3.Virusi:
*42
*Arches
* Alaeada
*Bad Bunny
* Binom
* Bliss
* Brundle
* Diesel
* Kagob
* MetaPHOR (cunoscut si ca Simile)
* OSF.8759
* RST
* Staog
* Vit
* Winter
* Winux (cunoscut si ca  Lindose si PEElf)
* ZipWorm

Va prezentam cateva solutii anti-virus pentru computerele pe care ruleaza Linux:

* ClamAV (free software)

* Avast! (versiuni freeware si comerciala)

* AVG (versiuni freeware si comerciala)

* Eset (versiune comerciala)

* Sophos (proprietar)

* Avira (versiuni freeware si comerciala)

Virusii informatici(III)-Câteva sfaturi privind securitatea

35.Câteva sfaturi privind securitatea:

- verificaţi setările de securitate ale browser-ului Web pentru a fi sigur că nici un control ActiveX nu poate fi instalat fără ştirea dvs. În Internet Explorer , alegeţi Options din meniul Tools si selectaţi tab-ul Security si setaţi opţiunile complete pentru a elimina astfel de posibilităţii

- de fiecare dată când instalaţi un program sau un utilitar citiţi cu atenţie licenţa însoţitoare, chiar dacă vi se pare un lucru inutil. Dacă sunt menţionate sisteme integriste de livrare a reclamelor, folosirea în background a conexiunii Internet sau orice altceva ce duce la spyware, s-ar putea să vă gândiţi la abandonarea instalării. Si dacă, chiar după ce v-aţi luat aceste precauţii, noul joc sau utilitar afişează bannere dinamice, o idee bună ar fi să vă documentaţi în amănunt cu privire la funcţionarea lui.

- puteţi afla destul de multe informaţii de pe site-ul de Web al producătorului programului spyware. Este bine să consultaţi aceste informaţii înainte de a instala un produs de tip shareware sau freeware.

- apelaţi la pagina de Web ShieldsUp! de pe site-ul de Web Gibson Research care testează securitatea sistemului în acelaşi mod în care un hacker ar încerca să vadă dacă există vreo cale de atac.

- apelaţi site-ul OptOut (www.grc.com/optout.htm) de pe Internet, care oferă informaţii şi câteva instrumente pentru cei ce doresc să nu mai fie o sursă de informaţii de marketing prin intermediul programelor spyware. Există informaţii detaliate cu privire la toate programele spyware cunoscute, cu nume si adrese de Web ale furnizorilor, ce informaţii sunt culese si ce programe le integrează. Un astfel de utilitar costă foarte putin, preţ în care intră o perioadă nedefinită de actualizări gratuite ale bazei de date cu noi programe spyware. El localizează toate programele spyware din sistem şi oferă posibilitatea eliminării lor. El caută în sistem aplicaţii spyware cunoscute, raportează existenţa lor şi execută eliminarea fişierelor în cauză. În anumite variante, programul este oferit si gratuit.
Un cunoscut specialist în acest domeniu, Neil J. Rubenking, este de părere că până acum nu există nici o dovadă că programele declarate spyware adună informaţii confidenţiale sau că fac o legătură între aceste informaţii si persoane individuale. S-ar putea să consideraţi că cedarea unor anumite informaţii non-personale este micul preţ ce trebuie plătit pentru programele gratuite. Dar posibilitatea de a se abuza de aceste informaţii există, aşa că este important să ştiţi cu cine vă partajaţi conexiunea la Internet.

Cum ne apărăm împotriva viruşilor?

Pornind de la conceptul bine experimentat că este mai puţin costisitor să previi decât să tratezi, este necesar să se acorde o atenţie deosebită problemei viruşilor. Într-o formă simplistă, lupta împotriva viruşilor s-ar putea rezuma la o singură frază: trebuie îmbunătăţite programele şi scanat suportul pe care se afla informatia înaintea introducerii/copierii  în harddisk.
Există astăzi mai multe organizaţii internaţionale care se ocupă cu problemele viruşilor pe calculator. Una dintre acestea se numeşte CARO - Computer Anti-virus Researcher Organisation, şi este o organizaţie constituită din cei mai reputaţi experţi din lume care se ocupă cu standardizarea si clasificarea viruşilor.
Încă din anul 1990 a fost înfiinţată o instituţie specializată în acest domeniu, numită EICAR - Institutul European pentru Cercetarea Programelor Anti-Virus. Această organizaţie s-a bucurat de un real succes, mai ales în întâlnirile cu vânzătorii de programe.
În decembrie 1990, firma Symantec a lansat produsul Norton Anti-Virus Software, astăzi foarte la modă. Tot în acelaşi an, dar în luna aprilie, firma Central Point Anti-Virus a lansat produsul CPAV.
Există mai multe publicaţii internaţionale pe această temă, iar Internet-ul abundă de materiale si informaţii. Cea mai importantă revistă internaţională dedicată raportării şi analizei viruşilor se numeşte Virus Bulletin. De la lansarea sa în iulie 1989, revista a monitorizat noile dezvoltări din domeniul programării viruşilor si a evaluat cele mai actualizate instrumente si tehnici pentru combaterea ameninţării reprezentate de viruşi.
În lupta împotriva viruşilor este necesar să se cunoască cele mai importante si eficiente mijloace, metode si tehnici care pot fi utilizate în acest scop. Pentru aceasta, este nevoie să ne familiarizăm cu câteva noţiuni si concepte specifice.
 

-Suma de control (Checksum) este o valoare numerică obţinută din octeţii individuali ai unui fişier. Împreună cu data creării, mărimea şi atributele DOS ale fişierului, suma de control este memorată în fişiere de tip listă de control. De obicei, are lungimea de 32 sau 64 biţi.
 

-Un alt termen des utilizat este CRC. Acronimul lui "Cycled Redundancy Check", în traducere - "Control Redundant Ciclic", el reprezintă o metodă matematică folosită pentru verificarea integrităţii datelor. Este o formă de sumă de control, care se bazează pe teoria polinoamelor de lungime maximă. Deşi este mai sigură decât cea bazată pe o simplă sumă de control, metoda CRC nu oferă totuşi o adevărată securitate criptografică.
O secvenţă de octeţi sau, mai general, o combinaţie de secvenţe variabile, prin care programele antivirus încearcă să identifice viruşii se numeşte semnătura unui virus (virus signature).
 

-Operaţia prin care se elimină un virus dintr-un fişier sau dintr-un sistem se numeşte dezinfecţie (clean). Desigur, contaminarea unui calculator cu un virus informatic se numeşte infecţie (infection).
 

-Tehnica prin care se adaugă unui program executabil o porţiune de cod, pentru a se asigura autoverificarea sa, în aşa fel încât suma sa de control să fie verificată înainte ca programul propriu-zis să se execute, se numeşte imunizare (immunization). Orice modificare făcută programului poate fi deci verificată si execuţia refuzată. Această tehnică poate provoca multe probleme deoarece ea interfera adesea cu programul pe care încearcă sa-l protejeze.
 

-Atunci când se generează o amprentă (o informaţie de control) pentru un fişier spunem că s-a efectuat o inoculare (inoculate). Este suficient apoi să se compare această amprentă cu alta calculată ulterior pentru a detecta alterarea eventuală a fişierului de către un virus.
 

-Un program antivirus care caută fişiere infectate, analizând secvenţe identificabile ca aparţinând unor viruşi cunoscuţi (aşa numitele "semnături" de virus) se numeşte program de scanare (scanner). Programele de scanare au diverse limitări, printre care, cea mai importantă este faptul că ele nu pot căuta decât viruşi deja identificaţi sau cunoscuţi.
 

-Un software antivirus (anti-virus software) reprezintă un produs program utilizat pentru a identifica si deseori pentru a furniza mijloacele necesare eliminării viruşilor de pe sistemele infectate. Acest proces este denumit frecvent "curăţare" sau "dezinfectare".
 

-Un software de dezinfecţie (desinfection software) nu este altceva decât un program care încearcă să îndepărteze viruşii de pe discurile infectate, astfel încât să restaureze elementele infectate la starea lor anterioară. Dat fiind faptul că adesea viruşii sunt polimorfi (schimbaţi de o manieră subtilă), software-ul de dezinfectare poate să facă greşeli cu consecinţe potenţial catastrofale pentru integritatea datelor. Detecţia viruşilor sectorului de încărcare este cu mult mai fezabilă decât cea a fişierelor executabile, iar utilizarea programelor de sistem (DEL, SYS, FDISK si FORMAT) reprezintă adesea o soluţie preferabilă.
 

-Vaccinul este un program pe calculator realizat pentru a oferi o protecţie împotriva viruşilor de calculator.Multi virusi marcheaza fisierele pe care le-au infectat, pentru ca ei infecteaza fisierele doar o singura data. Totodata, virusii rezidenti in memorie verifica daca nu sunt deja rezidenti in memorie: acestea sunt asa-numitele apeluri de "esti acolo?". Ideea din spatele vaccinarii este de a pune semne de "infectat", cat mai mult posibil pe toate fisierele, si de a implementa cat mai multe raspunsuri de "da" la toate apelurile "esti acolo" posibile. Asta pentru a face virusii sa creada ca ei au infectat deja un sistem, lucru pe care de fapt nu l-au facut.
Aceasta metoda creeaza mai multe probleme. In primul rand, nu toti virusii isi verifica prezenta in modul acesta simplu. In al doilea rand, o multime de virusi au teste pentru conflict de prezenta. Si trei, acest tip de protectie este foarte usor de evitat. De exemplu, considerati un virus rezident in memorie care verifica prezenta sa prin apelul unei intreruperi DOS, folosind un numar nefolosit inca. Daca de exemplu se returneaza numarul 100 intr-un anumit registru, virusul presupune ca este deja rezident in memorie. Un program de vaccinare pentru virus ar face exact acelasi lucru. Un mod de a evita acest lucru ar fi intoarcerea unui alt numar (de exemplu 101) drept numarul ce indica prezenta, in versiunile viitoare ale virusului. Adăugând un cod scurt la fişiere, de declanşează o alarmă atunci când un virus încearcă să modifice fişierul. Vaccinurile mai sunt numite si programe de imunizare.
Autorii răuvoitori de viruşi ai calculatoarelor ştiu de existenta programelor de vaccinare si antivirus si unii dintre ei se ocupă cu crearea de noi viruşi care să le contracareze. Dacă folosiţi calculatorul pentru afaceri sau aplicaţii profesionale vitale, protejaţi datele introducând în calculator numai copii noi, care nu au fost deschise, de programe obţinute direct de la producători.
Din activitatea programelor anti-virus pot rezulta si alarme false. O monitorizare a procesului de dezinfectare este deseori foarte utilă.
 

-O metodă de detectare a fişierelor virusate constă în compararea periodică a fişierului cu cel original, din dată, oră si dimensiune. Aceste teste nu prezintă totală încredere deoarece atât data si ora, cât si dimensiunea fişierelor pot fi manipulate convenabil, fără a ne putea da seama dacă s-a umblat în fişierul original si dacă acesta a fost alterat.
 

-Există si alte elemente care pot fi verificate, cum ar fi sumele de control (check sum), mai de încredere, dar nu totală, prin care datele dintr-un fişier sunt însumate si trecute printr-un algoritm specific, rezultând un fel de semnătură pentru acel fişier. Sumele de control funcţionează pentru verificarea integrităţii unui fişier în cazul transferului dintr-un punct în altul. Pentru protecţie, lista sumelor de control este necesar a fi păstrată pe un server separat, chiar pe un mediu separat accesibil doar de root si de utilizatorii de încredere. Totuşi această tehnică este insuficientă când sunt atacuri sofisticate împotriva integrităţii fişierelor, existând pericolul ca la destinaţie să ajungă un fişier necorespunzător.
Pe Internet se găsesc însă suficiente materiale referitoare la modul în care pot fi învinse sistemele care folosesc sume de control, multe dintre ele chiar prin acţiunea viruşilor. Multe dintre utilitarele antivirus folosesc o analiză a cifrei de control pentru a identifica activităţi de virusare.
 

-Există tehnici satisfăcătoare bazate pe calcularea unei amprente digitale (digital fingerprint) sau semnătură pentru fişiere. Algoritmii care realizează acest lucru fac parte din familia MD, cea mai cunoscută implementare fiind MD5. Aceasta este o funcţie neinversabilă (one-way) care generează semnătura digitală pentru un fişier prin intermediul unui algoritm de condensare a mesajului (message digest). Algoritmul preia la intrare un mesaj de o lungime arbitrară şi produce un rezultat pe 128 biţi denumit amprentă (fingerprint) sau rezumat (message digest). Algoritmul se bazează pe un concept conform căruia este imposibil prin prelucrare să se producă două mesaje cu acelaşi rezumat sau să se reconstituie un mesaj pornind de la un anumit rezumat. Algoritmul MD5 este proiectat pentru aplicaţii bazate pe semnături digitale, în care un fişier de dimensiuni mari trebuie comprimat într-un mod sigur înainte de a fi criptat cu o cheie privată (secretă).
 

-Un produs care utilizează algoritmul MD5 este S/Key dezvoltat de Bell Laboratories pentru implementarea unei scheme de parole unic valabile (one-time), care sunt aproape imposibil de spart, deşi parolele sunt transmise în clar, dar datorită faptului că parola fiind de unică valabilitate, nu mai este de nici un folos pentru un eventual intrus.
 

-O tehnică foarte interesantă aplicată în combaterea viruşilor se bazează pe utilizarea programelor automodificabile (self-modifying program). Acestea sunt programe care îşi schimbă deliberat propriul lor cod, cu scopul de a se proteja împotriva viruşilor sau copierilor ilegale. În acest mod devine foarte dificilă validarea prin mijloace convenţionale.
 
Principalele metode  raman insa:
 

Scanarea -se aplica preventiv la prelucrarea fisierelor din afara sistemului,deci este utila in faza primara de raspandire a virusilor. Ea poate fi salvatoare, chiar daca se aplica ulterior (de pe o discheta sistem curata), in faza activa,deoarece in numeroase cazuri poate recupera fisierele infectate.
  Concluzii:
aria de actiune; memoria si fisierele de interes;
protectia se mnifesta la primul contact cu orice fisier;
permite dezinfectarea;
nu detecteaza virusi noi. Orice virus nou trebuie introdus in lista de virusi a programului de scanare;
timpul de scanare creste odata cu cresterea numarului de virusi cautati si cu numarul de fisiere protejate;
exista alarme false, daca semnatura virusului este prea scurta;
foloseste ca resursa memoria calculatorului;
opereaza automat (ca un TSR).

Sumele de control -sunt calculate cu polinoame CRC si pot detecta orice schimbare in program,chiar daca aceasta consta numai in schimbarea ordinii octetilor. Aceasta permite blocarea lansarii in executie a programelor infectate,chiar de virusi necunoscuti, dar nu permite recuperarea acestora. Metoda este deosebit de utila in faza de raspandire a virusilor,orice fisier infectat putand fi detectat. In faza activa,insa metoda este neputicioasa.

Programele de protectie - programele antivirus au rolul de a realiza simultan urmatoarele activitati:
prevenirea contaminarii;
detectarea virusului;
eliminarea virusului, cu refacerea contextului initial;
  In general, exista doua categorii de programe antivirus:
programe care verifica fisierele pentru a descoperi texte neadecvate sau sematuri de virusi recunoscuti;
programe rezidente in memoria interna, care intercepteaza instructiunile speciale sau cele care par dubioase.
  In categoria programelor de vierificare se include cele de tip SCANxxx,unde prin xxx s-a specificat numarul asociat unei versiuni, de exemplu: SCAN86, SCAN102, SCAN108, SCAN200.
Aceste programe verifica intai memoria interna si apoi unitatea de disc specifica, afisand pe monitor eventuali virusi depistati si recunoscuti in versiunea respectiva. Dupa aceasta verificare, utilizatorul va incerca aliminarea virusului depistat,prin intermediul programelor CLEARxxx, prin specificarea numelui virusului; de remarcat ca, folosind acest program, nu exista certitudinea curatirii virusilor,datorita fie a nerecunoasterii acestora, fie a localizarii acestora in locuri care nu pot fi intotdeauna reperate.
Exista doua feluri de antiviruşi după modul in care actioneaza:
1. Programe care după ce au fost lansate ce raman in memoria calculatorului si supraveghează fiecare aplicaţie lansata in execuţie.
2. Programe care sunt lansate de către utilizator numai atunci când el doreşte sa verifice calculatorul
Devirusarea are loc in urmatoarele conditii:
-Scanarea = citirea fişierelor si a memoriei si identificarea viruşilor cunoscuţi de programul antivirus respectiv
-Devirusare = extragerea virusului sau ştergerea fişierului infectat
-Monitorizare = este operaţia prin care un antivirus existent in memorie verifica si semnalează sistematic eventuala apariţie a unui virus.


Putem sa prevenim infectarea sistemului?

Da.Ne putem feri si noi de infectarea cu un virus respectand  câteva sfaturi care ar putea fi foarte utile, pentru a vă proteja sistemul împotriva viruşilor calculatoarelor :
- nu încarcaţi/executati programe executabile pe sisteme, dacă nu sunteţi sigur că ele sunt fără viruşi (eventual aţi văzut la altcineva folosind programul fără probleme).
- nu folositi programe executabile descarcate de pe Internet sau alte calculatoare, fara a fi in prealabil scanate.  
- nu copiaţi discuri pirat ale programelor comercializate, deoarece ele pot conţine viruşi.
 - evitati folosirea software-ului neinregistrat
- cumpăraţi şi folosiţi programe recunoscute de detectare a viruşilor
- instalaţi un program de detectare a viruşilor, rezident în memorie, care să examineze fişierele pe care le copiaţi în calculator.
- realizarea periodica a operaţiei de scanare
- păstrarea unor copii de siguranţa ale aplicaţilor si fişierelor importante
- crearea unui disc de  sistem pentru al folosi la pornirea calculatorului in caz de nevoie
- utilizarea de suporturi care conţin date, cu protecţie la scriere.
Pe lânga toate acestea mai trebuie respectate câteva reguli din categoria celor de fair-play:
-Informeaza colaboratorii despre eventuala aparitia a unui nou virus.
-Anunta-ti prietenii si pe cei cu care ai facut schimb de fisiere când ai constatat ca ai un virus ce ai fi putut sa-l distribui neintentionat acestora.
-Nu distribui virusi din dorinta de a face glume, este posibil sa pricinuesti suferinte altora si nu uita ca “ ce tie nu-ti place altuia nu face”.

În momentul în care se constata o anomalie în functionarea calculatorului :


·        se opreste calculatorul

·        se introduce discul sistem

·        se cauta virusii

·        daca s-au gasit, se eliminã

Ce antivirus este recomandat sa folosim?          
 

In conditiile in care criza financiara afecteaza tot mai serios buzunarele romanilor, solutiile antivirus gratuite devin din ce in ce mai tentante pentru utilizatorii casnici si nu numai.Ele sunt la fel de bune ca si cele cu plata.Piata acestor produse este una destul de mare existand in acest moment un numar impresionant de programe antivirus oferite gratuit, ca si alternative ale solutiilor profesionale cu plata.  
 

-Avast! Home Edition, un program antivirus produs de compania ALWIL din Cehia si care pe langa functiile standard dispune inclusiv de o varianta in limba romana.
 

-AVG Free Edition si Avira Antivir Personal Edition.
 

-BitDefender si Comodo Internet Security.Trebuie precizat ca in ciuda numarului mic de utilizatori care recomanda solutia de securitate de la Comodo, aceasta include pe langa antivirus si o solutie eficienta de firewall, acestea putand fi instalate atat separat cat si in varianta completa.
 

Multi ar alege alta solutie de securitate, ce nu recomanda sub nicio forma folosirea programelor antivirus gratuite.Bineinteles ca exista o mare gama de solutii antivirus ,mai ales cele platite, printre care:
NOD 32, Kaspersky, BitDefender, Panda Security,Trend Micro,Symantec.
 

Personal, ca solutie platita, recomand Kaspersky Antivirus pe care-l consider de exceptie.
 

Metode de scanare
 

Norton Antivirus Corporate Edition, ca sa luam un exemplu, foloseste mai multe tehnologii antivirus si metode de scanare pentru a furniza o solutie eficientã de scanare a tuturor fisierelor prezente în reteaua informaticã.
        Se poate folosi orice combinatie intre urmatoarele tehnici de scanare:
1.    Scanari manuale sau la cerere. Se inspecteazã fisierele si directoarele selectate de pe computerele selectate. Scanãrile manuale sunt ideale pentru a furniza rezultate imediate ale inspectãrii unei portiuni reduse a retelei sau a harddisk-urilor locale.
2.    Scanari în timp real. Se inspecteazã fisierele comparându-se cu definitii ale virusilor cunoscuti pe mãsura ce acestea sunt citite sau scrise pe un server sau client. De asemenea, pentru clientii pe 32 biti (Windows 95 si 98) se asigurã si o scanare în timp real a email-ului. Acest tip de scanare asigurã o protectie neîntreruptã a clientilor si serverelor.
3.    Scanari periodice programate. Se inspecteazã fisierele si directoarele selectate la momente de timp predeterminate. Scanãrile regulate sunt ideale pentru portiuni mari ale retelei (chiar întreaga retea) deoarece scanãrile pot fi rulate în orele din afara activitatii productive când traficul de retea este scãzut. De exemplu, o astfel de scanare poate fi programatã pentru inspectarea tuturor fisierelor din retea de îndatã ce a fost descãrcatã o noua versiune de definitii de virusi.
4.    Scanari la conectare. Acestea sunt aplicabile numai pentru clientii DOS si Windows. Se inspecteazã calculatoarele client pe masura ce acestea se conecteazã la retea. Se pot configura aceleasi optiuni de scanare pentru toti clientii ce se conecteazã la un server Norton Antivirus Corporate Edition.
 

Ce ne rezerva viitorul?

Produsele anti-virus se vor maturiza foarte mult. Cele fara interfata utilizator decenta, vor avea zile grele in competitie cu cele cu o interfata atragatoare. Cele cu un timp mare de executie vor fi respinse in favoarea celor care ruleaza in cateva secunde. Exact ce virusi sunt detectati, va avea mai putina importanta (este foarte greu pentru utilizatori sa inainteze plangeri pentru atatea mii de virusi); va prima mai ales utilizarea usoara a unui produs, si marele efect pe care il are interfata in utilizarea calculatorului.

Vor apare produse noi, intrucat fiecare firma incearca sa inventeze ceva care sa le faca pe cele existente de prisos. Uneori ingredientul magic va fi software-ul (inteligenta artificiala, retele neuronale, sau orice ultima noutate din acest domeniu) si alteori va fi hardware-ul (care nu poate fi niciodata infectat, cu exceptia cazurilor cand nu aceasta este cauza problemelor). Aceste produse vor aparea pe neasteptate in lume, dar vor disparea la fel de repede si fara urme, atunci cand utilizatorii vor constata ca instalarea lor le face calculatorul inutilizabil sau ca ele nu descopera nici un virus, sau, amandoua la un loc. Dar altele si altele vor urma.

Unele calculatoare au fost deja construite cu rezistenta incorporata impotriva virusilor. Unele tipuri de calculatoare sunt deja imune la virusii de sectoare boot, in cazul cand faceti o simpla alegere in setup-ul CMOS (nu bootati de pe discheta). In acest moment, doar cativa utilizatori stiu ca pot seta calculatorul in acest fel, dar oamenii incep, gradat, sa gaseasca calea de a se descurca si singuri. Acest lucru nu rezolva problema virusilor, dar orice lucru care face lumea un loc dificil pentru virusi, este un ajutor.
Problema virusilor va exista pentru noi intotdeauna. Nu este acea problema dramatica, zguduitoare asa cum a fost in cazul virusului Michelangelo; si nici nu este problema "scamei-de-pe-haina-dvs". Dar atat timp cat oamenii au probleme cu calculatoarele lor, vor fi alti oameni care vor oferi solutii pentru aceste probleme.
Cam cum va arata viitorul in acest domeniu? Vor fi mai multi virusi - se poate prezice foarte usor acest lucru. Cat de multi, este greu de spus, dar in ultimii ani, numarul de virusi s-a dublat. Acest lucru, in mod sigur va trebui sa inceteze.
Problema "glut" va continua, si ar putea sa devina extrem de grava. Cel mai mare cosmar pentru toti cei angrenati in lupta anti-virus este "glut"-ul(biblioteca  folosita ca programele scrise in OpenGL sa aiba si o interfata bazata pe ferestre). Numarul profesionistilor AV (antivirus) de prima clasa din toata lumea este sub o mie, iar cele mai multe companii de produse sau servicii antivirus au doar cateva zeci dintre acesti oameni (unele nu au nici unul). Ar fi greu de creat mai multi, deoarece curba procesului de invatare este foarte abrupta. Prima oara cand dezasamblezi un virus (de ex. virusul Jerusalem), iti ia o saptamana. Dupa ce ai facut aproximativ o suta de virusi, ai putea trece prin ceva atat de simplu ca Jerusalem in numai 15 minute.
Virusii polimorfi de macro vor deveni din ce in ce mai numerosi. Se pare ca ei sunt o problema mult mai mare decat virusii stealth, pentru ca stealth-ul este indreptat spre verificatorii pe baza de sume de control, iar polimorfismul spre scannere, care sunt uneltele cele mai des folosite de oameni. Si fiecare virus polimorfic va fi o sursa de alarme false, si va avea drept rezultat o munca mult mai mare din partea cercetatorilor decat cea depusa pentru virusii normali. Virusii vor continua sa devina din ce in ce mai complecsi, iar autorii de virusi vor invata tehnicile, si vor incerca sa-si imbunatateasca progresiv programele ca sa se asigure ca virusii lor nu vor fi detectati.
Scannerele vor deveni mai mari - va fi nevoie de mai mult cod, pentru ca mai multi virusi vor avea nevoie de mai multe instructiuni pentru a-i scana. Bazele de date pe care le vor folosi scannerele vor deveni mai mari; fiecare virus nou va trebui sa fie detectat, identificat si eliminat. Incarcarea bazei de date va dura mai mult, iar unele programe vor avea probleme cu memoria.