Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

Nettservere er vert for filene (nettsider, bilder, videoer, skjemaer osv.) som utgjør nettapplikasjonen din og serverer disse filene når noen besøker nettstedet ditt. Noen servere er mer avanserte og kontrollerer også hvor mye tilgang nettbesøkende har. De kan begrense vanlige besøkende fra å få tilgang til andre brukeres kontoer eller administrative dashboards. Selv om webservere er effektive i det de gjør – og de gjør det ganske sikkert – kan angripere utnytte feil som oppstår fra menneskelige feil eller mangelfull logikk i hvordan en server betjener filene den er vert for.

Hva er et LFI-angrep?

Et LFI-angrep (Local File Intrusion) skjer når angripere utnytter sårbarheter i hvordan en webserver lagrer, betjener, validerer eller kontrollerer tilgangen til filene sine. Denne sårbarheten er vanlig for PHP-baserte nettsteder.

I motsetning til mange former for nettangrep der angripere er avhengige av skadelig programvare for å ødelegge en applikasjon, stoler angripere i LFIer stort sett på smarte triks og korte kodelinjer. Dette krever sjelden sofistikerte verktøy eller komplekse skript; angrep skjer vanligvis i nettleseren. Det vanligste trikset angripere bruker er å endre URL-strengen med kode, filbaner eller filnavn.

Hvordan skjer LFI-angrep?

LFI-angrep skjer vanligvis i fire stadier.

Først identifiserer angriperen et PHP-nettsted som kjører en sårbar nettapplikasjon, vanligvis ved å kjøre en grunnleggende kode i nettleserens URL for å se om nettapplikasjonen (dvs. nettstedet) håndterer kommandoen. Tenk på det som å trykke på tastekombinasjoner på spillkontrolleren for å låse opp et påskeegg – for eksempel å trykke på ned-tasten for å gå inn i tunneler i Super Mario. Men kommandoene angripere kjører i LFI-angrep er mer konsistente enn å sjekke hver tunnel i Super Mario.

En nettapplikasjon eller server som er feil konfigurert eller ikke klarer å validere innganger, vil kjøre den skadelige koden. Herfra kan hackeren få tilgangen og rettighetene de trenger for å lese sårbare filer eller laste opp ondsinnede filer til serveren.

De fleste LFI-angrep resulterer i at angriperen får tilgang til sensitiv informasjon. Muligheten for å laste opp skadelig programvare er sjelden vellykket fordi det ikke er noen garanti for at nettapplikasjonen vil lagre filen på samme server der LFI-sårbarheten eksisterer. Dette er ofte tilfellet hvis webapplikasjonen er i et multiservermiljø.

Så hvis LFI-sårbarheten eksisterer på serveren som er vert for bilder, men ikke serveren som lagrer ansatte legitimasjon eller brukerpassord, ville angriperen bare ha tilgang til bildefiler på den sårbare serveren. Uansett, cyberarrangementer som angrepet på LastPass viser at hackere kan skape kaos med tilsynelatende det mest ubetydelige tilgangsnivået.

Hvordan forhindre LFI-angrep

LFI-angrep er ganske vanlig, ifølge Åpne Web Application Security Project (OWASP). Forståelig nok vil hackere favorisere dette angrepet siden, som W3Techs rapporter, nesten åtte av 10 nettsteder kjører PHP som et server-side programmeringsspråk – en overflod av ofre, for å si det sånn. Det er mulig å forhindre et LFI-angrep ved å ta i bruk beste fremgangsmåter for nettsikkerhet.

Hviteliste offentlige serverfiler

Nettapplikasjoner bruker ofte filbaner som URL-inndata. Hackere kan utnytte dette arkiveringssystemet ved å endre den delen av URL-en som fungerer som en filbane. For eksempel kan en angriper endre seg https://dummywebsite.com/?module=contact.php til https://dummywebsite.com/?module=/etc/passwd. En sårbar server med dårlig filtrering og feil logikk vil vise innholdet i filen som er lagret i banen /etc/passwd.

