Sikkerhet

10 typer sikkerhetsproblemer

10 typer sikkerhetsproblemer
En utilsiktet eller utilsiktet feil i programvarekoden eller ethvert system som gjør det potensielt utnyttbart når det gjelder tilgang til uekte brukere, ondsinnet oppførsel som virus, trojanere, ormer eller annen skadelig programvare kalles et sikkerhetsproblem. Bruk av programvare som allerede er utnyttet eller bruk av svake passord og standardpassord, fører også til at systemet blir sårbart for omverdenen. Denne typen sikkerhetsproblemer krever oppdatering for å forhindre at hackere bruker tidligere brukte utnyttelser på dem igjen for å få uautorisert tilgang til systemet. Et sikkerhetsproblem som også kalles sikkerhetshull eller svakhet er en feil, en feil eller en feil i implementeringen av kode, design og arkitektur til et webapplikasjon og servere, som når de ikke adresseres kan føre til kompromittering av systemet og gjør hele nettverket sårbart for angrepet. Personene som kommer til å bli smittet inkluderer applikasjonseieren, applikasjonsbrukere og enhver annen person som stoler på den applikasjonen. La oss se på de farligste og vanligste sikkerhetsrisikoen for webapplikasjoner.

Innholdsfortegnelse

  1. Databaseinjeksjon
  2. Brutt autentisering
  3. Sensitiv dataeksponering
  4. XML-eksterne enheter (XEE)
  5. Brutt tilgangskontroll
  6. Feilkonfigurasjon av sikkerhet
  7. Cross-site Scripting (XSS)
  8. Usikker deserialisering
  9. Bruke komponenter med kjente sikkerhetsproblemer
  10. Utilstrekkelig logging og overvåking

Databaseinjeksjon:

I tilfelle du sender ikke-klarerte data til tolk som en del av kommandoen gjennom et område som tar brukerinngang i.e skjemainndata eller andre datainnleveringsområder, injeksjonsfeil oppstår. Angriperens ondsinnede spørsmål kan lure tolken til å utføre kommandoer som kan vise konfidensielle data som brukeren ikke har autorisasjon til å se på. For eksempel i et SQL-injeksjonsangrep, når skjemainndata ikke er riktig renset, kan angriperen gå inn i SQL-databasen og få tilgang til innholdet uten autorisasjon, bare ved å angi skadelig SQL-databasekode i et skjema som forventer en ren tekst. Enhver type felt som tar brukerens innspill, kan injiseres i.parametere, miljøvariabler, alle webtjenester osv.

Søknaden er sårbar for injeksjonsangrepet når brukertilførte data ikke blir renset og validert, ved bruk av dynamiske spørsmål uten kontekstbevisst rømming og bruk av fiendtlige data direkte. Injeksjonsfeil kan lett oppdages ved undersøkelse av kode og ved bruk av automatiserte verktøy som skannere og fuzzere. For å forhindre injeksjonsangrep, er det noen tiltak som kan tas som å skille data fra kommandoer og spørringer, bruk av et trygt API som gir et parametrerte grensesnitt, bruk av "hvitliste" validering av inngangsserver på serversiden gjennom verktøy som Snort, unnslippe spesialtegn ved hjelp av spesifikk flukt-syntaks osv.

Et injeksjonsangrep kan føre til et massivt tap av data, avsløring av konfidensiell informasjon, nektelse av tilgang, og det kan til og med føre til en fullstendig søknadsovertakelse. Noen SQL-kontroller som LIMIT kan brukes til å kontrollere store mengder datatap i tilfelle et angrep. Noen typer injeksjonsangrep er SQL, OS, NoSQL, LDAP injeksjonsangrep.

Brutt autentisering:

Angripere kan få tilgang til brukerkontoer og kan til og med kompromittere hele vertssystemet gjennom administratorkontoer ved å bruke sårbarhetene i autentiseringssystemer. Autentiseringsfeil tillater angriperen å kompromittere passord, sesjonstokener, autentiseringsnøkler og kan lenkes med andre angrep som kan føre til uautorisert tilgang til andre brukerkontoer eller økter midlertidig og i noen tilfeller permanent. La oss si at en bruker har en ordliste eller en ordbok med millioner av gyldige brukernavn og passord oppnådd under et brudd. Han kan bruke dem en etter en på ekstremt kortere tid ved hjelp av automatiserte verktøy og skript på påloggingssystemet for å se om noen fungerer. Dårlig implementering av identitetsstyring og tilgangskontroller fører til sårbarheter som ødelagt autentisering.

