2015-12-03 4 views
1

Я побежал за укреплением SCA в моем исходном коде, который уже разработан, нашел несколько проблем. Как я должен исправить эти проблемы? Какой подход я должен принять? Поскольку я начинаю исправлять существующие уязвимости, могут возникнуть новые уязвимости. Если у меня нет подходящего подхода к этому, я бы потратил много кругов. Пожалуйста, предложите жизнеспособный подход, который я должен принять.Использование Fortify Tool в жизненном цикле проекта

ответ

2

TLDR: Начните с самой страшной уязвимости и пройдите свой путь вниз по списку ужасов.

Fortify обеспечивает обобщенное ранжирование вопросов под названием «Укрепить приоритетный ордер», который Fortify корректирует с вашими записями в описании проекта. Если это веб-приложение, вы можете использовать один из нескольких атрибутов 10 лучших OWASP. Если это приложение федерального правительства США, вы можете выбрать атрибут FISMA. Лично я предпочитаю Fortify Priority, потому что он яркий: может быть приятно уменьшить красную колонку критических проблем. Будьте уверены, что руководство сосредоточится на этих привлекательных критических моментах. Как только эти злодеи исчезнут, тогда яркие оранжевые Высокие будут захватывать их внимание.

Fortify также предоставляет набор фильтров, которые помогут сфокусировать ваши усилия. Они варьируются от простых основ в «представлении разработчика» до увеличения числа в «Критический просмотр экспозиции» ко всем деталям gory в «Просмотр аудитора безопасности». Хотя «Взгляд разработчика» может заманчиво за его краткость, если QA или аудиторы смотрят на ваши проверки, угадайте, какой из них они откроют. :-)

Каждый из этих атрибутов может быть дополнительно отфильтрован по приоритету (критический, высокий, средний и низкий) и/или по категории слабости. Если время короткое (не всегда!), Вы можете подумать о том, чтобы зафиксировать «низко висящие фрукты», которые явно доступны и легко исправляются, вместо того, чтобы увязнуть в сложном рефакторинге. Наконец, ваш центр оперативной безопасности может порекомендовать вам сосредоточиться на определенных недостатках, потому что это те векторы атак, которые они видят в вашей сети или на хостах.

Время повторного сканирования вашего кода зависит. Если приложение малое, и сканирование может быть выполнено быстро, то немедленное повторное сканирование минимизирует сложность обращения с ошибками, «введенными» вами во время исправления кода. Частое повторное сканирование уменьшает вероятность того, что несколько введенных ошибок будут взаимодействовать или иным образом смешать друг друга. Частое сканирование упрощает фокусировку на воздействии ваших исправлений на проблему. Однако, поскольку время сканирования увеличивается, задержка в получении результатов сканирования идет от раздражающего до непрактичного. Вследствие сканирования накладных расходов для больших и сложных приложений большинство команд будут сканировать один раз на сборку; поэтому частота зависит от их цикла сборки. Управление количеством файлов FPR, которые вы генерируете при частом сканировании, может быть незначительной неприятностью; вы, вероятно, не захотите загромождать свой Центр безопасности программного обеспечения тысячами файлов FPR с незначительными отличиями и небольшим историческим значением.

К счастью, Fortify позволяет скрывать или подавлять проблемы, которые вы определили как несущественные. (See my answer to HP Fortify — annotating method parameters.) Тем не менее вы все равно увидите все проблемы, с которыми вы не справились.

+0

Благодарим за отзыв. И, придя к моей главной заботе, если я начну исправляться из самых страшных и прокладываю путь к менее суровым, в этом процессе могут быть представлены новые. Как мне определить и исправить эти проблемы. Должен ли я сканировать приложение, когда все проблемы исправлены или сканируются на каждом этапе, и проверьте их. Какой из них будет более продуктивным? – harin04

+0

Я ответил на этот комментарий, исправив ответ. – WaltHouser

+0

Спасибо, WaltHouser – harin04