Минулого тижня була знайдена критична помилка, яка може «вбити» батарею ноутбуків Apple або навіть призвести до її займання/вибуху. Звичайно ж, автором цього злому став наш старий знайомий — Чарлі Міллер, експерт компанії Accuvant Labs і багаторазовий переможець Pwn2Own. І хоча всі подробиці дослідник безпеки планує розповісти на конференції Black Hat на початку серпня, він із задоволенням поспілкувався з авторами ресурсу ArsTechnica.

У кожній батареї для портативних комп’ютерів є свій мікроконтролер, який постійно здійснює моніторинг її електричних і теплових характеристик. Він є частиною стандартної системи Smart Battery System і призначений для підвищення безпеки літій-іонних і літій-полімерних осередків, що використовуються у цих акумуляторах.

За словами Міллера, такі мікроконтролери можуть бути досить просто зламані — для цього досить перепрограмувати його прошивку. Батарея стане повідомляти про значно більш низьких величинах напруги або струму, після чого зарядний пристрій може зіпсувати батарею.

При проведенні своїх експериментів Чарлі (прямо як справжній алхімік) успішно перетворив сім новеньких акумуляторів для MacBook Pro в дорогі «цеглини» вартістю 130$ кожен. Але також він зазначив, що певні параметри, вибрані при перепрограмуванні прошивки, можуть призвести до займання батареї або навіть до вибуху:

«Я знаю, що в конструкції батареї є внутрішні запобіжники та інші заходи обережності, але можна таку прошивку, яка призведе до катастрофічних наслідків. Правда, я не пробував це зробити».

І хоча шанс стати володарем підсмаженого ноутбука вкрай малий, сказати за нього спасибі можна Apple. При дослідженні потенційних вразливостей системи управління електроживленням в MacBook Pro Чарлі Міллер випадково виявив, що інженери компанії зробили «дитячу» помилку і залишили для прошивки паролі за замовчуванням, описані в загальнодоступній документації до Smart Battery System, що дозволяє її модифікувати.

На початку Міллер скачав ось це оновлення для батареї білого MacBook, яке Apple випустила кілька років тому, і почав досліджувати його код, намагаючись встановити, яким чином система взаємодіє зі Smart Battery System. Всередині утиліти для оновлення прошивки він виявив пароль і спеціальну команду, що дозволяє «розрізати» мікроконтроллер для зміни деяких параметрів батареї.

Подальше вивчення коду прошивки і специфікації Smart Battery System піднесли експерту новий сюрприз: виявляється, Apple не змінила паролі, зазначені в специфікації. Після цього Міллер зайнявся реверс інжинірингом і зумів домогтися того, що батарея ноутбука завжди повідомляла про недостатню зарядці, навіть якщо це була неправда.

Але чому Apple так підвела? На думку Міллера компанія не могла навіть припустити, що батареї коли-небудь стануть мішенню для хакерів. Так чи інакше, він вже встиг передати свої дослідження в Купертіно і почав не поспішаючи готувати гігантський доповідь для виступу на Black Hat.