Søknaden er sårbar for godkjenningsangrep når den tillater prøving av forskjellige brukernavn og passord, tillater ordbokangrep eller brute force-angrep uten noen forsvarsstrategi, bruker enkle, standardpassord eller passord som lekker i ethvert brudd, avslører økt-ID-er i URL, bruker ordning for dårlig passordgjenoppretting, bruker et mønster av informasjonskapsler. Brutt autentisering kan enkelt utnyttes ved hjelp av enkle verktøy for å tvinge brute og ordbokangrep med en god ordbok. Disse typer angrep kan forhindres ved hjelp av flerfaktorautentiseringssystemer, ved å implementere svake passordkontroller ved å kjøre et passord gjennom en dårlig passorddatabase, ved ikke å bruke standard legitimasjon, ved å justere passordkompleksitetspolitikken, ved bruk av god server-side øktleder som genererer en ny tilfeldig økt-ID etter pålogging, osv.

Brutt autentiseringssårbarhet kan føre til kompromittering av noen få brukerkontoer og en administratorkonto, det er alt en angriper trenger for å kompromittere et system. Disse typer angrep fører til identitetstyveri, trygdesvindel, hvitvasking av penger og avsløring av høyt klassifisert informasjon. Angrepene inkluderer ordbokangrep, brute-forcing, øktkapring og øktadministrasjonsangrep.

Sensitiv dataeksponering:

Noen ganger beskytter ikke webapplikasjoner sensitive data og informasjon som passord, databaseregister osv. En angriper kan enkelt stjele eller modifisere disse svakt beskyttede legitimasjonene og bruke den til ulovlige formål. Sensitive data skal krypteres mens de er i ro eller under transport, og har et ekstra sikkerhetslag ellers kan angripere stjele dem. Angripere kan få tak i sensitive eksponerte data og stjele hash- eller klartekstbrukere og databaseregistrering fra serveren eller en nettleser. For eksempel, hvis en passorddatabase bruker usaltet eller enkel hash for å lagre passord, kan en filopplastingsfeil tillate en angriper å hente passordatabasen som vil føre til eksponering av alle passord med en regnbuetabell med forhåndsberegnet hashes.

Hovedfeilen er ikke bare at dataene ikke er kryptert, selv om de er kryptert, men svak nøkkelgenerering, svake hashingalgoritmer, svak kryptering kan også føre til disse typene av de vanligste angrepene. For å forhindre denne typen angrep, klassifiser først hvilken type data som kan anses som følsomme i henhold til personvernlovene og bruk kontroller i henhold til klassifisering. Prøv å ikke lagre klassifiserte data du ikke trenger, vask dem så snart du bruker dem. For data under transport, krypter du dem med sikre protokoller i.e TLS med PFS-koder osv.

Disse typer sårbarheter kan føre til eksponering av svært sensitiv informasjon som kredittkortlegitimasjon, helseregistre, passord og andre personlige data som kan føre til identitetstyveri og banksvindel osv.

XML-eksterne enheter (XEE):

Dårlig konfigurerte XML-prosessorer behandler eksterne enhetsreferanser i XML-dokumenter. Disse eksterne enhetene kan brukes til å hente data om interne filer som / etc / passwd filen eller for å utføre andre ondsinnede oppgaver.  Sårbare XML-prosessorer kan enkelt utnyttes hvis en angriper kan laste opp et XML-dokument eller inkludere XML osv. Disse sårbare XML-enhetene kan oppdages ved hjelp av SAST- og DAST-verktøy eller manuelt ved å inspisere avhengigheter og konfigurasjoner.

En webapplikasjon er sårbar for XEE-angrepet på grunn av mange grunner, for eksempel hvis applikasjonen godtar direkte XML-inngang fra ikke-klarerte kilder, er Document Type Definitions (DTDs) på applikasjonen aktivert, applikasjonen bruker SAML for identitetsbehandling da SAML bruker XML for identitet innsettinger osv. XEE-angrep kan avbøtes ved å unngå serialisering av sensitive data, ved å bruke mindre kompliserte dataformater i.JSON, oppdatering av XML-prosessorer, applikasjonen brukes for øyeblikket og til og med bibliotekene, deaktivering av DTD-er i alle XML-parsere, validering av XML-filopplastingsfunksjonalitet ved bruk av XSD-bekreftelse osv.

