Источник отравления


  Share  
|

Итак, мы нашли различные методы плохие ребята использовать для сжимания троянского коня в функциональности наших систем. Однако, пожалуй, наиболее тревожное троянского коня вектор предполагает включить злоумышленного кода в программный продукт, прежде чем он даже освобожден. Злоумышленники могут Trojanize программ на поставщика программного обеспечения в области развития и тестирования процессов. Предположим, злоумышленник нанимает на качестве работника на крупных разработка программного обеспечения магазина или добровольцев вносить код с открытым исходным кодом проекта. Цель может быть что угодно; Важную операционную систему, широко используемым планирование ресурсов предприятия инструментом, или даже очень эзотерических программ, используемых банками для управления их перевода средств будет все сделать сочный целей. Как разработчику или даже тестером, то злоумышленник может вставить относительно небольшой backdoor менее 100KB кода внутри сотен мегабайт законных код. Это действительно иголки в стоге сена! Все пользователи, приобретающие продукт будет невольно будет покупке троянского коня и установить его на своих системах. Весь программный продукт сам становится троянским конем, сделать что-то полезное (поэтому вам купить или скачать ее), но это маскировка backdoor.

Кен Томпсон отметил, UNIX cocreator и язык программирования C гуру, обсудили важность контроля исходного кода и возможность посадки backdoors в нем в своем знаменитом 1984 документ под названием "Размышления о доверительное траст". " В этой классической работе, Томпсон описаны изменения исходного кода для компилятора, чтобы он построил backdoor код во все, что она собирает. Предлагаемая нападение было особенно коварное, так как даже новый компилятор, что собран с троянская версия старого компилятора бы backdoor в нем тоже. Это направление атаки уже давно вызывает обеспокоенность и является еще более потенциальную проблему сегодня.

Эта проблема является еще более тревожным, чем Trojaning программного обеспечения распределения мест, которые мы обсуждали в последнем разделе. Когда злоумышленник Trojanizes программного распределения сайта, разработчиков программного обеспечения, по крайней мере, чистой версии, что они могут сравнить отношении обнаружения уловкой. Резервное из проблем является относительно легче после открытия, как чистого версии программного обеспечения могут быть размещены на сайте для распространения. С другой стороны, если злоумышленник embeds один Троянский конь в ходе процесса разработки программного обеспечения, поставщик не может даже чистый экземпляр. Если нападавших особенно умная, они переплетаются небольшой, не backdoor всей нормальный код, что делает ликвидацию чрезвычайно сложно. В разработчик придется сканировать огромные количества кода для обеспечения целостности всего продукта. Чем больше программного продукта, тем сложнее обнаружения и ликвидации стать. Давайте анализировать, почему это происходит.

Код сложности делает нападение проще

Большинство современных программных средств огромные масштабы. Обнаружение ошибок в коде, не говоря уже о backdoors, весьма сложно и дорого. Для Trojanize программный продукт, злой работник даже не реально написать целую backdoor в продукт. Вместо этого вредоносного разработчик может целенаправленно писать код, который содержит эксплуатации недостатков, таких, как переполнения буфера, которые позволят злоумышленнику захватить машину. Действительно, такой недостаток целенаправленного действия, как и backdoor. Если недостаток sneaks последние программы тестирования группы, застройщик будет единственным, кто знает о дыры первоначально. К эксплуатации, что изъян, разработчик может контролировать любой системы, используя его или ее код.

Чтобы почувствовать, как легко такой умышленное недостаток или даже полное троянского коня может squeak последние разработки программного обеспечения качества процессов, давайте рассматривать качество репутация в индустрии информационных технологий с течением времени. Программное обеспечение качества проблемы преследуют нас на протяжении десятилетий. С введением повышенной плотностью чипов, волоконно-оптической техники, и более жестких дисков, аппаратное продолжает получать более надежные с течением времени. Программное обеспечение, с другой стороны, по-прежнему упорно недостатки. Уоттс Хамфри, программного обеспечения качества гуру и исследователь из университета Карнеги Меллона, провела обследования на количество ошибок разработчиков обычно сделать при редактировании кода. Различные анализы показали, что в среднем типичный разработчик случайно вносит между 100 и 150 дефектов на 1.000 строк кода. Эти вопросы совершенно случайно, но один недостаток умышленное можно sneaked в а.

