
Патент Google описывает систему для анализа схожести программного кода на субфайловом уровне. Система изолирует только исполняемые части файла, игнорируя метаданные и ресурсы, разбивает код на логические блоки и хеширует их. Сравнивая хеши, Google может эффективно находить схожие фрагменты кода в разных файлах, что используется для обнаружения вариантов вредоносного ПО или идентификации повторно используемого кода.
Патент решает проблему эффективного и точного определения сходства между файлами, содержащими исполняемый код (например, программным обеспечением или вредоносным ПО). Традиционные методы сравнения (например, хеширование всего файла) неэффективны, поскольку злоумышленники могут легко изменить неисполняемые части файла (изображения, текст, иконки), чтобы избежать обнаружения, даже если вредоносный исполняемый код (malware) остается идентичным. Система направлена на сравнение исключительно функциональной (исполняемой) части кода.
Запатентована система и метод для поиска сходства кода на субфайловом уровне. Изобретение фокусируется исключительно на исполняемых частях (Executable Portions) файла, игнорируя неисполняемые части (Non-Executable Portions). Исполняемый код разбивается на логические блоки (Code Blocks), каждый из которых хешируется. Файл сохраняется как последовательность этих хешей. Сходство между двумя файлами определяется наличием хотя бы одного совпадающего хеша, что указывает на идентичный блок исполняемого кода.
Система (Code Manager) работает следующим образом:
Executable Portions, отфильтровывая Non-Executable Portions.assembly language source code) для сравнения кода, скомпилированного под разные архитектуры.Code Blocks в точках разрыва логики выполнения (например, в местах условных переходов или прыжков).Hash (например, криптографический хеш фиксированной длины, такой как SHA-256).Hash совпадает, файлы считаются похожими.Высокая (в контексте кибербезопасности и анализа кода). Патент опубликован в 2022 году. Методы эффективного и масштабируемого сравнения кода для выявления вариантов вредоносного ПО и идентификации повторного использования кода (code reuse) остаются критически важными задачами для технологических компаний (например, для Google Play Protect, Safe Browsing, VirusTotal).
Патент имеет минимальное значение для SEO-стратегий, направленных на ранжирование веб-контента (1/10). Это чисто технический патент, описывающий внутренние процессы Google для анализа исполняемых файлов (программ, приложений, бинарных файлов), а не алгоритмы ранжирования веб-страниц. Он не дает прямых рекомендаций для SEO-специалистов по оптимизации сайтов. Его ценность заключается в понимании технологических возможностей Google в области глубокого анализа файлов, что применяется в системах безопасности, но не в алгоритмах веб-поиска.
Executable Portion файла делится на последовательность таких блоков в точках изменения потока выполнения.Block Builder (построитель блоков), Hasher (хешер) и Analyzer (анализатор).Hashes), представляющих их Code Blocks.Code Block.Claim 1 (Независимый пункт): Описывает основной метод определения сходства кода.
Executable Portions.Executable Portions на Code Blocks.Hash для каждого Code Block.File Database как последовательности хешей.Hash из последовательности первого файла с каким-либо Hash из последовательности любого другого файла.Claim 2 и 3 (Зависимые): Детализируют процесс разделения на блоки (Claim 2) и определяют критерии для этого разделения (Claim 3).
Разделение происходит путем идентификации одной или нескольких локаций в последовательности инструкций. Эти локации определяются как места, где инструкции определяют, следует ли продолжать последовательность инструкций или перейти к другой части инструкций (т.е. изменения потока управления, такие как переходы и ветвления). В этих локациях обозначается конец одного блока и начало следующего.
Claim 4 (Зависимый): Уточняет, что идентификация Executable Portions включает удаление по крайней мере одной Non-Executable Portion файла.
Claim 5, 8 и 9 (Зависимые): Уточняют характеристики хеширования. Хеш генерируется с фиксированной длиной (Claim 5). Используется Cryptographic Hash Function (Claim 8), например, генерирующая 256-битный хеш (Claim 9).
Claim 7 (Зависимый): Описывает важную возможность предварительной обработки.
Система может дизассемблировать файл из машинно-исполняемого кода (бинарного) в assembly language source code. Это позволяет сравнивать функциональность кода, даже если он был скомпилирован для разных процессорных архитектур.
Этот патент описывает технологию анализа файлов, которая не вписывается в стандартную архитектуру веб-поиска (Crawling, Indexing, Ranking), предназначенную для обработки веб-контента и ранжирования сайтов.
Это специализированная система анализа исполняемого кода, которая, вероятно, используется во внутренних инструментах Google, связанных с безопасностью и управлением кодом, таких как:
Если рассматривать процесс в контексте общей обработки данных:
CRAWLING – Сканирование и Сбор данных
На этом этапе система получает файлы для анализа (например, файлы, собранные краулерами, специализирующимися на поиске бинарных файлов или приложений).
INDEXING – Индексирование и извлечение признаков
Основная работа системы. Block Builder анализирует файлы, извлекает исполняемый код и разбивает его на блоки. Hasher генерирует хеши (признаки файла). Эти признаки сохраняются в File Database.
Входные данные:
Выходные данные:
query) на анализ сходства конкретного файла с базой данных.Процесс А: Обработка и сохранение файла (Индексация)
Block Builder идентифицирует все Executable Portions. Non-Executable Portions удаляются или игнорируются.Block Builder анализирует поток выполнения инструкций. В точках изменения потока (например, переходы, ветвления) код разделяется на последовательные Code Blocks.Hasher обрабатывает каждый Code Block и генерирует для него криптографический Hash фиксированной длины.File Database как упорядоченная последовательность сгенерированных хешей.Процесс Б: Анализ сходства (Обработка запроса)
Analyzer сравнивает каждый Hash из последовательности Первого Файла со всеми хешами всех других файлов в File Database.Hash Первого Файла совпадает с хешем Второго Файла, система определяет, что файлы похожи.response), указывающий на сходство Первого и Второго файлов.Патент фокусируется исключительно на анализе структуры и содержания файлов.
Executable Portions файла (машинный код или язык ассемблера). Анализируется поток управления кодом (Control Flow).Все остальные типы факторов (контентные, ссылочные, поведенческие, временные, географические, пользовательские и т.д.) в данном патенте не упоминаются, не используются и/или явно исключаются из анализа (как Non-Executable Portions).
Code Block. Используются криптографические хеш-функции (например, SHA256), генерирующие дайджест фиксированной длины (например, 256 бит).Hash Value. Патент не описывает расчет степени сходства (например, процент совпадающих блоков), только факт наличия сходства.Патент является чисто техническим и описывает внутренние процессы Google для анализа кода, без прямых рекомендаций для SEO.
Code Blocks), разделенных по логике выполнения, а не на уровне всего файла. Достаточно совпадения одного блока кода (одного хеша), чтобы система признала два файла похожими.E-E-A-T, ссылочным или поведенческим факторам.Патент является инфраструктурным и связан с кибербезопасностью. Он не дает практических выводов для SEO-специалистов, работающих над продвижением сайтов в веб-поиске.
В контексте SEO-продвижения сайтов прямые рекомендации на основе этого патента отсутствуют.
Если рассматривать патент в контексте безопасности сайтов (которая косвенно влияет на SEO):
В контексте SEO-продвижения сайтов прямые рекомендации на основе этого патента отсутствуют.
В контексте безопасности:
Стратегическое значение для SEO минимально. Патент подтверждает высокий уровень компетенции Google в области статического анализа кода и обработки больших объемов данных для задач кибербезопасности. Это укрепляет понимание того, что системы безопасности Google (которые могут косвенно влиять на SEO через пессимизацию зараженных сайтов) используют сложные и гранулярные методы анализа.
Практических примеров для SEO нет.
Технический пример работы системы (не SEO):
Сценарий: Обнаружение варианта вредоносного ПО
Non-Executable Portions). Она анализирует исполняемый код.Analyzer обнаруживает, что хеш H2 присутствует как в Файле А, так и в Файле Б.Имеет ли этот патент отношение к ранжированию сайтов в Google Поиске?
Нет. Этот патент описывает систему для анализа схожести исполняемого программного кода, например, для обнаружения вредоносного ПО или идентификации повторно используемых библиотек. Он не описывает алгоритмы, используемые для оценки релевантности, качества или авторитетности веб-страниц в контексте веб-поиска.
Может ли эта технология использоваться для поиска дубликатов контента на веб-страницах?
Нет. Описанный метод специфичен для анализа исполняемого кода (машинного кода или ассемблера) и основан на разбивке кода по точкам изменения потока выполнения. Он не предназначен для анализа текста, HTML или медиаконтента. Для поиска дубликатов текста используются другие технологии (например, шинглирование).
Анализирует ли эта система JavaScript код на моем сайте?
Патент в первую очередь фокусируется на анализе бинарных файлов, машинного кода и языка ассемблера. Хотя JavaScript является исполняемым кодом, методы его анализа обычно отличаются от анализа скомпилированных программ. В патенте не упоминается применение этой технологии к JavaScript, поэтому маловероятно, что именно эта система используется для анализа JS на веб-страницах в контексте ранжирования.
В чем основное отличие этого метода от сравнения хеша всего файла?
Сравнение хеша всего файла (например, MD5 или SHA256 файла целиком) требует полного совпадения файлов. Если изменить хотя бы один байт (даже в неисполняемой части, например, в иконке), хеш всего файла изменится. Описанный метод хеширует отдельные блоки только исполняемого кода. Это позволяет найти сходство, даже если неисполняемые части файлов сильно различаются.
Что такое "Executable Portions" и "Non-Executable Portions"?
Executable Portions — это части файла, содержащие инструкции для процессора (функциональная логика программы). Non-Executable Portions — это данные, которые не выполняются напрямую, например, изображения, текстовые строки, иконки, метаданные. Система игнорирует вторые и анализирует только первые.
Как система определяет границы блоков кода (Code Blocks)?
Система анализирует поток выполнения инструкций. Границы блоков устанавливаются в местах, где выполнение может измениться, например, при условных переходах (if/else), циклах или вызовах функций (Claims 2 и 3). Это позволяет изолировать отдельные логические фрагменты кода.
Зачем в патенте упоминается дизассемблирование в язык ассемблера (Claim 7)?
Машинный код специфичен для архитектуры процессора (например, x86, ARM). Дизассемблирование переводит машинный код в более абстрактное представление (язык ассемблера). Это позволяет системе сравнивать функциональность кода, даже если он был скомпилирован для разных платформ.
Если мой сайт был взломан и на него загрузили вредоносный файл, поможет ли эта система Google это обнаружить?
Косвенно да. Если Google сканирует ваш сайт и загружает этот файл (например, в рамках работы системы Safe Browsing), эта технология может быть использована для анализа файла. Если система обнаружит в нем блоки кода, совпадающие с известным вредоносным ПО, ваш сайт может быть помечен как опасный. Это подчеркивает важность безопасности сайта для SEO.
Достаточно ли совпадения одного блока кода для признания файлов похожими?
Да, согласно патенту (Claim 1). Если хотя бы один Hash, представляющий один Code Block, совпадает у двух файлов, система генерирует ответ, что файлы похожи. Это позволяет выявлять даже небольшие фрагменты повторно используемого или украденного кода.
Какую практическую пользу этот патент несет Senior SEO специалисту?
Практическая польза для задач SEO-продвижения отсутствует. Ценность заключается в расширении технического кругозора: понимании того, насколько глубоко Google анализирует файлы для обеспечения безопасности своих платформ. Это знание важно при работе с сайтами, распространяющими ПО, но не влияет на стратегию контент-маркетинга или линкбилдинга.

Индексация
SERP

Индексация

Индексация

Индексация
Мультимедиа

Индексация
Мультимедиа
Техническое SEO

Семантика и интент
EEAT и качество
SERP

Семантика и интент
SERP
Поведенческие сигналы

Персонализация
Семантика и интент
Поведенческие сигналы

Ссылки
Антиспам
SERP

Knowledge Graph
Семантика и интент
Ссылки

Поведенческие сигналы
Семантика и интент
SERP

Local SEO
Поведенческие сигналы

Ссылки
SERP
Семантика и интент

Индексация
Ссылки
Техническое SEO

Поведенческие сигналы
SERP
