Google собственными силами ведет разработку набора расширений для Java, которые позволят лучше защитить Java-программы от атак, связанных с переполнением буфера.
Вариант Google получил название Contracts for Java или, иначе говоря, Cofoja. Базируется эта разработка на наборе Java-аннотаций Modern Jass, созданных Йоханнесом Рикеном. Изначально созданная для облегчения программирования, Contracts также позволяют программистам бороться с будущими атаками, связанными с переполнением буфера в системе.
По словам специалистов, переполнение буфера - это один из самых старых видов атак, но он по-прежнему остается одним из главных в арсенале злоумышленников. Особенно активно переполнение буфера используется в JRE (Java Runtime Engine).
Говоря упрощенно, Contracts требует, чтобы каждый раз вызываемый метод в работающей программе, любые значения этого метода и иные данные соответствовали заранее определенным критериям. Кроме того, возвращаемые данные, также должны соответствовать критериям. "DBC следует понимать как контракт между компонентами программного обеспечения", - говорит Рикен.
В блоге Google для разработчиков компания призывает активнее использовать Contracts еще и как средство для выявления багов и неверно функционирующего кода.
Одно найти легче, чем другое. Спойлер: это не темная материя