Что такое ключи регистра CLSID
Оглавление
- Введение
- Когда хорошая запись CLSID становится плохой
- Исчезновение CLSID
- Разница между COM CLSID и остальной частью вселенной COM
- Место CLSID в индустрии вредоносных программ
Введение
CLSID или Class Identifier - это строка буквенно-цифровых символов (как цифр, так и букв алфавита), которые используются для представления конкретного экземпляра объектной модели компонентов (Component Object Model или COM) или программы на основе COM. Он позволяет операционным системам и программному обеспечению, особенно для Windows, обнаруживать программные компоненты и получать к ним доступ, не идентифицируя их по именам. Хотя Microsoft прекратила использование COM в пользу инфраструктуры .NET, COM продолжает использоваться в качестве важного компонента для многих часто используемых программ и не планирует прекращения его использования.
Примеры объектов, которые используют COM и соответствующий CLSID, включают ActiveX, каталог «Мой компьютер» и меню «Пуск» Windows. Типичный идентификатор CLSID в вашем реестре Windows может выглядеть следующим образом:
{48E7CAAB-B918-4E58-A94D-505519C795DC}
Наиболее вероятным случаем с CLSID является ситуация, когда веб-сайт просит вас обновить ActiveX или другую программу. Ваш браузер определяет версию вашего программного обеспечения, проверяя его CLSID, и передает эту информацию на веб-сайт без ущерба для вашего компьютера.
Однако поддельные обновления часто используются для распространения вредоносного программного обеспечения и других угроз для ПК, и вам следует избегать загрузки обновлений с веб-сайтов, которым вы не доверяете.
Когда хорошая запись CLSID становится плохой
Если CLSID поврежден, ваш компьютер может испытывать проблемы связанные с программой с которой связан CLSID. Одной из распространенных проблем является повреждение CLSID, в результате чего программное обеспечение не может проверить свою версию и обновить себя. Удаление и переустановка программного обеспечения обычно решают эту проблему.
Наиболее распространенная проблема связанная с записью CLSID в реестре заключается в том, что программа не убирает свой CLSID из реестра при удалении программы. Хотя это плохая практика программирования которая загромождает реестр компьютера бессмысленными текстовыми записями, неиспользуемая запись CLSID вряд ли повредит вашему компьютеру. Однако некоторые программы очистки реестра и другие программы обслуживания системы специализируются на удалении этого «мусора» на основе CLSID. В очень экстремальных ситуациях, например на компьютере с ограниченными системными ресурсами, реестр с слишком большим количеством неиспользуемых записей CLSID может вызвать проблемы с производительностью.
Если вы хотите исправить записи реестра CLSID вручную, то следует соблюдать осторожность. Изменения в вашем реестре могут повредить вашу операционную систему разными способами, например она не сможет распознавать критические системные компоненты и программы. Во любом случае, при редактировании записей CLSID рекомендуется создать резервную копию реестра Windows через точку восстановления системы или другой метод.
Исчезновение CLSID
Хотя CLSID обычно является постоянной текстовой записью в вашем реестре - по крайней мере до тех пор пока вы не удалите программу с которой он связан, временные папки и файлы также могут отображать записи CLSID в своих именах. Это часто обусловленно установщиками программ, которые распаковывают файлы для установки а затем удаляют их. Большинство таких файлов и папок должны автоматически удаляться после завершения установки, но случаях плохого кода установщика или прерывания процесса установки вам может потребоваться удалить эти объекты самостоятельно, хотя они не должны повредить ваш компьютер.
Не все программы использующие CLSID вынуждены записывать свои CLSID в реестр Windows. COM-компоненты RegFree или Registration-Free могут хранить свои записи CLSID в своих собственных файлах EXE или в отдельных файлах XML. Это имеет определенные преимущества, такие как возможность установки программы несколько раз в виде нескольких разных версий. Однако поддержка RegFree COM более ограничена и иногда (в случае общесистемных программ, таких как DirectX) полностью недоступна.
Разница между COM CLSID и остальной частью вселенной COM
Интерфейс COM с CLSID - это объектная модель компонентов (Component Object Model), метод взаимодействия использующий философию объектно-ориентированного программирования (или ООП). Он не имеет прямой связи с суффиксом веб-домена .COM, который обозначает «коммерческий» домен верхнего уровня.
Аналогично, COM-компоненты CLSID не связаны с файлами .COM, которые являются подтипом исполняемого файла или EXE-файла. Хотя некоторые компоненты Windows и другие программы используют .COM, этот устаревший формат файла требует эмуляции MS-DOS, которая не включена (по умолчанию) в 64-разрядных ОС Windows.
Место CLSID в индустрии вредоносных программ
Записи CLSID могут использоваться как для запуска вредоносных, так и безопасных программ. Руткиты, трояны, вредоносные объекты Browser Helper Objects и другие типы вредоносных программ могут использовать систему CLSID для автоматического запуска или при срабатывании определенных условий. Большинство компетентных программ защиты от малвари будут обнаруживать и удалять вредоносные записи CLSID вместе с вредоносными программами которые с ними связаны. Однако, как и обычные записи CLSID, нетронутые вредоносные записи CLSID для удаленных программ не могут нанести вред вашему компьютеру.
Также известно, что малварь использует записи CLSID для вызовов других программ (таких как Internet Explorer). Эти программы могут подавать, или не подавать видимые признаки того что они открыты, хотя в большинстве случаев вы должны иметь возможность обнаруживать процесс открытой программы через диспетчер задач и аналогичные утилиты. Такие атаки могут использоваться для проведения различных онлайн-атак без ведома пользователя ПК. В то время как знание CLSID не требуется для повседневного использования ПК, знание о его возможностях и ограничениях может помочь устранить ошибки программного обеспечения и реестра с минимальными потерями для ПК.