Недокументированные возможности Windows: скрываем изменения в реестре от программ, работающих с неактивным реестром. Недекларированные возможности Недокументированные возможности прав доступа к pipe windows

Здесь я попробовал собрать список различных дополнительных возможностей для абонента сотовой связи компании МТС – либо функционально, либо с точки зрения экономии средств. Вся информация почерпнута из интернета; службой сервиса МТС либо отрицается, либо игнорируется. По этой причине, а также по причине того, что все эти сервисы предоставляются бесплатно третьими лицами, я объединил их под рубрикой “недокументировано”.Это означает, что вы можете пользоваться этими возможностями, но никто не гарантирует вам, что какие-либо из указанных сервисов будут работать и в дальнейшем, либо что они останутся бесплатными и за них не будет взыматься плата. Весь риск по использованию недокументированых функций и возможных “попаданий на деньги” вы возлагаете на себя.

Часть 1. Мобильный телефон и интернет

Обладатели мобильных телефонов стандарта GSM обладают возможностью отправлять и принимать короткие текстовые сообщения (SMS) друг другу. Но в МТС, как и в Билайне, официально это можно делать только в пределах своей абонентской сети, то есть абонент МТС не может послать сообщение абоненту Билайн и наоборот. Официально – нет, а неофициально – вполне даже может. Более того, он может принимать и отправлять сообщения по электронной почте (e-mail) и ICQ при помощи своего телефона.

Международные сервис-центры SMS

Огромное множество операторов GSM в мире позволяют отправлять SMS со своего сервис-центра не только своим абонентам, но и всем, в том числе абонентам МТС. Прописав номер такого сервис-центра у себя в телефоне, вы сможете отправлять SMS любому другому пользователю телефона стандарта GSM. Одно время такая отправка SMS была бесплатной. Сейчас – платная, по обычному тарифу $0,12 (включая НДС). Единственное ограничение: у вас должен быть активизирован международный доступ, который уже включен для всех тарифов с приставкой “Международный” и легко подключается абонентам всех остальных тарифов.

Зачем нужны международные сервис-центры? Во-первых, по откликам из “горячей линии” западные SMSC работают в среднем стабильнее, т.е. процент доставки (а не “буферизирования”) сообщения выше. Во-вторых, некоторых раздражает неотключаемая нотификация о доставке. И, в-третьих, если оператор имеет роуминговое соглашение с МТС и Билайном, можно слать SMS на телефон Билайн GSM.

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

Turkcell Turkey +90-5329010000
NetCom Norway +47-92001000
Sonera Finland +358-405202000
Mobilix Denmark +45-26265151
One2One UK +44-7958879879
Esat Ireland +353-868002000
E-Plus Germany +49-1770620000
Telfort The Netherlands +31-626000230
Proximus Belgium +32-75161612
PTT Luxembourg +352-021100003
North West Russia +7-8129600096
IDEA Centertel Poland +48-501200777
Radiomobil Czech rep +420-603051
Globtel Slovakia +421-905303303
Westel900 Hungary +36-309303100
TIM Italy +39-338980000
Swisscom Switzerland +41-89191
Itineris France +33-689004581
Sprint USA +1-7044100000

Как послать e-mail с моего телефона?

Вообще-то стандарт GSM поддерживает посылку e-mail с телефона. Однако в МТС эта функция не работает – то ли нет соответствующего оборудования, то ли не могут произвести соответствующие настройки. К счастью, в интернете есть независимые источники с довольно неплохим набором услуг, позволяющий вам отсылать e-mail непосредственно с телефона.

eXcell (Италия) – шлете SMS на телефон +393388641732 с текстом вида: EMAIL [email protected] body

Между точками заключается Subject, который можно вообще не писать, если лень – в этом случае можно обойтись без точек. Тогда сообщения будет выглядеть примерно так:
EMAIL [email protected] Hello John!
Слово EMAIL в начале сообщения можно сократить до EMA, вместо @ можно набирать! или *, а вместо _ можно набирать: (двоеточие). Вместо конца строки можно набирать = или &.
Пример:
EMA banzai*mail.ru.Alert From Provider.Vykhodi iz Ineta, zaraza! = Ne mogu do tebja dozvonitsja!!!

