Ранжирование атак на программные продукты. Классификация DREAD. |
30.09.2008 09:45 | ||||||||||||||||||||||||||||||||
Автор: Полаженко Сергей При анализе проблемы безопасности программного продукта разыскиваются варианты атак [1], которые могут быть применены злоумышленником для нанесения ущерба пользователям продукта, его владельцам или правообладателям. Из всего множества вариантов атак, в первую очередь следует обратить внимание на те варианты, которые могут привести к существенному ущербу. Каждый вариант атаки может отличаться большим количеством самых разнообразных параметров: стоимость атаки для злоумышленника, необходимая квалификация злоумышленника, необходимые вычислительные мощности, степень популярности (доступности) исследуемого программного продукта, степень заинтересованности злоумышленника в успехе атаки и т.д. Очень трудно в общем случае предложить какой-либо объективный и полный перечень критериев для того, чтобы в полной мере охарактеризовать каждый вариант атаки в полной мере. Однако от качества оценки существенно зависит бюджет проекта по реализации мер безопасности программного продукта или по тестированию уже реализованных мер. В случае если опасность некоторой атаки будет недооценена, то разработчики не сделают никаких мер защиты от этой атаки, что может привести к большому ущербу для владельца программного продукта, его пользователей или его правообладателя. В случае если опасность атаки будет переоценена, то это может привести к ложной необходимости разработки усиленных мер, что означает трату дополнительных временных и человеческих ресурсов. В общем случае атака характеризуется такой величиной, как риск. Под понятием риска в статье понимается — сочетание вероятности события (атаки на программный продукт) и его последствий [2]. Т.е. в общем случае риск реализации атаки может быть представлен формулой: R = C * P. Где R — риск реализации атаки. C — ущерб от атаки. Ущерб может измеряться как в каких-то количественных единицах, например в денежных единицах — российских рублях, долларах США и т.д., а может измеряться качественно, например балами от 1 до 10, где 10 — максимальное значение для ущерба. P — вероятность реализации атаки. Вероятность может измеряться, как количественно — рациональным числом из отрезка [0, 1], так и качественно, как и в случае с ущербом. Такое определение риска, разделяет задачу оценки опасности атаки (риска) на две независимые подзадачи: оценки возможного ущерба и вероятности реализации атаки. Однако на практике, в виду того, что полученные величины также трудно оценить — разыскиваются методы, которые ещё более детально формализуют понятие риска. Как правило, такие методы определяют ряд критериев, которые тем или иным способом детализируют как составляющие ущерба, так и составляющие вероятности реализации атаки. Примером такой классификации может послужить классификация DREAD, которая достаточно часто рассматривается в литературе, в которой обсуждается методология моделирования угроз компании Microsoft (Microsoft Threat Modeling Methodology) из [3]. Классификация DREAD состоит из пяти критериев, которые обычно оцениваются экспертным путём оценками от 0 (не имеет место) до 10 (максимальное значение). Само название классификации состоит из заглавных первых букв англоязычных вариантов названия критериев:
Таблица 1. Пояснение для численных значений критериев классификации DREAD.
Итоговой оценкой может быть среднее арифметическое всех значений критериев: (D1 + R + E + A + D2) / 5 (1) Или как рекомендуется в ряде источников величина, которая вычисляется по формуле: (2D1 + 2R + 2E + 2A + 2D2) / 1024 (2) Формула (2) отражает тот факт, что степень значимости оценок от 1 до 10 не растёт равномерно. Оценка 10 для одного из критериев должна иметь значительно большее значение, чем оценка 1 для другого критерия.
Как видно классификация DREAD имеет ряд, как преимуществ, так и недостатков. Основное преимущество — это простота и доступность этой классификации для всех участников проекта: архитекторов, разработчиков, маркетологов и т.д. Основной недостаток — высокая субъективность каждого критерия и его оценки. Команде разработчиков (тестировщиков) программного продукта нужен определенный опыт, прежде чем они станут однозначно определять и понимать каждую оценку, поставленную в рамках классификации DREAD. Не смотря на кажущуюся простоту, классификация DREAD позволяет выделить наиболее опасные варианты атак, что позволяет рационально спланировать бюджет проекта по реализации (тестированию) мер безопасности и защищённости программного продукта. Список использованных источников:
|