Другие ресурсы безопасности
Теперь, когда Вы читали об основах, существует еще несколько вещей, которые необходимо изучить. Во-первых, считайте эти два документа:
Руководство по проектированию Тестовой среды приложения говорит Вам вещи, которые необходимо знать о разработке кода выполнять в поигравшей в песочнице среде перед записью первой строки кода.
Безопасное Руководство по Кодированию описывает более подробно, как разработать код способами, максимизирующими безопасность, и также описывает то, что необходимо сделать, фактически пишущий код для предотвращения дыр в системе безопасности.
Когда Вы будете готовы протестировать свой код, считайте Отладку и Мелодию Ваше Приложение в Обзоре XCode. Этот документ объясняет, как использовать статический анализатор в XCode, который является отличным способом найти много ошибок коллективной безопасности.
После чтения тех документов считайте чтение некоторых документов перечисленным в остальной части этого приложения.
Другая документация Apple
Вот несколько других документов Apple, которыми Вы могли бы интересоваться, в зависимости от того, о каких технологиях Вы хотите узнать больше.
Аутентификация и авторизация
Аутентификация, Авторизация и Руководство по Полномочиям предоставляют дополнительную информацию об аутентификации и авторизации на концептуальном уровне. (Только OS X)
Ссылка Authorization Services Programming Guide and Authorization Services C объясняет, как выполнить определенные связанные с авторизацией задачи. (OS X только; обратите внимание на то, что многие из этих задач, такие как подъемное полномочие, не позволяются в поигравшей в песочнице среде),
Откройте Directory Programming Guide объясняет, как использовать, Открывать Directory APIs, чтобы аутентифицировать пользователя или получить информацию о пользователе. (Только OS X)
Ссылка Платформы Интерфейса безопасности описывает интерфейс Objective-C к Authorization Services. Этот интерфейс также обеспечивает множество связанных с безопасностью элементов пользовательского интерфейса. (Только OS X)
Техническое примечание TN2095, Авторизация для Всех, также обсуждает использование Authorization Services. (Только OS X)
Криптография
Руководство по Криптографическим службам описывает шифрование, дешифрование, подписание, проверку, цифровые сертификаты и другие связанные понятия более подробно на концептуальном уровне.
Безопасность Преобразовывает Руководство по программированию, и Безопасность Преобразовывает Ссылку, описывают предпочтительный OS X API для большинства криптографических задач. (Только OS X)
Сертификат, Ключ, и Руководство по программированию Trust Services и Сертификат, Ключ и Ссылка Trust Services объясняют, как работать с сертификатами, ключами и другими связанными технологиями более подробно.
Код и подписание приложения
Понятия криптографии Подробно в Руководстве по Криптографическим службам объясняют понятия подписывания кода в большей глубине.
Создание Сертификатов Подписания Вашей Команды в Разработке для App Store показывает Вам, как установить подписывание кода в XCode.
Руководство по Подписыванию кода говорит Вам, как выполнить подписывание кода на командной строке и других необычных связанных с подписанием задачах.
Безопасное хранение
Ссылка Keychain Services Programming Guide and Keychain Services объясняет, как использовать цепочку для ключей OS X в Вашем коде.
Усовершенствованные Приемы Приложения в Руководстве по программированию приложения для iOS объясняют, как использовать функцию защиты данных iOS в Вашем приложении. (только iOS)
Безопасные сети
Руководство по программированию CFNetwork и Руководство по программированию Загрузочной системы URL объясняют, как сделать соединения защищенной сети с помощью высокоуровневого APIs.
Безопасная Транспортная Ссылка говорит, как сделать соединения защищенной сети на уровне сокета. (Только OS X)
Разделение полномочия
Разрабатывающие Безопасные Помощники и Демоны в Безопасном Руководстве по Кодированию дают представление о том, как надежно выполнить разделение полномочия.
Руководство по программированию демонов и Служб описывает службы XPC, который является предпочтительным способом запуститься и связаться со вспомогательными приложениями в поигравшей в песочнице среде. (Только OS X)
Прочие условия
Веб-сайт Apple С открытым исходным кодом обеспечивает код в системе защиты Apple с открытым исходным кодом. Можно исследовать его для наблюдения, какие протоколы системы защиты и алгоритмы поддерживаются OS X Apple и реализацией защиты iOS и найти дополнительную документацию.
Тематические охваты Безопасности в Библиотеке Разработчика OS X и Библиотеке Разработчика iOS содержат много специфичной для безопасности информации о версии.
Сторонняя документация
Существует много превосходных книг по компьютерной безопасности, что необходимо рассмотреть чтение. Вот всего несколько из них, сгруппированы в предметные области.
Безопасность какао
Ли, Грэм J. Профессиональная безопасность приложений какао, руководства профессионала Wrox, 2010.
Моделирование угроз
Говард, Майкл и Дэвид Леблэнк. Пишущий Безопасный код (второй выпуск), Microsoft Press, 2003.
Андерсон, Росс. Разработка безопасности: Руководство по Созданию Надежных Распределенных систем, 2-й редактор John Wiley & Sons, 2001.
Тестирование пуха
Саттон, Майкл, Адам Грин и Педрам Амини. Fuzzing: открытие уязвимости грубой силы, образование Pearson, 2007.
Криптография
Шнайер, Брюс. Прикладная Криптография. 2-й редактор John Wiley & Sons. 1996.
Бренды, Штефан. Пересмотр прежнего мнения PKI и цифровых сертификатов: здание в конфиденциальности. Нажатие MIT. 2000.
Безопасные сети
Серый, Джон Шепли. Межпроцессные взаимодействия в UNIX. 2-й Профессионал редактора Прентис Холл. 1997.
Стивенс, W. Ричард. Сетевое программирование UNIX: Межпроцессные взаимодействия. Издание 2, 2-й Профессионал редактора Прентис Холл. 1998.
Стивенс, W. Ричард, Билл Феннер и Андрес M. Рудофф. Сетевое программирование UNIX: Сокеты Сетевой API. Издание 1. 3-й редактор Аддисон Уэсли Профешенэл. 2004.
Общие указания.
Garfinkel, Симсон, Джин Спэффорд и Алан Шварц. Практический Unix и Защита в сети Интернет. 3-й редактор О'Райли. 2003.
Viega, Джон и Гэри Макгроу. Создание безопасного программного обеспечения. Профессионал Аддисона-Уэсли. 2002.
Маккузик, Маршалл Кирк, Кит Бостик, Майкл Кэрелс и Джон Куартермен. Разработка и реализация 4,4 операционных систем BSD. Аддисон-Уэсли. 1996.
Стандарты и ссылки на протокол
Следующие страницы описывают некоторые стандарты, протоколы и алгоритмы, используемые Apple. Несмотря на то, что многие из этих страниц довольно стары, стандарты не изменились достаточно для лишения законной силы их полноценности.
Общие критерии
Для получения дополнительной информации об Общих Критериях, включая ссылки для загрузки полных официальных критериев посмотрите Общий портал Критериев в http://www .commoncriteriaportal.org/и веб-сайт Общей Схемы Оценки и Проверки Критериев (CCEVS) (http://www .niap-ccevs.org/cc-scheme/).
Kerberos
Для получения информации об аутентификации Kerberos посмотрите MIT веб-сайт Kerberos.
Посмотрите, что Сервер OS X Открывает Directory Administration, доступный в http://www .apple.com/server/documentation/для подробных данных о службах, поддерживающих Kerberos и о том, как реализовать Kerberos KDC на Вашем сервере OS X.
Другие безопасные сетевые протоколы
Модель аутентификации для HTTP описана в RFC 2617, Аутентификации HTTP: Основной и Аутентификация доступа Обзора.
Для получения информации о протоколе SSL для безопасных сетей посмотрите Черновую Спецификацию Версии 3.0 SSL IETF. Для протокола TLS посмотрите веб-сайт Рабочей группы TLS и RFC 5246.
Документация алгоритма Шифрования AES, используемого для FileVault, доступна на веб-сайте Национального института стандартов и технологий (NIST).