Вирус который свободное место

Обновлено: 24.04.2024


Скорей всего, матерым системным администраторам статья будет не очень интересна. В первую очередь она ориентирована на новичков, а также на людей, которые столкнулись с подобной проблемой — необходимостью удалить огромное количество файлов из одной папки в ОС Linux (Debian в моем случае), а также с закончившимся местом на диске, когда df -h выдает что почти 30% свободно.

Начало

Ничто не предвещало беды.
Сервер с сайтом работал без никаких проблем уже больше года (uptime почти 500 дней), не было никаких проблем, и я с чистой душой спокойно ушел в отпуск.

Казалось бы, проблема банальна — кончилось место на диске. Правда, df -h показывает, что на диске имеется вполне достаточное количество свободного места, ну да я же в отпуске, разбираться лень — посоветовал им поискать на диске ненужные файлы (старые бекапы и т.д.) и их удалить. Удалили, вроде все заработало.

Прошла пара часов и проблема вернулась. Странно — свободное место на жестком диске за это время практически не уменьшилось. После беглого гугления обнаружился топик на serverfault, в котором говорится, что проблема может возникнуть также из-за того, что кончилось не место на диске, а айноды!

Ввожу в консоль df -i — и оказывается действительно, айноды у меня закончились.

Проблема

Начал искать, где же у меня находится столько файлов на жестком диске, что они сожрали все айноды (а айнодов у меня на 500-гигабайтном жестком диске больше 30 миллионов).

И нашел — оказалось, проблема была в папке с сессиями php.

Видимо, по какой-то причине сломался механизм автоочистки этой папки, что привело к тому, что в ней скопилось огромное количество файлов. Насколько огромное — сказать сложно, потому что никакие стандартные команды линукс, такие, как ls, find, rm и т.д. — с этой папкой не работают. Просто виснут, заодно подвешивая весь сервер. Могу только сказать, что сам файл директории стал весит около гигабайта, а также что файлов там точно более полумиллиона, потому что столько я оттуда уже удалил.

Решение

Решение очевидное — надо удалить все эти файлы сессий. При этом желательно, чтобы сервер продолжал работать в штатном режиме. Для начала я переименовал папку сессий, в которой лежит куча файлов, а вместо нее создал пустую — чтобы спокойно из старой (переименованной) удалять все файлы, и чтобы это не мешало созданию новых файлов сессий.

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

И перешел к основной проблеме — очистке жесткого диска.

Сервер повис, ничего не удалилось

Попробовал известный способ для удаления большого числа файлов


Ничего, сервер виснет, файлы не удаляются.

А теперь что самое интересное — файловый менеджер mc достаточно успешно справлялся с задачей удаления этих файлов! То есть, когда запускаешь удаление папки — файлы удаляются, mc не виснет. Удаление идет со скоростью примерно 5 000 файлов в минуту, правда при этом создается огромная нагрузка на жесткий диск, что приводит к неработоспособности сервера.

А хотелось бы, чтобы эти файлы постепенно удалялись в фоновом режиме, и не мешали нормальной работе сайта.

Собственно, решение опять нашлось в гугле — Olark делится способом, как он отобразил список из 8 миллионов файлов в 1 папке, используя системный вызов getdents

Здесь находится документация по функции getdents, а также пример кода, который ее использует.

Правда, этот пример мне не совсем подошел — даже если ставить большой размер буфера, как советует Olark в своем блоге, все равно сервер виснет при попытке прочитать всю папку разом.

Опытным путем подобрал размер буфера в 30 килобайт, который позволяет считать около 550 названий файлов из директории, при этом не подвешивая сервер и не создавая излишней нагрузки на диск. А также немного переписал код примера, чтобы вместо отображения имени файла он его удалял.

В итоге у меня получился такой код:


Код компиллируется обычным gcc


И просто запускается из командной строки:


Получившийся файл я поставил в крон и теперь у меня удаляется по 547 файлов в минуту, при этом нагрузка на сервер в пределах нормы — и я надеюсь, в течение недели-другой все файлы все-таки удалятся.

как замаскировать троян под антивирус

он может попасть к жертве в таком виде


Суть вируса такова, что, запустившись в корне системного диска, он создаёт стремительно расширяющийся файл (в зависимости от конфигурации компьютера — до 1 Гб/сек), чем заполняет всё свободное его — диска — место и приводит систему в не совсем рабочее состояние со всеми вытекающими. При всём этом не всякий антивирус способен его обнаружить. Но при опробывании во избежании ошибки антивирус можно отключить. Однако на описанном его зловредность и заканчивается, никакого ущерба системе он более не принесёт.

