OWASP Norway, 24.april 2012. Ståle Pettersen



Like dokumenter
Sikkerhet i Pindena Påmeldingssystem

Erlend Oftedal. Risiko og sikkerhet i IKT-systemer, Tekna

Den mobile arbeidshverdagen

Agenda. Data og grenser Kontekster XSS XSS og kompliserende kontekster Injection attacks Beskyttelse OWASP

Multi-Faktor Autentisering. Brukerveiledning

Large Scale Single Sign-on Scheme by Digital Certificates On-the-fly

Sikkerhet i Pindena Påmeldingssystem

Hva skjer i Open Web Application Security Project (OWASP)?

Mobilbank kontrollspørsmål apper

Sikkerhet i Pindena Påmeldingssystem

User Input / Output Handling. Innocent Code kap 3-4 INF-329 Øystein Lervik Larsen oysteinl@ii.uib.no 7/11-05

Sikkerhet og internett. Kan vi være vi trygge? Kan vi beskytte oss? Bør vi slå av nettet

Symmetrisk En hemmelig nøkkel ( passord ) som brukes både ved kryptering og dekryptering.

Sikkerhet og tilgangskontroll i RDBMS-er

Vanlige spørsmål. GallupPanelet. TNS Panel-app. TNS Juni 2015 v.1.3

EN PRAKTISK INNFØRING I KRYPTERT E-POST FRA UDI

Målrettede angrep. CIO forum 6.mars Tore Terjesen Head of MSS & SOCs - Nordics tore.terjesen@secode.com

Innledende Analyse Del 1.2

Enterprise Mobility + Security (EM+S)

Sikkerhet og internett

KRAVSPESIFIKASJON FORORD

Office365 -innføring i utvalgte programmer

Android app-utvikling & dagens trusselbilde

Remote Desktop Services

Sikkerhetsvurdering av smarttelefoner Andreas Hegna, sikkerhetskonsulent

Dataporten sikker og enkel deling av data i UH-sektoren

Autentisering og autorisasjon i webapplikasjoner med en etablert standard: SAML 2.0

Brukerveiledning LagerMester ios

BankID 2.0. Rune Synnevåg, Uni Pluss AS

Forprosjekt gruppe 13

Mobilsynkronisering. for Android

SQL Server guide til e-lector

Teknisk Tips & Triks PER TORE HOFF

Mobilsynkronisering. for Windows phone 8

Pen- tes'ng av webservices. Asbjørn Reglund Thorsen Gruppe- og utviklingsleder UIO/FSAT

Huldt & Lillevik Ansattportal. - en tilleggsmodul til Huldt & Lillevik Lønn. Teknisk beskrivelse

Siteimprove analytics Tekniske spesifikasjoner

OPPSETT AV GOODREADER FOR FROGNPOLITIKER

6105 Windows Server og datanett

Jens Erik Torgersen, Kantega AS. Sjefskonsulent

PERSONVERN, GDPR OG COREPUBLISH

P L A N I A 8 S Y S T E M K R A V PLANIA 8 SYSTEM KRAV. Plania 8 Systemkrav.docx av 8

Vedlegg 1: Oversikt over noen mulige leverandører

4.1. Kravspesifikasjon

Flytte bilder og videoer fra mobil til pc eller disk

Som en del av denne prosessen, når verten har startet og nøkkelfilene ikke er å finne, lages et nytt sett automatisk.

Bachelorprosjekt i informasjonsteknologi, vår 2017

Hva skjer i OWASP? OWASP. The OWASP Foundation. Kåre Presttun Chapter Lead Mnemonic as kaare@mnemonic.no

Compello Invoice Approval

I ÅS FORSLAG TIL LØSNING

Teknisk Presentasjon Kun for autoriserte partnere.

Forelesning 4: Kommunikasjonssikkerhet

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

BEHANDLING AV PERSONOPPLYSNINGER VED BRUK AV GATOR-KLOKKE

NorskInternett Brukermanual. Sist oppdatert Side 1/30

Mobilsynkronisering. for ios

Digital signert samtykke til forskning -erfaring med bruk av esignering. Dagfinn Bergsager

