Недокументированные возможности устройств и программного обеспечения

Лекция



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

недокументированные возможности (англ. undocumented features), НДВ — возможности технических устройств и/или программного обеспечения, не отраженные в документации. Чаще всего недокументированные возможности сознательно закладываются разработчиками в целях тестирования, дальнейшего расширения функциональности, обеспечения совместимости или же в целях скрытого контроля за пользователем. Кроме того недокументированные возможности могут стать следствием побочных эффектов (чаще всего в переходных режимах или при переключении режимов), не учтенных разработчиками. От недокументированных возможностей следует отличать возможности системы, скрытые от конечного потребителя, но приведенные в официальной сервисной документации. Недокументированные возможности обнаруживаются, обычно, в процессе обратной разработки, но могут быть обнаружены и случайно. Частным случаем недокументированных возможностей являются недокументированные функции.

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

Отдельный интерес, особенно в случае программного обеспечения, представляют недокументированные возможности, которые могут поставить под угрозу правильную работу, целостность, конфиденциальность — иными словами безопасность — программной или информационной системы. В этом контексте обычно используются термин уязвимость (перевод англ. vulnerability) (на профессиональном компьютерном жаргоне также «дыра»), а в некоторых официальных документах вводится понятия «недекларированные возможности» и «незаявленные возможности» (см. раздел «Недекларированные возможности (информационная безопасность)»).

Недокументированные возможности в разных сферах

В машинах и механизмах

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

  • В швейных машинах сложного зигзага, выпущенных подольским заводом, конструктивная особенность реализации кулачково-копирного узла позволяла получать штриховую строчку, не предусмотренную конструкторами машины, при установке переключателя зигзага в промежуточное нерабочее положение. Данная возможность случайно была обнаружена одной из читательниц журнала «Работница», о чем она написала письмо в редакцию. После публикации в журнале этой заметки исследование недокументированных возможностей швейных машин и их применение стало регулярным.
  • В задних фонарях легкового автомобиля Chrevrolet Lacetti (модификация в кузове седан) имеются по две секции стоп-сигнала с установленными в них лампами, из которых к бортовой проводке автомобиля подключена только одна (верхняя); нижняя секция стоп-сигнала ни к чему не подключена и концы провода от нее просто болтаются. Таким образом, в штатном режиме при нажатии на педаль тормоза загорается только верхняя секция стоп-сигнала. Просто подключив провода от второй (нижней) секции к проводам от верхней секции, получаем загорающиеся при торможении сдвоенные секции стоп-сигнала.
  • В ряде модификаций токарного станка 16К20 в виду неописанных в документации особенностей реализации коробки подач появлялась возможность изготавливать резьбы с нестандартным шагом, что широко использовалось в годы СССР для изготовления самодельных замков и ключей к ним с нестандартной резьбой вместо секретного механизма.
  • Особенности конструкции главной передачи автомобиля «Запорожец» допускали в процессе сборки агрегата переворот коробки дифференциала с ведомой конической шестерней, что вызывало изменение направления вращения полуосей. Этим широко пользовались создатели самодельных автомобилей, применявшие ЗАЗовский силовой агрегат, установленный в передней части машины. Иногда эта особенность приводила к курьезам, когда после ремонта автомобиля при включении передачи переднего хода он ехал назад.
  • Старые типы автоматических коробок передач имеют отдельный планетарный ряд повышающей передачи («овердрайв»), который управляется независимо от основного трех- или четырехступенчатого ряда. Хотя штатные системы управления АКПП включают овердрайв только в сочетании с прямой передачей в основном планетарном ряду, ничего не мешает использовать его и на других передачах, что фактически удваивает общее число передач в АКПП. Этой особенностью иногда пользуются производители автомобилей, например, вводя в управление АКПП дополнительную программу мягкого старта (что удобно зимой на скользкой дороге). Суть этой программы заключается в том, что овердрайв работает на всех передачах, снижая передаточное отношение и, следовательно, динамику автомобиля.
  • Кинематическая схема пятиступенчатой АКПП A750 фирмы Aisin такова, что она может реализовывать 7 передач переднего хода и 3 передачи заднего хода. Однако в этих дополнительных режимах нагрузка на фрикционы и тормоза слишком велика и производители автомобилей их не используют. Но любители тюнинга автомобилей пользуются этой возможностью. Позже фирма Aisin доработала конструкцию этой АКПП, реализовав в ней 6 передач переднего хода.