Хотя многие из этих ошибок являются простыми синтаксическое проблемы легко найти в компилятор, значительная часть остальных дефекты часто приводят к gaping безопасности лунок. В действительности, по сути, безопасность уязвимость действительно только очень контролируемой эксплуатации на ошибку достижения атакующего конкретной цели. Если злоумышленник может сделать программу не удастся образом, чтобы преимущества атакующего (на сбой системы, дающие доступ или отображение конфиденциальной информации), атакующий побеждает. Оценка очень осторожным, если только в 10 из недостатков в программное обеспечение безопасности, что оставляет между 10 и 15 безопасности дефектов на 1.000 строк кода. Эти цифры просто не очень приятно.

Комплекс операционной системы, как Microsoft Windows XP около 45 млн. строк кода, и это гигантский число растет, как новые функции и патчи освобождены. Другие операционные системы и прикладные имеют огромные объемы кода, а. Это увеличение для XP, то, возможно, около 450.000 безопасности дефектов в Windows XP одиночку. Даже если наши обратно - это конверт расчета слишком высока на коэффициент 100, что все еще может означать 4.500 безопасности недостатки. Ой! Действительно, в тот же день, что Windows XP был запущен в октябре 2001 года, Microsoft выпустила whopping 18 мегабайт патчей для него.

Не поймите меня; Мне нравится Windows XP. Это гораздо более надежные и проще в использовании, чем предыдущие версии в Windows. Это, безусловно, шаг в правильном направлении, с этих точек зрения. Однако, это лишь свидетельствует о проблеме безопасности, связанных с программным обеспечением крупных проектов. Это не просто вопрос либо Microsoft; Всей софтверной индустрии представляет более крупных, более сложных, крайне особенностью богатых (а иногда особенность - в груженом состоянии) программ с т безопасность недостатки. Всей индустрии программного обеспечения, мы видим весьма благодатную почву для злоумышленнику посадить тонкие троянского коня.

Испытание? Какие испытания?

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

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

Пасхальные яйца этих неожиданных goofy мало "черты" squirreled вдали в ваше программное обеспечение (или других товаров), которые появляются в очень особых условиях. Например, если запустить программу при нажатой E, F и S ключей, можно получить видеть dorky картину программы разработчика. В пасхальных яиц Архив поддерживает основной список этих мало камней на www.eeggs.com, с более чем 2.775 программного обеспечения пасхальные яйца официально написания этого.

Что делать пасхальные яйца надо сделать с троянских коней в программе? Много, на самом деле. В пасхальные яйца действительно форма троянского коня, хотя (как правило) безвредности характер. Однако, если разработчики программного обеспечения могут sneak имелась пасхальных яиц прошлого тестирования программного обеспечения и качества групп, то нет сомнения, на мой взгляд, что они могли бы также принять троянского коня или преднамеренного буфера, а. Более того, злоумышленник может даже поставить backdoor внутри пасхальные яйца встроен в основной программе. Если испытания и качества групп не замечают пасхальные яйца или даже заметить этого, но пусть его, они скорее всего не будет проверять его на такой скрытой функциональности. Для меня наличие пасхальных яиц доказывает совершенно ясно, что вредоносные разработчика или тестера может поставить nasty скрытых функций внутри коде продукта и получать ее посредством выпуска продукции без заметили.

Чтобы почувствовать на Пасху яйца, посмотрите один встроен в популярный продукт, Microsoft Excel в таблицу программы. Excel очень славится своими пасхальные яйца. Предыдущий вариант программы Excel 97, включает имитатор полета игру. А более поздняя версия, Excel 2000, включает вождения автомобиля игра называется Дева Хантер.

Для этой пасхальные яйца работы, вы должны Excel 2000 (до обслуживания Выпуск 1), Internet Explorer, и DirectX установлена на вашем компьютере. Чтобы активировать пасхальных яиц и играть в эту игру, вы должны сделать следующее:

  • Запуск Excel 2000.

  • В меню "Файл" выберите "Сохранить как Web Page.

  • На Сохранить интерфейс, выберите опубликовать и нажмите кнопку "Добавить интерактивность поле.

  • Нажмите кнопку Опубликовать для спасения в результате HTM страницы на Вашем диске.

  • Затем открыть HTM страницы, только что созданный Вами с Internet Explorer. Бланк таблицы появится в середине вашего Internet Explorer окне браузера.

  • Вот сложно части. Вниз на строку 2000 и более колонки WC.

  • Теперь выберите все строки 2000, нажав на 2000 числа в левой части строки.

  • Нажмите на закладку ключевых сделать туалет активной колонки. Эта колонка будет белым, а другой колонки в строке будет darkened.

  • Удерживая клавиши Shift + Ctrl + Alt и, в то же время, нажмите Microsoft Управления логотип в левом верхнем углу таблицы.

  • На втором или два, игра начнется.

  • Используйте стрелки для привода и управления, и пробел для огня. В O ключевых капли нефтяных пленок на сбить других автомобилей. Когда он запускается темный, вы можете использовать ключевые H включить фары вашего.

