2010-03-31 3 views
9

Я работаю над проектом, известным как проект жизненного цикла безопасности (SDL) в Microsoft (http://microsoft.com/sdl). Короче говоря, это набор практик, которые должны использоваться группами продуктов, прежде чем они отправят продукты, чтобы повысить безопасность.Какие защищенные разработки программного обеспечения вы используете?

За последние несколько лет мы опубликовали много документации SDL, так как клиенты запрашивают дополнительную информацию о том, что мы делаем.

Но то, что я хотел бы знать:

  1. Что вы делаете в вашей организации, чтобы помочь улучшить безопасность вашего продукта?
  2. Что работает? Что не работает?
  3. Как вы получили руководство, чтобы согласиться на эту работу?

Спасибо.

+7

Я думаю, что это хороший вопрос хорошего парня. Программное обеспечение Microsoft развернуто для огромного количества пользователей и улучшено с точки зрения безопасности (например, сравнить IIS 4 с IIS 7). Я думаю, что недавняя атака на Adobe Reader в последнее время является скорее подтверждением того, что атаковать продукты Microsoft становится все сложнее. Ни в коем случае Microsoft не совершенна, но они изучили некоторые уроки и стали лучше. –

+0

@Jeff Moser Итак, как насчет того нового IE 8 0-day на Windows 7 на pwn2own? То, что Microsoft говорит, бессмысленно, когда их программное обеспечение постоянно ломается. Все, что я вижу, это Exploit after Exploit, абсолютно ничего не изменилось. – rook

+2

@ TheRook: каждый раз, когда ваш продукт используется сотнями миллионов пользователей, вы станете мишенью. Безопасность сложна и требует много стратегий углубленной защиты. Это очень асимметричное сражение, в котором вам нужно защищаться от всего, и злоумышленнику нужно только найти одну слабость. Кроме того, при таком широко распространенном сообществе пользователей вы должны выполнить много регрессионного тестирования для проверки исправления. Это тяжело, и я рекомендую таких людей, как Майкл, честно пытаться. Давайте отложим тенденции пламенной войны и справедливо рассмотрим этот вопрос, указав на хорошие практики и помог сообществу. –

ответ

0

Мы думаем, прежде чем мы код. Как ни странно, это позволяет избежать многих ошибок, в том числе тех, которые могут быть использованы сторонними сторонами и в дальнейшем известны как «дыры в безопасности».

Часть трюка не позволяет никому приблизиться к клавиатуре, если у него нет достаточного количества опыта и опыта.

+0

Больше опыта не всегда лучше. Например, атакующим указательным атакам не исполнилось 5 лет, но они используются для использования IE под Windows 7. Старший программист, который знает, что переполнение буфера очень хорошо, скорее всего, пропустит новые методы эксплуатации. – rook

+0

, и поэтому защита настолько критически важна - вы никогда не получите 100% своего кода на 100%, так как новые методы использования постоянно создаются. –

2

Честно говоря, чтение your book было хорошим началом. :-)

В ответ на вопросы:

  1. Crypto это мое хобби, что я иногда блог о (например, на TLS и AES). После написания моей собственной реализации AES я узнал достаточно, чтобы узнать, вне разумного сомнения, что я никогда не должен использовать свою собственную реализацию, а скорее использовать те, которые написаны ребятами CryptoAPI и OpenSSL.

    • Code reviews где люди, которые хорошо разбираются в безопасности, отмечены как требуется.
    • Наличие класса на месте с лабораториями для повышения осведомленности о проблемах, упомянутых в вашей книге, а также внутренних списков рассылки, в которых обсуждаются новые проблемы.
    • Несколько человек слушают Security Now podcast, чтобы держать в курсе, какие типы проблем есть и что нападает. Это косвенно влияет на дизайн.
  2. За исключением курсов на месте и приобретения инструмента обзора кода, ни одно из них не требует одобрения руководства.

+0

Как вы относитесь к безопасности сейчас? Я считаю, что они используют фразу «лучшая безопасность», чтобы заставить меня думать, что Гибсон фокусируется на абсолютизме, а не на управлении рисками. – 2010-03-31 22:28:12

+0

Хотелось бы, чтобы это пошло глубже, но его легко слушать на коммутируемой дороге. Стив немного параноик, чем я, но я думаю, все в порядке. –

1

Я разработчик indie mac, но также евангелист платформы безопасности: я являюсь автором Pro Cocoa Application Security, опубликованным Wrox. В этой книге я выступаю за защищенную технику dev, которую я использую сам: она основана на моделировании Swiderski и Snyder, но с двумя изменениями. Я делаю это более легким весом, рассматривая, какие точки входа получают доступ к активам без использования DFD. Я также уделяю больше внимания идентификации пользователей и злоупотреблений, что, по-моему, делает его более применимым к программному обеспечению для сжатия.

Что касается поддержки инструмента, я использую статический анализатор Xcode (основанный на clang), но обнаружил, что он не обнаруживает некоторых распространенных уязвимостей.Я делал файлы ошибок, хотя :-). Я также всегда использую макрос gcc _FORTIFY_SOURCE. Нет хороших инструментов анализа риска Mac, но я работаю над этим ... ;-)

Я говорил о безопасности для разработчиков Mac на конференциях и в подкастах и ​​получил много отзывов, если вы хотите, чтобы я прояснить все, что я сказал или заинтересован в обратной связи с сообществом, пожалуйста, спросите в комментариях. Частные вопросы приветствуются (хотя я бы предпочел остаться на форуме): iamleeg at securemacprogramming dot com.

Смежные вопросы