О безопасности программного обеспечения
В поддерживающем облако, очень сетевом мире современных вычислений безопасность является одним из самых важных фасетов надлежащей разработки программного обеспечения.
Самая важная вещь понять о безопасности состоит в том, что это не элемент пункта маркированного списка. Вы не можете соединить болтом его на в конце процесса разработки. Необходимо сознательно разработать безопасность в приложение или службу с самого начала, и сделать его сознательной частью всего процесса от проекта до реализации, тестирования и выпуска.
Сразу
На прикладном уровне безопасность означает знать, как Ваш код использует информацию и гарантируя, что это делает так безопасно и ответственно. Например, это - Ваша ответственность перед:
Бережно храните персональные данные пользователей от любопытных глаз. Храните данные безопасным способом и гарантируйте, что Ваше программное обеспечение собирает только информацию, которой это требует.
Обработайте недоверяемые файлы и данные с осторожностью. Если Ваше программное обеспечение получает доступ к Интернету или читает файлы, которые, возможно, были ранее отправлены кому-то по Интернету, Ваше программное обеспечение должно должным образом проверить данные. Если это не делает, это могло бы непреднамеренно предоставить вектор атакующим для доступа к другим персональным данным, которые могут храниться на компьютере пользователя или другом мобильном устройстве.
Защитите данные в пути. Если Ваше программное обеспечение передает персональные данные по Интернету, необходимо сделать так безопасным и надежным способом предотвратить несанкционированный доступ к или модификацию данных в то время как в пути.
Проверьте подлинность данных, если это возможно. Если Ваше программное обеспечение обеспечивает доступ к или работает с данными со знаком, это должно заверить те подписи, чтобы гарантировать, что не вмешались в данные.
Справка моделей угрозы Вы идентифицируете области риска
В стадии планирования необходимо определить природу угроз программному обеспечению и спроектировать код таким способом, максимизирующим безопасность. Чтобы сделать это, необходимо накопить модель угрозы, показывающую пути, которыми могло бы подвергнуться нападению программное обеспечение.
Безопасные методы кодирования и справка функций защиты ОС Вы смягчаете те риски
В каждой фазе процесса разработки необходимо предпринять шаги для смягчения рисков:
Избегите годных для использования дефектов кодирования. Во время фазы реализации необходимо избегать использования небезопасных методов кодирования, которые могут привести к произвольной инжекции кода, отказу в обслуживании или другому неправильному поведению.
Обновляйте свою модель риска постоянно. В течение процесса разработки необходимо продолжать выполнять регулярные оценки степени риска и обновлять модель угрозы, поскольку программное обеспечение развивается так, чтобы это точно отразило риск.
Не заново изобретайте колесо. При обеспечении программного обеспечения и его данных, необходимо всегда использовать в своих интересах встроенные средства защиты вместо того, чтобы писать собственное если вообще возможный. В частности Вы, возможно, должны определить, законен ли пользователь или нет, отправьте сообщения в серверы надежно, чтобы защитить целостность и тайну данных в пути, или хранить данные надежно на локальных дисках для защиты данных в покое.
Инструменты могут помочь Вам зафиксировать ошибки кодирования
В фазе тестирования необходимо использовать в своих интересах статические анализаторы и другие инструменты, разработанные, чтобы помочь Вам найти уязвимости системы обеспечения безопасности.
Предпосылки
Этот документ предполагает, что Вы уже считали Технологический Обзор Mac, Технологический Обзор iOS или обоих.