Шифровальщик TrueCrypt решили проверить

Система шифрования TrueCrypt пройдет народный аудит

Криптограф и преподаватель из Университета Джона Хопкинса Мэтью Грин (Matthew Green) вместе с Кеннетом Уайтом (Kenneth White) – со-основателем компании BAO Systems – решили проверить систему шифрования TrueCrypt для Windows, Linux и OSX. Эта программа разработана неизвестными специалистами и до сих пор не подвергалась независимому аудиту.

Эксперты по компьютерной безопасности неоднократно отмечали, что для того, чтобы доверять компьютерному программному обеспечению, оно должно обладать открытым кодом. Однако перед этим нужно, чтобы команда независимых экспертов провела аудит кода, определив его полную безопасность и защищенность от АНБ.

Деньги на исследование кода Грин и Уайт собрали деньги на FundFill и IndieGoGo, получив около $50 тысяч. Инициаторы проекта очень надеются, что им хватит средств на то, чтобы отблагодарить компанию-аудитора за поиск багов. Кроме проверки приложения, эксперты также пытаются создать новую систему лицензирования софта, которая позволила бы комплектовать TrueCrypt популярные дистрибутивы Linux.

Больше всего экспертов беспокоит то, что никто толком не знает, кто же занимался написанием Truecrypt. Есть подозрения, что новейшая версия Truecrypt 7.0a для Windows была скомпилирована из другого исходного кода. По словам журналистов, Грину удалось связаться с таинственными разработчиками TrueCrypt, которые поддержали инициативу.

Зачем Яндекс Go создал отдельный язык для расчёта стоимости поездок

Цена поездки в Яндекс Go — это не расстояние, умноженное на минуты и километры. В расчёт вмешиваются геозоны, спрос, скидки, платные дороги, дополнительные остановки и требования вроде перевозки кота, велосипеда или лыж. Чтобы управлять этим хозяйством без бесконечных деплоев, разработчики вынесли алгоритм ценообразования из кода сервиса в собственный язык.

Как объяснили разработчики в статье на Хабре, прайсинг работает не только при заказе машины.

Он пересчитывает стоимость при смене маршрута или способа оплаты, завершении поездки, обращении в поддержку и проверке данных аналитиками. Цена при этом может быть фиксированной, интервальной или считаться по таксометру.

 

Сначала сервисы параллельно собирают параметры поездки: тарифную категорию, геозоны, скидки, повышенный спрос и дополнительные услуги. Зависимости между источниками выстраиваются в граф, а запросы выполняются асинхронно на базе userver. Если некритичный источник не ответил, весь расчёт не падает.

 

Сам алгоритм раньше можно было бы держать в C++, но он меняется в среднем дважды в неделю. Выкатка сервиса на 50 подов занимает около 40 минут, а лес динамических конфигов быстро превратил бы код в музей условных операторов.

Поэтому Яндекс разработал собственный DSL. В нём есть условия, функции, неизменяемые значения и fold вместо циклов. Правила собираются в последовательную цепочку: каждое преобразование получает текущую цену и параметры, а возвращает новый результат с метаданными. Грамматику описали через ANTLR 4, а верификатор Z3 проверяет, что программа не выдаст некорректную цену.

 

Теперь изменение алгоритма не требует пересборки сервиса, ошибочную версию можно быстро откатить, а каждый расчёт — воспроизвести по входным данным и промежуточным результатам.

 

В итоге прайсинг превратился в отдельную платформу, которой уже пользуются Такси, Доставка и сервис зарядки электромобилей.

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