Applikasjonen som er sårbar for denne typen angrep, kan føre til DOS-angrep, Billion Laughs-angrep, skanning av interne systemer, intern portskanning, utføring av en fjernkommando som resulterer i at alle applikasjonsdata påvirkes.

Brutt tilgangskontroll:

Tilgangskontroll gir brukerne rettigheter til å utføre spesifikke oppgaver. Brutt tilgangskontroll sårbarhet finner sted når brukerne ikke er ordentlig begrenset til oppgavene de kan utføre. Angripere kan utnytte dette sikkerhetsproblemet som kan ende med å få tilgang til uautorisert funksjonalitet eller informasjon. La oss si at et webapplikasjon tillater brukeren å endre kontoen han er logget på fra, bare ved å endre URL-en til en annen brukers konto uten ytterligere bekreftelse.  Å utnytte sårbarheten for tilgangskontroll er et angrep fra enhver angriper. Denne sårbarheten kan bli funnet manuelt, samt ved hjelp av SAFT- og DAFT-verktøy. Disse sårbarhetene eksisterer på grunn av mangel på testing og automatisk gjenkjenning av webapplikasjoner, selv om den beste måten å finne dem på er å gjøre det manuelt.

Sårbarheter inneholder opptrapping av privilegier i.e opptrer som en bruker du ikke er, eller opptrer som administrator mens du er bruker, omgår tilgangskontrollkontroller bare ved å endre URL-adressen eller endre applikasjonens tilstand, manipulere metadata, slik at primærnøkkelen kan endres som en annen brukers primærnøkkel, etc. For å forhindre slike angrep, må tilgangskontrollmekanismer implementeres i koden på serversiden der angripere ikke kan endre tilgangskontrollene. Håndheving av unike applikasjonsforretningsgrenser av domenemodeller, deaktivering av oppføring av serverkataloger, varslingsadministrator ved gjentatte mislykkede påloggingsforsøk, ugyldiggjøring av JWT-tokens etter utlogging må sikres for å redusere slike angrep.

Angripere kan fungere som en annen bruker eller administrator ved hjelp av dette sikkerhetsproblemet for å utføre ondsinnede oppgaver som å opprette, slette og endre poster osv. Massivt tap av data kan oppstå hvis dataene ikke er sikret selv etter et brudd.

Feilkonfigurasjon av sikkerhet:

Den vanligste sårbarheten er feilkonfigurasjon av sikkerhet. Hovedårsaken til sårbarheten er bruken av standardkonfigurasjon, ufullstendig konfigurasjon, Adhoc-konfigurasjoner, dårlig konfigurerte HTTP-overskrifter og omfattende feilmeldinger som inneholder mer info enn brukeren egentlig burde ha kjent. På ethvert nivå i et webapplikasjon kan feilkonfigurasjoner oppstå i.e-database, webserver, applikasjonsserver, nettverkstjenester osv. Angripere kan utnytte ikke-patchede systemer eller få tilgang til ubeskyttede filer og kataloger for å ha et uautorisert grep om systemet. For eksempel kan et program overdrevent feilmeldinger som hjelper angriperen å kjenne til sårbarheter i applikasjonssystemet og hvordan det fungerer. Automatiske verktøy og skannere kan brukes til å oppdage denne typen sikkerhetsfeil.

En webapplikasjon inneholder denne typen sårbarhet hvis den mangler sikkerhetsherdende tiltak over en hvilken som helst del av applikasjonen, unødvendige porter er åpne eller det muliggjør unødvendige funksjoner, standardpassord brukes, feilhåndtering avslører informative feil til angriperen, den bruker upatchet eller utdatert sikkerhetsprogramvare osv. Det kan forhindres ved å fjerne unødvendige funksjoner i koden, dvs.en minimal plattform uten unødvendige funksjoner, dokumentasjon osv., som gjør det mulig for en oppgave å oppdatere og lappe sikkerhetshullene som en del av patchhåndteringsprosesser, bruk av en prosess for å verifisere effektiviteten av sikkerhetstiltak tatt, bruk av repeterbar herdeprosess for det er enkelt å distribuere et annet miljø som er ordentlig låst.

