5 способов уменьшить загрузку вредоносных файлов на веб-сайты

граничные вычисления
5 способов уменьшить загрузку вредоносных файлов на веб-сайты

При совместном использовании в Интернете есть операция, которой нельзя избежать, а именно «загрузка файла». Мы часто отправляем Weibo, WeChat Moments и т. д., и в процессе отправки используется функция загрузки изображения при загрузке файла. Загружайте локальные изображения, видео, аудио и другие файлы на сервер программы для просмотра или загрузки другими пользователями. Это приводит к ежедневному притоку большого количества данных на веб-сайт, а массивные данные привлекают пользователей, но также вызывают некоторые проблемы с безопасностью.

Разработчики веб-сайтов часто находят в хранилище веб-сайта различные xml, html, apk и другие мусорные файлы, которые либо внедряются с рекламой, либо распространяют ресурсы, такие как порнографические видеоролики, которые серьезно влияют на работу бизнеса веб-сайта. Эти ненужные файлы загружаются в хранилище веб-сайта с помощью функции загрузки файлов. Если загрузчик веб-сайта не проверяет или строго фильтрует данные, отправленные пользователем, сервер может быть легко загружен с измененными данными.

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

Роль типов файлов и расширений файлов

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

Однако с развитием Интернета, начиная с исходных простых текстовых файлов и заканчивая современными мультимедийными файлами различных типов, такими как изображения, аудио, видео и т. д., мы храним все больше и больше файлов, и их типов становится все больше и больше. Объем также становится все больше и больше, и крайне проблематично найти, если эти файлы не различимы. Так появились форматы файлов (или типы файлов). Файлы каждого типа могут храниться в памяти компьютера в одном или нескольких файловых форматах. Каждый формат файла обычно имеет одно или несколько расширений, которые можно использовать для идентификации, а расширения помогают пользователям и приложениям идентифицировать формат файла.

Например, есть файл с именем README.txt, .txt — это расширение этого файла, а txt — для обычных текстовых файлов. Такой файл может быть пояснительным документом с содержимым файла в виде обычного текста.

Windows 下默认使用记事本打开 txt 文件

В дополнение к этому расширение также может помочь операционной системе определить, как читать файл. Например, файл score.doc, файл doc можно открыть с помощью Word, затем после того, как пользователь Windows дважды щелкнет файл .doc, система Windows выполнит поиск в таблице базы данных самообслуживания в соответствии с расширением файла «doc». для программы «можно открыть файл с этим расширением», такой как программа Word, система автоматически запустит программу Word и уведомит Word о загрузке файла.

Из этого видно, что когда система Windows открывает файл, ей нужно только расширение в имени файла, чтобы найти соответствующую программу. Таким образом, изменение расширения файла также изменяет метод открытия файла по умолчанию в системе. И если содержимое самого файла не соответствует ожиданиям программы по формату содержимого файла, при открытии возникнет ошибка, либо будут получены непредвиденные результаты.

Как браузеры распознают открытые файлы

В связи с постепенным улучшением функций интернет-инструментов вероятность использования браузера для открытия файлов постепенно увеличивалась по сравнению с открытием файлов локально. Итак, как браузер подтверждает тип файла доступного ресурса? На самом деле об этом судят по заголовку ответа.

Когда пользователь вводит URL-адрес, сервер, на котором расположен ресурс, ответит заголовком ответа Content-Type, значением которого является тип (тип MIME), соответствующий файлу. Если браузер поддерживает формат, браузер попытается отобразить соответствующий файл.

В отличие от систем Windows, браузеры обычно используют типы MIME, а не расширения файлов для обработки URL-адресов. Поэтому очень важно добавить в заголовок ответа правильный MIME-тип, при неправильной настройке браузер может неправильно интерпретировать содержимое файла, и загруженный файл будет неправильно обработан, что повлияет на нормальную работу сайта.

Как загружаются вредоносные файлы

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

На самом деле принцип очень прост, то есть операция производится путем модификации MIME-типа. Например, изображение test.jpg выше. Хотя суффикс ресурса URL-ссылки — jpg, тип файла реального ресурса — text/html , что соответствует типу веб-страницы.

