Недокументовані можливості

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

У тих випадках, коли виробник несе відповідальність за працездатність продукту або зобов'язується здійснювати його технічну підтримку, відповідні зобов'язання зазвичай поширюються лише на описане у супровідній документації. З цим може бути пов'язаний ще один мотив не згадувати в документації деякі корисні функції. Зокрема, це дозволяє позбутися від них в наступних версіях продукту, не попереджаючи про це користувачів. Це несе певні ризики для користувачів, які покладаються на недокументовані можливості[1].

Окремий інтерес, особливо у випадку програмного забезпечення, представляють недокументовані можливості, які можуть поставити під загрозу правильну роботу, цілісність, конфіденційність — іншими словами безпекапрограмної або інформаційної системи. У цьому контексті зазвичай використовуються термін вразливість (на професійному комп'ютерному жаргоні також баг, «дірка»), а в деяких офіційних документах вводиться поняття «недекларові можливості» і «незаявлені можливості» .

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

У машинах і механізмах

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

  • У швейних машинах складного зигзага, випущених подільським заводом, конструктивна особливість реалізації кулачково-копірного вузла дозволяла отримувати штрихову сходинку, не передбачену конструкторами машини, при установці перемикача зигзага в проміжний неробочий стан. Дана можливість випадково була виявлена однією з читачок журналу «Робітниця», про що вона написала лист в редакцію. Після публікації в журналі цієї замітки дослідження недокументованих можливостей швейних машин та їх застосування стало регулярним.
  • У ряді модифікацій токарного верстата 16К20 на увазі неописаних в документації особливостей реалізації коробки подач з'являлася можливість виготовляти різьблення з нестандартним кроком, що широко використовувалося в роки СРСР для виготовлення саморобних замків і ключів до них з нестандартною різьбленням замість секретного механізму.
  • Особливості конструкції головної передачі автомобіля «Запорожець» допускали в процесі складання агрегату переворот коробки диференціала веденої конічною шестірнею, що викликало зміну напряму обертання півосей. Цим широко користувалися творці саморобних автомобілів, які застосовували ЗАЗовский силовий агрегат, встановлений в передній частині машини. Іноді ця особливість призводила до курйозів, коли після ремонту автомобіля при включенні передачі переднього ходу він їхав назад.
  • Старі типи автоматичних коробок передач мають окремий планетарний ряд підвищувальної передачі («овердрайв»), який управляється незалежно від основного трьох - або чотириступінчастою ряду. Хоча штатні системи управління АКПП включають овердрайв тільки в поєднанні з прямою передачею в основному планетарному ряду, нічого не заважає використовувати його і на інших передачах, що фактично подвоює загальне число передач АКПП. Цією особливістю іноді користуються виробники автомобілів, наприклад, вводячи в управління АКПП додаткову програму м'якого старту (що зручно взимку на слизькій дорозі). Суть цієї програми полягає в тому, що овердрайв працює на всіх передачах, знижуючи передавальне відношення і, отже, динаміку автомобіля.
  • Кінематична схема п'ятиступінчастою АКПП A750 фірми Aisin така, що вона може реалізовувати 7 передач переднього ходу і 3 передачі заднього ходу. Проте в цих додаткових режимах навантаження на фрикциони і гальма занадто велика і виробники автомобілів їх не використовують. Але любителі тюнінгу автомобілів користуються цією можливістю. Пізніше фірма Aisin допрацювала конструкцію цієї АКПП, реалізувавши в ній 6 передач переднього ходу.

У механічних фотоапаратах

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

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

  • У багатьох багатодіапазонних радіоприймачах (практично всі приймачі, виконані на пальчикових лампах), що випускалися в СРСР, перемикання діапазонів в області коротких хвиль здійснювалося підключенням за допомогою механічного перемикача, що підключає паралельно коливального контуру гетеродина групи частотознижуючих конденсаторів. У проміжних положеннях перемикача додаткові конденсатори не були підключені, і частота гетеродина визначалася тільки конденсатором змінної ємності. При цьому гетеродин працював на підвищеній частоті. Ця особливість дозволяла приймати радіостанції в діапазонах хвиль 19, 16 і 11 метрів і слухати «ворожі голоси». Прийом був досить нестабільним, але, тим не менш, дозволяв слухати передачі. В радіоприймачі «Сакта» для цього потрібно було натиснути одночасно кнопки КВ1 і КВ2. У «Ригонді» і її клонах («Кантата», «Рапсодія», «Урал»), цей ефект досягався при перемиканні з режиму КВ1 в КВ2, якщо кнопку КВ1 утримувати і плавно відпускати при натисканні на кнопку КВ2.
  • Практично всі недорогі радіостанції, що працюють на частоті 27 МГц, в режимі амплітудної модуляції могли нормально приймати сигнали цього діапазону, але частотною модуляцією. Це було пов'язано з тим, що спрощений фільтр проміжної частоти, виконаний на одному коливальному контурі, мав ділянки АЧХ з досить хорошою лінійністю і чудово справлявся з непередбаченою розробниками функцією частотного дискримінатора. Примітно також і те, що через спрощену реалізацію передавального тракту багатьох подібних радіостанцій амплітудна модуляція супроводжувалася сильною паразитною девіацією частоти, що дає можливість прийому сигналу апаратами, що працюють у режимі частотної модуляції.
  • Практично всі пентоди і променеві тетроди можуть працювати в тріодному включенні (анод з'єднаний з другою сіткою), володіючи при цьому хорошими показателямии лінійності (найчастіше кращими, ніж у спеціальних тріодів), що активно використовується прихильниками лампового звуку. Такий режим розробниками не був передбачений і згідно технічних довідників, що діяли у СРСР, — заборонений.
  • Деякі старі чорно-білі відеомагнітофони (наприклад, «Малахіт») можуть записувати кольорове зображення. Це можливо, якщо сигнали кольоровості потрапляють в робочу смугу частот видеотракта. У такому випадку, вони зберігаються і відтворюються не як у кольоровому магнітофоні, а безпосередньо, без переносу спектра та інших перетворень. Також необхідною умовою є відсутність у чорно-білого відеомагнітофона фільтрів, вирізують «непотрібні» сигнали кольоровості з повного відеосигналу. У старих апаратів їх не було, а впроваджувати фільтри почали тільки із широким поширенням кольорового телемовлення.

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

  • Багато недокументованих можливостей є в радянських програмованих мікрокалькуляторах (див. Еггогологія).
  • Майже всі домофони старих типів мають в своєму складі мікроконтролери з досить обмеженими обчислювальними ресурсами і порівняно малим об'ємом енергонезалежної пам'яті, в якій зберігається лише частина ROM-коду ключа. Окремої таблиці вільності осередків немає, тому ознакою того, що комірка пам'яті вільна і в неї можна записати новий ключ, є такий її стан, при якому всі біти встановлені в логічну 1. Через спрощеного алгоритму перевірки ROM-коду ключа iButton валідним виявиться також ключ, у якого 6 байт унікальної частини ROM-коду складаються з одних одиниць. Такий ключ буде з однаковим успіхом відкривати двері, оснащені домофонами різних типів. Ця особливість дозволила створювати так звані «ключі-всюдиходи». Таких ключів не може бути серед виробів, що випускаються офіційно, так як зазначений ROM-код не визначено специфікації шини 1-Wire, але, тим не менш, він може бути эмулирован з допомогою спеціальних мікросхем. Відключити таку недокументовану можливість штатними засобами було неможливо. Єдине, що можна було зробити, це заповнити всю пам'ять ROM-кодами ключів (у тому числі фіктивних). Пізніше виробники домофонів стали підтримувати дану можливість спеціально, передбачаючи кошти її відключення при необхідності.

Наприклад, в Blitz BASIC є такі функції, як Handle і Object (і кілька інших), опис яких дано в офіційній документації. Їх призначення та використання було розкрито користувачами[2].

У комп'ютерних і електронних іграх

На деяких варіантах інженерних калькуляторів можна грати в гру Doom[3][4].

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

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

Навмисно внесені в ПЗ функціональні об'єкти, що володіють такими можливостями, названі програмними закладками.[джерело?] Іноді[коли?] вживається також скорочення «НДВ».

В літературі ширше зустрічається близьке за змістом, але менш певне поняття вразливість (переклад англ. vulnerability).

Програмні закладки слід відрізняти від недекларованих можливостей, що з'явилися внаслідок помилок в програмі (іноді званих багами і «дірами»).[джерело?]

Приклади

Технічні пристрої і ПЗ

В якості прикладів недокументованих можливостей і команд можуть бути наведені:

  • як правило, не документирующиеся спеціальні номери або комбінації клавіш стільникових телефонів, що відкривають доступ до інженерних або діагностичним меню, отримання додаткової інформації або використанню деяких інших можливостей[5] (наприклад, команда мобільних телефонів *#06#, здійснює перехід в меню відображення IMEI, а також, в залежності від моделі апарату, різних аспектів його конфігурації);
  • команда переходу сучасних телевізорів і моніторів в інженерне меню — затиснувши кілька кнопок на пульті управління одночасно, оператор пульта потрапляє в початково недоступне для користувача простір інженерного меню, у якому переміщається за допомогою звичайних команд пульта («вгору», «вниз», «вліво», «вправо», «ok»)[6];
  • в ОС Windows до таких можливостей часто відносять роботу з реєстром, файлами, деякі можливості Windows API[7][8].

Дивись також

Примітки

  1. Особливо актуально для програмних библіотек, оскільки бажано, щоб оновлення їх версій не спричиняло необхідність доробки програм, що використовують бібліотеки.
  2. Help. Архів оригіналу за 16 квітня 2018. Процитовано 25 квітня 2018.
  3. DOOM запустили на … калькуляторе / Новости hardware / 3DNews — Daily Digital Digest. Архів оригіналу за 26 вересня 2018. Процитовано 25 квітня 2018.
  4. DOOM на калькуляторе / Хабрахабр. Архів оригіналу за 7 серпня 2016. Процитовано 25 квітня 2018.
  5. Недокументированные возможности телефонов. Архів оригіналу за 9 червня 2018. Процитовано 25 квітня 2018.
  6. Описания инженерных меню некоторых мониторов. Архів оригіналу за 3 травня 2018. Процитовано 25 квітня 2018.
  7. Свен Шрайбер «Недокументированные возможности Windows 2000». Спб, 2002
  8. Секреты Windows: статьи о реестре, rundll32.exe, программах. Книга Недокументированные возможности Windows XP. Часть 2. Архів оригіналу за 10 лютого 2018. Процитовано 25 квітня 2018.

Література

  • Gupta G. Computers in Engineering. American Society of Mechanical Engineers, 1991. ISBN 0-7918-0622-7, ISBN 978-0-7918-0622-7, ISBN 0-7918-0622-7 (особливо розділ «Documented and Undocumented Features», p.78)
  • Szyperski C., Gruntz D., Murer S. Component software: beyond object-oriented programming. Pearson Education Publishers, 2003. ISBN 978-0-201-17888-3 (особливо розділ 5.1.5. Undocumented «features», p.54)
  • Smith Sean W. Trusted computing platforms: design & applications. 2005, XX, 244 p. 28 illus., Hardcover. ISBN 978-0-387-23916-3 (особливо розділ 3.4 Undocumented Functionality, p.35)
  • Адаменко М. В. Секрети стільникових телефонів: сервісні коди мобільних телефонів; недокументовані можливості; зміна мелодії дзвінка; розблокування телефонів. Изд. 2-е. М.: "ДМК Прес, «СОЛОН-Прес», 2002, 240 стор. — ISBN 5-98003-026-3, ISBN 5-94074-191-6
  • Букін М. З. Секрети стільникових телефонів. СПб.: «Пітер», 2005, 208 стор. — ISBN 5-469-00638-7
  • Зиков Н. До. Недокументовані можливості Windows: Довідник для програміста-практика. М: «Радіо і зв'язок», 1994, 176 стор. — ISBN 5-256-01212-6, ISBN 5-256-01212-6
  • Кингслей-Хагис До. Недокументовані можливості GPS. СПб.: «Пітер», 2007 р., 304 стор — ISBN 978-5-469-01410-2
  • Коберниченко А. В. Недокументовані можливості Windows NT. М.: «Нолидж», 287 стор. — ISBN 5-89251-048-4
  • Свен Шрайбер. Недокументовані можливості Windows 2000. СПб., 2002 р., 544 стор — ISBN 5-318-00487-3
  • Фленов М. Програмування в Delphi очима хакера. Видавництво: «БХВ-Петербург», 2007 р. ISBN 978-5-9775-0081-4

Посилання