Nettavis for lørdag 2003
Hektisk arbeid i siste liten
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
Å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.
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.
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.
Her er alle robotene
Sikkerhetsgruppa
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.
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.
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
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...