В механических фотоаппаратах

  • В фотоаппаратуре «Зенит» не было предусмотрено автоматических длительных выдержек. Однако особенности реализации механизма автоспуска приводили к тому, что при установке затвора в режим «В» автоспуск мог формировать длительные выдержки (до 9 секунд). Интересно, что руководство по эксплуатации вообще не давало никаких сведений о сочетании режима «В» и автоспуска.
  • В фотоаппаратах «ФЭД-3» подобная комбинация позволяла получить выдержку около 4—4,5 секунды.

В нецифровой электронной аппаратуре

  • У многих всеволновых радиоприемников (практически все приемники, выполненные на пальчиковых лампах), выпускавшихся в СССР, переключение диапазонов в области коротких волн осуществлялось подключением с помощью механического переключателя, подключающего параллельно колебательному контуру гетеродина группы частотопонижающих конденсаторов. Об этом говорит сайт https://intellect.icu . В промежуточных положениях переключателя дополнительные конденсаторы не были подключены, и частота гетеродина определялась только конденсатором переменной емкости. При этом гетеродин работал на повышенной частоте. Эта особенность позволяла принимать радиостанции в диапазонах волн 19, 16 и 11 метров и слушать «вражеские голоса». Прием был достаточно нестабильным, но, тем не менее, позволял слушать передачи. В радиоприемнике «Сакта» для этого нужно было нажать одновременно кнопки КВ1 и КВ2. В «Ригонде» и ее клонах («Кантата», «Рапсодия», «Урал») этот эффект достигался при переключении из режима КВ1 в КВ2, если кнопку КВ1 удерживать и плавно отпускать при нажатии на кнопку КВ2.
  • Практически все недорогие рации, работающие на частоте 27 МГц, в режиме амплитудной модуляции могли нормально принимать сигналы раций этого же диапазона, но работавших с частотной модуляцией. Это было связано с тем, что упрощенный фильтр промежуточной частоты, выполненный всего на одном колебательном контуре, имел участки АЧХ с достаточно хорошей линейностью и прекрасно справлялся с непредусмотренной разработчиками функцией частотного дискриминатора. Примечательно также и то, что по причине упрощенной реализации передающего тракта многих подобных раций амплитудная модуляция сопровождалась сильной паразитной девиацией частоты, дающей возможность приема сигнала аппаратами, работающими в режиме частотной модуляции.
  • Практически все пентоды и лучевые тетроды могут работать в триодном включении (анод соединен со второй сеткой), обладая при этом хорошими показателямии линейности (зачастую лучшими, чем у специальных триодов), что активно используется поклонниками лампового звука. Хотя такой режим разработчиками не был предусмотрен и согласно руководящим техническим материалам (РТМ), действовавшим в СССР, — запрещен.
  • Некоторые старые черно-белые видеомагнитофоны (например, «Малахит») могут записывать цветное изображение. Это возможно, если сигналы цветности попадают в рабочую полосу частот видеотракта. В таком случае они записываются и воспроизводятся не как в цветном магнитофоне, а напрямую, без переноса спектра и иных преобразований. Также необходимым условием является отсутствие у черно-белого видеомагнитофона фильтров, вырезающих «ненужные» сигналы цветности из полного видеосигнала. У старых аппаратов их не было, а внедрять фильтры начали только с широким распространением цветного телевещания.