Если игра не ссылаться на вашей системе, то, вероятно, так как Вы служба Выпуск 1 или более поздней версии Microsoft Excel установлен на вашей машине, которая не включает пасхальные яйца. Можно охотиться более ранней версии Microsoft Excel, или просто принять мои слова на веру.

Теперь внимание вы, это "особенность" в таблицу, офис производительности программы. В зависимости от вашего умонастроения, можно quirky и весело. Однако каким образом такое понятие, обойти программное обеспечение качества процесса (которые должны включать код рецензии) и тестирования командой? Возможно, качества и тестирование персонала, не заметил его. Или, возможно, качества ребят, и тестеров в cahoots с разработчиками видеть, что игра получила включены в производство версии. Так или иначе, я касается перспектив на троянского коня был включен в том же стиле на других поставщиков.

Опять-таки, я не только сбор Microsoft здесь. По сути, Microsoft имеет приобретенное лучше за последние пару лет в связи с эти проблемы. Новые пакеты или горячие исправления часто и быстро сквош любой пасхальные яйца, включенных в предыдущих версиях. Microsoft в доверенным вычислительный инициативу, хотя часто derided, начинает приносить определенные плоды, как все меньше и меньше уязвимостей и пасхальные яйца, по-видимому, подходит к Microsoft на рынке программ. Однако, я говорю об этом с большим колебаний, как еще один огромный gaping яйца могут быть обнаружены в любой день. Однако, подчеркнув, что это не Microsoft - единственный вопрос, и многие другие разработки программного обеспечения магазинов, которые пасхальные яйца включили в свои продукты, включая Apple Computer, Нортон, Adobe, Творог, с открытым исходным кодом Mozilla веб-браузер, и браузер Opera. Этот список можно продолжить и, и закреплена для всеобщего просмотра на www.eeggs.com.

Переход к международному развитию

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

Предположим, вы покупаете или загрузить фрагмент программного обеспечения от поставщика X. Этот поставщик, в свою очередь, контракты с Поставщики Y и Z выработать определенные части кода. Поставщик Z субподряды различных деталей о работе в трех разных странах мира. К тому моменту, когда продукт находится на жестком диске, тысячи рук распространены по всей планете можно было бы участие в ее разработке. Некоторые из этих руках может насадил nasty backdoor. Что еще хуже, тот же анализ применяется к задней конец финансовой систем, используемых в Вашем банке, и база данных программы жилищного ваших медицинских записей. Информационная безопасность продукта законов и правил ответственности существенно отличаются от страны к стране, со многими государствами, не очень надежные правила на всех.

Эта проблема не связана с морали разработчиков в различных странах. Напротив, озабоченность касается уровня контроля качества, которые могут применяться с ограниченными контракта и регулирования структуры поддержки. Кроме того, те же экономические последствия, которые являются движущей развития для стран с меньшими затратами развития персонала может усугубить проблему. Злоумышленник может подкупа разработчиков сделать $ 100 в неделю или в месяц поставив backdoor в код очень мало денег. "Вот 10 лет зарплату… измените две строки кода для меня" может быть все что потребуется. Мы не хотим быть здесь ксенофобии; Международные разработки программного обеспечения является реальностью, с существенные выгоды в сегодняшних информационных технологий бизнеса. Однако мы должны также признать, что это повышение безопасности риск троянских коней или преднамеренного недостатки программного обеспечения.

Возражений против отравления Источник

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

Во-первых, вы можете стимулировать Ваши коммерческие продавцов иметь надежные контроля целостности и проверки схемы их продукции. Если они этого не сделают, избили их и угрожать применением других продуктов. Я не имею в виду избивать их буквально. Я не хочу, чтобы спровоцировать насилие, по доброте sakes. К "избили их", я имею в виду дать им трудно. Challenge них. Yell на них. Скажите разработки программного обеспечения продавцы знают, как важно обеспечить код Вашего операций. Когда на рынке начинается требует более надежного кода, мы постепенно начала медленно, но в этом направлении. Кроме того, если вы используете много открытым исходным кодом, что поддержка сообщества ваше время и усилия в понимании недостатки программного обеспечения. Если у вас есть навыки, помочь в рассмотрении открытого исходного кода чтобы убедиться, что он в безопасности.

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

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

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

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

в этой статье идет речь добавил Грег McKlein

Share  

© 2005-2010 E-articles.info All Rights Reserved - Terms and conditions