mnemonic frokostseminar

Oppkobling mot trådløst internett for studenter og ansatte som bruker egen datamaskin eller benytter MAC/smarttelefon/nettbrett. (Gruppe B): Innhold

Innocent Code Kapittel 1: The Basics Kapittel 2: Passing Data to Subsystems

Veiledning i kryptering med Open PGP

Eksempel: Rutine for utstedelse av sterk autentisering gjennom Feide

TRÅDLØS TILKOBLING PÅ KHIO

INTEGRASJONSGUIDE BP CODE Check Point R75.x R76

IT Grunnkurs. Nettverk. Foiler av Bjørn J. Villa, Førsteamanuensis II Presentert av Rune Sætre, Førstelektor

Tips og triks ipad og iphone

BRUKERVEILEDNING KID ButikkSim IPAD

Lærebok. Opplæring i CuraGuard. CuraGuard Opplæringsbok, - utviklet av SeniorSaken -

Om informasjonskapsler (cookies) på nettsidene til Stendi

Erfaring med BYOD. Espen A. Fossen, Sikkerhetssjef :02

Fjernarbeidsløsningen - når du ikke bruker din vanlige Oslo kommune-pc

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

Om Traxway Conrivo registreringsløsning

Jon Hammeren Nilsson, Anders Emil Rønning, Lars Grini og Erling Fjelstad

Kapittel 13 Advanced Hypertext Implementation. Martin Lie Ole Kristian Heggøy

Mobile Device Management

GigaCampus Mobilitetskurs Del 2. Sesjon 4. Torsdag

Hva skjer i OWASP? OWASP. The OWASP Foundation. Kåre Presttun Chapter Lead mnemonic as kaare@mnemonic.no

Norsk Internett Brukermanual. Sist oppdatert Side 1/37

Introduksjon til Min Sky -

EN GUIDE TIL SIKKERHETSKOPIERING

Nettverksnavn og nettverkspassord (SSID og WPA)

Lotus Traveler - Manual for installasjon

Konfigurasjon av Eduroam i Windows Vista

Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6

BEDRE KRYPTERING AV WEB-TRAFIKK OG E-POST (TLS)

Vi sender derfor ut litt informasjon om de grepene man må gjøre for å kunne publisere eller håndtere bestillinger fra Arkivportalen.

Video om xid er tilgjengelig her:

Innledende Analyse Del 1: Prosjektbeskrivelse (versjon 2)

ipad my good friends Uke OneDrive, Dropbox, Word, Excel, Outlook, Skype - på alle smartenhetene

Innhold: Hva skjer med driftskontroll når n r IT blir en tjeneste i skyen? Innhold: IT vs Driftskontrollsystemer:

Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6

Direktoratet for IKT og fellestjenester i høyere utdanning og forskning

1. Intro om SharePoint 2013

Generelle kjøpsbetingelser

Nasjonal sikkerhetsmyndighet

Hovedprosjekt Gruppe 13. Del 3: Vedlegg ~ 1 ~

Konfigurering av AIS-app for Android

AGENDA. En produktiv arbeidsplass Ja, derfor Office 365 Hege Line Arnstein Andreassen. Office 365 del 2. Avslutning. Marie Johansen, Microsoft

Transkript:

Sikkerhet i mobile applikasjoner [P] OWASP Top 10 Risks Mobile Om meg Ståle Pettersen Java-utvikler og sikkerhetsentusiast BEKK OWASP twitter.com/kozmic OWASP Norway, 24.april 2012 Ståle Pettersen Mobile egenskaper Mobiler blir mistet og stjålet Mange applikasjoner kjører samtidig Autentisering og autorisasjon Bruker ofte mange remote web services Tredjeparts tjenester Mange mobile platformer, ingen gjør ting likt - økt kompleksitet Mye sensitiv informasjon som applikasjoner kan ha tilgang til Kontaktinformasjon Bilder Video SMS GPS-lokasjon Kredittkort (NFC) Tilkoblede enheter (Bluetooth) Backup-er av telefoner sprer disse dataene Apple ios Hver applikasjon har sin egen sandbox, men kan kommunisere med hverandre vha schema Backuper er ikke kryptert (kan konfigureres av bruker til å være kryptert) ios 5 har kryptert filsystem Låsekode enkel å knekke (2-6 forsøk i sekundet ved bruk av API, ingen maks antall forsøk) Kun tekst passord er sikkert Top 10 Mobile Risks, Release Candidate v1.0 BH EU 2012 - Jack Mannino, Zach Lanier og Mike Zusman 1. Insecure Data Storage

