Хотя пакеты-подражатели и опечатки являются родственными понятиями, это не одно и то же. Оба метода используют обманную тактику, позволяющую заставить пользователей загрузить вредоносное программное обеспечение, но делают это несколько разными способами. Вот подробное объяснение каждого:
Typosquatting
Тайпсквоттинг предполагает регистрацию доменных имен или имен пакетов, которые очень похожи на законные и часто отличаются лишь опечаткой. Цель состоит в том, чтобы обмануть пользователей, которые допускают ошибки при вводе URL-адреса или имени пакета, перенаправляя их на вредоносные сайты или программное обеспечение вместо предполагаемых законных.
Пример:
Законный пакет: выразить.
Типосвотированные варианты упаковки: Expres (пропущена буква «с»), выражает(лишние «с»), or выражать (двойная «е»).
Реальные случаи тайпсквоттинга:
В ноябре 2018 года исследователи безопасности обнаружили и удалили из экосистемы NPM вредоносный пакет JavaScript под названием Flatmap-stream. Злоумышленник внес в этот пакет гнусную модификацию, а затем добавил ее как прямую зависимость к популярному пакету потока событий. Пользователи загрузили эту вредоносную версию Flatmap-Stream почти 8 миллионов раз.. Разработчики, использовавшие скомпрометированный пакет потока событий, случайно подвергли себя воздействию вредоносного кода.
Здесь основное внимание уделяется небольшим орфографическим ошибкам или вариантам, использующим типичные ошибки ввода.
Пакеты-подражатели
Пакеты-подражатели подразумевают создание вредоносных пакетов, имитирующих популярные и законные пакеты. В частности, эта имитация может выходить за рамки небольших орфографических ошибок и может также включать похожие имена, описания, документацию и функциональные возможности, чтобы вредоносный пакет выглядел легитимным и заслуживающим доверия.
Пример:
Законный пакет: Lodash
Варианты пакета Copycat: lodashjs, lodash-инструментыили даже пакет с тем же именем, но загруженный другим автором в менее безопасный репозиторий.
Реальный случай:
Рассмотрим популярное приложение Laravel с открытым исходным кодом на базе PHP, которое называется laravel-realworld-example-app. Это приложение содержит реальные примеры (операции CRUD, аутентификация, расширенные шаблоны и т. д.) спецификации RealWorld API. Хотя законный пакет служит ссылкой, пакет-подражатель может имитировать его, используя похожее имя (например, laravel-realworld-example-apps или laravel-realworld-examples). Такие пакеты-подражатели могут включать схожие функции, описания и даже документацию, что вынуждает разработчиков использовать их вместо аутентичной версии.
Основное внимание здесь уделяется более широкой имитации, которая включает не только названия, но и аспекты внешнего вида и функциональности законного пакета.
Ключевые отличия
Фокус:
Тайпсквоттинг в первую очередь нацелен на опечатки, допущенные пользователями.
Пакеты Copycat призваны имитировать законные пакеты в более широком смысле, потенциально включая похожие имена, описания и функциональные возможности.
Область имитации:
Тайпсквоттинг обычно включает незначительные изменения в имени пакета.
Пакеты-подражатели могут включать более полную имитацию, что делает их еще более убедительными.
Перекрытие
Между этими двумя концепциями есть совпадение, поскольку пакеты с опечатками можно рассматривать как подмножество пакетов-подражателей. Обе тактики направлены на то, чтобы обманом заставить пользователей установить вредоносное программное обеспечение, но опечатки используют типичные ошибки при наборе текста, в то время как пакеты-подражатели могут использовать более широкий спектр стратегий имитации.
Стратегии смягчения
Чтобы эффективно защититься от опечаток и подражания пакетам, организациям следует принять многогранный подход, объединяющий традиционные стратегии и передовые решения, такие как наше КсигениOpen Source Security Решение. Вот ключевые стратегии по снижению этих рисков:
- Используйте надежные источники: Прежде всего, всегда загружайте пакеты из надежных и проверенных источников или официальных репозиториев, чтобы гарантировать подлинность.
- Закрепление зависимостей: Кроме того, прикрепите зависимости к конкретным проверенным версиям, чтобы обеспечить согласованность и безопасность всех ваших развертываний.
- Автоматизированные инструменты: Кроме того, используйте автоматизированные инструменты, такие как Xygeni, для эффективного сканирования и пометки подозрительных пакетов. Расширенные возможности обнаружения Xygeni предназначены для эффективного выявления подозрительных зависимостей и управления ими, обеспечивая тем самым дополнительный уровень безопасности.
- Ручная проверка: Более того, дополните автоматизированные инструменты ручной проверкой, особенно для недавно добавленных пакетов или тех, которые недавно подверглись значительным обновлениям.
- Резервирование пространства имен: Чтобы предотвратить захват злоумышленниками, регистрируйте и контролируйте пакеты пространства имен в общедоступных репозиториях. Эта упреждающая мера гарантирует, что с пространством имен вашей организации будут связаны только авторизованные обновления и пакеты.
Интегрируя эти стратегии с надежными возможностями наших инструментов Xygeni, организации могут укрепить свою защиту от развивающихся угроз опечаток и подражания пакетам, повышая общую безопасность своей цепочки поставок программного обеспечения.





