Новая разработка Google поможет бороться с атаками, связанными с переполнением буфера

Новая разработка Google поможет бороться с атаками, связанными с переполнением буфера

...

Google собственными силами ведет разработку набора расширений для Java, которые позволят лучше защитить Java-программы от атак, связанных с переполнением буфера. Интернет-гигант сообщил, что компания открыла исходники собственного проекта, который проектировался чтобы добавить новую функциональность в Java, известную как Contracts или Design-By-Contract (DBC).



Вариант Google получил название Contracts for Java или, иначе говоря, Cofoja. Базируется эта разработка на наборе Java-аннотаций Modern Jass, созданных Йоханнесом Рикеном. Изначально созданная для облегчения программирования, Contracts также позволяют программистам бороться с будущими атаками, связанными с переполнением буфера в системе, передает cybersecurity.ru.

По словам специалистов, переполнение буфера - это один из самых старых видов атак, но он по-прежнему остается одним из главных в арсенале злоумышленников. Особенно активно переполнение буфера используется в JRE (Java Runtime Engine).

Говоря упрощенно, Contracts требует, чтобы каждый раз вызываемый метод в работающей программе, любые значения этого метода и иные данные соответствовали заранее определенным критериям. Кроме того, возвращаемые данные, также должны соответствовать критериям. "DBC следует понимать как контракт между компонентами программного обеспечения", - говорит Рикен.

В блоге Google для разработчиков компания призывает активнее использовать Contracts еще и как средство для выявления багов и неверно функционирующего кода.

Разработчик запустил Doom на беспроводных наушниках без экрана

Кажется, список устройств, на которых запускали Doom, снова пополнился, на этот раз беспроводными наушниками. Разработчик Арин Саркисян (Arin-S) сумел портировать легендарный шутер на пару PineBuds Pro. Тех самых TWS-наушников, у которых вообще нет экрана.

Звучит как очередная шутка из серии «Doom запустили на тостере», но всё по-настоящему.

PineBuds Pro — редкий случай на рынке: это одни из немногих наушников с открытой прошивкой, чем Арин и воспользовался. Эти наушники выпускает Pine64 — та же компания, что стоит за RISC-V-паяльниками вроде Pinecil.

Внутри каждого наушника скрывается Arm Cortex-M4F, и именно он стал сердцем проекта DoomBuds. Ради эксперимента разработчик разогнал процессор с 100 до 300 МГц и полностью отключил энергосберегающий режим. Сегодня такой разгон для встраиваемых чипов звучит почти как экстремальный спорт.

 

Отдельной головной болью стали память и хранилище. Чтобы игра вообще влезла в наушники, Арину пришлось серьёзно перекроить код: заранее сгенерировать таблицы, сделать часть переменных константами, отключить систему кеширования и выкинуть всё лишнее. В результате сам движок Doom уложился менее чем в 1 МБ. А WAD-файл Doom 1 пришлось ужать с 4,2 до 1,7 МБ — благо в сети давно есть «облегчённые» версии ресурсов.

Ну и главный вопрос: как играть в Doom без экрана? Решение оказалось неожиданно практичным. Арин использовал UART-подключение PineBuds Pro, чтобы стримить картинку на внешнее устройство или даже в интернет. Bluetooth тоже рассматривался, но по совокупности факторов UART оказался быстрее и стабильнее.

В итоге картинка передаётся в формате MJPEG, а производительность достигает примерно 18 кадров в секунду. Теоретически можно было бы выжать около 25 fps, но процессору банально не хватает сил быстро перекодировать видеопоток.

RSS: Новости на портале Anti-Malware.ru