2. Weak Server Side Controls 3. Insufficient Transport Layer Protection 4. Client Side Injection 5. Poor Authorization and Authentication 6. Improper Session Handling 7. Security Decisions Via Untrusted Inputs 8. Side Channel Data Leakage 9. Broken Cryptography 10. Sensitive Information Disclosure Burde være final 22.april, 60 dager etter siste kommentar 1. Insecure data storage Sensitive data som ikke er beskyttet (inkludert logger) Data lokalt, men også data synkronisert mot cloud-tjenester Konsekvenser Konfidensielle data tapt Brukernavn, passord og tokens på avveie Sensitive data på avveie 1. Insecure data storage "Husk meg" - Lagring av brukernavn og passord i en fil som alle andre applikasjoner kan lese Android: Ikke bruke MODE_WORLD_READABLE, bruk MODE_PRIVATE ios: Kan ikke lagre globale filer, men kan eksponeres i backup-filer 1. Insecure data storage Anbefales å kun lagre nødvendig data Ikke bruk lagringsområder som ikke er beskyttet av sikkerhetsmekanismer (SD-card) Bruk sikkerhetsmekaniser innebygd i platform som filkrypterings API-er og keychain Pass på at filer ikke kan leses og skrives globalt 2. Weak Server Side Controls Backend-tjenester Tjenester kan ikke stole på data fra klienten Samme regler som for dagens webapplikasjoner Inngår også i OWASP Top 10, OWASP Cloud Top 10. Autentisering osv er litt anerledes, men det kommer vi tilbake til.

3. Insufficient Transport Layer Protection Ingen eller svak kryptering ved transport av sensitive data Klient ignorerer sertifikat-feil (utgått, feil domene, ugyldig format), eller fallback er HTTP Eksempel på dette er Google Calendar og Facebook som sendte autentisering som HTTP-header over HTTP 3. Insufficient Transport Layer Protection Pass på at all sensitive data sendes kryptert Dette inkluderer mobilnett, trådløstnett, NFC og bluetooth 4. Client Side Injection Applikasjoner embedder nettleser bibliotek (webapp, hybrid og native) Klassiske sårbarheter: Javascript-injection, SQL-injection, HTML-injection Men kan også gi tilgang til SMS, telefon, betalingsystemer Eksempel: Amazon kindle Amazon Kindle ble jailbreaket med klientside Javascript ved å embedded JS i MP3 ID3 tag. I native apps (Media Player) har en full tilgang JS API som ROOT via debug funksjoner. 4. Client Side Injection Ikke stolt på brukerinput - valider og encode I hybrid app: Minimer native API som blir eksponert til webapp Bruk prepared statements SQLiteStatement stmt = db.compilestatement("select * FROM Country WHERE code =?"); stmt.bindstring(1, "US"); stmt.execute(); 5. Poor Authorization and Authentication Ikke stol på verdier som ikke kan endres (UUID, IMSI, IMEI, MAC, ICCID) Hardware identifikatorer forandrer seg ikke (finn.no?) Eksempel: AT&T - 114 000 eposter eksponert AT&T lakk 114 000 epost adresser 5. Poor Authorization and Authentication Out-of-band (f.ks SMS) gir lite ekstra verdi fordi det er samme enhet Ikke bruk enhetsid eller SIM-kort ID alene til autentisering (men kan være bra til dybdesikkerhet) 6. Improper Session Handling Brukere forventer at en ikke må logge inn hver gang en starter en applikasjon Dette gjør at sesjoner må leve lenger - hvis en ønsker brukervennlighet