В качестве подписи будет фигурировать ваш номер телефона. Можно настроить любую другую подпись (подробные инструкции – на сайте eXcell. Помните, что каждое отправленное таким образом письмо будет стоить вам 12 центов.

SgiC (Финны) – еще один SMS – e-mail gateway. Для ленивых кратко так: шлете SMS на телефон +358 40 517 4761, первое слово – это email адрес (вместо @ можно использовать #). Дальше через пробел пишите собственно сообщение.

Примеры:
[email protected] This is a test, whoa! (это финны так радуются:)
evolving#oeoe.fi This is another test, hopla!*
Каждое отправленное таким образом письмо также будет стоить вам 12 центов.

Хотите шлюз Email -> SMS? Напишите им письмо. Лучше всего по-английски и на адрес [email protected] . А в интернете их можно найти здесь, только там все по-фински.

И еще. Для надежности лучше всего пользоваться опять-таки западными SMS-центрами, например, Turkcell. Они доставляют почту практически мгновенно.

Как послать сообщение с телефона на ICQ?

Точно так же, как и e-mail, с той лишь разницей, что адрес будет выглядеть так: [email protected] , где ICQ_number – это идентификационный номер ICQ вашего абонента.

Пример:
EMAIL 1111111@ pager.icq.com.email express message.Are you still alive?
Проверенный способ: быстрее всех доходят сообщения через Turkcell на финский e-mail gate.

Как получать на мобильный телефон электронную почту?

В тестовом режиме работает доставка SMS по электронной почте. Посылайте e-mail на адрес [email protected] для прямого номера, [email protected] для “кривого”. Следует помнить, что правильно транслитерируются русские буквы, если письмо послано в кодировке WIN, поэтому для уверенности лучше сразу пишите латинскими. “Тестовость” означает, что МТС не гарантирует вам круглосуточное и безотказное функционирование данной услуги. На каждый посланный таким образом e-mail вам приходит квитанция о доставке или буферизации вашего SMS.

Есть также у нас одна компания, которая пока бесплатно позволяет это делать. Вы можете на этом сайте зарегистрироваться и завести собственный почтовый ящик вида [email protected] , и в установках на сайте прописать номер своего мобильного телефона. Отныне вся почта, приходящая на ваш адрес [email protected] будет попадать в виде SMS на ваш телефон. Ограничение – 160 знаков, как и в любом SMS-сообщении. Аттачменты, естественно, не показываются.

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

Как послать SMS из интернета?

Можно отослать с сервера МТС. Только вам никто ничего (в том числе и по деньгам) не гарантирует: “тестовый режим”. Номер надо писать в международном формате, но без “+”, например, 70957601234, 79026801234

Отличие отправки SMS с сервера МТС от других в том, что он транслитерирует русские буквы в латинские и еще забивает матерные на его взгляд слова звездочками. Какие слова, спросите вы? Их есть у меня 🙂 Словарь матерных слов нашел 2pac на мобил-телекоме, и скорее всего, тот же фильтр стоит на МТС, т.к. это тоже поделка г-на Лебедева (делавшего дизайн сервера МТС). Вот он

Также существует недокументированная возможность сервера МТС посылать SMS на русском языке на аппараты, поддерживающие кириллицу. Алгоритм следующий: через сервис-центр +70957699800 послать на номер 0 (нуль) сообщение с текстом “UCS2” (без кавычек, разумеется). После этого сообщения с сайта МТС можно отправлять прямо на русском. Отмена всего этого производится посылкой сообщения с текстом “DEFAULT”.

Также существует множество мест в интернете, откуда вы можете бесплатно послать SMS на телефон МТС. К сожалению, многие из известных бесплатных отправщиков SMS периодически не работают (или не работают на Москву).

Pagergate 2.0 (Россия) – периодически не работает.
sms.pagergate.ru – почему-то работает лучше, PagerGate хотя используется то же самое оборудование.
Golden Telecom (Украина) -отличный сервис, на аппараты, поддерживающие кириллицу, может слать SMS на русском языке. МТС временно, почему-то не обслуживается.
Немецкий сервер – нужно зарегистрироваться, после чего вы получите возможность отправлять SMS по всему миру в международном формате.

Часть 2. Бесплатные звонки

Известно, что в МТС первые 20 секунд входящих и первые 5 секунд исходящих звонков – бесплатны, но это официально. А как можно говорить по мобильнику дольше, не затрачивая лишних денег? И возможно ли вообще такое?

Как бесплатно позвонить на телефон МТС, в том числе из города?

Оказывается, возможно. Нужно только внимательно, досконально, до последней буквы изучать все инструкции, которые вы получили при покупке телефона (помните инструкции к советским товарам, вплоть до расчески, периода развитого социализма “п.1. Категорически запрещается пользоваться изделием до прочтения данной инструкции и точного ее соблюдения”?) Возможно, что служба сервиса тоже недостаточно внимательно читает свои инструкции 🙂

Получается это на стыке двух услуг: ГП (голосовая почта) и SMS. Дело в том, что при поступлении сообщения на вашу ГП, она шлет вам SMS-извещение. Но записать сообщение на ГП можно не только при переадресации, но и напрямую через услугу 7661 “прослушивание сообщений голосовой почты”.

Итак, небольшой практикум. Набираем 7661 – это, понятно, бесплатно. Послушаем подсказку 8 – внимательно, до последнего звука. Ага, чтобы послать сообщение набираем ** – вот она ключевая комбинация! Теперь все просто: для прямого номера набираем 57601234, для “кривого” 26801234, слушаем приветствие, наговариваем сообщение, нажимаем #. Второй абонент получает SMS, набирает 7661 – опять бесплатно, слушает сообщение.

Из города еще проще. Набираем 7661111, переходим в тон, далее для прямого 57601234, для “кривого” 26801234, слушаем приветствие, наговариваем сообщение, кладем трубку. Дополнительная выгода от этого способа: дозвон на “кривой” номер без необходимости теребить “восьмерку”.

Как бесплатно разговаривать между двумя телефонами?

Ну, если можно бесплатно позвонить с одного телефона на другой, то что запрещает позвонить со второго на первый?

То есть получается такой полудуплексный режим: я наговариваю тебе сообщение, ты слушаешь; ты наговариваешь, я слушаю, при этом нет необходимости разрывать связь с ГП: конец сообщения #, выход в главное меню *. Единственный недостаток: придется каждый раз выслушивать приветствие, но должно же что-то быть не так 🙂 Кроме того, все-таки это бесплатно, а ради этого стоит помучаться.

Правда ли, что описанное выше, действительно так, как описано? Что-то не верится. А в службе сервиса мне ответили по-другому. Как же мне быть?

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

Второе: по поводу службы сервиса и достоверности/недостоверности, платности/бесплатности – внимательно еще раз перечитайте предисловие к разделу.

И, наконец, третье. Как быть? Да очень просто. Закажите распечатку звонков за один день, если у вас нет ежемесячной. Это обойдется вам в $0,24, иными словами, около 7 рублей. “Заплати и спи спокойно” (с) сами знаете чей 🙂

P.S. Сообщение Службы Сервиса МТС: ГП не подключается в данный момент ни абонентам с федеральными номерами, ни абонентам с прямыми московскими номерами. К сожалению, Служба Сервиса не имеет данных о перспективе начала подключения данной услуги.

В статье использованы материалы страниц сайта МТС

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

Зачем это нужно?

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

Как это происходит?

Реестр Windows состоит из двух частей: энергозависимая часть (ключи реестра и значения, которые будут потеряны после отключения куста из-за того, что они не сохраняются в файл; пример: ключ «CurrentControlSet» куста «SYSTEM»), энергонезависимая часть (синхронизируется с файлом куста реестра).

Поскольку во время записи энергонезависимой части в файл куста необходимо обеспечить целостность сохраняемых данных (например, в случае сбоя электропитания, прерывающего операции записи данных), ядро Windows использует журналирование реестра - записываемые данные сохраняются сначала в файл журнала (этот файл находится в одной директории вместе с основным файлом и имеет расширение «.LOG», «.LOG1» или «.LOG2») и только потом в основной файл куста (если запись в файл журнала не будет успешно завершена, то основной файл останется целым и нетронутым, а если запись в основной файл не будет успешно завершена, то его целостность можно восстановить с помощью данных из журнала, которые были успешно записаны до сбоя).

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

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

Журналирование до Windows Vista

В Windows XP и более ранних версиях Windows каждому энергонезависимому кусту реестра соответствует один основной файл и один файл журнала. Исключением из этого правила является куст SYSTEM в Windows 2000 и более ранних версиях Windows, который зеркалируется (в файл с именем «system.alt»), а не журналируется, чтобы упростить код загрузчика (который должен загрузить в память указанный куст) и не добавлять в него поддержку восстановления из журнала (под зеркалированием понимается поочередная запись данных в два основных файла, которые в результате будут иметь одинаковую логическую структуру ключей, значений и других элементов).

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

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

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

Журналирование начиная с Windows Vista (до Windows 8.1)

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

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

Но такую схему журналирования нужно отладить, а потому в ядро Windows была внедрена переменная, позволяющая имитировать повторяющиеся ошибки записи в основные файлы всех кустов реестра, - CmpFailPrimarySave. По неизвестным причинам эта переменная есть и в обычных версиях ядра (а не только в отладочных версиях). Если в эту переменную записать некоторое значение, отличное от нуля, то функция записи данных в основной файл будет имитировать ошибку на разных этапах такой записи.

Следует отметить, что в процессе подключения куста реестра ядро должно выбрать, какой из двух файлов журнала использовать для восстановления, для чего реализуется относительно сложный алгоритм, определяющий, какой из файлов журнала сохранил целостность, какой из них содержит более позднюю версию записываемых данных и т. д. До Windows 8 этот алгоритм содержал серьезную ошибку, в результате которой почти во всех случаях, вне зависимости от конкретных деталей, выбирался первый файл журнала («.LOG1»). В частности, для Windows 7 соответствующие исправления алгоритма были выпущены лишь в марте 2016 года (следовательно, все это время двойное журналирование в Windows 7 предоставляло защиту целостности не лучше, чем Windows XP). Для преодоления описанной ошибки необходимо не только блокировать запись в основной файл куста, но и блокировать переход ко второму файлу журнала («.LOG2») в случае сбоя (чтобы первый файл журнала всегда содержал наиболее поздние данные, пусть даже и в ущерб целостности в случае сбоя; в противном случае при следующей загрузке системные кусты реестра могут быть восстановлены в состояние, неожиданно более раннее, чем при завершении штатного выключения компьютера). К счастью, следующее значение обсуждаемой переменной позволяет достигнуть желаемого эффекта без смены файла журнала - 3.

Эта же переменная будет работать так же и в более новых версиях Windows (8.1 и 10), где применяется другой способ журналирования (вне рамок данной статьи).

Эксперимент

В качестве эксперимента создадим невидимые ключ и его значение в операционной системе Windows 7 (Service Pack 1). Для этого в запущенной операционной системе изменим (редактированием памяти) значение переменной ядра CmpFailPrimarySave с 0 на 3, а затем создадим ключ реестра «HKEY_LOCAL_MACHINE\SYSTEM\invisible_key» со значением с именем «invisible_value», содержащим строку «123456». Затем выключим операционную систему штатным способом и экспортируем файлы куста реестра SYSTEM.

После повторного включения операционной системы запустим редактор реестра и отметим, что искомые ключ и значение в нем видны (рис. 1).

Рис. 1: Редактор реестра Windows

В то же время в экспортированных файлах реестра искомые ключ и значение сторонние программы (например, Windows Registry Recovery и Registry Explorer) не отображают (рис. 2 и 3).


Рис. 2: Windows Registry Recovery


Рис. 3: Registry Explorer

Вывод

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

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

В аналогичном смысле можно говорить и о недокументированных функциях .

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

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

Такие возможности могут использоваться, например, при работе в следующих сферах:

  • вычислительные и иные аппаратные средства: компьютеры, компьютерные комплектующие, периферия и аксессуары, а также различная электроника (сигнализация, mp3-проигрыватели), и т. д.;
  • средства связи: сотовые телефоны, GPS-навигаторы, домофоны, коммуникаторы и т. д.;
  • программное обеспечение: операционные системы, языки программирования, различное программное обеспечение, игры и т. д.;

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

В аппаратуре

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

В компьютерных и электронных играх

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

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

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

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

Преднамеренно внесённые в ПО функциональные объекты, обладающие такими возможностями названы программными закладками . Эти термины использует и ГОСТ Р 51275-2006 . Иногда употребляется также сокращение «НДВ ».

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

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

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

Примеры

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

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

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

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

См. также

Примечания

Литература

На английском языке

  • Gupta G . Computers in Engineering. American Society of Mechanical Engineers, 1991. ISBN 0791806227 , ISBN 9780791806227 , 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 9780201178883 (в особенности раздел 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

Ссылки


Wikimedia Foundation . 2010 .

Смотреть что такое "Недокументированные возможности" в других словарях:

    Электроника МК 52 с сообщением «ERROR» (из за специфического отображения буквы r зачастую читалось как «ЕГГОГ») Еггогология& … Википедия

    Электроника МК 52 с сообщением ERROR (из за специфического отображения буквы r зачастую читалось как «ЕГГОГ» Еггогология изучение скрытых возможностей микрокалькуляторов. Содержание 1 Происхождение … Википедия

    - (Windows) … Википедия

    Microsoft Word (Windows) Скриншот Microsoft Word 2007 Тип Текстовый процессор Разработчик Майкрософт … Википедия

    Microsoft Word (Windows) Скриншот Microsoft Word 2007 Тип Текстовый процессор Разработчик Майкрософт … Википедия

    Microsoft Word (Windows) Скриншот Microsoft Word 2007 Тип Текстовый процессор Разработчик Майкрософт … Википедия

    Microsoft Word (Windows) Скриншот Microsoft Word 2007 Тип Текстовый процессор Разработчик Майкрософт … Википедия

В соответствии с ПП 1119 от 1 ноября 2012г. вводятся угрозы 3-х типов так или иначе связанных с наличием недокументированных (недекларированных) возможностей в программном обеспечении.

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

Итак, мы имеем два уровня угроз:

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

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

Меры, направленные на нейтрализацию угроз делятся на четыре основные составляющие:

1.Меры, направленные на недопущение появления угрозы.

2.Меры, направленные на выявление угрозы.

3.Меры, направленные на нейтрализацию выявленных угроз.

4.Меры, направленные на минимизацию вреда или эффективности реализации угрозы.

Теперь проведем оценку реализации мер, но перед этим учтем несколько важных условий:

1.Мы рассматриваем информационные системы (ИС), которые строятся операторами ПДн. Нужно понимать, что подавляющее число операторов решают задачи по созданию ИС только с использованием типовых продуктов как на системном так и на прикладном уровне (операционных систем, офисных систем обработки данных, СУБД и средств обеспечения). Разработка специальных информационных систем и технологий – редкое явление. Это дорого и у операторов в массе своей такая задача не стоит и не может быть решена имеющимися ресурсами.

2.Оператор получает программные компоненты ИС в готовом виде – без конструкторской документации, без исходных текстов и т.п. Только дистрибутив и эксплуатационную документацию. При этом важно понимать, что значительная часть операторов не строят ИС а только эксплуатирует ее.

3.К основным методам обеспечения безопасного применения программного обеспечения относятся:

  • формирование и контроль выполнения требований по безопасному проектированию, реализации и использованию программного обеспечения на всех этапах жизненного цикла ПО;
  • анализ среды функционирования ПО, направленный на выявление характеристик, которые считаются опасными или потенциально опасными;
  • анализ программного обеспечения, направленный на выявление функциональных возможностей и характеристик, которые считаются опасными или потенциально опасными;
  • использование методов и средств, направленных на обеспечение устойчивости среды функционирования от негативного воздействия ПО;
  • контроль среды функционирования ПО (динамический контроль поведения, изменения характеристик и т.п.) в процессе функционирования ИС;
  • контроль программного обеспечения в процессе его функционирования.

Но указанные методы вряд ли доступны оператору.

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

(Угроза 1, мера 1 ) Недопущение появления угроз связано с контролем технологий безопасной разработки системного ПО. Если рассматривать угрозы на этом уровне, то мы в общем случае получим следующие:

Источники угроз на этапе формирования требований к системному ПО

  • формирование требований направленных на создание условий для последующего небезопасного применения ПО;
  • просчеты при формировании требований к ПО.

Источники угроз на этапе проектирования системного ПО

  • целенаправленное внедрение уязвимости или закладки на уровне архитектуры и/или алгоритма функционирования ПО;
  • целенаправленное проектирование таких методов тестирования, которые направлены на сокрытие уязвимостей/закладок;
  • внесение уязвимостей/закладок используемыми средствами автоматизированного проектирования ПО;
  • применение архитектурных решений, которые приводят к необходимости применения ресурсоемких методов тестирования и отладки ПО.

Источники угроз на этапе реализации (кодирования/компиляции/сборки) системного ПО

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

Источники угроз на этапе тестирования системного ПО разработчиком

  • Проведение тестирования разработчиком или заказчиком системного ПО

Проведение тестирования системного ПО независимой лабораторией в процессе сертификационных или иных испытаний

  • целенаправленное использование методов тестирования, которые направлены на сокрытие уязвимостей;
  • тестирование не проводится или проводится не в полном объеме;
  • целенаправленное сокрытие результатов тестирования.

Источники угроз на этапе внедрения системного ПО

  • подмена компонентов системного ПО;
  • внедрение системного ПО без учета ограничений и условий эксплуатации как самого ППО так и среды его функционирования;
  • использование скрытых настроек системного ПО для включения/инициации закладок или уязвимостей.

С учетом условий указанных выше, очевидно, что оператор не имеет возможностей по осуществлению контроля и обеспечения отсутствия недокументированных (недекларированных) возможностей в системном ПО.
Вывод: меры 1.1. – оператору недоступны.

(Угроза 1, мера 2 ) Меры, направленные на выявление угрозы оператору доступны. Для этого оператор может самостоятельно или с привлечением специалистов:

  • осуществлять мониторинг различных источников информации о выявленных уязвимостях в используемом системном ПО;
  • использовать встроенные в системное ПО средства самоконтроля;
  • использовать различные инструментальные средства контроля защищенности в том числе и собственной разработки.

(Угроза 1, мера 3 ) С учетом мер (Угроза 1, мера 2) оператор может самостоятельно или с привлечением специалистов:

  • производить установку сервиспаков, патчей для нейтрализации выявленных уязвимостей;
  • применять дополнительные СрЗИ, позволяющие нейтрализовать выявленные уязвимости системного ПО;

(Угроза 1, мера 4 ) оператор может самостоятельно или с привлечением специалистов применять меры, направленные на минимизацию вреда или эффективности реализации уязвимостей (как выявленных, так и еще не выявленных) системного ПО:

  • при построении ИС предусмотреть возможное наличие угроз и сформировать архитектуру ИС таким образом, чтобы возможная реализация уязвимостей наносила минимальный вред целям и задачам, возложенным на ИС. К архитектурным решениям можно отнести: локализация и сегментация ИС, обрабатывающей ПДн, наличие средств периодического архивирования, ограничение доступа пользователей, контроль информационных потоков, контроль внешних носителей данных, обезличивание, минимизация технических средств, участвующих в обработке данных, использование средств контроля целостности системного ПО и СрЗИ, использование антивирусных средств, и т.п... всего не перечислишь...
  • применять дополнительные СрЗИ, позволяющие нейтрализовать возможные уязвимости системного ПО;
  • применять дополнительные организационно-технические меры связанные с изменением архитектуры ИС, настроек системного ПО и т.п.

Исходить нужно из того, что максимальные угрозы: - утечки данных, уничтожение данных и информационных ресурсов ИС, потеря контроля за ресурсами ИС.

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

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


Общие выводы:

  • операторы не имеют возможности применять меры, направленные на недопущение появления угроз, связанных с наличием недокументированных (недекларированных) возможностей в ПО.
  • операторы в своей массе не имеют возможности самостоятельно выявлять угрозы, связанные с наличием недокументированных (недекларированных) возможностей в ПО.
  • операторы имеют возможности самостоятельно или с привлечением сторонних специалистов отслеживать выявленные уязвимости системного и прикладного ПО и принимать меры, направленные на их нейтрализацию, минимизацию возможного вреда и/или эффективности реализации уязвимостей.
  • операторы имеют возможность принимать архитектурные решения при построении и в процессе эксплуатации ИС и подсистемы защиты информации, направленные на минимизацию возможного вреда и/или эффективности реализации угроз.
  • операторы имеют возможности самостоятельно или с привлечением сторонних специалистов обеспечить непрерывный ПРОЦЕСС направленный на...