В цифровой технике

  • Множество недокументированных возможностей присутствовало в советских программируемых микрокалькуляторах (см. Еггогология).
  • Почти все домофоны старых типов имеют в своем составе микроконтроллеры с достаточно ограниченными вычислительными ресурсами и сравнительно малым объемом энергонезависимой памяти, в которой сохраняется только часть ROM-кода ключа. Отдельной таблицы свободности ячеек нет, поэтому признаком того, что ячейка памяти свободна и в нее можно записать новый ключ, является такое ее состояние, при котором все биты установлены в логическую 1. По причине упрощенного алгоритма проверки ROM-кода ключа iButton валидным окажется также ключ, у которого 6 байт уникальной части ROM-кода состоят из одних единиц. Такой ключ будет с одинаковым успехом открывать двери, оснащенные домофонами различных типов. Эта особенность позволила создавать так называемые «ключи-вездеходы». Таких ключей не может быть среди изделий, выпускаемых официально, так как указанный ROM-код не определен спецификацией шины 1-Wire, но, тем не менее, он может быть эмулирован с помощью специальных микросхем. Отключить такую недокументированную возможность штатными средствами было невозможно. Единственное, что можно было сделать, — заполнить всю память устройства ROM-кодами ключей (в том числе фиктивных). Позже производители домофонов стали поддерживать данную возможность специально, предусматривая средства ее отключения при необходимости.

В программном обеспечении

Например, в Blitz BASIC есть такие функции, как Handle и Object (и несколько других), описание которых не дано в официальной документации. Их назначение и использование было раскрыто пользователями .

Недокументированные функции (например, возможность изменить символ ключа в MS-DOS , обычно на дефис ) могут быть включены для обеспечения совместимости (в данном случае с утилитами Unix ) или для будущего расширения. Однако, если поставщик программного обеспечения меняет свою стратегию разработки программного обеспечения в соответствии с бизнес-требованиями, отсутствие документации упрощает обоснование удаления функции.

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

В некоторых случаях разработчики в шутку или из соображений удобства называют программные ошибки недокументированными функциями. Возможно, этот термин был популяризирован в некоторых ответах Microsoft на сообщения об ошибках в ее первом продукте Word для Windows , но изначально он не был там. Самое старое сохранившееся упоминание в Usenet датируется 5 марта 1984 года. В период с 1969 по 1972 год Сэнди Мэйтс, системный программист программного обеспечения PDP-8 в Digital Equipment Corporation (DEC) в Мейнарде, штат Массачусетс, использовала термины «ошибка» и «функция» в своих отчетах о результатах тестирования, чтобы различать недокументированные действия поставляемых программных продуктов, которые были неприемлемыми и терпимыми соответственно. Возможно, этот термин сохранился и по сей день.

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

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

Еггогология — изучение недокументированных возможностей микрокалькуляторов.

Название впервые возникло в СССР и носит шуточный характер. Предположительно происходит от сообщения об ошибке «ЕГГОГ» (англ. Error — ошибка), которую выдавали программируемые микрокалькуляторы второго поколения советского производства (Электроника Б3-34, МК-54, МК-56, МК-61, МК-52, МС 1104) на семисегментных индикаторах. Термин впервые появился в журнале «Техника — молодежи» после цикла статей М. Пухова, посвященных программированию на микрокалькуляторах серии «Электроника Б3-34», и серии из девяти рассказов о фантастическом путешествии с Луны на Землю под общим названием «„Кон-Тики“: путь к Земле». В этом цикле, кроме игровых программ, описывались различные недокументированные возможности микрокалькуляторов и видеосообщения, многие из которых получались путем манипуляций с клавишами после появления сообщения об ошибке «ЕГГОГ» (Недокументированные возможности устройств и программного обеспечения).

Читатели журнала с огромным энтузиазмом откликнулись на рассказ об обнаруженных недокументированных возможностях микрокалькуляторов, стали искать новые, и по окончании цикла «Кон-Тики…» появился небольшой раздел «Новости еггогологии». С помощью опубликованных в нем недокументированных приемов было написано множество новых игровых программ, большинство из которых просто не могло быть создано стандартными средствами в силу ограниченности ресурсов калькуляторов семейства Б3-34.

Недокументированные возможности устройств и программного обеспечения

Недокументированные способы диагностики ошибок в старых программируемых калкуляторах

