У чому суть скандалу із дизельними двигунами Volkswagen, Блог Лабораторії Касперського
На конференції Chaos Communication Congress, яка проходила нещодавно в Гамбурзі, два IT-експерти — Фелікс Домке і Даніель Ланге (колишній глава відділу IT-стратегії в BMW) прочитали доповідь про те, в чому полягало і як було реалізовано шахрайство з результатами екологічних тестів дизельних автомобілів. Volkswagen.

За останні кілька місяців на тему «Дизельгейту» у різних виданнях вийшла маса публікацій. Однак у більшості випадків вони не дозволяли зрозуміти, що ж насправді сталося: як саме працював обман і хто є відповідальним за його реалізацію. Тому так цікаво подивитися на дослідження, проведене незалежними експертами, які спробували докопатися до істини.

Чому взагалі ці тести можна обдурити?

З чого складається цикл NEDC
Ця модель складається з декількох коротких циклів розгону-гальмування та одного довгого, з більш високими швидкостями. Перша частина зображує міський рух, друга - рух шосе. У реальному житті ніхто так не їздить, і вже точно ніхто не їздить саме так.
Однак для тестів завжди використовується та сама модель, і інженери в автомобільних компаніях можуть застосовувати ті чи інші трюки, щоб поліпшити результати. Чому вони так роблять? Все дуже просто: тому що це дешевше, ніж реально щось покращувати. А якщо велика корпорація має можливість зробити щось більш дешевим способом, то вона обов'язково вибере саме його — просто так працює бізнес.
«Шахрайство у цих тестах – звичайна справа, – розповідає Даніель Ланге. — Які трюки використовують інженери для покращення показників? Наприклад, вони піднімають тиск у шинах на три атмосфери.вище, ніж їх накачують у реальному житті. Шина практично не змінюється навіть під вагою автомобіля, пляма контакту з поверхнею стає мінімальною, і це дозволяє знизити втрати на тертя».

Як автовиробники занижують витрату палива та кількість шкідливих викидів
«Вони додають дизель у моторне масло, що знову-таки дозволяє знизити тертя. Вони прибирають бічне дзеркало на пасажирській стороні, оскільки у вимогах не прописано, що воно має бути там. Це дозволяє знизити опір повітря. Вони заклеюють скотчем всі щілини, щоб повітря краще обтікало кузов автомобіля, і тим самим знову-таки знижують опір. І всі ці речі або вважаються нормальними, або є десь на межі прийнятності. І вони роблять це – ось так насправді проводяться екологічні тести», – розповідає Ланґе.

Викиди NOx у тесті NEDC та в альтернативному циклі ADAC
Результат всіх подібних трюків дуже простий: виміряні величини немає практично нічого спільного з тим, що відбувається у реальному житті. І про це чудово знає вся автоіндустрія. Можливо, всі виробники використовують такі самі програмні трюки, які використовував Volkswagen. Наприклад, 15 років тому BMW потрапила на використання дуже схожого шахрайства в одній із моделей мотоциклів.

Мотоцикл BMW насправді викидає у повітря в 34 рази більше CO, ніж при тестуванні
Але як працюють такі програмні фокуси? Щоб це зрозуміти, нам доведеться деякий час приділити дослідженню того, як працюють електронні системи автомобілів.
Що всередині ящика машини?
Електронний пристрій, що безпосередньо відповідає за все, що відбувається з двигуном автомобіля, у тому числі і з його вихлопною системою,називається Engine Control Unit (ECU). В Україні цю штуку часто називають «мозками», і, мабуть, дуже влучно - це дійсно складне і критичний для роботи автомобіля пристрій.
Автомобільні компанії самі не виробляють ECU, вони закуповують їх у інших корпорацій, що спеціалізуються на подібній електроніці. Виробників ECU не так багато, і якщо говорити про Німеччину, то лідером ринку безумовно є Bosch.
«Можливо, Volkswagen не помре»: що може статися з компанією через скандал із заниженням даних про вихлоп https://t.co/4ac9wfPnzL
Прошивка ECU завжди розробляється не автомобільною компанією, а виробником цієї непростої електроніки. І оскільки це дуже важливий пристрій, код прошивки завжди перевіряється і перевіряється перевіряється максимально ретельно.
Ланґе каже: «Робота цієї штуки постійно симулюється та тестується, до втрати пульсу. Тому що це справді вкрай важливо. Тому що код керує машиною потужністю 200 кінських сил, і якщо щось піде не так, то все це може вибухнути і вибухнути дуже потужно. Так що прошивка ECU - це один з найбільш ретельно протестованих шматків коду, які ви коли-небудь зустрінете».
Котирування Volkswagen обрушилися вже більше ніж на 20% через екологічний скандал http://t.co/WpCsz71LFn
Автомобільні компанії не мають змоги змінювати прошивку ECU самі. У той же час однакові або дуже схожі ECU можуть використовуватися різними автовиробниками в різних моделях автомобілів і двигунів. І для того щоб ECU були сумісні з різними машинами, прошивка повинна бути настроюваною. Для цього виробники ECU використовують змінні, які задають автовиробники так, щоб пристрій правильно працював з тією чи іншою моделлюавтомобіля.
Наприклад, у прошивці Bosch EDC17C46, однієї з моделей ECU, що використовувалися в автомобілях, які брали участь у «Дизельгейті», таких змінних близько 20 тис. Якби цю купу повзунків та перемикачів можна було якимось чином матеріалізувати, це безперечно був би найбільшим. великий пульт управління у світі.

