Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

TEORIJA: UNIX i fork()

[es] :: Security :: TEORIJA: UNIX i fork()
(TOP topic, by Gojko Vujovic)

[ Pregleda: 11190 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

t3chX
Srđan Rajčević
Thessaloniki

Član broj: 2509
Poruke: 101
*.salonica.access.acn.gr

Jabber: techx@elitesecurity.org


Profil

icon TEORIJA: UNIX i fork()17.05.2003. u 04:33 - pre 254 meseci
Ovako, ovo cu postaviti kao JAKO teorijsko pitanje ...
Poznato je da prosecan UNIX-oliki sistem (npr. Linux) ima ogranicen broj slotova za procese u proces tabeli (ako se varam, ispravite me).
Dalje, pod pretpostavkom da svaki user na sistemu ima MAX_PROCESS (tako li bese varijabla?) = unlimited probajte bezgranicno forkovati:

Code:

int main() {

for(;;) {
  int p = fork();
}

return 0;
}


Sta se desava kada se dodje do ogranicenja koje namece tabela ?



If you want to get anywhere in your life, don't break the rules - make them !
 
Odgovor na temu

t3chX
Srđan Rajčević
Thessaloniki

Član broj: 2509
Poruke: 101
*.salonica.access.acn.gr

Jabber: techx@elitesecurity.org


Profil

icon Re: TEORIJA: UNIX i fork()17.05.2003. u 05:03 - pre 254 meseci
Na Red Hat Linux 8.0 sistemu, gornji kod je krahirao masinu (P4 2,2 GHz, 512M DDR) za nepunih 5 minuta.
If you want to get anywhere in your life, don't break the rules - make them !
 
Odgovor na temu

B o j a n
eCTRL
EU

Član broj: 1178
Poruke: 2925
*.yubc.net

Jabber: bc@default.co.yu
Sajt: default.co.yu/~bc


+1 Profil

icon Re: TEORIJA: UNIX i fork()17.05.2003. u 12:24 - pre 254 meseci
sistem openbsd 3.2-stable 200MHz 64MB
Code:

$ gcc -g  -c test.c -o test
$ gdb test
warning: failed to install memory consistency checks; configuration should define NO_MMCHECK or MMCHECK_FORCE
GNU gdb 4.16.1
Copyright 1996 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB.  Type "show warranty" for details.
This GDB was configured as "i386-unknown-openbsd3.2"...
(gdb) run
Starting program: /tmp/test

Program received signal SIGSEGV, Segmentation fault.
0x0 in main () at test.c:1
1       int main()

Program puca ...
Korisnikova ogranicenja:
Code:

$ ulimit -a
time(cpu-seconds)    unlimited
file(blocks)         unlimited
coredump(blocks)     unlimited
data(kbytes)         65536
stack(kbytes)        4096
lockedmem(kbytes)    13032
memory(kbytes)       39096
nofiles(descriptors) 64
processes            64


Nadam se da je ovo bilo korisno.

"It's okay, I'm just admiring to the shape of your skull!" -- Dr. Gonzo
 
Odgovor na temu

Dejan Lozanovic
Dejan Lozanovic
Beograd

Član broj: 691
Poruke: 2325
*.verat.net

Jabber: null@elitesecurity.org
Sajt: speedy-order.com


+75 Profil

icon Re: TEORIJA: UNIX i fork()18.05.2003. u 16:01 - pre 254 meseci
pa kada napucas granicu bilo ulimit ili fizicki limit manje vise si blokirao sistem. Ono sto je sigurno recimo da je posljednji slobodan proces uvek rezervisan za root korisnika..... Ja sam svojevremeno radio takve stvvari kod mene na linuxu, jos sa 2.2.xx serijom kernela :)) i stvar je stabilno radila :))) ali cela ideja sa tim forkom mi je pala napamet kao pravi lokalni DoS
 
Odgovor na temu

t3chX
Srđan Rajčević
Thessaloniki

Član broj: 2509
Poruke: 101
*.salonica.access.acn.gr

Jabber: techx@elitesecurity.org


Profil

icon Re: TEORIJA: UNIX i fork()18.05.2003. u 22:35 - pre 254 meseci
B o j a n : Naravno, Theovi momci su osigurali OpenBSD do krajnjih granica (nije dzabe "Secure by default"). Ali isto tako susta je cinjenica da svi OSTALI *NIXi nemaju ulimit-a ...

Tako npr. FreeBSD 4.7 dozvoljava izvrsavanje koda, kao i NetBSD 1.5.2 (provereno kod mene na masinama), da ne govorim o Linux-ima (Slack 8, RH 8).

Zamisli scenario remote logovanje, a onda i izvrsavanje sa nohup-om ... Prosto je neverovatno da developer team-ovi ne brinu o ovakvim stvarima ...
If you want to get anywhere in your life, don't break the rules - make them !
 
Odgovor na temu

tOwk
Danilo Šegan
Zemun/Beograd

Član broj: 94
Poruke: 2743
*.beograd-2.tehnicom.net

ICQ: 9344053
Sajt: alas.matf.bg.ac.yu/~mm011..


+2 Profil

