Nettavis for lørdag 2003

Hektisk arbeid i siste liten

Cybertasks Som alltid serverte Pavel en morgenoppgave; denne gikk på konstruksjon av ord ut i fra bestemte regler og var vanskeligere enn vanlig, og ingen klarte å løse den. Det kan ha hatt noe med hvor trøtte de fleste var...

Som følge av litt for mye Unreal Tournament 2003 og de uforutsette problemene man alltid støter på, måtte de fleste jobbe i høyt tempo for å bli ferdig med sine respektive prosjekter. Klokken 13:30 var det nemlig tid for fremføring av prosjektene. Naturligvis ble ikke alle ferdige i tide, så vi fikk ikke begynt før klokken 14:00.

AI-gruppa

Robot Åsmund var førstemann ut. Roboten hans brukte en infrarød stråle som ble brutt når den traff en boks, og, som alle de andre, en lyssensor til å finne ut fargen av boksen. Roboten plukket opp én svart filmboks av gangen og brukte en kompassensor for å finne veien tilbake til porten, der den slapp fra seg boksen.

Robot Robot

Johan og Daniel hadde hver sin variant av det samme konseptet: Robotene deres hadde en lang innsamler foran, og en lyssensor i fronten. Den kjørte rett frem (unntatt når den traff veggen og snudde) og samlet inn de boksene den traff, helt til den merket en svart boks. Da snudde den og fortsatte i en annen retning.

Robot Raymond, som hadde vært på gruppe med Andreas inntil sistnevnte måtte følge med familien på ferie, hadde droppet oppgaven de andre hadde jobbet med og heller laget et par andre roboter. Blant dem var en som kunne kjøre rundt på et bord og snu hvis den holdt på å kjøre over kanten.


Roboter Her er alle robotene

Sikkerhetsgruppa

Egil Etter en liten introduksjon fra Rune Kristian og Kristoffer fortalte Egil hvordan man kunne utnytte såkalte buffer overflows. Ved å skrive mer data til minnet enn programmet egentlig har lov til kan man få programmet til å starte programkode man selv har skrevet, og dermed få kontroll over datamaskinen. For de litt mer teknisk interesserte: Stacken er bygd opp slik i minnet: | ... | buffer for main() | returadresse for func() | buffer for func() | Ved å utnytte manglende boundary check i funksjoner som strcpy() kan man overskrive returadressen og dermed få maskinen til å kjøre ens egen kode.

Michael Deretter fortalte Michael om noe lignende: Ofte har programmerere glemt å spesifisere en såkalt formatstreng for funksjonen som skriver ut data til skjermen (printf() kan kalles både som printf("%s", buffer) og printf(buffer), sistnevnte er altså et sikkerhetshull). Dette kan man utnytte ved å spesifisere sin egen formatstreng, og ved hjelp av en avansert metode som undertegnede ærlig talt ikke forstod helt selv (og Michael reiste hjem til Danmark før jeg fikk stått opp på søndag) kan man overskrive returadressen og dermed kjøre sin egen kode.

Johannes Sist ut var Johannes, som hadde arbeidet med såkalt pakkesniffing. Man ønsker å "avlytte" trafikken mellom to datamaskiner, eller mellom en datamaskin og en ruter. Ved å sende adresseinformasjon (en ARP-pakke) til datamaskinen og ruteren kan man få datamaskinen til å tro at du er ruteren og ruteren til å tro at du er datamaskinen. Din egen maskin tar opp all dataen som sendes mellom datamaskinen og ruteren, og sender den videre dit den egentlig skal slik at ingen merker noe. Slik man man overvåke andres kommunikasjon, og man kan også forstyrre den ved å forandre på datastrømmen.

Premieutdeling

Åsmund Vi skulle snart få merke at det hadde lønt seg å gjøre en iherdig innsats når det gjaldt morgenoppgavene og cybertasks'ene som Pavel hadde laget. Det vanket nemlig premier på de tre som hadde løst flest oppgaver. Størrelsene på premiene var svært ulike (noe urettferdig, men ingen klaget). Johannes kom på tredjeplass og fikk en pose Smørbukk. Michael kom på andreplass og fikk en svær bok om programmeringsalgoritmer. Denne hadde han dessverre fra før av, så han skulle få en annen. Åsmund, som i siste liten hadde arbeidet seg et hode foran, gikk nesten i gulvet da han fikk en XBox med to tilhørende spill... Deretter fikk lederene påskjønnelser.

Utflukt til stranden

På ettermiddagen tok vi en tur ut til Korsvika, der vi grillet, badet og koste oss. Pavel hadde atter arrangert noen konkurranser, men denne gangen av en mer fysisk karakter. Dette innebar blant annet triksing med badmintonracketer (vinden var for sterk til å spille) og "skattejakt" der en person fra hvert lag skulle være med det andre laget til skatten, memorere veien og fortelle de andre hvordan de skulle finne skatten.

Og det var slutten på både årets CyberCamp, og jeg er sikker på at alle var meget fornøyde. Jeg kommer ihvertfall tilbake neste år...

Solnedgang