Правила нормализации URL
22 августа 2024
ID 231546
Различные вредоносные программы пытаются скрывать свою деятельность с помощью техник обфускации URL (например, с использованием национальных доменных имен, в том числе состоящих из одного символа; представления IP-адресов в восьмеричной записи; повторяющихся косых черт). В этом случае к одному и тому же контенту зачастую можно обращаться через формально разные адреса (например, адреса различающиеся схемой, портом или регистром символов в URL).
В результате при сопоставлении URL в их исходной форме со списками индикаторов компрометации (IoC) возникает проблема пропуска угроз, поскольку сопоставление с IoC оказывается безуспешным.
Например, github.com@520966948 — это скрытый IP-адрес 31.13.83.36, который на самом деле принадлежит facebook.com.
Kaspersky CyberTrace обеспечивает два преимущества:
- Нормализация URL, которая, как правило, отсутствует в SIEM-решениях.
- Маски, используемые в потоках данных об угрозах «Лаборатории Касперского» для закрытия групп вредоносных URL.
В потоках данных об угрозах «Лаборатории Касперского» невозможно было бы передавать тринадцать вариантов URL с разными вариантами нормализации, поскольку размер потока данных об угрозах был бы колоссальным. Однако, если пользователь будет отправлять нам известный URL в определенном формате, мы можем преобразовать его, сопоставить его с потоками данных об угрозах и обнаружить его с использованием нормализации.
На данный момент существует тринадцать правил нормализации URL-адресов. Ниже приведены примеры применения этих правил:
- Удаление сегментов-точек («
.
» и «..
») в соответствии с алгоритмом, описанным в RFC 3986, раздел 5.2.4 «Удаление сегментов-точек» (https://www.ietf.org/rfc/rfc3986.txt):http://www.example.com/../a/b/../c/./d.html => http://www.example.com/a/b/c/d.html
- Удаление протокола:
http://example.com => example.com
- Преобразование интернационализированных доменных имен в соответствии с алгоритмом Punycode, описанным в RFC 3492 (https://www.ietf.org/rfc/rfc3492.txt):
тест.рф => xn--e1aybc.xn--p1ai
- Удаление префикса
www
:www.example.com => example.com
- Удаление повторяющихся косых черт:
example.com//dir/test.html => example.com/dir/test.html
- Удаление косой черты в конце URL:
example.com/ => example.com
- Удаление данных авторизации:
login:password@example.com => example.com
- Удаление номера порта:
example.com:80/index => example.com/index
- Удаление указания на фрагмент
#fragment
:example.com#fragment => example.com
- Удаление точек в конце имени хоста:
example.com./index.html => example.com/index.html
- Преобразование символов, кодируемых знаком процента, в UTF-8 в соответствии с RFC 3986 (https://www.ietf.org/rfc/rfc3986.txt) and RFC 2279 (https://www.ietf.org/rfc/rfc2279.txt).
- Преобразование всех символов в нижний регистр:
EXAMPLE.COM => example.com
- Преобразование IP-адреса (если указан), ведущего на запрашиваемый хост, в десятичную запись с точками:
0112.0175.0117.0150 => 74.125.79.104
Для закрытия групп вредоносного URL в потоках данных об угрозах используются записи восьми типов, которые подразделяются на маскированные и немаскированные записи.
Сопоставление нормализованного URL с записями из баз данных на основе URL должно выполняться с учетом назначения определенных типов записей. Использование нормализации URL и масок обеспечивает увеличение количества обнаружений киберугроз для потока данных об угрозах, а также минимизирует объем передаваемых данных и снижает количество ложных срабатываний.
Подробные сведения приведены в руководстве «Kaspersky Threat Intelligence Data Feeds Implementation Guide».