Трюк с заполнением пространства диска или флешки можно провернуть быстрее. На такое способна маленькая встроенная fsutil.exe утилита в составе самой Windows. Но вам понадобится доступ к компьютеру жертвы.

Более того, вы вполне можете его опробовать на своей системе, предварительно сохранив все важные документы. Полноценным вирусом Пожиратель пространства в этом виде не является по нескольким причинам (ибо нарочито предпринято несколько действий — хотя они легко поправимы):

троян замаскированный под антивирус

  • требует осмысленного запуска со стороны пользователя (хотя и замаскировано под антивирусную программу)
  • отсутствует упаковщик
  • во время исполнения файла идёт сопровождение на русском языке, которое описывает действия, последствия и возможность избавиться от трояна
  • файл, который пространство диска заполнит, не обладает атрибутами Скрытый и доступен для удаления
  • имеет интерфейс и его действие не скрыто от глаз пользователя (работа трояна легко отслеживается через Диспетчер задач)
  • код подправлен на одноразовое действие на один том

Если вы не знакомы с темой Троянов, то можете ознакомиться поближе с этим вопросом в статьях:

Троян Нет свободного места на диске. Приступаем.

Перед запуском в папке C:\Windows\System32 создайте файл junk.dll — он и будет причиной несчастий.

Куда девается место на жестком диске

Работая в Windows, будь то XP, 7, 8 или Windows 10, со временем вы можете заметить, что место на жестком диске куда-то исчезает: сегодня его стало на гигабайт меньше, завтра — испарилось еще два гигабайта.

Резонный вопрос — куда девается свободное место на диске и почему. Сразу скажу, что обычно это не вызвано вирусами или вредоносными программами. В большинстве случаев, за пропавшее место в ответе сама операционная система, но есть и другие варианты. Об этом и пойдет речь в статье. Также настоятельно рекомендую к изучению материал: Как очистить диск в Windows. Еще одна полезная инструкция: Как узнать, чем занято место на диске.

Главная причина исчезновения свободного места на диске — системные функции Windows

Одна из основных причин медленного уменьшения количества места на жестком диске — работа системных функций ОС, а именно:

  • Запись точек восстановления при установке программ, драйверов и других изменениях, для возможности последующего возврата к предыдущему состоянию.
  • Запись изменений при обновлении Windows.
  • Дополнительно сюда можно отнести файл подкачки Windows pagefile.sys и файл hiberfil.sys, также занимающие свои гигабайты на вашем винчестере и являющиеся системными.

Точки восстановления в Windows

По умолчанию, Windows выделяет на жестком диске определенное количество места для записи изменений, производимых на компьютере во время установки различных программ и других действиях. По мере записи новых изменений, вы можете заметить, что пропадает место на диске.

Настроить параметры для точек восстановления вы можете следующим образом:

Я не стану советовать, стоит ли отключать данную функцию: да, большинство из пользователей ей не пользуются, однако, при сегодняшних объемах жестких дисков, не уверен, что отключение защиты в значительной степени расширит ваши возможности хранения данных, а вот пригодиться все-таки может.

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

Папка WinSxS

Сюда же можно отнести сохраняемые данные об обновлениях в папке WinSxS, которые также могут занимать значительное количество места на винчестере — то есть место пропадает при каждом обновлении ОС. О том, как очистить эту папку я подробно написал в статье Очистка папки WinSxS в Windows 7 и Windows 8. (внимание: не очищайте эту папку в Windows 10, она содержит важные данные для восстановления системы в случае неполадок).

Файл подкачки и файл hiberfil.sys

Еще два файла, занимающие гигабайты на жестком диске — это файл подкачки pagefile.sys и файл гибернации hibefil.sys. При этом, что касается гибернации, в Windows 8 и Windows 10 вы можете ее даже никогда не использовать и все равно на жестком диске будет файл, размер которого будет равняться размеру оперативной памяти компьютера. Очень подробно на тему: Файл подкачки Windows.

Дополнительные параметры системы

Настройка параметров файла подкачки Windows

Что касается файла гибернации, то подробно о том, что это и как убрать его с диска можно прочитать в статье Как удалить файл hiberfil.sys

Другие возможные причины проблемы

