BIOS-ний троян від Absolute Software

  1. Історія

Технічні подробиці роботи "BIOS-агента" систем Computrace ( LoJack ітп співтовариші) від Absolute Software .

Історія

Система базується на різних способах впровадження в комп'ютерну систему. У самих старих версіях - це було лише додаток під Windows (прихований сервіс). Згодом була використана поширена техніка використання зміненого MBR. Це, з одного боку, давало логічні переваги простоти реалізації (завантаження до старту ОС), з іншого боку - серйозні обмеження, як з боку антивірусів, благополучно блокують і усувають подібні методики, так і з боку "простого" використання, тому що будь-який нестандартний вид MBR унеможливлював установку / функціонування "агента". Крім того, старі системи були орієнтовані на DialUp, що вимагало досить громіздких і щодо железозавісімих процедур по ініціалізації модемів (а також використовуваних ними COM-портів). Повсюдне розвиток інтернету дозволило орієнтуватися на з'єднання через LAN / Ethernet, і приблизно в 2004-му році була реалізована схема, яка зараз є основною і підтримана багатьма виробниками (як комп'ютерів - HP, Dell, Lenovo і ін., Так і BIOS - Phoenix / Award, AMI, UEFI) - коли код для запуску / інсталяції зберігається в FlashROM BIOS. Модуль 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 Кб, куди розшифровує / розпаковує свій код.
Отримавши управління, PCI-ROM модуль Computrace резервує у вільній пам'яті блок об'ємом 64 Кб, куди розшифровує / розпаковує свій код

У разі відсутності вільної пам'яті використовуються кілька общезвестних трюків, в т.ч. використання сегмента відеопам'яті.
У разі відсутності вільної пам'яті використовуються кілька общезвестних трюків, в т

В розпакованому / розшифрованому коді міститься процедура пошуку на вінчестері каталогу з Windows (підтримується FAT і NTFS) і два запускной exe-файлу.
В розпакованому / розшифрованому коді міститься процедура пошуку на вінчестері каталогу з Windows (підтримується FAT і NTFS) і два запускной exe-файлу

Точніше - файл, в який инкапсулирован ще один файл, який отримують пізніше.
Точніше - файл, в який инкапсулирован ще один файл, який отримують пізніше

Стартовий файл для установки агента заміщає собою autochk.exe в windows / system32, перейменовуючи оного в autochk.bak.
Стартовий файл для установки агента заміщає собою autochk

При старті Windows підроблений autochk.exe, отримавши управління, витягує зі свого тіла файл rpcnet.exe і прописує його в реєстр для роботи / автозавантаження в якості сервісу.
При старті Windows підроблений autochk

Після одержання керування від Windows вже в якості сервісу (rpcnet) він при наявності доступу в інтернет з'єднується з одним з керівників серверів 209.53.113.xxx (xxx.absolute.com).
Після одержання керування від Windows вже в якості сервісу (rpcnet) він при наявності доступу в інтернет з'єднується з одним з керівників серверів 209

З нього викачується повна версія, яка встановлюється на вінчестер в якості "звичайного" файлу (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.