Typisk sesjon implementeres vha HTTP cookies OAuth tokens SSO autentisering (f.eks Facebook connect) Hardware identifikater alene er ikke sikkert 6. Improper Session Handling Anbefaler å ikke sende brukernavn og passord for hver request (da må dette lagres et sted, som kan lekke informasjon) Bruk OAuth 2.0 tokens - Kan fjerne tilgang til enheter La brukeren autentisere seg med jevne mellomrom så hvert token ikke har for lang levetid Tokens må være kryptografisk sikre (ikke prøv å skriv egen random-generator) 7. Security Decisions Via Untrusted Inputs ios: Misbruk av Schema skype://98888888?call Android: Misbruk av Intents Onde nettsider kan kjøre applikasjoner på telefon uten at brukeren blir spurt Kan utnytte sårbarheter i applikasjoner fra nettsteder Hvis skype har XSS i håndtering av skype:// kan en stjele info eller sende SMS 7. Security Decisions Via Untrusted Inputs Sjekk hvilken applikasjon som prøver å utføre en handling Spør brukeren om dette er ønskelig (slik ios håndterer tel-schema i Safari) 8. Side Channel Data Leakage Sensitive data blir lagret på usikre steder (direkte eller indirekte) Web browser cache inkludert HTML5 storage Logger Midlertidlig kataloger (kan oppstå f.eks når applikasjonen kræsjer) Backup-filer Synkroniseringsprogrammer / Cloud-tjenester Forstå også hvordan tredjeparts bibloteker lagrer sensitive data Facebook sin mobilapp lagret token i ren tekst (60 dagers gyldighet) 8. Side Channel Data Leakage Ikke logg sensitive data som passord Sett no-cache headere for embedded nettsider med sensitive data Ikke lagre sensitive data i HTML5 storage Overvåk applikasjonen og se hvilke filer som skrives (tredjeparts biblioteker dokumenter dette sjeldent, så sjekk selv) 9. Broken Cryptography

Krypto brukt feil Sterk crypto algorytme, men lagrer nøkkel på disk i plaintekst Egen algorytme og implementasjon som ikke er sikker Encoding (f.eks base64) og serialisering er ikke krypto 9. Broken Cryptography Å lagre nøkkelen på disk gir liten sikkerhetsverdi Ikke finne på egen krypto, du kommer til å gjøre feil Utnytt sikkerhetsmekanismene i platformen! (ios og Android: Keychain) 10. Sensitive Information Disclosure Hardkodede verdier i applikasjonen Applikasjoner kan reverse engineeres (ikke alltid like lett.. men mulig) Private nøkkler, passord, sensitive algorytmer og "hemmelige parametere" OWASP Top 10 Mobile Risks RC 1.0 i dag, men 1.0 final er rett rundt hjørnet Trenger flere frivillige, så kan du mobilsikkerhet, eller har lyst til å lære, er det bare å bidra! :) Case study: Password managers ElcomSoft evaluerte 17 "passord managers" (ios og Blackberry) 16 hadde implementert egen sikkerhet 7 hadde i praksis ingen kryptering 2 av 17 hadde utnyttet sikkerhetsmodellen til telefonen http://www.elcomsoft.com/wp/bh-eu-2012-wp.pdf Case study: Password managers My Eyes Only - Secure Password Manager Bruker ios sin innebygde keychain til å lagre RSA public og privat keys Dessverre lagres også disse nøklene utenfor keychain rett på disk Case study: Password managers DataVault Password Manager Bruker ios sin innebygde keychain Den sikrest av password managere som ble evaluert Enkleste å implementere :) Referanser http://www.slideshare.net/jackmannino/owasp-top-10-mobile-risks Jack Mannino Zach Lanier Mike Zusman

https://www.owasp.org/index.php/owasp_mobile_security_project https://www.owasp.org/index.php/projects/owasp_mobile_security_project_- _Top_Ten_Mobile_Controls http://software-security.sans.org/blog/2010/11/08/insecure-handling-url-schemes-apples-ios/ http://www.grc.com/sn/sn-347.pdf Hacking and Securing ios Applications - O'Reilly Media http://nelenkov.blogspot.com/2011/11/using-ics-keychain-api.html