Потребителям тоже не до скрытых
Первые эксплуатируют очевидные "дыры", вторые пытаются их прикрыть.
Потребителям тоже не до скрытых каналов — им бы от червей и вирусов врукопашную отбиться, да найти деньги на прошлогодний снег в упаковке с надписью "системы предотвращения вторжений с известными сигнатурами". И еще терпеливо выслушать поучения производителей дырявого ПО за отсутствие дисциплины управления многочисленными корректирующими заплатами для этого самого ПО.
По поводу уязвимостей есть две новости, и обе хорошие. Первая — проблем с безопасностью базового ПО становится меньше, поэтому злоумышленники более активно эксплуатируют уязвимости приложений. Новость вторая — приложений много. А ведь есть еще фишинг и другие методы морально-психологического воздействия... Поэтому время скрытых каналов, если и придет, то не очень скоро.
Чтобы осознать, сколь скромное место занимают скрытые каналы среди других проблем информационной безопасности, даже если ограничиться только дефектами программного обеспечения, целесообразно рассмотреть классификацию подобных дефектов, предложенную в статье в контексте разработки средств статического анализа исходных текстов с целью выявления ошибок, чреватых возникновением уязвимостей.
Дефекты в ПО могут быть внесены намеренно или по небрежности. Первые подразделяются на злоумышленные и незлоумышленные. Злоумышленные дефекты — это лазейки, логические и временные бомбы; незлоумышленные — скрытые каналы (по памяти или по времени) и несогласованные пути доступа.
Дефекты, внесенные непреднамеренно, делятся на:
- ошибки проверки правильности данных (ошибки адресации, в том числе переполнение буферов, некачественные проверки значений параметров, неверное размещение проверок, неадекватная идентификация/аутентификация);
- ошибки абстракции (повторное использование объектов, раскрытие внутреннего представления);
- асинхронные дефекты (проблемы параллельного выполнения, включая ситуации опережения, активные и пассивные тупики, разрывы между временами проверки и использования, а также наличие нескольких ссылок на один объект);
- ненадлежащее использование подкомпонентов (утечка ресурсов, непонимание распределения ответственности);
- ошибки функциональности (дефекты обработки исключительных ситуаций, прочие дефекты безопасности).
Содержание Назад Вперед