Автоматическое обновление Dot Net
Мне казалось, что .net не хватает простой защищенной автоматической библиотеки обновлений, поэтому я кое-что реализовал и разместил здесь. Прежде чем кто-либо подумает об использовании библиотеки, я увлекся процессом обновления, чтобы получить немного экспертную оценку.
Вот шаги:
- Клиентское программное обеспечение заполняется открытым ключом и URI для опроса.
- Клиент проверяет URI для файла манифеста.
- Манифест загружается, и подпись (в отдельной ".ignign" ) используется для проверки того, что манифест действителен.
- Список ожидающих обновлений анализируется из манифеста (для показа пользователю).
- Файл установщика загружается и снова проверяется с соответствующим файлом .signature. (загруженный файл будет защищен ACL)
- Выполняется установка.
Смягченные угрозы:
- Подпись манифеста должна предотвращать любые вредоносные загрузки ( " ковровая бомба" )
- Подпись установщика должна предотвратить любые атаки MITM от отправки вредоносных инсталляторов.
- Защита загруженного установщика с помощью списков ACL должна предотвращать любые локальные атаки на эскалацию.
Уничтоженные угрозы:
- A MITM атаковать, где злоумышленник всегда сообщает "нет доступных обновлений". (Может содержать клиента в уязвимой версии)
Ссылки:
- Защищенные обновления программного обеспечения: разочарования и новые вызовы
- Black Ops 2008: его конец кеша, когда мы его знаем
- Evilgrade уничтожит нас всех
Что я пропустил?