Издание SelaNi опубликовало результат анализа утечки секретных документов DARPA, слитых в сеть в начале недели. В документах в основном финансовые отчёты и перечисления финансируемых программ, но также там оказались планы и отчёты по экспериментам и разработкам проведённым агентством за период с 2009 до 2025 год.

Начнём самого начала — с чем столкнулись США и какие проблемы видело перед собой агентство.

Отчёт 2010 года свидетельствует о том, что основной проблемой военной промышленности США стал найм программистов. Основные критические системы, такие как банки, были написаны на COBOL, а в военной сфере по директиве DoD 3405.2 использовался только язык программирования Ada. Оба языка постепенно потеряли носителей и к 2010 году стало понятно, что им нужно искать замену. Также по оценке экспертов количество С и С++ программистов в США сильно ниже, чем в России, Индии и Китае — основных геополитических конкурентах. Из этого росла стратегия агентства.

план на 2010-2030 годы

Исходя из вышеизложенных фактов руководство приняло долгосрочный план. Вкратце по пунктам:

  1. Дискредитация С++.

    В документах отмечается большой вклад в это Microsoft, Google, и других больших корпораций.

  2. Появление "замены С++".

    Здесь рассматривалось несколько вариантов, среди них Go от Google, но военных специалистов не устроило малое акцентирование на безопасности

    Второй попыткой стал язык Rust. Как и Ada он в своей идеологии полностью опирается на "безопасность на компиляции". Это военным специалистам понравилось, так что все силы были брошены на проект ADA2 (так документах именуется язык Rust)

  3. Форсированный переход на Rust под давлением рекламы и административного ресурса.

    Первый толчок популярности дали непубличные каналы демократической партии. В последствии даже отмечается,

The number of non-binary people in the Rust community threatens the conspiratorial component of the language's implementation plan.

перевод:


количество небинарных персон в сообществе Rust угрожает конспиративной составляющей плана по внедрению языка

далее с использованием неформальных связей Rust предлагали внедрить мейнтейнерам важных опенсорс проектов. Так, например, к Линусу Торвальдсу и проекту Linux подступились зная ненависть Линуса к С++. Отмечается, что агент договорившийся о внедрении Rust в Linux позже был удостоен премии.

Следующим этапом стали 2 законодательных акта. Первый - компании должны отказаться от C/C++ и второй - АНБ рекомендует переходить на безопасные по памяти языки.

Параллельно этому идёт создание межкорпоративных организаций, которые будут управлять процессом, отслеживать выполнение и в целом "возьмут под контроль корпоративные структуры в отношении создания и распространения ПО". Первой такой организацией стала Rust Foundation.

Конечно, далее к корпорациям последовало требование напрямую финансировать Rust. Первым опытом стала передача 1 млн долларов от Google в Rust.

Этот опыт признали успешным, но переформатировали. По нынешним планам скорректированным в 2021 году фонд корпораций станет финансировать опенсорс проекты, но только написанные на Rust. По планам агентства это должно поставить всех остальных конкурентов США в зависимость от экосистемы Rust и сильно ударит по суверенности геополитических врагов.

Сейчас план идёт в целом успешно, но есть и проблемы. Ключевые риски перечислены на странице 2841 документа "USA Software dominance", озаглавлено "Key risks":

  • первоначально предполагалось создать инструмент по автоматическому переписыванию C++ -> Rust. В процессе исследования выяснилось что это проблематично, но что хуже, и почему это ставит план под угрозу - обнаружилось, что автоматическое переписывание Rust -> C++ возможно и легко, а наоборот - нет. В связи с этим предписано внедрить в Rust механизмы на уровне синтаксиса или семантики такие, чтобы это стало невозможно. Пока это не реализовано

  • Предписано препятствовать попыткам создать статические анализаторы для С++ кода на основе современных ИИ технологий. Отмечается, что если такие системы будут созданы (а они уже сегодня возможны) Rust может потерять значительную долю рекламной привлекательности

  • Большим корпорациям предписано также усложнять системы сборки проектов на С++. Делается это через создание каждой из них своей ��борочной системы (Google - Bazel, Microsoft - vsstudio и др.)

  • Также конечно риском признано раннее обнаружение этой стратегии США конкурентами, например законодательный запрет использования Rust в критических системах России или Китая

Но это ещё не всё что было в утечках. Там обнаружились также неожиданные и даже смешные эксперименты:

  • Научный отдел агентства обнаружил дефицит витамина Д у сотрудников работающих в офисе и предложил использовать специальные офисные лампы с ультрафиолетом для эмуляции естественного солнечного света. Эксперимент был поставлен в офисе в Чикаго. После 4 месяцев эксперимента его экстренно закрыли, так как обнаружилось, что не смотря на улучшившееся самочувствие и продуктивность сотрудников, дополнительный витамин Д выводил их из депрессии, после чего они увольнялись - до этого им не хватало на это моральных сил.

  • Отмечается, что удостоен высшей награды и государственной премии агент АНБ, сотрудник Microsoft предложивший RtlSecureZeroMemory и RtlSecureZeroMemory2 - функции которую по документации нужно вызывать "для затирания" на байтах представляющих собой "пароли, приватные ключи, сертификаты и другие секретные данные". Отмечается "гигантский, неоценимый вклад этих функций в пополнение базы паролей и сертификатов АНБ".

  • Компания, название которой не разглашается, специально увеличила квоту приёма людей с синдромом Аспергера (аутистов) в свои подразделения с целью снижения читаемости и переиспользуемости опенсорс кода, так как руководители опасались, что после открытия исходного кода появится много конкурентов. Эксперимент завершился тем, что код действительно никто не переиспользовал, но - как отмечают в агентстве - он просто никому не нужен был изначально. Аутистов уволили или перенаправили в проект OpenSSL.

  • Также есть доклад о громадной утечке всего исходного кода одной из больших компаний. Эксперты опасались, что это сильно навредит цене компании на бирже, но после нескольких недель оказалось, что качество кода таково, что переиспользовать его невозможно и самым большим эффектом этой утечки стали мемы.