Недокументовані можливості
Недокументовані можливості (англ. undocumented features), НДМ — можливості технічних пристроїв та/або програмного забезпечення, які не відображені в документації. Найчастіше недокументовані можливості свідомо закладаються розробниками в цілях тестування, подальшого розширення функціональності, забезпечення сумісності або ж з метою прихованого контролю за користувачем. Крім того недокументовані можливості можуть стати наслідком побічних ефектів (найчастіше в перехідних режимах або при перемиканні режимів), не врахованих розробниками. Від недокументованих можливостей слід відрізняти можливості системи, приховані від кінцевого споживача, але наведені в офіційній сервісній документації. Недокументовані можливості виявляються, зазвичай, у процесі зворотного розробки, але можуть бути виявлені і випадково. Приватним випадком недокументованих можливостей є недокументовані функції.
У тих випадках, коли виробник несе відповідальність за працездатність продукту або зобов'язується здійснювати його технічну підтримку, відповідні зобов'язання зазвичай поширюються лише на описане у супровідній документації. З цим може бути пов'язаний ще один мотив не згадувати в документації деякі корисні функції. Зокрема, це дозволяє позбутися від них в наступних версіях продукту, не попереджаючи про це користувачів. Це несе певні ризики для користувачів, які покладаються на недокументовані можливості[1].
Окремий інтерес, особливо у випадку програмного забезпечення, представляють недокументовані можливості, які можуть поставити під загрозу правильну роботу, цілісність, конфіденційність — іншими словами безпека — програмної або інформаційної системи. У цьому контексті зазвичай використовуються термін вразливість (переклад англ. vulnerability) (на професійному комп'ютерному жаргоні також баг, «дірка»), а в деяких офіційних документах вводиться поняття «недекларові можливості» і «незаявлені можливості» .
Недокументовані можливості в різних сферах
У машинах і механізмах
Недокументовані можливості в машинах і механізмах зустрічаються порівняно рідко, так як реалізація тієї чи іншої додаткової функції вимагає застосування додаткових елементів, призначення і логіку роботи яких порівняно нескладно зрозуміти. Тим не менш у разі багатоланкових механізмів з кількома ступенями свободи недостатньо повна реалізація кінематики окремих вузлів машини може призводити до побічних ефектів, що відкриває не передбачені розробниками можливості, наприклад:
- У швейних машинах складного зигзага, випущених подільським заводом, конструктивна особливість реалізації кулачково-копірного вузла дозволяла отримувати штрихову сходинку, не передбачену конструкторами машини, при установці перемикача зигзага в проміжний неробочий стан. Дана можливість випадково була виявлена однією з читачок журналу «Робітниця», про що вона написала лист в редакцію. Після публікації в журналі цієї замітки дослідження недокументованих можливостей швейних машин та їх застосування стало регулярним.
- У ряді модифікацій токарного верстата 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].
Дивись також
Примітки
- Особливо актуально для програмних библіотек, оскільки бажано, щоб оновлення їх версій не спричиняло необхідність доробки програм, що використовують бібліотеки.
- Help
- DOOM запустили на … калькуляторе / Новости hardware / 3DNews — Daily Digital Digest
- DOOM на калькуляторе / Хабрахабр
- Недокументированные возможности телефонов
- Описания инженерных меню некоторых мониторов.
- Свен Шрайбер «Недокументированные возможности Windows 2000». Спб, 2002
- Секреты Windows: статьи о реестре, rundll32.exe, программах. Книга Недокументированные возможности Windows XP. Часть 2
Література
- 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