Технические подробности работы "BIOS-агента" систем Computrace (LoJack итп сотоварищи) от Absolute Software.
История
Система базируется на разных способах внедрения в компьютерную систему. В самых старых версиях – это было лишь приложение под
Windows (скрытый сервис). Впоследствии была использована распространённая техника использования изменённого
MBR. Это, с одной стороны, давало логичные преимущества простоты реализации (загрузки до старта ОС), с другой стороны – серьёзные ограничения, как со стороны антивирусов, благополучно блокирующие и устраняющие подобные методики, так и со стороны "простого" использования, т.к. любой нестандартный вид
MBR делал невозможным установку/функционирование "агента". Кроме того, старые системы были ориентированы на
DialUp, что требовало достаточно громоздких и относительно железозависимых процедур по инициализации модемов (а также используемых ими COM-портов).
Повсеместное развитие интернета позволило ориентироваться на соединение через LAN/Ethernet, и примерно в 2004-м году была реализована схема, которая сейчас является основной и поддержана многими производителями (как компьютеров –
HP,
Dell,
Lenovo и др., так и
BIOS –
Phoenix/
Award,
AMI,
UEFI) – когда код для запуска/инсталляции хранится в
FlashROM BIOS.
Принцип работы Computrace
Модуль
Computrace встроен в
BIOS как
PCI-ROM, т.е. использует обычный стандарт, который нужен для всех загрузочных
PCI-устройств в системе – будь то сетевая карта (c её BootROM на борту) или
SCSI,
SATA-контроллер и т.д. В процессе работы
POST (в её конечной части) сканируются так называемая
Option ROM область памяти (где располагаются модули
PCI-ROM), подсчитывается их
CRC и если всё нормально
BIOS им передаёт им управление для установки нужных их работе ресурсов. Таким образом, подобная методика предполагает изначальное нахождение данного модуля в исходном
BIOS системы. Соответственно это предполагает новые компьютеры, с производителями которых подписано соглашение об использовании в их
BIOS данного модуля (производитель
BIOS сам встраивает его в исходник собственными силами). Либо, в крайнем случае, это обновление
BIOS с сайта производителя ноутбука (по той же договорённости –
BIOS также делается производителем), и тогда процесс перешивки целиком ложится на пользователя.
Получив управление, PCI-ROM модуль Computrace резервирует в свободной памяти блок объёмом 64кБ, куда расшифровывает/распаковывает свой код.
В случае отсутствия свободной памяти используются несколько общезвестных трюков, в т.ч. использование сегмента видеопамяти.
В распакованном/расшифрованном коде содержится процедура поиска на винчестере каталога с Windows (поддерживается FAT и NTFS) и два запускных exe-файла.
Точней – файл, в который инкапсулирован ещё один файл, извлекаемый позже.
Стартовый файл для установки агента замещает собою autochk.exe в windows/system32, переименовывая оного в autochk.bak.
При старте Windows поддельный autochk.exe, получив управление, извлекает из своего тела файл rpcnet.exe и прописывает его в реестр для работы/автозагрузки в качестве сервиса.
После получения управления от Windows уже в качестве сервиса (rpcnet) он при наличии доступа в интернет соединяется с одним из управляющих серверов 209.53.113.xxx (xxx.absolute.com).
С него скачивается полная версия, которая устанавливается на винчестер в качестве "обычного" файла (rpcnetp.dll) и вся основная работа уже возлагается именно на его плечи.
C его помощью компьютер управляется удалённо – он принимает на исполнение как "внутренние" команды, так и, установив свой API-интерфейс, позволяет (удалённо) вызывать стандартные Windows-процедуры (application-уровня).
Сервис обеспечивает периодический сигнал (раз в четыре часа) к серверу на запрос управления им. В случае получения ответа от сервера об установленном уровне утери нотбука клиент начинает "долбиться" уже каждые пятнадцать минут.
Установив удалённое управление, сервер может выполнить различные команды, например, по желанию клиента – удалить нужные (или все) файлы с диска.
В качестве доказательства произведённой работы на сторону сервера передаётся лог обо всех удалённых файлах.
Основные патенты по теме:
Security apparatus and method (5,764,892, September 1, 1998)
Computer security monitoring apparatus and system (6,507,914, January 14, 2003)
Apparatus and method for monitoring electronic devices via a global network (6,300,863, October 9, 2001)
Method and apparatus to monitor and locate an electronic device using a secured intelligent agent via a global network (6,300,863, October 9, 2001)
Persistent servicing agent (20060272020, November 30, 2006)
и другие схожие по теме от Intel, HP и др.
п.с. статья написана в начале 2007-го года, опубликована 22.08.2009.
По сути, его представляют не как троян, а как благо- поиск краденного... И если заручиться лояльностью антивирусных компаний, то отследить его простому обывателю будет непросто. С другой стороны, предлагая как коммерческий продукт, обязаны уведомить при покупке девайса какой-нить красивой наклейкой. Так получается...
Профессиональный ремонт ноутбуков в Мурманске- notebook51.ru
Rom.by, что в имени тебе моем..?
То есть подменив в теле этой гадости адрес сервера (создав в безинтернетной локальной сети компьютер с нужным IP) и послав команду можно почистить винчестер - красиво, но опасно.
Пора заводить чёрный список ноутбуков не подходящих для покупки
И за что я люблю старые добрые десктопы? Наверное за то что их тяжело украсть и мусор в них не так часто встраивают.
Дрессируем коров
Зачем так радикально? Вычистить эту дрянь не так сложно... дополнительная статья дохода появилась...))
А на счет черного списка - это около 60% новых лаптопов!
Профессиональный ремонт ноутбуков в Мурманске- notebook51.ru
Rom.by, что в имени тебе моем..?
Пара технических поправок:
- Исходный AUTOCHK.EXE только на FAT сохраняется в AUTOCHK.BAK, на NTFS используется дополнительный файловый поток AUTOCHK.EXE:BAK. Оно и логично - создать новый поток в существующем файле на NTFS существенно проще, чем новый файл.
- Механизм с AUTOCHK.EXE используется только под NT-линейкой, для 9x/ME есть другой механизм - загрузчик сканирует msdos.sys на предмет строки WinBootDir={dir} и (если на диске из {dir} файловая система FAT) создаёт файл "{dir}\Start Menu\Programs\Startup\rpcnetp.exe", берущийся из тела инкапсулированного autochk.exe.
А как данная злодейская (ИМХО) софтина прореагирует на систему где в качестве загрузчика Windows 7 bootmgr и всего лишь файл vhd на чистом NTFS разделе?
Или на винчестер с двумя операционками Windows 9x/ME и к примеру Windows XP. Или на ту же Windows 98, но русскую?
Короче надо родной autochk.exe в Windows XP переименовать в scandisk.exe и переписать
в реестре
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager
BootExecute на autocheck scandisk *
На всякий случай
Дрессируем коров
"Вычистить- понятно, как ее оперативно обнаружить без ковыряния прошивки?"
По наличию процесса rpcnet - я так понял он не скрытый и в Task Manager отображается...
самое интересное, заменив файло rpcnetp.exe, rpcnetp.dll и ещё несколько ему подобных (в папке с виндавозом) на какойто мусор, с аналогичным названием, служба вешает систему каждые 4 часа по расписанию. выносит мозг, придётся прошивать таки биос. хотя процесс не запускается и их биос руткит нервно курит в сторонке.
знал бы я об этом сабже раньше, может бы и удалось вернуть ноут знакомого, после того как его украли, я видел в биосе эту хрень, а сча он купил новый и там тоже эта штука в биосе была, так я сознательно её включил, правда потом каспер завякал, но я её в исключение сунул
То что вы сунули в исключения, это настоящий вирус. А наш БИОС троянчик такими сетями не поймаешь. Вы еще не догадываетесь, что ждет вас впереди. Когда ты не хозяин в своем доме, установленные программы безвозвратно кем-то удаляются. Все должно быть только лицензионное. Вообщем все говорят удалить его не сложно, но никто не говорит как.
Народ, помогите найти рецепт как все таки НАСОВСЕМ избавиться от этого rpcnet.exe? Кто его удалить из БИОСа? Где гиганты антивирусного фронта? Все молчат что-ли?
Это как бы документированная возможность и сколько еще неизвестных. С винды давно свалил, теперь пора по видимому сваливать
и с линуха, доберутся до него однозначно если уже не добрались
Официально обратился в Асус с просьбой помочь избавиться от этого модуля. Они культурно послали меня на ***.
securitylab.ru/news/402741.php
а линух следующий, валить некуды...
Вирусописатели под этот шумок computrace подстроятся. О личных ментах и говорить не следует.
Если спецслужбы майкрософт и макинтошников к ногтю приголубили, то такую дешевку как Absolute software и говорить не прийдется. Мегадыру раскачают по полной.
Сдуру активировал у себя, теперь чешу репу как это не то что убить, а как деактивировать.
А у меня эта хрень как-то самоудалилась спустя год...
Посмотрел список ноутов на сайте, в которых имеется эта штука, и не обнаружил свою модель Асус: absolute.com/en/partners/bios-compatibility.aspx Однако процесс rpcnetp.exe (служба) был отслежен Анвиром в момент прописки в автозагрузку и им же был благополучно убит. Далее в папке System32 найдены файлы rpcnetpdll, rpcnetp.exe и модернизированный руткитом autochk.exe и все удалены. В папке Windows\winsxs\ найден (поиском) чистый файл autochk.exe и скопирован в папку Windows ( НЕ System32 ! ). Далее с правами суперАдмина ( под обычным не получится удалить) открыл реестр и, найдя поиском строки rpcnetp и rpcnet (тоже были), удалил разделы полностью. В автозагрузку поместил батник контролирующий процесс (службу) rpcnetp.exe. После перезагрузки система благополучно нашла чистый файл autochk.exe в папке Windows (системная переменная Path), а руткит не смог его найти ( жестко запрограммирован на поиск в System32 ) и прекратил свою работу... Результат: Процесс rpcnetp.exe больше не появляется, реестр чист. Правда, не проверял проверку диска на ошибки, - может и не запустится. В моем случае, видимые процессы, лежащие на поверхности, - исчезли...не знаю, может что есть глубже... ОС Виста, год выпуска ноута 2009.
а есть чтото подобное только с открытым сходным кодом, я бы это в свой ноут встроил. а вообще желательно с гипервизором, чтобы вообще не палилось системой и работало под всеми осями.
Xen
ru.wikipedia.org/wiki/Xen
Бери и точи
А кому счас легко...
Xen для этой темы мало подходит, так как хочется все это упаковать в ром биоса, в принцепе биос можно и заменить на более емкий чип, но все же придется кодить и кодить не мало, а так как я не обладаю знаниями в написании модулей для биоса, так это вообще растянется на вечность, готовый пример я то могу еще поправить, но почти с нуля, увы.
Хм, а что ж Вы хотели... "Все просто" даже в legacy-BIOS так и не стало доступно ВСЕМ...
С UEFI и т.п. что-то "более-менее" я прогнозирую года через 2-3. Типа теперешней работы с legacy AWARD/AMI, т.е. cbrom/amimm (т.е. довольно унивесальные вещи, лежащие на каждом углу). "Критическая масса" (после которой появляются технологии "для всех") в эту сторону нарастает стремительным домкратом, IMHO.
А кому счас легко...
Отправить комментарий