Какими способами, кроме файла hosts, я могу перенаправить или иным образом полностью заблокировать веб-сайты с помощью программного обеспечения?

Malwarebytes Premium может перенаправлять веб-сайты, которые обнаруживает, что они плохие, и перенаправляет их на страницу блокировки - без расширений или, казалось бы, очевидных методов.

Как что-то вроде Malwarebytes перенаправляет запрос на другую страницу?

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

1 ответ1

1

Я не знаю конкретно о HTTP-фильтре Malwarebytes, но я предполагаю, что он работает аналогично Fiddler.

Fiddler сам по себе является HTTP-прокси, который обрабатывает запросы. Он работает, запустив HTTP-сервер через порт 8888 который принимает соединения HTTP и HTTPS.

Когда вы запускаете Fiddler, он переконфигурирует общесистемные параметры интернет-соединения Windows, чтобы установить себя как общесистемный HTTP-прокси. Вы можете увидеть это, если взгляните на Панель управления> Свойства обозревателя> Подключения> Параметры локальной сети> Прокси-сервер> Дополнительно> HTTP: 127.0.0.1:8888 . Когда вы закрываете Fiddler, он возвращает настройки к прежним значениям.

Эти настройки в параметрах Интернета автоматически используются любым приложением, использующим WinINet и WinHTTP (это компоненты Windows, которые обрабатывают запросы HTTP для прикладного программного обеспечения пользователя). Программное обеспечение, которое не использует WinINet или WinHTTP (например, программы Java и .NET, которые имеют свои собственные клиентские библиотеки HTTP), часто в любом случае соблюдает системные настройки WinINet/WinHTTP (в большинстве случаев, так или иначе). Chrome также имеет свой собственный стек HTTP-клиента, но также учитывает системные настройки. Я считаю, что Firefox это то же самое.

Эти прокси-серверы HTTP затем получают запросы, которые обычно направляются непосредственно на предполагаемый веб-сайт, затем они могут проверить запрос и обработать его (например, чтобы отклонить) или направить его по назначению. HTTPS может обрабатываться с помощью частного сертификата X.509, который является доверенным и действительным для всех хостов, или путем пересылки этих запросов. Обратите внимание, что если ваш сертификат не является действительно частным и относится только к вашей машине, то это огромная ответственность по безопасности, и вы должны немедленно удалить сертификат.

Fiddler, и как это работает, описано в этой статье блога: http://www.mehdi-khalili.com/fiddler-in-action/part-1

Помимо прокси-серверов HTTP и HTTPS, прокси-серверы SOCKS также обеспечивают маршрут инъекции - хотя в настоящее время они являются устаревшим подходом, которого не так много (поскольку SOCKS предназначен для всего трафика TCP и UDP, тогда как прокси-серверы HTTP обрабатывают только HTTP).

Обновить:

В Windows Vista появилась новая точка расширения в Windows, называемая Windows Filtering Platform (WFP), которая предоставляет более приятный API, чем конфигурация прокси HTTP/HTTP вручную, и позволяет программному обеспечению фильтровать больше вещей, чем просто HTTP-трафик. Он также встроен в сетевой стек, что означает, что он должен иметь возможность перехватывать весь HTTP-трафик, даже из приложений, которые не уважают конфигурацию WinINet или WinHTTP.

Этот API был обновлен в последующих версиях Windows, поэтому он активно поддерживается и, похоже, создан специально для продуктов безопасности:

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

Платформа фильтрации Windows - это платформа для разработки, а не сам брандмауэр. Приложение брандмауэра, встроенное в Windows Vista, Windows Server 2008 и более поздние операционные системы - брандмауэр Windows в режиме повышенной безопасности (WFAS) - реализовано с использованием WFP.

Стоит отметить, что WFP является API-интерфейсом в режиме ядра - это означает, что с ним будет сложнее программировать, и что если реализация WFP имеет ошибку и аварийно завершает работу, то она может вызвать ошибку BUGCHECK (синий экран смерти). так что вполне возможно, что разработчики предпочтут использовать HTTP-прокси вместо WFP, потому что это проще и с меньшей вероятностью приведет к ухудшению взаимодействия с пользователем.

Это задокументировано здесь: https://msdn.microsoft.com/en-us/library/windows/desktop/aa366510%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .