Назад | Перейти на главную страницу

Подозрительный процесс ksoftirqd_1, использующий высокий процессор

Я запускаю этот веб-сервер, который предоставляет данные нескольким приложениям. За последние пару дней я заметил, что некоторые запросы занимают больше времени, чем обычно, поэтому я сделал топ, чтобы узнать, что выполняется, и вот что я получаю:

15335 redis     20   0  300564 265304    864 S 45.4 12.9  92:10.87 ksoftirqd_1                                                                                                                 
22747 wsgi-da+  20   0 1356280 152532   7512 S 43.1  7.4 218:11.78 apache2                                                                                                                     
32228 redis     20   0    9152   7512      4 S  1.0  0.4   0:01.65 zmap                                                                                                                        
32266 redis     20   0    9088   7368      4 S  1.0  0.4   0:01.55 zmap                                                                                                                        
32267 redis     20   0  222312  23528    440 S  1.0  1.1   0:06.66 zgrab                                                                                                                       
8 root      20   0       0      0      0 R  0.7  0.0  25:00.24 rcuos/0                                                                                                                     
31981 www-data  20   0  424756  13448   2688 S  0.7  0.7   0:00.21 apache2  

Этот ksoftirqd_1 занимает почти половину использования процессора и запускается пользователем redis. Обратите внимание, что есть еще пара других процессов, запускаемых пользователем redis.

Теперь, поискав в Интернете, я обнаружил, что на самом деле существуют процессы ksoftirqd, которые, похоже, помогают управлять IRQ (или чем-то в этом роде). Дело в том, что они должны отображаться как ksoftirqd / * вместо ksoftirqd_ * (обратите внимание на подчеркивание вместо косой черты). На самом деле у меня есть процессы ksoftirqd / *, запущенные пользователем root:

3 root      20   0       0      0      0 S  0.0  0.0   1:10.40 ksoftirqd/0                                                                                                                 

Это заставляет меня задаться вопросом, является ли этот процесс (и другие, выполняемые пользователем redis) законным. Я вспоминаю, что раньше на этой машине работал redis-сервер для проекта, над которым я работал пару лет назад. И когда я проверял эту проблему, сервер все еще работал (...). Но после его остановки все эти процессы redis по-прежнему используют системные ресурсы.

Еще сделал ps aux | grep redis, и вот что я получил:

redis      324  0.5  0.3   9088  6712 ?        Sl   17:03   0:00 zmap 443 x.x.x.x/19
redis      325  1.4  0.9 350212 18696 ?        Sl   17:03   0:02 zgrab --senders 100 --port 443 --tls --http=/ --http-max-redirects 2 --output-file=-
redis      326  0.0  0.0   9020   912 ?        S    17:03   0:00 grep -Ei x_jenkins|mongo-express|drupal|confluence|vbulletin
redis      327  0.1  0.0   4028  1736 ?        S    17:03   0:00 jq -r .ip
redis      361  0.6  0.3   9024  6176 ?        Sl   17:03   0:00 zmap 443 y.y.y.y/19
redis      362  2.3  0.9 284676 19068 ?        Sl   17:03   0:02 zgrab --senders 100 --port 443 --tls --http=/ --http-max-redirects 2 --output-file=-
redis      363  0.0  0.0   9212  1052 ?        S    17:03   0:00 grep -Ei x_jenkins|mongo-express|drupal|confluence|vbulletin
redis      364  0.2  0.0   4028  1736 ?        S    17:03   0:00 jq -r .ip
redis      377  0.8  0.3   9088  6676 ?        Sl   17:03   0:00 zmap 443 z.z.z.z/19
redis      378  5.6  1.2 289960 25068 ?        Sl   17:03   0:05 zgrab --senders 100 --port 443 --tls --http=/ --http-max-redirects 2 --output-file=-
redis      379  0.0  0.0   9472  1188 ?        S    17:03   0:00 grep -Ei x_jenkins|mongo-express|drupal|confluence|vbulletin
redis      380  0.2  0.0   4028  1736 ?        S    17:03   0:00 jq -r .ip
redis    15332  0.0  0.1   5484  3580 ?        S    14:06   0:00 bb50c48a591f3bfe9a993dcb0d790d0bi
redis    15335 54.3 12.9 300564 265304 ?       Sl   14:06  97:20 
redis    29700  0.0  0.0   4444   644 ?        S    16:30   0:00 sh /var/lib/redis/a
redis    29702  0.0  0.0   4444   712 ?        S    16:30   0:00 sh
redis    30309  0.0  0.0   4444   648 ?        S    16:30   0:00 sh /var/lib/redis/a
redis    30311  0.0  0.0   4444   716 ?        S    16:30   0:00 sh
redis    30886  0.0  0.0   4444   644 ?        S    16:30   0:00 sh /var/lib/redis/a
redis    30888  0.0  0.0   4444   712 ?        S    16:30   0:00 sh

Для протокола: да, эти процессы были вредоносными. По-видимому, это были какие-то программы для майнинга криптовалют, которые были установлены в системе с использованием некоторой уязвимости Redis, с использованием экземпляра сервера, который я забыл отключить ... и, как сказал @yoonix, они пытались выглядеть как системные процессы.

На всякий случай, если кто-то наткнется на эту атаку, вы можете прочитать об этом здесь (китайский контент, хотя перевод Google довольно приличный):

https://www.freebuf.com/vuls/213484.html