Disse typer sårbarheter eller mangler tillater angriperen å få uautorisert tilgang til systemdata som fører til fullstendig kompromiss av systemet.

Cross-Site Scripting (XSS):

XSS-sårbarheter oppstår på det punktet når en webapplikasjon inkorporerer upålitelige data i en ny nettside uten legitim godkjenning eller unnslippe, eller oppdaterer en nåværende nettstedsside med data fra klienten, ved hjelp av et nettleser-API som kan lage HTML eller JavaScript.  XSS-feil oppstår i tilfelle nettstedet tillater en bruker å legge til tilpasset kode i en URL-bane som kan sees av andre brukere. Disse feilene brukes til å kjøre skadelig JavaScript-kode i målets nettleser. La oss si at en angriper kan sende en lenke til offeret som inneholder en lenke til ethvert selskaps nettsted. Denne forbindelsen kan ha noen skadelig JavaScript-kode innebygd. Hvis bankens webside ikke er riktig sikret mot XSS-angrep, vil den ondsinnede koden kjøres i offerets nettleser ved å klikke på lenken.

Cross-Site Scripting er et sikkerhetsproblem som finnes i nesten ⅔ av webapplikasjonene. En applikasjon er sårbar for XSS hvis applikasjonen lagrer en uanitert brukerinngang som kan sees av en annen bruker, ved bruk av JavaScript-strukturer, applikasjoner med én side og API-er som kraftig inneholder angriperstyrbar informasjon til en side, er hjelpeløse mot DOM XSS. XSS-angrep kan avbøtes ved bruk av rammer som unnslipper og renser XSS-innspill av natur som React JS osv., Lærer rammeverkets begrensninger og dekker dem ved hjelp av egne saker, unnslipper unødvendige og upålitelige HTML-data overalt.e i HTML-attributter, URI, Javascript, etc, bruk av kontekstsensitiv koding i tilfelle dokumentendring på klientsiden osv.

XSS-baserte angrep er av tre typer i.e Reflektert XSS, DOM XSS og Lagret XSS. Alle typer disse angrepene har betydelig innvirkning, men når det gjelder Stored XSS, er virkningen enda større i.stjele legitimasjon, sende skadelig programvare til offeret, osv.

Usikker deserialisering:

Serialisering av data betyr å ta objekter og konvertere dem til hvilket som helst format slik at disse dataene kan brukes til andre formål senere, mens deserialisering av data betyr det motsatte av det. Deserialisering er å pakke ut disse serielle dataene for bruk av applikasjoner. Usikker deserialisering betyr herding av data som har blitt seriellisert rett før det er i ferd med å pakkes ut eller deserialiseres.  Usikker deserialisering fører til ekstern kjøring av kode, og den brukes til å utføre andre oppgaver for ondsinnede formål, som eskalering av rettigheter, injeksjonsangrep, repriseangrep osv. Det er noen verktøy tilgjengelig for å oppdage slike feil, men menneskelig hjelp er nødvendig ofte for å validere problemet. Å utnytte deserialisering er litt vanskelig, da utnyttelsene ikke fungerer uten noen manuelle endringer.

Når applikasjonen deserialiserer skadelige objekter levert av den angripende enheten. Dette kan føre til to typer angrep i.angrep relatert til datastruktur og objekter der angriperen modifiserer applikasjonslogikk eller utfører ekstern kode og typiske dataknusingangrep der eksisterende datastrukturer brukes med modifisert innhold, for eksempel tilgangskontrollrelaterte angrep.  Serialisering kan brukes i ekstern prosesskommunikasjon (RPC) eller en interprosesskommunikasjon (IPC), caching av data, webtjenester, databases cache-server, filsystemer, API-godkjenningstokener, HTML-informasjonskapsler, HTML-skjema-parametere osv. Deserialiseringsangrep kan avbøtes ved ikke å bruke serieobjekter fra ikke-klarerte kilder, implementere integritetskontroller, isolere koden som kjører i et miljø med lavt privilegium, overvåke innkommende og utgående nettverkstilkoblinger fra servere som ofte deserialiserer.

Bruke komponenter med kjente sårbarheter:

