FTP — протокол передачи файлов по сети, появившийся в 1971 году задолго до HTTP и даже до TCP/IP, благодаря чему является одним из старейших прикладных протоколов. Изначально FTP работал поверх протокола NCP, на сегодняшний день широко используется для распространения ПО и доступа к удалённым хостам. В отличие от TFTP, гарантирует передачу за счёт применения квотируемого протокола.
SSH — сетевой протокол прикладного уровня, позволяющий производить удалённое управление операционной системой и туннелирование TCP-соединений. Схож по функциональности с протоколами Telnet и rlogin, но, в отличие от них, шифрует весь трафик, включая и передаваемые пароли. SSH допускает выбор различных алгоритмов шифрования. SSH-клиенты и SSH-серверы доступны для большинства сетевых операционных систем.
В компьютерной безопасности термин «уязвимость» используется для обозначения недостатка в системе, используя который, можно намеренно нарушить её целостность и вызвать неправильную работу. Уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании системы, ненадежных паролей, вирусов и других вредоносных программ, скриптовых и SQL-инъекций. Некоторые уязвимости известны только теоретически, другие же активно используются и имеют известные эксплойты.
Переполнение буфера — явление, возникающее, когда компьютерная программа записывает данные за пределами выделенного в памяти буфера.
После́довательный порт — сленговое название интерфейса стандарта RS-232, которым массово оснащались персональные компьютеры. Последовательным данный порт называется потому, что информация через него передаётся по одному биту, бит за битом. Хотя некоторые другие интерфейсы компьютера — такие как Ethernet, FireWire и USB — также используют последовательный способ обмена, название «последовательный порт» закрепилось за портом стандарта RS-232.
Оболо́чка операцио́нной систе́мы — интерпретатор команд операционной системы, обеспечивающий интерфейс для взаимодействия пользователя с функциями системы.
Атака возврата в библиотеку — один из видов компьютерных атак, популярных на x86-совместимых машинах и схожие с ними, связанных с переполнением буфера, когда адрес возврата функции на стеке подменяется адресом иной функции в программе, и в последующую часть стека записываются параметры для вызываемой функции. Эта техника позволяет нападающему выполнить какую-либо существующую функцию без необходимости внедрять вредоносный код в программу.
Переменная среды́ — текстовая переменная операционной системы, хранящая какую-либо информацию — например, данные о настройках системы.
PowerShell — расширяемое средство автоматизации от Microsoft с открытым исходным кодом, состоящее из оболочки с интерфейсом командной строки и сопутствующего языка сценариев. Впервые публично язык был продемонстрирован на Профессиональной конференции разработчиков в сентябре 2003 года под кодовым названием Monad. Изначально средство выпущено как компонент Windows под названием Windows PowerShell. Открытый исходный код был выпущен с началом разработки PowerShell Core в августе 2016 года.
Сте́ковый кадр — механизм передачи аргументов и выделения временной памяти с использованием системного стека.
tcpdump — утилита UNIX, позволяющая перехватывать и анализировать сетевой трафик, проходящий через компьютер, на котором запущена данная программа.
Атрибут (бит) NX-Bit или XD-Bit — бит запрета исполнения, добавленный в страницы для реализации возможности предотвращения выполнения данных как кода. Используется для предотвращения уязвимости типа «переполнение буфера», позволяющей выполнять произвольный код на атакуемой системе локально или удалённо. Технология требует программной поддержки со стороны ядра операционной системы.
Ping of death — тип сетевой атаки, при которой компьютер-жертва получает особым образом подделанный эхо-запрос (ping), после которого он перестает отвечать на запросы вообще (DoS). Эта уязвимость была широко распространена в середине 1990-х годов на различных операционных системах и сетевых устройствах, включая Unix, Linux, Mac, Windows, сетевые принтеры и маршрутизаторы. Чтобы исполнить эту атаку, хватало одной команды из Windows 95 или NT:
ping -l 65510 example.com
ASLR — технология, применяемая в операционных системах, при использовании которой случайным образом изменяется расположение в адресном пространстве процесса важных структур данных, а именно образов исполняемого файла, подгружаемых библиотек, кучи и стека.
Возвра́тно-ориенти́рованное программи́рование — метод эксплуатации уязвимостей в программном обеспечении, который позволяет атакующему выполнить необходимый код при наличии защитных технологий, например запрета исполнения определённых страниц памяти. Атакующий получает контроль над стеком вызовов и выполняет тщательно подобранные последовательности инструкций, называемые «гаджетами». «Гаджет» обычно заканчивается инструкцией возврата и располагается в существующем коде программы или разделяемой библиотеки. Связанные в цепочку инструкциями возврата, эти гаджеты позволяют атакующему выполнить произвольные операции, в том числе на машинах, которые предотвращают более простые атаки.
Heap spraying в информационной безопасности — это атака, использующая ошибки в работе с памятью приложения. Атакуя при помощи heap spraying, хакер заставляет приложение выделить память под большое количество объектов, содержащих вредоносный код. При этом повышается вероятность успеха эксплойта, который переносит поток исполнения на некоторую позицию внутри кучи. Важно понимать, что без эксплойта, позволяющего изменять поток исполнения, heap spraying не нанесёт какого-либо вреда. Атака основана на предсказуемости положения кучи в адресном пространстве процесса. Помимо этого, выделение памяти в куче — это детерминированная операция, которая и позволяет с успехом применять эту технику. Heap spraying особенно эффективна в браузерах, где хакер может выделять память, используя несколько строк JavaScript на веб-странице. Важную роль играет сходство выделения памяти в различных операционных системах, что делает эту атаку кроссплатформенной. В результате можно внести определённую последовательность байт в заранее предсказанный адрес в памяти целевого процесса.
SQL Slammer — сетевой червь, вызвавший отказ в обслуживании некоторых хостов в Интернете и сильное снижение общего интернет-трафика, начиная с 05:30 UTC 25 января 2003. Он распространился быстро, заразив за 10 минут 75 тыс. компьютеров. Несмотря на свое название, червь не использовал язык SQL; он использовал переполнение буфера в продуктах Microsoft SQL Server и Desktop Engine, для которых исправление было выпущено шестью месяцами ранее.
BlueBorne — общее название восьми опасных уязвимостей электронных устройств, работающих с различными имплементациями Bluetooth в Android, iOS, Windows и Linux.
type — unix-утилита, возвращающая тип введённой команды. Команда может быть встроенной командой, программой, алиасом, ключевым словом или функцией. Если тип команды — программа, то выдаётся путь к ней. Команда type также может использоваться для проверки, есть ли команда с данным именем.
Исполнение произвольного кода — уязвимость в программной системе, когда злонамеренный пользователь (хакер) может заставить её исполнять любой машинный код, какой захочет. Если можно заставить машину исполнять произвольный код по сети, это иногда называется удалённое исполнение кода. Это самая опасная из программных уязвимостей — вредоносный код внедряется через внешне безобидные действия, и может делать что угодно в пределах привилегий программы: извлекать информацию из памяти программы, пересылать её по сети, читать, писать и модифицировать файлы…