deHack.ru » Статьи по безопасности » Программное обеспечение на заказ: как распознать подводные камни

Программное обеспечение на заказ: как распознать подводные камни



Программное обеспечение на заказ: как распознать подводные камни

С ростом спроса на заказное программное обеспечение в настоящее время в мире всё более востребованными становятся компании и частные специалисты, которые предлагают проанализировать код готового продукта на предмет так называемых "закладок". Почему так происходит и что такое эти закладки? Давайте разберёмся.

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

Прежде всего следует сделать поправку: закладки в кодах бывают случайные и намеренные. Остановимся подробнее на намеренных, поскольку они, как правило, всё же представляют большую опасность для заказчика, нежели нечаянно вставленный или просто ошибочный код. Итак, если разработчик принимает решение "зашить" в свой продукт скрытые от пользователя функции, он может преследовать два основных типа целей. Чаще всего закладки делаются для того, чтобы простимулировать клиента оплатить работу в случае задержки оплаты. Такие закладки, как правило, работают по принципу часовой бомбы: по истечении установленного периода времени механизм запускается и делает своё дело. Функция может быть какая угодно, но суть её должна состоять в том, чтобы доставить неудобство досадившему клиенту.

Казалось бы, с одной стороны, идея правильная и даже эффективная. Любые IT-разработчики время от времени сталкиваются с "проблемными" заказчиками, которые - самое безобидное - задерживают оплату или вовсе отказываются от неё. Однако есть и другая сторона вопроса - юридический аспект. Формирование подобного "левого" кода, который так или иначе может нанести вред пользователю, незаконно. И если не желающий платить за проделанную работу заказчик теоретически может отстоять свою точку зрения, воспользовавшись, например, услугами адвокатов и притянув свои претензии к гарантийному случаю, то у жаждущего отомстить разработчика куда меньше шансов выйти из воды сухим.

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

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

Читайте еще

Только авторизованные пользователи могут оставлять комментарии - авторизация, а если Вы впервые, то нужно зарегистрироваться в системе