Способ обнаружения самовольного нарушения настройки

Иллюстрации

Показать все

Изобретение относится к области компьютерной техники, предназначенной для контроля программного обеспечения. Технический результат заключается в обеспечении обнаружения использования несанкционированно установленного программного обеспечения в устройстве электронного управления. Технический результат достигается за счет вычисления проверочного числа контрольной суммы (CVN) на основе байтов данных в интересующей области программного обеспечения при каждом запуске двигателя или максимум один раз в день, сравнения последнего вычисленного CVN с последним сохраненным CVN из списка, содержащего множество положений хранения CVN, сохранения последнего вычисленного CVN, если он отличается от последнего сохраненного CVN, вместе с датой внесения в список CVN и(или) с текущим показанием одометра, удаления записей из списка CVN согласно принципу ФИФО, когда список CVN заполнен. 3 з.п. ф-лы, 3 ил.

Реферат

Область техники, к которой относится изобретение

Настоящее изобретение относится к способу контроля программного обеспечения согласно преамбуле независимого пункта формулы изобретения.

Уровень техники

Устройство электронного управления, например, двигателем внутреннего сгорания или коробкой передач содержит программное обеспечение для управления различными функциями двигателя или коробки передач.

После изготовления на заводе двигатель и коробка передач имеют заданную версию установленного программного обеспечения. Позднее такое программное обеспечение может по различным причинам обновляться изготовителем транспортного средства, например, в пунктах технического обслуживания.

Тем не менее, также существуют ряд несущих большую или меньшую ответственность фирм, которые предлагают установку множества вариантов настройки программного обеспечения. Такое несанкционированно (самовольно) установленное программное обеспечение может вызывать преждевременный износ компонентов вследствие манипуляций с первоначально заданными параметрами системы, такими как, среди прочего, параметры управления установкой момента впрыска, количеством топлива, впрыскиваемого в каждый цилиндр, давлением наддува, предельными оборотами и манипуляции с программой переключения передач. Такая самовольная установка программного обеспечения может вызывать преждевременный отказ двигателя и(или) коробки передач и(или) заметный износ таких компонентов, что создает сложности для изготовителя в том, что касается его гарантийных обязательств. В случае механического отказа по причине использования самовольно установленного программного обеспечения владелец транспортного средства обычно устанавливает первоначальное программное обеспечение, чтобы скрыть использование перенастроенного программного обеспечения, которое могло стать причиной такого механического отказа.

Раскрытие изобретения

В основу изобретения положена задача создания способа обнаружения использования несанкционированно установленного (неавторизованного) программного обеспечения в устройстве электронного управления, например, двигателем внутреннего сгорания и(или) коробкой передач транспортного средства, позволяющего изготовителю доказывать факт установки не получившего одобрения программного обеспечения.

Решение задачи изобретения достигается за счет признаков независимого пункта формулы изобретения. В остальных пунктах формулы изобретения и в описании раскрыты выгодные варианты осуществления изобретения.

В первом примере осуществления изобретения предложен способ обнаружения использования несанкционированно установленного программного обеспечения в устройстве электронного управления, которым оснащено транспортное средство, включающий шаги вычисления проверочного числа контрольной суммы (CVN - от англ. "Checksum Verification Number") при каждом запуске двигателя, сравнения последнего вычисленного CVN с последним сохраненным CVN из списка, содержащего множество положений хранения CVN, сохранения последнего вычисленного CVN, если он отличается от последнего сохраненного CVN, вместе с датой внесения в список CVN и(или) текущим показанием одометра, удаления записей из списка CVN согласно принципу ФИФО (FIFO), когда список CVN заполнен.

Преимуществом упомянутого примера осуществления настоящего изобретения является возможность для изготовителя транспортного средства простым и недорогим способом контролировать и(или) обнаруживать несанкционированно установленное программное обеспечение.

В другом примере осуществления настоящего изобретения список CVN содержит по меньшей мере 10 положений хранения.

Преимущество упомянутого примера осуществления настоящего изобретения заключается в том, что чем больше положений хранения, тем сложнее скрыть использование несанкционированно установленного программного обеспечения, т.е. пользователь должен выгрузить несколько различных версий программного обеспечения, чтобы стереть несанкционированно установленное программное обеспечение.

В другом примере осуществления настоящего изобретения способ дополнительно включает шаг создания отдельного списка CVN для различных заданных частей прикладного программного обеспечения.

Преимуществом наличия различных списков CVN для различных частей прикладного программного обеспечения может являться возможность для изготовителя более точно обнаруживать, где было внесено изменение в программное обеспечение, и является ли такое изменение разрешенным.

В другом примере осуществления настоящего изобретения способ дополнительно включает шаг ограничения максимального числа вычислений CVN одним разом в день.

Преимуществом упомянутого примера осуществления может являться усложнение уничтожения следов несанкционированно установленного программного обеспечения, поскольку для этого потребуется несколько дней или недель в зависимости от числа положений хранения.

В другом примере осуществления настоящего изобретения способ дополнительно включает шаг извлечение списка, содержащего список CVN с метаданными (например, показаниями одометра, датой, временем) для бортового или внешнего клиентского приложения с использованием, например, протокола обмена данными диагностики.

Преимуществом упомянутого примера осуществления настоящего изобретения является простота обнаружения и визуализации списка CVN.

Краткое описание чертежей

Настоящее изобретение и его упомянутые и другие задачи и преимущества могут быть лучше поняты из следующего далее подробного описания вариантов осуществления, при этом изобретение не ограничено этими вариантами осуществления, в которых используется сокращение CVN, означающее проверочное число контрольной суммы. Термин CVN используется применительно к контрольным суммам всех типов без ограничения устройством электронного управления двигателем.

