Я работаю над проектом, известным как проект Цикла безопасной разработки (SDL) в Microsoft (http://microsoft.com/sdl) - короче говоря это - ряд методов, которые должны использоваться группами продуктов, прежде чем они поставят продукты, чтобы помочь улучшить безопасность.
За последние несколько лет мы опубликовали много документации SDL, как клиенты просят для получения дополнительной информации о том, что мы делаем.
Но то, что я хотел бы знать:
Спасибо.
Я инди-разработчик Mac, но также евангелист безопасности платформы: я автор книги Pro Cocoa Application Security, опубликованной Wrox. В этой книге я отстаиваю технику безопасной разработки, которую использую сам: она основана на моделировании угроз Свидерски и Снайдера, но с двумя изменениями. Я уменьшаю его вес, учитывая, какие точки входа имеют доступ к каким активам без использования DFD. Я также уделяю больше внимания выявлению пользователей и злоумышленников, что, как мне кажется, делает его более применимым к программному обеспечению в термоусадочной упаковке.
Что касается поддержки инструментов, я использую статический анализатор Xcode (на основе clang), но обнаружил, что он не обнаруживает некоторые распространенные уязвимости. Хотя я писал об ошибках :-). Я также всегда использую макрос gcc _FORTIFY_SOURCE. Хороших инструментов анализа рисков для Mac нет, но я работаю над этим ...; -)
Я говорил о безопасности с разработчиками Mac на конференциях и в подкастах и получил много отзывов, если вы хотите, чтобы я уточните все, что я сказал или интересуетесь отзывами сообщества, спрашивайте в комментариях. Приветствуются личные вопросы (хотя я бы предпочел остаться на форуме): iamleeg at securemacprogramming dot com.
Мы думаем, прежде чем писать код. Как ни странно, это позволяет избежать многих ошибок, включая те, которые могут быть использованы недоброжелателями и впредь известны как "дыры в безопасности".
Часть хитрости заключается в том, чтобы не подпускать никого к клавиатуре, если у него нет солидного опыта и знаний.
Честно говоря, чтение вашей книги было хорошим началом. :-)
Отвечая на ваши вопросы:
Крипто - мое хобби, о котором я иногда пишу в блогах (например, на TLS и AES ). Написав свою собственную реализацию AES, я узнал достаточно, чтобы знать вне разумных сомнений, что я никогда не должен использовать свою собственную реализацию, а лучше использовать те, которые написаны ребятами из CryptoAPI и OpenSSL.
За исключением курса на месте и покупки инструмента проверки кода, все это не требует одобрения руководства.