Ulike komponenter som biblioteker, rammeverk og programvaremoduler brukes av de fleste utviklerne i webapplikasjonen. Disse bibliotekene hjelper utvikleren med å unngå unødvendig arbeid og tilby funksjonaliteten som trengs. Angripere ser etter feil og sårbarheter i disse komponentene for å koordinere et angrep. I tilfelle du finner et sikkerhetshull i en komponent kan gjøre alle nettstedene som bruker den samme komponenten, sårbare. Utnyttelse av disse sårbarhetene er allerede tilgjengelig mens det kreves mye krefter å skrive en tilpasset utnyttelse fra bunnen av. Dette er et veldig vanlig og utbredt problem, bruk av store mengder komponenter i utviklingen av en webapplikasjon kan føre til at du ikke engang kjenner til og forstå alle komponentene som brukes, lapper og oppdaterer alle komponentene.

Et program er sårbart hvis utvikleren ikke vet versjonen av en komponent som brukes, programvaren er utdatert i.e operativsystemet, DBMS, programvare som kjører, kjøretidsmiljøer og biblioteker, sårbarhetsskanning blir ikke utført regelmessig, kompatibiliteten til programvare med patch er ikke testet av utviklerne. Det kan forhindres ved å fjerne ubrukte avhengigheter, filer, dokumentasjon og biblioteker, sjekke versjonen av klient- og server-side-komponentene regelmessig, skaffe komponenter og biblioteker fra offisielle og pålitelige sikre kilder, overvåke de ikke-oppdaterte bibliotekene og komponentene, sikre en plan for regelmessig oppdatering og oppdatering av sårbare komponenter.

Disse sårbarhetene fører til mindre påvirkninger, men kan også føre til kompromittering av serveren og systemet. Mange store brudd er basert på kjente sårbarheter i komponenter. Bruk av sårbare komponenter undergraver applikasjonsforsvar og kan være et utgangspunkt for et stort angrep.

Utilstrekkelig logging og overvåking:

De fleste systemer tar ikke nok tiltak og tiltak for å oppdage brudd på data. Gjennomsnittlig responstid for en hendelse er 200 dager etter at den har skjedd, dette er mye tid til å gjøre alt det ekkel for en angripende enhet. Utilstrekkelig logging og overvåking tillater angriperen å angripe systemet ytterligere, opprettholde grepet om systemet, tukle, holde og trekke ut data etter behov. Angripere bruker mangel på overvåking og respons til sin fordel for å angripe webapplikasjonen.
Utilstrekkelig logging og overvåking skjer når som helst i.e-logger over applikasjoner som ikke overvåkes for uvanlige aktiviteter, auditerbare hendelser som mislykkede påloggingsforsøk og høye transaksjonsverdier blir ikke riktig logget, advarsler og feil genererer uklare feilmeldinger, ingen utløservarsler i tilfelle pentesting ved hjelp av automatiserte DAST-verktøy, uten å kunne oppdage eller varsle aktive angrep raskt osv. Disse kan avbøtes ved å sikre at alle pålogginger, tilgangskontrollfeil og validering av inngangsserver på serversiden kan logges for å identifisere ondsinnet brukerkonto og holdes i tilstrekkelig tid for forsinket rettsmedisinsk etterforskning, ved å sikre at loggene som genereres er i et format kompatibel med sentraliserte loggstyringsløsninger, ved å sikre integritetskontroller ved høyverdige transaksjoner, ved å etablere et system for varsler om mistenkelige aktiviteter osv.

De fleste vellykkede angrep starter med å sjekke og undersøke om det er sårbarheter i et system, slik at disse sårbarhetssondering kan føre til kompromittering av hele systemet.

Konklusjon:

Sikkerhetsproblemene i en webapplikasjon påvirker alle enhetene som er relatert til applikasjonen. Disse sårbarhetene må tas vare på for å gi et trygt og sikkert miljø for brukerne. Angripere kan bruke disse sårbarhetene til å kompromittere et system, få tak i det og eskalere privilegier. Virkningen av en kompromittert webapplikasjon kan visualiseres fra stjålet kredittkortlegitimasjon og identitetstyveri til lekkasje av svært konfidensiell informasjon osv. avhengig av behovene og angrepsvektorene til ondsinnede enheter.

Installer nyeste Dolphin Emulator for Gamecube & Wii på Linux
Dolphin Emulator lar deg spille de valgte Gamecube- og Wii-spillene dine på Linux Personal Computers (PC). Som en fritt tilgjengelig og åpen kildekod...
Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...