На фиг.1 показан один из примеров блок-схемы ввода CVN в журнал регистрации CVN согласно настоящему изобретению,

на фиг.2 - один из примеров осуществления наращивания программного обеспечения,

на фиг.3 - один из примеров осуществления журнала регистрации CVN.

Одинаковые или сходные элементы обозначены на чертежах одинаковыми цифровыми позициями. Чертежи являются лишь схематическим представлением и не предназначены для отображения конкретных параметров изобретения. Кроме того, поскольку чертежи предназначены для иллюстрации только типичных вариантов осуществления изобретения, их не следует считать ограничивающими объем изобретения.

Подробное описание осуществления изобретения

На фиг.1 показан один из примеров блок-схемы ввода CVN в журнал регистрации CVN согласно настоящему изобретению. Журнал регистрации CVN содержит множество положений хранения. На фиг.3 проиллюстрирован один из примеров осуществления журнала регистрации CVN. В первом столбце, обозначенном символом #, указан номер сохраненного события. Во втором столбце указана контрольная сумма. В третьем столбце указана дата сохраненного события. В четвертом столбце указано показание одометра. Соответственно, каждому положению хранения соответствует номер сохраненного события, контрольная сумма, дата и показание одометра. В качестве альтернативы, для каждого события также может сохраняться дополнительная информация, такая как подпись лица, которое осуществило обновление/изменение программного обеспечения. Также могут отслеживаться обновления программного обеспечения, осуществленные на станции технического обслуживания с использованием разрешенных средств. Поскольку иногда технический персонал осуществляет неправильное обновление программного обеспечения, изобретение может использоваться для отслеживания таких обновлений и усовершенствования способов обслуживания.

CVN может вычисляться хорошо известным способом, например путем вычисления циклического контроля по избыточности (CRC) 32 и использования в качестве входных данных содержания байтов данных, которые входят в интересующую область программного обеспечения.

Вычисление CVN может осуществляться при каждом запуске транспортного средства. В качестве альтернативы, вычисление CVN осуществляют как максимум один раз в день. За счет того, что вычисление CVN осуществляют всего раз в день, для владельца транспортного средства, который использовал несанкционированно установленное программное обеспечение, становится труднее очистить список CVN, поскольку для удаления одной записи требуется один день, а для удаления х записей требуется х дней.

Вычисленный CVN сравнивают с последним CVN, сохраненным в журнале регистрации CVN. В журнале регистрации CVN нового автомобиля содержится по меньшей мере одна запись CVN. Если вновь вычисленное CVN равно последнему CVN, сохраненному в списке, в журнал регистрации CVN не вносят запись, что обозначено ответом "да" на вопрос "такое же CVN?" на блок-схеме, проиллюстрированной на фиг.1. Если вновь вычисленное CVN отличается от последнего CVN, сохраненного в списке, в журнал регистрации CVN вносят запись, что обозначено ответом "нет" на вопрос "такое же CVN?" на блок-схеме, проиллюстрированной на фиг.1. Если после внесения последнего CVN в журнале регистрации CVN остается свободное доступное место для хранения, вновь вычисленное CVN сохраняют в этом месте. Если все доступные места для хранения в журнале регистрации CVN заполнены, применяют принцип ФИФО (first in first out - "первым пришел - первым ушел") для удаления сохраненного первым по времени CVN и сохранения вновь вычисленного CVN в списке после сохраненного последним по времени CVN.

На фиг.2 проиллюстрирован один из примеров осуществления наращивания программного обеспечения. Программное обеспечение может содержать приложение, 1 набор данных и 2 набор данных. Приложение программного обеспечения может содержать функциональные возможности для управления главной функцией (т.е. программой). 1 набор данных может содержать данные калибровки функциональных возможностей для контроля выбросов из транспортного средства. Такими функциональными возможностями могут являться контроль выхлопных газов на выходе системы очистки, установка момента впрыска, объем впрыска, предельные обороты, положения переключения передач и т.д. 2 набор данных может содержать данные калибровки функциональных возможностей, характерных для транспортного средства, таких как коды инжектора или параметры заказчика. Для приложения и(или) набора данных программного обеспечения может быть предусмотрен собственный журнал регистрации CVN, т.е. для приложения может иметься первый журнал регистрации CVN, а для набора данных может иметься второй журнал регистрации CVN. Также предусмотрена возможность использовать единый журнал регистрации CVN для обеих упомянутых частей программного обеспечения.

Журнал регистрации CVN может извлекаться (считываться) бортовым или внешним клиентским приложением с использованием, например, протокола обмена данными диагностики, например, SAE J1939-73, ISO 15765-3.

1. Способ обнаружения использования несанкционированно установленного программного обеспечения в устройстве электронного управления, которым оснащено транспортное средство, включающий:

а) вычисление проверочного числа контрольной суммы (CVN) на основе байтов данных в интересующей области программного обеспечения при каждом запуске двигателя или максимум один раз в день;

б) сравнение последнего вычисленного CVN с последним сохраненным CVN из списка, содержащего множество положений хранения CVN;

в) сохранение последнего вычисленного CVN, если он отличается от последнего сохраненного CVN, вместе с датой внесения в список CVN и(или) с текущим показанием одометра;

г) удаление записей из списка CVN согласно принципу ФИФО, когда список CVN заполнен.

2. Способ по п.1, в котором список CVN содержит по меньшей мере 10 положений хранения.

3. Способ по п.1, дополнительно включающий д) создание отдельного списка CVN для различных заданных частей прикладного программного обеспечения.

4. Способ по п.1, дополнительно включающий ж) извлечение списка, содержащего список CVN с метаданными (например, показаниями одометра, датой, временем) для бортового или внешнего клиентского приложения с использованием, например, протокола обмена данными диагностики.