Download - Ist Ihre App sicher?
„Der Store-Review wird keine unsicheren Apps zulassen.“
Kommunikation
http:// https://
Symantec
Demo
Symantec
Meine eigene CA
Certificate Pinning
Certificate Pinning
ServicePointManager.ServerCertificateValidationCallback= CheckCertificate;
private static bool CheckCertificate(object sender, X509Certificate certificate,X509Chain chain, SslPolicyErrors sslpolicyerrors)
{return // TODO: Is certificate chain valid?
}
Demo
App Transport Security (ATS)<key>NSAppTransportSecurity</key><dict>
<key>NSExceptionDomains</key><dict>
<key>www.example.com</key><dict><key>NSExceptionMinimumTLSVersion</key><string>TLSv1.0</string><key>NSExceptionRequiresForwardSecrecy</key><false/><key>NSExceptionAllowsInsecureHTTPLoads</key><true/><key>NSIncludesSubdomains</key><true/>
</dict></dict>
</dict>
APIs
„Dafür können Sie unseren bestehenden Webservice
benutzen.“
„Von welcher IP-Adresse aus werden Sie denn auf den Webservice zugreifen?“
„Um auf den Webservice zuzugreifen, sollten Sie diese Zugangsdaten verwenden.“
Zugangsdaten dürfen nichtTeil des App-Bundles sein.
Nicht die App sollauthentifiziert werden,
sondern der User.
Benutzerspezifische Tokens solltenim sicheren Speicher des
Betriebssystems abgelegt werden.
Die Backend sollte die gleichenSicherheitskonzepte verwenden,
die auch von Webseitenverwendet werden.
Wenn eine API einenAPI-Key benötigt, solltesie aus dem Backend aufgerufen werden.
Statische Codeanalyse
Zusammenfassung
Stellen Sie die SicherheitIhrer App und IhresBackends in Frage.
Fragen?