Я разрабатываю кроссплатформенный агент безопасности, ориентированный в основном на Windows. В будущем мне может понадобиться аналогичный подход для macOS. Одной из важнейших функций является режим «временной приостановки», которым управляет ИТ-администратор, при котором агент прекращает мониторинг на определенный период времени.
Проблема: Пользователи могут попытаться продлить периоды приостановки, вручную изменив системные часы (настенные часы), пока агент находится в автономном режиме. (Я могу использовать доверенный сервер для получения текущего времени, когда агент находится в сети.) Поскольку мой продукт использует логику, основанную на времени, мне необходимо убедиться, что системное время не было изменено.
Текущий подход: В настоящее время я использую фоновый поток, который опрашивает каждые 2 секунды. Он сравнивает std::chrono::system_lock (на который может влиять пользователь) с std::chrono::steady_lock (который является монотонным и не должен прыгать). Этот подход не кажется правильным. Достаточно ли этой переносимой реализации, или мне следует использовать альтернативный подход, который мог бы использовать внутренние события, специфичные для ОС, не жертвуя при этом слишком большой переносимостью.
Ниже приведен минимально воспроизводимый пример моей текущей логики, которую я пишу с помощью чат-бота. Он компилируется на VS2022 C++20. Есть ли более стандартный или надежный способ реализовать это для контекста, чувствительного к безопасности? Действительно ли мне нужно иметь дело с собственными вещами для Windows?
#include
#include
#include
using namespace std::chrono_literals;
int main() {
auto last_system = std::chrono::system_clock::now();
auto last_steady = std::chrono::steady_clock::now();
std::cout
Подробнее здесь: https://stackoverflow.com/questions/798 ... -using-c20
Как обнаружить подделку (переходы) системных часов для продукта безопасности с использованием C++20? ⇐ C++
Программы на C++. Форум разработчиков
1767802098
Anonymous
Я разрабатываю кроссплатформенный [b]агент безопасности[/b], ориентированный в основном на Windows. В будущем мне может понадобиться аналогичный подход для macOS. Одной из важнейших функций является режим «временной приостановки», которым управляет ИТ-администратор, при котором агент прекращает мониторинг на определенный период времени.
[b]Проблема:[/b] Пользователи могут попытаться продлить периоды приостановки, вручную изменив системные часы (настенные часы), пока агент находится в автономном режиме. (Я могу использовать доверенный сервер для получения текущего времени, когда агент находится в сети.) Поскольку мой продукт использует логику, основанную на времени, мне необходимо убедиться, что системное время не было изменено.
[b]Текущий подход:[/b] В настоящее время я использую фоновый поток, который опрашивает каждые 2 секунды. Он сравнивает std::chrono::system_lock (на который может влиять пользователь) с std::chrono::steady_lock (который является монотонным и не должен прыгать). Этот подход не кажется правильным. Достаточно ли этой переносимой реализации, или мне следует использовать альтернативный подход, который мог бы использовать внутренние события, специфичные для ОС, не жертвуя при этом слишком большой переносимостью.
Ниже приведен минимально воспроизводимый пример моей текущей логики, которую я пишу с помощью чат-бота. Он компилируется на VS2022 C++20. Есть ли более стандартный или надежный способ реализовать это для контекста, чувствительного к безопасности? Действительно ли мне нужно иметь дело с собственными вещами для Windows?
#include
#include
#include
using namespace std::chrono_literals;
int main() {
auto last_system = std::chrono::system_clock::now();
auto last_steady = std::chrono::steady_clock::now();
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79862369/how-to-detect-system-clock-tampering-jumps-for-a-security-product-using-c20[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия