Hackerens forklaring

digi gjengir her et notat datert den 14. april 1997. Notatet er hackerens forklaring på hva som skjedde den skjebnesvangre natten mellom lørdag 5. og søndag 6. april 1997. I notatet digi har fått tak i er det gjort en del overstrykninger av advokaten til hackeren. Disse er gjengitt i klammer med overstrøket tekst. Notatet er forøvrig gjengitt i sin helhet.

digi.no gjengir også et tilleggsnotat datert 15. april som presiserer enkelte ting.

Notat ang. Telenor Nextel saken

Oppdraget med å flytte hjemmesidene

Forlaget Hjemmet Mortensen har sagt opp sin avtale med Telenor Nextel, og skal i den anledning flytte hjemmesidene til alle sine publikasjoner fra Telenor Nextel sin serer. Hjemmet Mortensen har inngått en avtale med Riksnett om å flytte hjemmesidene dit.

Når hjemmesider skal flyttes, må både filene som inneholder teksten i hjemmesidene (kalles også HTML-filer) og de underliggende programmer (kalles også script) som gir sidene funksjonalitet endres. Årsaken til at det er nødvendig med endringer er at servere for hjemmesider er satt opp forskjellig hos ulike leverandører. For å bevare funksjonaliteten i hjemmesidene, må de underliggende programmene gjennomgås og endres. En annen vesentlig grunn til å ta for seg disse er sikkerhetsaspektet. Feil i underliggende programmer kan representere sikkerhetshull ved at de kan gi tilgang til å utføre uønskede handlinger (utføre kommandoer) på serveren. Eksempler på slike handlinger kan være endring eller sletting av filer.

Riksnett fikk problemer med å foreta denne konverteringen, og ga derfor Yes Interactive AS dette oppdraget. I første omgang gjaldt dette bladene Kampanje og Doktor Online.

En kopi av hjemmesidene (dvs både HTML-filer og underliggende programmer) ble lagt opp på en server hos Yes Interactive AS. Det var på disse filene endringene skulle foretas. Samtidig ble de opprinnelige filene liggende hos Telenor Nextel til vår konvertering var ferdig. Årsaken til at filene måtte ligge på to steder er:

  • For å gjenopprette linkene gjennom sidene, samt opprettholde funksjonaliteten, var det nødvendig å ha en original å arbeide etter.
  • Inntil vår arbeidskopi var klar, var det nødvendig å ha et sett som var funksjonelt og tilgjengelig for publikum.

Selve kopieringen av de nødvendige filene ble foretatt [overstrøket tekst] ved Yes Interactive, [overstrøket tekst]. Dette foregikk i påskeferien (dvs. uke 13). [Overstrøket tekst]

I samarbeid med [overstrøket tekst] arbeidet jeg hele uke 14 med denne konverteringen. Vi startet med bladet Kampanje som representerte den største jobben. Denne bestod av omkring 14.000 filer. Til sammenlikning bestod bladet Doktor Online av omtrent 1.400 filer.

Under arbeidet med disse konverteringene oppdaget vi at de underliggende programmene hos Telenor Nextel var fulle av feil. Mange av programmene inneholdt også feil som i ulik grad representerte sikkerhetsproblemer.

Mot slutten av uke 14 nærmet vi oss slutten på arbeidet med bladet Kampanje. Jeg innleder derfor arbeidet med hjemmesidene til Doktor Online. Disse var på det tidspunkt allerede kopiert over til Yes Interactive sin server.

Jeg så ganske raskt at de underliggende programmene til disse sidene hos Telenor Nextel kunne inneholde mange sikkerhetshull. Dette kunne jeg raskt konstatere ved å foreta et maskinelt søk gjennom programmene. Et slikt søk kan indikasjoner på sikkerhetshull, men ikke sikre påvisninger.

I en samtale med [overstrøket tekst] fikk jeg vite at Doktor Online var flyttet til en egen server. [Overstrøket tekst] trodde at originalkopien til Doktor Online sidene var flyttet fra en server hos Telenor Nextel til en server hos Riksnett. Jeg fikk vite at disse sidene lå på en egen server hvor det ikke var andre hjemmesider. Imidlertid har det i ettertid vist seg at det bare var doménet som var flyttet (en flytting av et domene innebærer ikke en flytting av filene).

Forløpet kvelden 5/4 1997

Tidsfristen for dette oppdraget var allerede overskredet, og ettersom min samboer ikke var hjemme og min sønn sov, bestemte jeg meg for å fortsette mitt arbeid med Doktor Online fra min hjemmedatamaskin. Via modem benyttet jeg derfor telefonen til å koble meg opp til Internett. Dette er noe jeg ofte gjør når jeg har arbeid å gjøre, men ikke anledning til å sitte på kontoret.

En av de viktigste oppgavene jeg hadde når det gjaldt Doktor Online, var å finne og eliminere sikkerhetshull i de underliggende programmene. Jeg hadde mistanke om at det var et sikkerhetshuøll i det underliggende programmet "registrer.pl". Et underliggende program er et sett av kommandoer som utfører en operasjon. For å starte et underliggende program må det gis utførelsesordre gjennom et formular (kalles for "form" i fagsjargong).

For [å] utrede i hvilken grad "registrer.pl" representerte et sikkerhetshull, tok jeg en kopi av formularet og lagret det i en fil på mitt hjemmeområde (det vil si en del av harddisken hos Yes Interactive som bare jeg har tilgang til). Deretter modifiserte jeg formularet ved å legge til ";rm -rf /".

Dersom jeg hadde rett angående sikkerhetshull, skulle jeg kunne utføre en hvilken som helst kommando direkte til operativsystemet Unix. Når en bruker utfører kommandoen "rm -rf /" slettes alle filene som vedkommende har tilgang til å endre. I dette tilfellet blir det alle filene som web-tjeneren (det programmet på en server som bestyrer hjemmesidene) har tilgang til å endre. Dette er normalt et lite antall filer. I ettertid vet jeg at på grunn av en feil ved serveren til Telenor Nextel (som Telenor Nextel innrømmer) hadde web-tjeneren tilgang til å endre alle hjemmesidene på deres server. En web-tjener skal ikke ha mulighet til dette, og dette er årsaken til det store omfanget.

Ettersom jeg var sikker på at sidene til Doktor Online lå på en egen server, var jeg overbevist om at denne sikkerhetstesten ikke ville medføre annet enn at enkelte filer hos Doktor Online - eller i verste fall hele Doktor Online - ville bli slettet dersom det fantes et sikkerhetshull. Siden vi hadde en kopi av disse sidene ville ikke utfallet føre til noen skade da hjemmesidene ville kunne kopieres tilbake fra vår lkopi. Årsaken til at jeg valgte nettopp denne sikkerhetstesten, var at den var den enkleste og raskeste, samtidig som den utfra de opplysningene jeg hadde på det daværende tidspunkt også var en sikker måte.

Jeg har jobbet med web-tjenere i flere år, både ved Senter for Utvikling og Miljø (Universitetet i Oslo) og i min nåværende stilling. Derfor vet jeg nøyaktig hvilken informasjon som blir lagt igjen i loggene. Ved hjelp av logger har jeg tidligere avslørt misbruk av underliggende programmer, og identifisert brukeren. Jeg var derfor fullstendig klar over at operasjonen jeg utførte kunne spores tilbake til meg (henvisning til filen på mitt hjemmeområde). Dersom jeg hadde ønsket å skjule min identitet, ville jeg valgt en annen, litt mer tungvint fremgangsmåte.

Den eneste årsaken til at jeg laget en kopi av formularet og lagret dette på mitt hjemmeområde, var at dette er den raskeste måten å foreta endringer i kommandosettet som overføres. Dette kan like gjerne gjøres ved å beregne en URL (en type adresseangivelse) som inneholder det samme kommandosettet. Dette er imidlertid litt mer tidkrevende ettersom det blant annet fordrer beregninger av heksadesimale verdier (med andre ord en omregning av verdier fra titallssystemet til sekstentallssystemet).

Etter å ha utført operasjonen, sjekket jeg om det skjedde noe med hjemmesidene til Doktor Online. Etter å ha sjekket en stund, kunne jeg ikke se at noen ting hadde skjedd, og jeg fikk heller ingen tilbakemelding fra programmet som antydet at operasjonen faktisk var blitt utført. Jeg prøvde derfor samme operasjon en gang til. Da det ikke var noe synlig resultat etter det forsøket heller, konkluderte jeg med at jeg ikke hadde funnet noe sikkerhetshull. I ettertid har jeg forstått at årsaken til at sidene til Doktor Online ikke ble berørt, var at slettekommandoen begynte et helt annet sted med slettingen, og ble stoppet av web-tjeneren før det kom så langt som til Doktor Online sine sider. (Alle underliggende programmer blir stoppet av web-tjeneren dersom de ikke er fullført etter en viss tid). Jeg var dermed uvitende om at dette hadde ført til sletting av filer frem til mandag 7/4.

Fremgangsmåten jeg benyttet kunne vært brukt av alle med tilgang til Internett. Det var ikke behov for noen detaljert kunnskap om de underliggende programmer. Det kreves heller ikke stor kunnskap om programmering (jf. Hannemyr ang. rakettvitenskap i digi:data 11.4.97).

Til toppen