Kodesigneringsprosessen for apper i iOS og iPadOS
I iOS og iPadOS tilbyr Apple appsikkerhet gjennom elementer som obligatorisk kodesignering, streng utviklerpålogging og mer.
Obligatorisk kodesignering
Etter at iOS- eller iPadOS-kjernen har startet, kontrollerer den hvilke brukerprosesser og apper som kan kjøres. iOS og iPadOS krever at all kjørbar kode skal være signert med et sertifikat utstedt av Apple, for å bidra til å sikre at alle apper kommer fra en kjent og godkjent kilde og ikke er manipulert. Apper som følger med enheten, som Mail og Safari, er signert av Apple. Tredjepartsapper må også valideres og signeres med et sertifikat utstedt av Apple. Obligatorisk kodesignering utvider godkjenningskjedekonseptet fra operativsystemet til apper og bidrar til å hindre at tredjepartsapper laster inn usignerte koderessurser eller bruker selvmodifiserende kode.
Slik signerer utviklere appene sine
Utviklere kan signere appene via sertifikatvalidering (via Apple-utviklerprogrammet). De kan også bygge inn rammeverk i appene og få denne koden validert med et Apple-utstedt sertifikat (via en team-ID-streng).
Sertifikatvalidering: For å kunne utvikle og installere apper på iPhone- og iPad-enheter må utviklere registrere seg hos Apple og bli med i Apple-utviklerprogrammet. Den virkelige identiteten til hver utvikler, uansett om dette er en person eller en bedrift, kontrolleres av Apple før sertifikatet utstedes. Sertifikatet gjør at utviklere kan signere apper og sende dem til App Store for distribusjon. Følgelig er alle apper i App Store sendt inn av en identifiserbar person eller organisasjon, og det virker forebyggende mot skadelige apper. Appene blir også gjennomgått av Apple for å bidra til å sikre at de fungerer mer eller mindre som beskrevet, og at de ikke inneholder åpenbare feil eller andre større problemer. I tillegg til teknologien vi allerede har nevnt, gir denne prosessen brukere tillit til kvaliteten på appene de kjøper.
Validering av kodesignatur: iOS og iPadOS tillater at utviklerne bygger inn rammeverk i appene, som kan brukes av appen selv eller av tilleggene som er innebygd i appen. For å beskytte systemet og andre apper mot innlasting av tredjepartskode i adresseområdet, utfører systemet en validering av kodesignaturen til alle dynamiske bibliotek som en prosess oppretter koblinger til ved oppstart. Denne bekreftelsen gjennomføres ved hjelp av team-ID-en som trekkes ut fra et sertifikat utstedt av Apple. En team-ID er en alfanumerisk streng på 10 tegn, for eksempel 1A2B3C4D5F. Et program kan opprette en kobling til et hvilket som helst plattformbibliotek som leveres sammen med systemet, eller et hvilket som helst bibliotek med samme team-ID i kodesignaturen som hovedprogramfilen. Siden de kjørbare filene som leveres som en del av systemet, ikke har en team-ID, kan de kun opprette en kobling til bibliotek som leveres med selve systemet.
Verifisere proprietære interne apper
Kvalifiserte bedrifter har muligheten til å utvikle proprietære interne apper for bruk i organisasjonen og distribuere dem til de ansatte. Bedrifter og organisasjoner kan søke om medlemskap i Apple Developer Enterprise Program (ADEP). Du finner mer informasjon og kvalifiseringskrav på nettstedet for Apple Developer Enterprise Program. Etter at en organisasjon blir medlem av ADEP, kan den registrere seg og få en klargjøringsprofil som tillater proprietære interne apper å kjøre på enheter som den godkjenner.
Brukerne må ha klargjøringsprofilen installert for å kjøre disse appene. Dette bidrar til å sikre at kun brukere som organisasjonen vil skal bruke appen, kan laste den inn på iPhonen eller iPaden sin. Apper som er installert via MDM godkjennes underforstått fordi det allerede er etablert et forhold mellom organisasjonen og enheten. Hvis ikke må brukerne godkjenne appens klargjøringsprofil under Innstillinger. Organisasjoner kan også hindre brukere i å godkjenne apper fra ukjente utviklere. Første gang en proprietær intern app startes, må enheten motta positiv bekreftelse fra Apple om at appen har tillatelse til å kjøre.