Куда я попал?
Вы попали в сервис, который помогает корпоративным службам безопасности строить свои рабочие процессы: управление рисками, контроль соответствия требованиям, учет активов, планирование и сопровождение защитных мер на всем их жизненном цикле, распределение задач и т.д.
Еще SECURITM является платформой для обмена опытом и наработками между участниками сообщества служб безопасности.
Подробнее
 

Контроль целостности файла hosts

Цель: предотвращение подделки злоумышленником доменных имен.

hosts - файл в OС, содержащий базу данных доменных имен и используемый при их трансляции в сетевые адреса узлов. Запрос к этому файлу имеет приоритет перед обращением к DNS-серверам. Подробнее о файле hosts
Расположение для ОС Windows: %WinDir%\System32\Drivers\Etc
Возможно несанкционированное изменение содержимого файла, что может привести к подделке IP адресов для локальных и публичных узлов (фарминг).
Необходимо контролировать целостность файлов hosts в инфраструктуре. Для этого осуществлять их регулярный аудит на всех ПК/Серверах и автоматически уведомлять подразделение по информационной безопасности об изменениях в файлах hosts.
Возможны следующие варианты реализации защитной меры:
  1. С использованием сканера уязвимостей
  2. С использованием ПО для контроля целостности
  3. Скриптом (пример реализации в комментариях)
    В заметке приведен пример скрипта для контроля файлов hosts
Инструкция
При поступлении уведомления об изменениях в файле hosts необходимо:
  1. Проанализировать изменения
  2. Если изменения носят вредоносный характер:
    1. Провести антивирусную проверку хоста
    2. Выявить источник изменений
    3. Удалить изменения или заменить файл hosts на типовой
  3. Если изменения сделаны для обеспечения рабочего процесса - добавить изменение в исключения чтобы убрать ложные сработки в будущем.
Рекомендации к заполнению карточки:
  • Создать шаблон регулярной задачи по контролю изменений файла hosts;
  • Создать эталонный файл и прикрепить его в заметке к защитной мере. 
Классификация
Тип
Техническая ? Технические (логические) меры Технологические решения и меры, реализуемые в организации для снижения вероятности реализации рисков безопасности и их воздействия на организацию. Внутри орган...
Детективная ? Детективные меры Эти меры применяются для выявления любых вредоносных действий, нарушений и инцидентов. Эти меры не останавливают и не смягчают попытки вторжения, они только иде...
Реализация
Автоматически
Периодичность
Ежедневно
Ответственный
Не определено
Инструменты
Не определено
Предшествующие меры
Не требуется
Следующие меры
Не определено

Исполнение требований

SWIFT Customer Security Controls Framework v2022:
2 - 2.3 System Hardening
2.3 System Hardening

Связанные риски

Риск Угроза Уязвимость Тип актива Связи
Заражение вредоносным программным обеспечением из-за возможности подмены информации об IP адресах (фарминг) в ОС Windows
Доступность Конфиденциальность Отказ в обслуживании Повышение привилегий Раскрытие информации Целостность Искажение
Заражение вредоносным программным обеспечением
Доступность Конфиденциальность Отказ в обслуживании Повышение привилегий Раскрытие информации Целостность Искажение
Возможность подмены информации об IP адресах (фарминг) ОС Windows 2
Раскрытие ключей (паролей) доступа из-за возможности подмены информации об IP адресах (фарминг) в ОС Windows
Конфиденциальность Повышение привилегий Раскрытие информации Подмена пользователя
Раскрытие ключей (паролей) доступа
Конфиденциальность Повышение привилегий Раскрытие информации Подмена пользователя
Возможность подмены информации об IP адресах (фарминг) ОС Windows 2

Комментарии 1

1 год назад
Пример поиска несанкционированных записей в файле hosts на ПК Windows через скрипт 
@echo off

set "exclude=127.0.0.1 *.exclude-site1.com,127.0.0.1 *exclude-site2.com"

if not "%~1" == "" set "exclude=%~1"

set "hosts=%SystemRoot%\System32\drivers\etc\hosts"
if not exist "%hosts%" echo Error, "%hosts%" file not exists! & exit /b 1

call :excludes "%exclude%"

for /f "eol=# tokens=*" %%a in ('type "%hosts%"') do for /f "tokens=1,2" %%b in ("%%a") do if not "%%b" == "" if not "%%c" == "" ^
if not defined _excl^|%%b_%%c^| echo %%b %%c

exit /b 0

:excludes
if "%~1" == "" exit /b
for /f "tokens=1* delims=," %%a in ("%~1") do for /f "tokens=1,2" %%c in ("%%a") do (
	set "_excl|%%c_%%d|=1"
	call :excludes "%%b"
)
exit /b