Selvfølgelig bruker hackere varianter av vanlige filnavn og kombinasjoner av søketegn for å øke sjansene for et vellykket angrep. Målet er å lure webapplikasjonen til å kjøre et skript eller vise filene på en webserver.

Du kan blokkere dette sikkerhetsproblemet ved å opprette en hviteliste over offentlige dokumenter på serveren din og instruere nettapplikasjonen til å se bort fra forespørsler for hvert annet dokument eller filbane. Så hvis en angriper prøver å manipulere URL-en for å be om eller kjøre koder som ber om en privat, får de en feilside i stedet.

Test for sårbarheter ofte

Du kan bruke verktøy for nettskanning for å finne og fikse sårbarheter som kan utsette deg for LFI-angrep. Nettappskannere er automatiserte verktøy som gjennomsøker appen din som en angriper og varsler deg om potensielle sårbarheter. Det er flere åpen kildekode nettskannere som OpenVAS og Wireshark, men de fleste sårbarhetsskannere er proprietær programvare og krever betalte planer for å bruke.

Men du får selvfølgelig ikke en nettskanner for bare LFI-angrep. Disse verktøyene ser også etter bredere sikkerhetssårbarheter som ekstern filinkludering, skripting på tvers av nettsteder, SQL-injeksjon og dårlige serverkonfigurasjoner. Så de er verdt det.

Begrens nettstedsbesøkende privilegier

Hackere utfører ofte LFI-angrep med hell fordi nettapplikasjoner ikke klarer å oppdele brukerprivilegier, og dermed lar besøkende få tilgang til filer som bare skal være synlige for administratorer. Dette tiltaket fungerer som hvitlisting: konfigurer nettapplikasjonen og serveren din slik at de serverer offentlige filer og ignorerer uautoriserte forespørsler når en besøkende samhandler med nettappen. Dette er spesielt viktig for spørringer til filstier som inneholder sensitive filer.

For dette formål må du kanskje forhindre at filstier endres direkte. Nettappen skal kun servere dokumenter fra en hardkodet stiliste. Videre, konfigurer nettappen til å behandle forespørsler med dynamisk banesammenkobling (URL-ene skal inneholde alfanumeriske tegn) i stedet for base64- eller bin2hex-funksjoner.

Hvis du tenker på å svarteliste filnavn, ikke gjør det. Hackere har vanligvis en voksende liste over filnavn de kan bruke til å utføre et LFI-angrep. Dessuten er det praktisk talt umulig (og en kolossal sløsing med tid) å svarteliste en liste over stadig økende kilder av angrep.

Bruk et multiservermiljø

Et multiservermiljø lar deg isolere viktige, sensitive dokumenter fra offentlige filer, og reduserer dermed risikoen i tilfelle brudd. Dedikerte servere er mindre sårbare for LFI-angrep fordi selv om de fungerer sammen, er konfigurasjonene deres forskjellige.

I tillegg til denne sikkerheten er flere servere også pålitelige (med lavere risiko for nedetid), raske og effektive. Riktignok er det ikke kostnadseffektivt å bruke et multiservermiljø hvis nettstedet ditt er lite. I så fall bør du vurdere å dele nettapplikasjonens tilgang til data mellom en database for private data og en server for offentlige filer.

Bør du være bekymret for LFI-angrep?

Muligheten for et LFI-angrep er der, spesielt hvis nettstedet ditt kjører på PHP, men du kan redusere eksponeringen ved å konfigurere nettapplikasjoner og servere i henhold til beste praksis for nettsikkerhet.

Videre bør du vurdere å gjøre rutinemessige sikkerhetssjekker for å finne sårbarheter. Ting går i stykker hele tiden, spesielt ettersom nettstedsarkitekturen blir kompleks. Verktøyene du trenger for å beskytte deg selv er automatiserte, og mange krever ikke et forseggjort oppsett eller avansert teknisk kunnskap.