При возникновении сигнала ЕГГОГ при счете по программе существует два недокументированных способа определить, в результате какой операции произошел останов:

  1. Нажатие клавиши ↑ в Б3-34 (В↑ в МК-61/52). Если на индикаторе по-прежнему ЕГГОГ, то произошло переполнение, а если число — некорректная операция, «виновником» которой является это число.
  2. Нажатие клавиши ВП. Возможные показания индикатора и соответствующие им ошибки:
    • «ЕГГОГ 00» — переполнение («сверхчисло» первого «яруса»)
    • «Г.ГГОГ 00» — деление на нуль, вычисление логарифма от нуля, степенной функции 00, некорректная операция с клавишей К.
    • «ЕГ.ГОГ 00» — вычисление tg 90°.
    • «Е.ГГОГ 00» — вычисление арксинуса или арккосинуса от числа, большего 1.
    • «ЕГГОГ 00» (с десятичной запятой на том же месте, что в аргументе) — положительный аргумент показательной функции больше допустимого
    • «−ЕГГОГ 00» (с десятичной запятой на том же месте, что в аргументе) — отрицательный аргумент показательной функции по модулю больше допустимого, или извлечение квадратного корня из отрицательного числа.

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

Недекларированные возможности (информационная безопасность)

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

Например, имеется утвержденный председателем Государственной технической комиссии при Президенте руководящий документ , посвященный, в частности, классификации ПО средств защиты информации по уровню контроля отсутствия недекларированных возможностей, который определяет их следующим образом:

2.1. Недекларированные возможности — функциональные возможности ПО, не описанные или не соответствующие описанным в документации, при использовании которых возможно нарушение конфиденциальности, доступности или целостности обрабатываемой информации.

Преднамеренно внесенные в ПО функциональные объекты, обладающие такими возможностями, названы программными закладками. Эти термины использует и ГОСТ Р 51275-2006 . Зачастую такие возможности определяются как "умышленно внесенные уязвимости", а применительно к криптографическим алгоритмам - "умышленное внесенная слабость алгоритма".

Процедура поиска недекларированных возможностей в программных продуктах зачастую аналогична процедурам поиска уязвимостей, поэтому в 2019 году методика выявления уязвимостей и НДВ при сертификации были объединены ФСТЭК России в один документ .


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

Доктрина информационной безопасности РФ среди угроз «безопасности информационных и телекоммуникационных средств и систем» называет также и «внедрение в аппаратные и программные изделия компонентов, реализующих функции, не предусмотренные документацией на эти изделия».

Примеры

Технические устройства и ПО

В качестве примеров недокументированных возможностей и команд могут быть приведены:

  • как правило, не документирующиеся специальные номера или комбинации клавиш сотовых телефонов, открывающие доступ к инженерным или диагностическим меню, получению дополнительной информации или использованию некоторых других возможностей (например, команда мобильных телефонов *#06#, осуществляющая переход в меню отображения IMEI, а также, в зависимости от модели аппарата, различных аспектов его конфигурации);
  • команда перехода современных телевизоров и мониторов в инженерное меню — зажав несколько кнопок на пульте управления одновременно, оператор пульта попадает в исходно недоступное для пользователя пространство инженерного меню, в котором перемещается уже с помощью обычных команд пульта («вверх», «вниз», «влево», «вправо», «ok»);
  • в ОС Windows к таким возможностям часто относят работу с реестром, файлами, некоторые возможности Windows API;
  • В приложении Википедии на Андроиде есть возможность (2018 год) посмотреть обсуждение статьи прямо в приложении (хотя, если внизу статьи нажать на "Обсуждение", то открывается браузер). Надо в поле поиска по Википедии набрать "Обсуждение:" и название статьи.

Массовая культура

  • переход из «матрицы» в «реальность» в фильме «Матрица» осуществлялся главными героями через поднятия трубки телефона в кабине виртуального телефона-автомата в «матрице».
  • в эпизоде 3.11 «Enter 77» сериала «Остаться в живых» переход к режиму основных возможностей, который не знали герои сериала, был случайно реализован одним из персонажей путем выигрыша в компьютерные шахматы.

Вау!! 😲 Ты еще не читал? Это зря!

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

создано: 2021-04-19
обновлено: 2025-11-21
114



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:
Пожаловаться

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей

Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Разработка программного обеспечения и информационных систем

Термины: Разработка программного обеспечения и информационных систем