Нарушителю удалось получить журнал работы двух периодически запускающихся процессов сервера – обновления антивируса и проверки почтовых сообщений. Кроме того, он знает, что если обновление антивируса стартует во время загрузки почтовых сообщений от некоторого абонента VIP, то загружаемое сообщение антивирусом не проверяется. Из-за использования пароля 111 для почтового ящика VIP, нарушителю удалось получить к нему доступ.
Опишите возможные действия нарушителя по внедрению на сервер вредоносного кода через почтовые сообщения от VIP. В какой минимальный момент времени может произойти внедрение вредоносного кода?
Для внедрения на сервер вредоносного кода нарушитель может воспользоваться отсутствием проверки сообщений от VIP в момент загрузки обновлений антивируса.
Заметим, что «загрузка обновлений антивируса» запускается через один и тот же временной промежуток , а «проверка наличия сообщения» запускается через временной промежуток
Тогда условие одновременного запуска обоих процессов равносильно уравнению: . Тогда первый одновременный запуск произойдет в момент времени равный наименьшему общему кратному [], вычислить данное значение удобно как произведение деленное на наибольший общий делитель (НОД) этих чисел. На языке «С» следующим образом реализуем алгоритм Евклида нахождения НОД:
int Evclid(int n, int m)
{
while ((n>0) && (m>0))
{
if (m>n)
m=m%n;
else
n=n%m;
}
return (n+m);
}
Посчитанный НОД = 18181.
(Дальнейшие вычисления возможны в калькуляторе Windows или используя переменную _int64.)
(326730751/18181)*207463391= 3728324599661