Ştiri:

Vă rugăm să citiţi Regulamentul de utilizare a forumului Scientia în secţiunea intitulată "Regulamentul de utilizare a forumului. CITEŞTE-L!".

Main Menu

Viruşi pentru sistemele de operare Unix-like...

Creat de morpheus, Februarie 28, 2011, 04:47:59 PM

« precedentul - următorul »

0 Membri şi 1 Vizitator vizualizează acest subiect.

morpheus

Este vreo deosebire fundamentală între mecanismul în care acţionează un virus în Windows, respectiv în Linux ori Solaris?
Poate cineva explica dacă sunt diferenţe fundamentale între structura fişierelor executabile între Windows şi Linux?
Finalmente, care e explicaţia pentru care sunt atât de mulţi să le zicem generic malware în Windows şi atât de puţini în sistemele de operare Unix-like?
Cu momentul în care ne naştem, timpul începe să ne ia viaţa înapoi. (Seneca)

tavy

Este foarte dificil să apară un virus pentru sisteme tip UNIX deoarece îi va fi foarte greu să se propage, un virus care nu se propagă nu prea are sens.
În general pe sisteme Linux sau UNIX nu se instalează programe din surse nesigure, nu prea ai de ce.
Dacă totuși un virus a infectat un sistem UNIX atunci acel virus trebuie să găsească un alt sistem compatibil pe care să se propage, pentru că sunt foarte multe tipuri și versiuni de sisteme UNIX este dificil de făcut un virus care să poată rula pe toate sau pe majoritatea. Pe urmă un virus trebuie să exploateze o gaură de securitate a sistemului, este inprobabil ca, spre exemplu, majoritatea sistemelor GNU/Linux să aibă aceeași gaură de securitate.
În lumea Linux găurile de securitate sunt descoperite și acoperite foarte repede.
Educația utilizatorilor diferă foarte mult între UNIX și Windows. Dacă în Windows utilizatorul este obișnuit și uneori încurajat să folosească contul ,,Administrator" în UNIX este descurajată utilizarea contului ,,root", echivalentul contului ,,Administrator" și chiar utilizatorul nu are nevoie să folosească în mod curent contul root.
Pentru diferențele dintre executabilele ,,Windows" și ,,UNIX" poți să pornești de la a arunca o privire peste EXE și Executable and Linkable Format. Oricum nu doar formatul executabilului contează, contează foarte mult și bibliotecile sistemului de operare.
Ar fi multe de spus pe tema aceasta, poate dezvoltăm subiectul cu altă ocazie.

morpheus

Pai hai sa fie tot topicul asta ocazia de care pomeneai ;D

Pe mine chiar m-ar interesa o explicatie cat mai tehnica cu putinta. Nu sunt tocmai un specialist in zona asta, dar as vrea sa pricep daca sunt particularitati legate de arhitectura software Windows/Unix-like care fac din Windows sisteme mai vulnerabile,
ori
e vorba doar de statistica pura (utilizatori Windows mai multi si mai putin cunoscatori)
si de
open-source vs. closed-source, si in acest caz avantajul fiind, macar teoretic, de partea comunitatii deschise.

Deci, daca poti sa faci o analiza tehnica, chiar as fi curios sa o citesc...
Cu momentul în care ne naştem, timpul începe să ne ia viaţa înapoi. (Seneca)

tavy

Citat din: fsoica din Martie 01, 2011, 12:30:15 AM
Pai hai sa fie tot topicul asta ocazia de care pomeneai ;D
Când am spus că ,,poate dezvoltăm subiectul cu altă ocazie" nu am vrut să spun că eu voi dezvolta și asta din cel puțin două motive:
1. Nu mă pricep prea bine la Windows și la viruși, cunoștințele mele în aceste ,,domenii" fiind doar puțin peste media administratorilor de sisteme Windows. Pe de altă parte știu destul de multe despre GNU/Linux, destul de mult peste media administratorilor de siteme GNU/Linux.
2. În perioada asta sunt destul de prins cu anumite proiecte și nu am timp (de aici vine ,,cu altă ocazie").

Dendros

Îmi expun şi eu puţinele mele cunoştinţe despre acest subiect. Din câte am înţeles, viruşii nu se prea pot răspândi într-un mediu Unix-like pentru că un astfel de mediu este (şi a fost gândit de la început) cu securitatea în minte. Mai exact, Unix a fost proiectat de la început ca un OS multi-user şi multi-tasking, ceea ce înseamnă că a trebuit să se ia în considerare separarea userilor şi proceselor, pentru a nu interfera şi de asemenea fiecare proces şi fişier este deţinut de un proprietar, iar asta în sine e deja un mecanism de securitate.

Din aceasta mai decurge şi faptul că un fişier/proces oarecare se poate executa numai cu drepturile celui care îl deţine şi, mai mult, un fişier nu devine automat executabil când este creat sau instalat ci trebuie să i se atribuie explicit dreptul de execuţie de către proprietar sau root. Şi, aşa cum a spus şi Tavy, diferenţa mai constă şi în educaţie, în Unix/Linux un user foloseşte un cont standard pentru sarcinile obişnuite, iar pentru sarcini cu privilegii mai mari foloseşte sudo sau su, după care revine la nivelul standard de privilegii.
Deci, chiar dacă ar fi infectat, virusul nu ar putea afecta decât fişierele personale ale userului, fără să ajungă la fişierele de sistem.

Pe de altă parte, Windows a fost conceput iniţial ca un OS cât mai user-friendly, practic mono-user (până la Windows Vista). În Windows 9x nu a existat o separare a privilegiilor userilor, orice cont era administrativ - cred că nu mai e nevoie să spun ce înseamnă asta d.p.d.v. al securităţii - viruşii puteau infecta orice proces/fişier, nu numai ale userului.
În Windows Vista/7 s-a introdus acestă separare (prin UAC) şi ar trebui să fie mai sigure, dar mulţi useri dezactivează UAC-ul, anulând practic sistemul de securitate şi expunându-l astfel viruşilor. Din nou, aici apare diferenţa de educaţie.

Cred că s-ar putea spune mai multe despre motivele pentru care Unix/Linux este mai puţin expus atacurilor malware-ului decât Windows, dar cum am spus, cunoştinţele mele sunt limitate.

AlexandruLazar

Citat din: Dendros din Martie 01, 2011, 04:22:54 PM
Îmi expun şi eu puţinele mele cunoştinţe despre acest subiect. Din câte am înţeles, viruşii nu se prea pot răspândi într-un mediu Unix-like pentru că un astfel de mediu este (şi a fost gândit de la început) cu securitatea în minte. Mai exact, Unix a fost proiectat de la început ca un OS multi-user şi multi-tasking, ceea ce înseamnă că a trebuit să se ia în considerare separarea userilor şi proceselor, pentru a nu interfera şi de asemenea fiecare proces şi fişier este deţinut de un proprietar, iar asta în sine e deja un mecanism de securitate.

Din aceasta mai decurge şi faptul că un fişier/proces oarecare se poate executa numai cu drepturile celui care îl deţine şi, mai mult, un fişier nu devine automat executabil când este creat sau instalat ci trebuie să i se atribuie explicit dreptul de execuţie de către proprietar sau root. Şi, aşa cum a spus şi Tavy, diferenţa mai constă şi în educaţie, în Unix/Linux un user foloseşte un cont standard pentru sarcinile obişnuite, iar pentru sarcini cu privilegii mai mari foloseşte sudo sau su, după care revine la nivelul standard de privilegii.
Deci, chiar dacă ar fi infectat, virusul nu ar putea afecta decât fişierele personale ale userului, fără să ajungă la fişierele de sistem.

Asta e numai o parte din problemă. Adevărul este că de fapt mecanismele astea se pot ocoli prin intermediul a diverse bug-uri din sistemul de operare sau ale unor programe din userspace, însă mecanismul de dezvoltare open source înseamnă că cel mai adesea, atunci când o astfel de problemă e descoperită, patch-ul care o rezolvă apare înaintea unor eventuali viruși (poate și sub ideea că în fond membrii comunității au lucruri mai utile și mai constructive de făcut). Așa, un asemenea mecanism, dealtfel chiar mai puternic decât în unele sisteme Unix (de exemplu decât cel din OS X) este implementat în Windows, și asta nu-l scutește de viruși.

CitatÎn Windows Vista/7 s-a introdus acestă separare (prin UAC) şi ar trebui să fie mai sigure, dar mulţi useri dezactivează UAC-ul, anulând practic sistemul de securitate şi expunându-l astfel viruşilor. Din nou, aici apare diferenţa de educaţie.

Corect -- dar aici problema nu e numai de educație ci și de implementare. O chestie enervantă la UAC mi se pare faptul că cere în continuu confirmare, în timp ce bridge-urile sudo pentru X11 (ca de exemplu gksu) au un delta t acolo în care, odată introdusă parola, nu te mai bate la cap măcar câteva minute, UAC insistă să întrebe de fiecare dată și e enervant.

Cred că s-ar putea spune mai multe despre motivele pentru care Unix/Linux este mai puţin expus atacurilor malware-ului decât Windows, dar cum am spus, cunoştinţele mele sunt limitate.
[/quote]

Dendros

Se pare că aţi avut dreptate, şi sistemele Unix-like pot fi infectate. Am citit că browserul Safari din OSX a fost spart în numai 5 secunde, cu toate că sistemul era cu update-urile la zi. N-aş fi crezut că OSX e atât de vulnerabil, din moment ce este un Unix-like, dar nimic nu e perfect, asta e concluzia pe care am tras-o.
Mă întreb dacă Ubuntu ar fi rezistat la încercările din acea competiţie.

tavy

Citat din: Dendros din Martie 16, 2011, 05:28:19 PM
Se pare că aţi avut dreptate, şi sistemele Unix-like pot fi infectate. Am citit că browserul Safari din OSX a fost spart în numai 5 secunde, cu toate că sistemul era cu update-urile la zi. N-aş fi crezut că OSX e atât de vulnerabil, din moment ce este un Unix-like, dar nimic nu e perfect, asta e concluzia pe care am tras-o.
Mă întreb dacă Ubuntu ar fi rezistat la încercările din acea competiţie.
Din ce văd eu aici vulnerabilitatea a fost legată de browser și nu de sistemul de operare, dacă un program are o anumită vulnerabilitate și programul este rulat de user sistemul de operare nu poate să facă nimic decât să limiteze stricăciunile la ce are dreptul utilizatorul care a rulat programul.

Dendros

Eu am citit, despre asta, şi că pentru a sparge Safari şi a-l determina să execute ceea ce s-a dorit, hackerii au trecut inclusiv de ASLR (address space layout randomization). Or, asta nu este o funcţionalitate a OS-ului şi nu a browserului?
Dacă e aşa, înseamnă că şi un Unix poate fi spart/infectat. Mi se pare că Apple începe să devină delăsătoare în privinţa securităţii şi nu e bine deloc, va semăna tot mai mult cu Microsoft.

AlexandruLazar

Mie nu mi-e prea clar exact care a fost procedura -- pe-acolo sunt o tonă de vorbe pompoase. Drept e că nici nu prea m-a interesat.

Pe de altă parte, în general eu nu prea "pun botu" la pwn2own pentru că exploiturile din anii trecuți au depins de fiecare dată de un utilizator care să facă ceva în mod evident greșit. O sută de sisteme de securitate n-or să oprescă infectarea unui sistem mânuit de un utilizator neglijent.