icon Re: TEORIJA: UNIX i fork()19.05.2003. u 02:04 - pre 254 meseci
Pri testiranju na ovaj način, meni sistem samo izuzetno uspori (ma jel'? ;-). „ulimit“ je konkretno podešavanje koliko moj shell može da pokrene procesa (tako kaže „man bash“), i zato nije preterano bitan u testu (npr. kod mene je ograničenje bilo oko 1400, a pokrenuto je i mnogo više procesa), pošto ostale procese ne pokreće bash.

Ukoliko ovaj proces „nice-ujem“ („upristojim“ :-), onda mogu i ponešto da radim, a da ne dođe do pada. Međutim, nisam čekao baš predugo (oko 10min), pa kad budem imao više vremena, videću kako se ponaša u takvoj situaciji.

Možda se moje mišljenje promenilo, ali ne i činjenica da sam u pravu.
 
Odgovor na temu

Jovan Marjanovic
HP GmbH
Stuttgart

Član broj: 942
Poruke: 456
*.net.external.hp.com

ICQ: 42
Sajt: www.hp.com


Profil

icon Re: TEORIJA: UNIX i fork()23.05.2003. u 13:27 - pre 253 meseci
Po nekoj staroj teoriji SunOS ne bi trebalo da dozvoli takve stvari. Onda se nasao jedan lik koji je resio da proba sledeci kod na produkcijskoj masini:

Code:

void main(void)
{
    int n=0;

    while(n=fork())
         n=fork();

    return;
}


Masina se zaglavila u roku od pet minuta, a tip je dobio opasno po tamburi (mislim da sam isti slucaj vec opisivao u nekoj temi na forumu).
Mada, lokalni DoS je moguc samo kad root potera isto programce.
Za automatsko dobijanje Super Moderatorskog statusa na Elitesecurity forumima pritisnite Alt+F4
 
Odgovor na temu

chupcko
Negde
Beograd

Član broj: 5560
Poruke: 1141

Sajt: www.google.com


+63 Profil

icon Re: TEORIJA: UNIX i fork()23.05.2003. u 15:01 - pre 253 meseci
Eh, ja mislim da su proizvodjaci nozeva krivi za sva ubistva izvrsena nozem :), kao i sto su proizvodjaci kreveta krivi za sve smrti u krevetu (kako mogu mirno da spavaju u tim istim krevetima :) ).

Naime na ozbiljnijim masinama se lepo stavi limit na broj procesa pa ko hoce da iskoristi sve svoje procese neka odradi to, a da li je zastita od toga ugradjena u kernel ili nije, je vec pitanje kako neko voli ili ne :).

Secam se price kada je neko testirao neki njinj sa nekim linuxom i izvukao zakljucak kako na njinju bolje radi web server (posledica sto je koristio default kompajliran kernel u nekoj distirbuciji (za single procesor masinu) a masina je bila 4-procesorska :) ).

Dakle to je normalno da moze superfork da sjebe masinu :))))), ali to i nije cudo, to mu je receno da radi :)))).

uzgred, sto pisati C, evo za bash: # :() { :|:& } ; :

CHUPCKO
 
Odgovor na temu

tweeester
Ivan Arandjelovic
bg yu

Član broj: 724
Poruke: 882
*.kc.vicert.com

Sajt: www.javasvet.net


Profil

icon Re: TEORIJA: UNIX i fork()23.05.2003. u 15:35 - pre 253 meseci
Na RH7.2 po default-u imas 256 procesa po user-u, tako da sam bez problema run-ovao programce i masini ne pada na pamet da rikne, doduse odziv je jadan ( a sta ocekivati)...

<< tko leti vrijedi, tko ne leti ne vrijedi >>
 
Odgovor na temu

B o j a n
eCTRL
EU

Član broj: 1178
Poruke: 2925
*.yubc.net

Jabber: bc@default.co.yu
Sajt: default.co.yu/~bc


+1 Profil

icon Re: TEORIJA: UNIX i fork()23.05.2003. u 22:55 - pre 253 meseci
Citat:
chupcko:
za bash: # :() { :|:& } ; :


ovo je dobra fora L;)))
supa-mega-fork unutar jednog procesa, tj. -bash-a.

mislim da se ovakav dos moze adaptirati za bilo koji drugi cli. mysql(1) mozda ?

"It's okay, I'm just admiring to the shape of your skull!" -- Dr. Gonzo
 
Odgovor na temu

BORG
Aleksandar (Sasa) U.
*NIX System/Network Administrator
BL-RS

Član broj: 200
Poruke: 916
*.dialup.blic.net

ICQ: 46124351
Sajt: bitches.kicks-ass.net


Profil

icon Re: TEORIJA: UNIX i fork()24.05.2003. u 01:28 - pre 253 meseci
limits.conf

With a PC, I always felt limited
by the software available.
On Unix, I am limited only by my knowledge.

--Peter J. Schoenster
 
Odgovor na temu

DownBload

Član broj: 1333
Poruke: 310
*.net4u.hr



Profil

icon Re: TEORIJA: UNIX i fork()31.05.2003. u 21:11 - pre 253 meseci
Ovakvi fork() napadi su jaaaako stara stvar.
Jedna od prvih local DoS forica.

Leon Juranic
 
Odgovor na temu

EArthquake

Član broj: 20684
Poruke: 884
*.smin.sezampro.yu.



+67 Profil

icon Re: TEORIJA: UNIX i fork()25.06.2006. u 10:11 - pre 216 meseci
http://en.wikipedia.org/wiki/Forkbomb

uvek mi je bilo interesantno da gledam sta se desava kada neko na ircu pomene taj bash form bomb :)
doduse prisecam se i jednog puta kada nije bilo bas smesno :) DownBload, znas na sta mislism :)
 
Odgovor na temu

[es] :: Security :: TEORIJA: UNIX i fork()
(TOP topic, by Gojko Vujovic)

[ Pregleda: 11190 | Odgovora: 12 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.