Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.
Проверка каждого шага по отдельности может пропустить нарушение, которое возникает только в итоге всего процесса. Ashwini Kurady и коллеги выделили четыре типа таких сбоев в препринте, который не рецензирован, а числа в нём получены самими авторами. Для систем с порогами эскалации и лимитами полномочий точнее настроить локальные защитные проверки недостаточно.
Такой сбой назвали композиционным нарушением политики (CPV). Каждый компонент действует в разрешённых пределах и правильно применяет доступное ему правило, но ни один не видит одновременно всю историю и итоговое состояние. Поэтому нарушение не обнаружит даже безошибочная проверка отдельного шага.
В сценарии из страхования первая проверка пропускает заявку с убытками на 210 тысяч долларов при пороге 250 тысяч. Позже другой компонент корректно добавляет ещё 75 тысяч, и итог вырастает до 285 тысяч, но порог повторно не проверяется. Ошибки нет ни в расчётах, ни в отдельных действиях: правило теряется между ними.
Описаны четыре механизма: компоненты постепенно присваивают себе влияние на решение; значение пересекает порог после проверки; допустимые операции вместе превышают общий лимит; содержание заявки искажается при последовательных пересказах. Исправление зависит от того, где меняются защищаемые данные: системе нужно хранить упорядоченную историю процесса, связывать производные значения с исходными документами и повторно вычислять показатели перед окончательным решением.
Таксономию разбирают на последовательных сценариях из регулируемых процессов, прежде всего коммерческого страхования. Предложенная архитектура остаётся проектом детектора, а не замером готовой системы в эксплуатации. Она работает только при полном журнале: если компонент удалил исключённые сведения вместо того, чтобы сохранить их происхождение, восстановить нарушение уже нельзя.
Источники
Похоже на вашу задачу?
Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.