И этот тип файла веб-страницы поддерживает встраивание кода JS, и с помощью этих кодов пользователь, открывающий файл, может перейти на указанный веб-сайт. Хотя это явление может показаться похожим на перехват DNS, на самом деле оно отличается. Что касается проблемы перехвата DNS, вы можете обратиться к **[народной науке] Говоря о тех небольших знаниях DNS»**, чтобы узнать больше.

test.jpg 的真身

Похоже, что такие вредоносные файлы создаются путем изменения файла MIME, поэтому можем ли мы уменьшить загрузку и доступ к таким вредоносным файлам, ограничив MIME? Да, есть много методов, мы возьмем еще один пример облачного хранилища, чтобы объяснить их один за другим.

Средства предотвращения загрузки вредоносных файлов

Отслеживание личности — загрузка TOKEN

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

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

X-Upyun-Uri-Prefix = /服务名/client_37ascii     // 用户标识前缀,对应存储上的一个目录,如 /client_37ascii/ 
X-Upyun-Uri-Postfix = .jpg  // 限定上传文件后缀 

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

Доказательство документа — Content-Type

Второй способ — ограничить имя сохранения файла. Мы можем ограничить MIME-тип загружаемого файла, например, ограничить тип загружаемого изображения типом Content-Type, поэтому даже если загружается вредоносный файл, когда браузер обращается к нему, браузер будет вынужден разобрать его в соответствии с формат изображения, а не изображение. Ресурс не будет анализироваться, тем самым ограничивая доступ к вредоносным файлам.

И REST API, и FORM API облачного хранилища поддерживают обязательную настройку типа Content-Type. Среди них FORM API поддерживает несколько методов ограничения:

Для конкретного использования в качестве примера мы возьмем загрузку Java SDK Form API:

//初始化uploader
FormUploader uploader = new FormUploader(BUCKET_NAME, OPERATOR_NAME, OPERATOR_PWD);
//初始化 policy 参数组 Map
 final Map<String, Object> paramsMap = new HashMap<String, Object>();
//添加 SAVE_KEY 参数
 paramsMap.put(Params.SAVE_KEY, savePath);
 //添加文件上传限制
paramsMap.put(Params.CONTENT_TYPE, "image/jpg"); //强制文件MIME类型
paramsMap.put(Params.ALLOW_FILE_TYPE, "jpg,jpeg,png"); //强制文件扩展名
paramsMap.put(Params.CONTENT_LENGTH_RANGE, "102400,1024000"); //强制文件大小,单位字节
//执行上传
uploader.upload(paramsMap, file);

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

设置了 Content-Type 上传的伪装图片再也打不开了

Доступ запрещен — пограничное правило

Два упомянутых выше метода предназначены для исключения вредоносных файлов при загрузке.Что мне делать с загруженными файлами?

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

边缘规则

访问效果

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

控制台边缘规则配置

访问效果

Популярные ссылки - Статистический анализ

Если файлов много и типов файлов много, время устранения неполадок очень велико, и проблему нужно проверять немедленно. Вы также можете взглянуть на функцию анализа журнала Youpaiyun. Эта функция будет подсчитывать статус доступа доменного имени доступа по каждой услуге каждый день, а данные анализа ТОП-1000 могут быть подсчитаны в соответствии с размерами популярных файлов, популярных клиентов, популярных справочных файлов, кодов состояния ресурсов, размеров файлов. и популярные IP-адреса.

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

Порнофобия — идентификация контента

Если ваш сайт имеет большой трафик, нецелесообразно ограничивать его вышеуказанным методом. Вы также можете взглянуть на два инструмента распознавания контента Tianqing и Tianqi от Youpaiyun и Fanwei.

Эти два инструмента основаны на интеллектуальном обнаружении безопасности ИИ.Благодаря алгоритму классификатора машинного обучения они могут «интеллектуально» проверять изображения, видео и другую информацию и постепенно превращать «Цзянь Хуан Ши» из профессии в «алгоритм» и « Модель". Высвобождайте рабочую силу, значительно повышайте эффективность обработки и помогайте предприятиям снижать производственные затраты. Предоставляйте клиентам такие услуги, как предупреждение о безопасности контента, данные о безопасности контента и проверку безопасности контента, а также комплексные решения для защиты сетевого информационного контента.

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

Рекомендуемое чтение

[Наука на просторечии] Давайте поговорим о небольшом знании DNS

Интернет-мошенничество? Интернет полосатость? Все из-за HTTP?