iOSではユーザーは通常、アプリの実行ファイルやデータファイルに直接アクセスできません。とはいえさまざまな抜け道が存在し、開発者がセキュリティに留意してアプリを開発する必要があるのは、他のプラットフォームの場合となんら変わりはありません。
本日紹介する「Secure iOS application development」は、そのような安全なiOSアプリケーションを開発するために役たつ包括的なドキュメントです。
ドキュメントはアプリケーションコードの脆弱性に主に注目したものですが、iOSシステムセキュリティや、Darwinのセキュリティ、C/ObjC/C++のメモリ安全性、高レベルのアプリケーションセキュリティ等の分野に関しても一部カバーしています。
例えばデータハンドリングに関しては、デシリアライズやSQLインジェクションの危険性を、アプリケーション全体のセキュリティを強化する方法としては、コンパイル時のオプションの指定方法や、Xcodeの静的分析ツールの使用方法を説明しています。さらにネットワーク関連のセキュリティや、ファイルIO、メモリ、Swift、データの補完方法などについても説明しています。
サンプルコードはObjective-Cですが、普段Swiftを利用している開発者にとっても役にたつ情報です。iOSアプリ開発者や、アプリのソースコードをレビューする必要のある方は参考にしてみてはいかがでしょうか。