Если перечисленные пункты не помогли вам определить, куда пропадает место на жестком диске и вернуть его, вот еще некоторые возможные и распространенные причины.

Временные файлы

Большинство программ при работе создают временные файлы. Но не всегда их удаляют, соответственно те накапливаются.

Дополнительно к этому, возможны и другие сценарии:

  • Вы устанавливаете программу, загруженную в архиве, не распаковав ее предварительно в отдельную папку, а прямо из окна архиватора и в процессе закрываете архиватор. Результат — появились временные файлы, размер которых равен размеру распакованного дистрибутива программы и автоматически они удалены не будут.
  • Вы работаете в Photoshop или монтируете видео в программе, которая создает собственный файл подкачки и происходит сбой (синий экран, зависание) или отключение питания. Результат — временный файл, с очень внушительным размером, о котором вы не знаете и который так же не удаляется автоматически.

Утилита очистки диска

Куда лучший способ — использовать специальную утилиту для этих целей, например, бесплатную CCleaner. Может прочитать о ней в статье Использование CCleaner с пользой. Также может пригодиться: Лучшие программы для очистки компьютера.

Неправильное удаление программ, захламление компьютера своими силами

Ну и наконец тоже весьма распространенная причина того, что места на жестком диске все меньше и меньше: пользователь сам делает все для этого.

На самом деле, по последнему пункту можно написать отдельную статью, которая будет даже объемнее этой: пожалуй, оставлю это на следующий раз.

Какой-то вирус который "съедает" память компьютера

Заметил где-то полгода назад, что место само собой заполняется, т.е. компьютер работает какое-то время, у него заполняется память диска. Сначала я думал, что это оперативная память, но это продолжалось и дальше. Я начал удалять игры, чтобы поддерживать свободное место, но игр уже оставалось не так много для 200-250 Гбайт, максимум на 130 - это предел. Сегодня оставил ноутбук включенным на 2 с половиной часа - смотрю место уменьшилось на 22 Гбайт! Я ничего не качал за это время, никто не качал ничего за это время. Есть подозрение на какой-нибудь бэкдор или просто программа, которая заполняет пространство.

Anti-Malware Telegram

Уважаемый(ая) Yuri2510, спасибо за обращение на наш форум!

Помощь в лечении комьютера на VirusInfo.Info оказывается абсолютно бесплатно. Хелперы в самое ближайшее время ответят на Ваш запрос. Для оказания помощи необходимо предоставить логи сканирования утилитами АВЗ и HiJackThis, подробнее можно прочитать в правилах оформления запроса о помощи.

Если наш сайт окажется полезен Вам и у Вас будет такая возможность - пожалуйста поддержите проект.

Антивирусная помощь

Сейчас уже 114 гб, скачалось только обновление стима и доты. Еще я заметил что оперативная память(6 гб) заполняется почти и иногда до конца, причем не понятно чем. Смотрел в диспетчере задач.

Физическая память (МБ)
Всего 6103
Кэшировано 2939
Доступно 3310
Свободно 434

Скорость скачивания у меня не самая большая - до 1мбайт в секунду

Выполните загрузку в безопасном режиме. Если проблема не наблюдается, проблема кроется в сторонней службе или программе. В этом случае выполните следующие действия.
Пуск - Поиск / Выполнить - msconfig - ОК и перейдите на вкладку Службы. Установите флажок Не отображать службы Microsoft.
Отключите все отображенные службы (имеются в виду только не принадлежащие Microsoft) и перезагрузитесь. Если проблема не появляется, причина в одной из этих служб.

Далее действуйте методом "половинного деления". Включите половину служб и снова перезагрузитесь. Если проблема не появляется, причина в оставшихся отключенных службах. Если проблема воспроизводится, причина во включенных службах - отключите половину из них и снова перезагрузитесь. Действуя таким образом, вы сможете выявить службу, являющуюся причиной проблемы, и определить программу, которой она принадлежит.
Аналогичным образом можно поступить на вкладке Автозагрузка.
Здесь тоже не следует отключать пункты, производителем которых является Microsoft. Отключение программ других производителей может привести к неправильной работе устройств в том случае, если вы отключите их драйверы. Поэтому программы производителей вашего аппаратного обеспечения (например, Intel) лучше не отключать, либо отключать в самую последнюю очередь.

Далее можно порекомендовать лишь обновление программы до последней версии или ее удаление.

Читайте также: