iOS-sleutelhangerbeveiliging

we willen certificaten op de iPhone gebruiken om te verifiëren voor MS Exchange Sync. We weten niet zeker hoe het beveiligingsconcept is geïmplementeerd om deze certificaten te beschermen.

bijv. is het mogelijk om “volledige” Keychain-toegang op de iPhone te krijgen als ScreenLock niet is ingeschakeld?
(of met een gejailbreakte iPhone).

Heeft iemand hier links over?


Antwoord 1, autoriteit 100%

Fraunhofer’s onderzoek naar de beveiliging van iOS-sleutelhangers:

Voor zover ik kan zien, zijn er twee coderingsniveaus die de iOS-sleutelhanger gebruikt. Het eerste niveau gebruikt de toegangscode voor het vergrendelscherm als coderingssleutel. Het tweede niveau gebruikt een sleutel die is gegenereerd door en opgeslagen op het apparaat.

De onderzoekers van Fraunhofer hebben ontdekt hoe ze het tweede niveau kunnen omzeilen. Dit is het “gemakkelijkere” niveau om te omzeilen, omdat de coderingssleutel op het apparaat is opgeslagen. Dus op iOS4 werkt hun methode alleen met sleutelhangervermeldingen die GEEN kSecAttrAccessibleWhenUnlocked of kSecAttrAccessibleWhenUnlockedThisDeviceOnly gebruiken, omdat die vermeldingen in het geheugen staan ​​met het eerste niveau gedecodeerd, zelfs als de telefoon is vergrendeld.

  • Vanaf iOS 4 worden sleutels met kSecAttrAccessibleWhenUnlocked en kSecAttrAccessibleWhenUnlockedThisDeviceOnly beschermd door een extra versleutelingsniveau
  • Op iOS 3.x en eerder kunnen alle sleutels worden gedecodeerd met de methode van Fraunhofer, ongeacht het gebruikte toegankelijkheidskenmerk
  • Apparaten zonder toegangscodes zijn nog steeds kwetsbaar
  • Apparaten met zwakke toegangscodes (minder dan zes cijfers) zijn nog steeds enigszins kwetsbaar

≈50ms per wachtwoord proberen; → ≈20 pogingen per seconde; → ≈1.7 jaar voor een 50%
verandering van het raden van de juiste toegangscode voor een 6-cijferige alfanumerieke
code met basis 36. De standaard eenvoudige code van 4 numerieke cijfers zou
worden brute-forced in minder dan 9 minuten. Op basis van de veronderstelling dat
de teller voor verkeerde pogingen in de iOS kan worden omzeild, want dat is het niet
op hardware gebaseerd

Apple Inc. WWDC 2010, Core OS, sessie 209 “Toepassingsgegevens beveiligen”, dia 24

Kortom:
Als u gevoelige gegevens moet opslaan, kunt u beter uw eigen codering gebruiken. En bewaar de sleutel niet op het apparaat.

Bewerken:
Er zijn talloze nieuwsartikelendie de Fraunhofer-studie citeren en hun lezers geruststellen zich zorgen te maken, tenzij hun apparaten worden gestolen, omdat deze aanval alleen kan worden uitgevoerd met fysieke toegang tot het apparaat.

Ik twijfel op de een of andere manier. Het feit dat de onderzoekers hun tests deden met fysieke toegang tot de telefoon, lijkt alleen maar een manier te zijn geweest om het probleem te vereenvoudigen, in plaats van een beperking te zijn. Dit is hun beschrijving van wat ze hebben gedaan om de sleutelhangervermeldingen te ontsleutelen:

Na het gebruik van een jailbreaktool, om toegang te krijgen tot een opdrachtshell, moeten we
voer een klein script uit om toegang te krijgen tot de wachtwoorden en deze te decoderen in de
sleutelhanger. De decodering wordt gedaan met behulp van de geleverde functies
door het besturingssysteem zelf.

Zoals iedereen die jailbreak.me heeft gebruikt weet, vereist jailbreak geen fysieketoegang tot het apparaat. Theoretisch zou het triviaal moeten zijn om de jailbreak.me-code aan te passen en het volgende te laten automatiseren:

  1. Voer de jailbreak uit zoals normaal (dit vereist alleen dat de gebruiker een kwaadwillig vervaardigde PDF opent)
  2. Voer de scripts van Fraunhofer uit nadat de jailbreak is voltooid
  3. Stuur de wachtwoorden via het netwerk naar een locatie waar de aanvaller het kan lezen

Dus nogmaals, wees voorzichtig met wat je in de sleutelhanger stopt.


Antwoord 2, autoriteit 8%

Normaal gesproken is de sleutelhanger de aanbevolen manier om een ​​dergelijk certificaat op te slaan. Er is echter ontdekt dat jailbreaking kan worden gebruikt om de beveiliging van de sleutelhanger te omzeilen (artikel).


Antwoord 3, autoriteit 6%

Franhofer deed een onderzoek naar de veiligheid van de iPhone-sleutelhanger :

http://www.sit.fraunhofer.de/Images/ sc_iPhone%20Passwords_tcm501-80443.pdf


Antwoord 4, autoriteit 4%

Ik kan een deel van je vraag beantwoorden, maar aangezien het andere deel nog onbekend is, stem ik de vraag omdat ik ook graag het antwoord wil weten.

Het deel dat ik kan beantwoorden is: ‘kan een app volledige toegang tot de sleutelhanger krijgen als er geen schermvergrendeling is ingeschakeld’. Nee, elke app heeft zijn eigen sleutelhangergedeelte op de iphone, wat betekent dat een app alleen toegang kan krijgen tot zijn eigen geheimen. Deze geheimen zijn niet vergrendeld voor de app zelf, dus er is geen manier om de sleutelhanger-items van de app zelf te verbergen. Dus om samen te vatten: een app kan zijn eigen items lezen, en geen andere items.

Wat ik echter graag wil weten, is wat er gebeurt op gejailbreakte apparaten. Zijn de sleutelhangers van alle apps zichtbaar zodra een apparaat een jailbreak heeft ondergaan?

Other episodes