Portál AbcLinuxu, 12. května 2025 09:27

Dotaz: Pohovor na Linux admina - otazka

polo23 avatar 17.2.2014 20:27 polo23 | skóre: 28 | blog: polo23
Pohovor na Linux admina - otazka
Přečteno: 931×
Odpovědět | Admin
Ahoj,

dneska jsem byl na pohovoru Linux admina a byla tam jedna otazka se kterou jsem si neporadil:
Jaky utok vyuziva skutecnosti, ze program zapisuje mimo alokovanou pamet?
Vite spravnou odpoved? Ja si jen matne pamatuju, ze existuje utok zalozeny na "preteceny zasobniku"... ale spis mi to jen uvizlo v hlave a pletu si to s necim jinym.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

17.2.2014 20:35 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Divná otázka (ako asi väčšina podobných otázok na pohovore). Máš pocit, že ten, kto kládol otázku bol dostatočne fundovaný, aby posúdil správnosť odpovede?

Program môže obsahovať chybu typu "neošetrenie zápisu mimo alokovanú pamäť" (noešetrenie buffer overflow) a to môže poskytnúť odrazový mostík pre útok. Inými slovami "buffer overflow" je "situácia" - nie som si istý, či to možno označiť za "typ útoku".

Tá alokovaná pamäť môže byť na zásobníku, ale aj mimo zásobníku. Takže pretečenie zásobníku by som označil, za pod-druh "buffer overflow".
MMMMMMMMM avatar 17.2.2014 20:36 MMMMMMMMM | skóre: 44 | blog: unstable | Valašsko :-)
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Já bych si tipnul právě to přetečení zásobníku (buffer overflow). ;-)
Linux Dokumentační Projekt - PDF ke stažení
17.2.2014 22:04 tldr
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ten kto dal taku otazku na pohovore na linux admina tak tomu by som sa vysmial do oci. Isto nejaky cechaces s MyFirstVPSHosting.cz
LangPa avatar 17.2.2014 23:18 LangPa | skóre: 12 | blog: LangPavel | Hradec Králové
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ještě existuje buffer underflow, je to stejný případ akorát na druhou stranu a je to asi použitelnější ;-)
17.2.2014 23:21 pocitujlasku | skóre: 16
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin

Tiez si myslim, ze je to pretecenie zasobnika, aj ked nestastne polozena otazka.

Podobne otazky som mal v jednej dost znamej firme, ked som sa hlasil na poziciu delphi programatora. Az na pohovore som pochopil preco ta pozicia bola volna vyse pol roka.

Pohovor spocival v teste na papier, kde som mal napisal z hlavy program podla roznych zadani, najst chyby v programe, robit select z db - normalny programator si to vie vygooglit, select z db ja robim v niekolkych krokoch, kde si postupne upravujem select.

17.2.2014 23:35 Xerces
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
V pondělí bych to hodil na papier, teda na papír a koncem týdne, respektive začátkem příštího týdne, byste to mohly mít všichni na stole ..... možná. :-)
18.2.2014 00:03 lertimir | skóre: 64 | blog: Par_slov
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin
Také bych to nazval jako buffer-overflow. Stack-oveflow je obecně něco jiného. To je situace, kdy stack programu přesáhne nastavené hranice. Pak se nedá do něj přidat a tím pádem provést některé akce např. zavolat funkce a korektně se s ní vrátit. Buffer-overflow je, kdy zapisuji někam, co jsem si nerezervoval. Např do pole velikosti 100 napíšu 110 prvků v cyklu. Někdy to dopadne jako SEGFAULT, ale hlavní sranda je, když je programátor má buffer ve funkci zadefinován staticky a nemá ošetřené, že nezapíše mimo hranice, protože na stacku se mixuje datová informace (parametry funkce a statické proměnné) a programová informace (návratová hodnota program-counteru pro návrat do volající procedury). Pokud jako cílený útočník přepíšu zápisem mimo povolený buffer tuto návratovou hodnotu adresou v paměti, kde sedí můj kód (třeba právě ten, který jsem psal do bufferu), tak ve chvíli kdy doběhne funkce a vyzvedne se PC z bufferu, mohu prakticky provádět cokoliv (s právy programu, který má tuto chybu). viz mnoho návodů jako jedna, dva nebo tři.

A pro doplnění článek, který byl první (nebo alespoň pro mne první) Smashing The Stack For Fun And Profit z listopadu 1996 v magazínu Phrack.
18.2.2014 00:31 panbucek
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin
neres, mas to dobre ;)
18.2.2014 01:04 anonym
Rozbalit Rozbalit vše Re: Pohovor na Linux admina - otazka
Odpovědět | | Sbalit | Link | Blokovat | Admin
zalezi co presne tazatel myslel tou alokaci.

malloc() totiz ma vic pameti nez ti vraci, takze pokud myslel zapis za konec pole tak je to buffer overflow

pokud myslel zapis do nenamapovane pameti (tedy takova virtualni adresa ktera nema prirazene mapovani na fyzickou) tak je to spis DoS, sic ten program bude hnedka zabit

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.