ECU: виробництво - Bosch, програмування - Bosch, налаштування - автовиробник
Підіб'ємо підсумки: шахрайські функції в програмній прошивці ECU не можуть бути розроблені самим автовиробником, вони робляться постачальником електроніки на запит автомобільної компанії. І оскільки всі подібні модифікації залишають по-справжньому довгий паперовий слід, постачальники, ймовірно, попереджають автовиробників про те, що подібні трюки незаконні.
Відповідно, фінальне рішення залишається за виробником автомобілів: щоб скористатися шахрайською функцією, інженерам автомобільної компанії треба певним чином задати деякі з вищезгаданих змінних. Але як саме це працює?
Щоправда - у коді
Щоб встановити це, Фелікс Домке для власного Volkswagen Sharan (що підпадає під відгук VW) придбав на eBay запасний блок ECU і вивчив, як цей пристрій працює. Для початку він використовував апаратну вразливість у чіпі ECU, щоб витягти 2-мегабайтну прошивку з флеш-пам'яті. Це дало йому непогане розуміння того, наскільки складно влаштовані процеси в автомобільній електроніці.

Наприклад, виявилося, що навіть така нехитра штука, як тахометр, зовсім не показує кількість обертів двигуна за хвилину безпосередньо. Те, що виводиться на тахометр, насправді залежить від показань більш ніж двох десятків різних датчиків та обробляється 12 Кбдуже насиченого коду (якщо це дуже багато коду).
«На цьому етапі чудово усвідомлюєш, що всередині цього пристрою може відбуватися скільки завгодно шахрайства і ніхто цього не помітить, — каже Домке. — Після цього ти не віриш, що спідометр у твоїй машині показує реальну швидкість. Він показуєщось,пов'язане зі швидкістю».

Частина прошивки, що відповідає за роботу вихлопної системи, ще складніша і гнучкіша. Проте ідея, яка є основою зниження концентрації оксидів азоту у вихлопних газах, насправді досить проста. Для того щоб очистити вихлоп від NOx, до нього треба додати речовину, яка називається сечовина (VW придумав для нього назву AdBlue). Під дією високої температури ця речовина перетворюється на аміак, реагує з оксидами азоту, а на виході виходять чудово нешкідливі азот та вода.
Однак якщо додати занадто багато сечовини, то надлишок аміаку залишиться у вихлопі. І це не дуже добре як для людей, так і для автомобіля. Тому в нормальній ситуації краще «недосолити», ніж «пересолити» (звичайно, найкраще відміряти точну кількість речовини, але це не так просто зробити). Проблема в тому, що при «недосолі» результати екологічних тестів будуть не дуже добрими. І ось тому автовиробникам і доводиться хитрувати.

Як змінюється вихлоп в залежності від кількості сечовини
Ось як працював цей трюк у випадку Volkswagen. У коді прошивки, відповідальному за роботу вихлопу, було передбачено два режими роботи: стандартний, в якому дозування сечовини було дуже щедрою, і альтернативний, в якому речовини додавалася недостатньо. Як з'ясував Домке, 75% часу його автомобіль працював в альтернативному режимі, тамайже весь час сечовина не додавалася зовсім.

Споживання сечовини насправді – 0,6 л/1000 км, необхідне досягнення заявленого рівня викидів – 2,5 л/1000 км
Аналіз коду прошивки показав, що умови для переходу в стандартний режим (а вони рідко, але все ж таки досягалися) крім будь-яких простих речей на кшталт певної температури та тиску двигуна та палива включали ще один цікавий критерій. Стандартний режим включався, якщо графік пройденого автомобілем відстані залежно від часу потрапляв між двома кривими, що визначають деякі мінімум і максимум.
#Дослідження #Дизельгейта: на #32C3 хакери розповідають, що саме сталося зі шкідливими викидами дизельних двигунів
Забавно, але, як виявилося, одну з пар цих кривих було поставлено таким чином, щоб між ними дуже акуратно потрапляв відповідний графік при роботі у згаданій на початку цієї статті тестовій моделі New European Driving Cycle. У цьому випадку програма включала стандартний режим роботи, сечовина додавалася щедро, і концентрація оксидів азоту у вихлопі виявлялася настільки низькою, що двигун задовольняв досить жорсткі європейські стандарти. Це, власне, і є основною ідеєю шахрайства з прошивкою, яке робив Volkswagen.

З цієї історії можна зробити цілу купу різних висновків, але є один, який може бути особливо цікавий для представників IT-сфери. Цифрові технології стають все більш важливими для нашого світу, і тим самим вони роблять тих людей, які з ними пов'язані, все більш впливовими та важливими для компаній.
З одного боку, такі люди можуть допомогти обдурити систему тестів та замаскувати якийсь недолік у тому чи іншому продукті. З іншогоВони також можуть виявити трюки і фокуси, як це зробили двоє дослідників у випадку з «Дизельгейтом».