Американские ученые предлагают отвернуться от современной идеологии программирования и наоборот добавить в программное обеспечение больше «дыр». Так злоумышленник будет тратить время на изучение специально созданных слабых мест в ПО, и не сможет уделить внимание действительно опасным уязвимостям.
Команда исследователей из Университета Нью-Йорка под руководством доцента компьютерных наук Брендана Гевита предлагает встраивать в программы большое количество ложных багов. Это не новый метод – подобный существует и используется при тестировании программного обеспечения. Искусственные баги используют для того, чтобы оценить эффективность тестирования, зная общее количество искусственных «дыр» и найденное их количество.
Гевит подумал, что это также хороший способ защиты программного обеспечения. «Найдя баг, нужно будет много времени, чтобы понять, можно ли его как-то использовать, – говорит ученый. – Если встроить большое количество «дыр», которые почти не отличаются от реальных, хакерам понадобится много времени на их исследование. У злоумышленников может впоследствии исчезнуть желание атаковать из-за больших объемов работ».
У предложенного метода есть существенные ограничения в использовании. Он не подходит для программ с открытым исходным кодом, поскольку злоумышленники могут легко открыть эти файлы и прочитать все фейковые «дыры». Также, поскольку поддельным багам необходимо внешне вести себя как реальные, включая падения и сбои приложений, этот метод не рекомендуется использовать в критических системах, например, финансовых или транспортных.
Исследовательская команда продемонстрировала свою идею, встроив безобидную «дыру» в реальное программное обеспечение. Эксперимент показал, что даже при появлении большого количества искусственных багов скорость выполнения программного обеспечения практически не снижается. Следующая цель ученых – создать инструмент, который автоматизирует разработку приложений с ненастоящими багами.