Распределенный отказ в обслуживании. Атака выполняется сразу несколькими компьютерами, подавляя сервер огромным количеством запросов. Один компьютер, скорее всего, не сможет вызвать такой хаос
DOM (Document Object Model)
Объектная модель документа — API, поставляемый с каждым веб-браузером. Включает все необходимые функции для организации и управления HTML на странице, а также API для управления историей, файлами cookie, URL-адресами и другой общей функциональностью браузера
DoS (Denial of service)
Отказ в обслуживании — атака, направленная не на кражу данных, а на запрос такого количества ресурсов сервера или клиента, что ухудшается взаимодействие с пользователем или приложение перестает функционировать
HTML (HyperText Markup Language)
Язык гипертекстовой разметки — язык шаблонов, используемый в интернете наряду с CSS и JavaScript
HTTP (HyperText Transfer Protocol)
Протокол передачи гипертекста — самый распространенный сетевой протокол для связи между клиентами и серверами в веб-приложении или на веб-сайте
Распределенный отказ в обслуживании. Атака выполняется сразу несколькими компьютерами, подавляя сервер огромным количеством запросов. Один компьютер, скорее всего, не сможет вызвать такой хаос
DOM (Document Object Model)
Объектная модель документа — API, поставляемый с каждым веб-браузером. Включает все необходимые функции для организации и управления HTML на странице, а также API для управления историей, файлами cookie, URL-адресами и другой общей функциональностью браузера
DoS (Denial of service)
Отказ в обслуживании — атака, направленная не на кражу данных, а на запрос такого количества ресурсов сервера или клиента, что ухудшается взаимодействие с пользователем или приложение перестает функционировать
HTML (HyperText Markup Language)
Язык гипертекстовой разметки — язык шаблонов, используемый в интернете наряду с CSS и JavaScript
HTTP (HyperText Transfer Protocol)
Протокол передачи гипертекста — самый распространенный сетевой протокол для связи между клиентами и серверами в веб-приложении или на веб-сайте
пользовательские данные в базах и часто позволяет обмениваться контентом
Гибридное приложение (Hybrid application)
Мобильное приложение, созданное на базе веб-технологий. Обычно использует другую библиотеку, например Apache Cordova, чтобы совместно пользоваться встроенной функциональностью с веб-приложением поверх нее
Таблица П.3. Аббревиатуры
Аббревиатура
Описание
API (Application programming interface)
Интерфейс прикладного программирования — набор функций, предоставляемых одним модулем кода для использования другим. В книге обычно применяется для обозначения предоставляемых через HTTP функций, которые браузер может вызывать на сервере. Также может использоваться для обозначения локально взаимодействующих модулей, включая отдельные модули в одном пакете ПО
CSRF (Cross-Site Request Forgery)
Межсайтовая подделка запроса — атака, при которой хакер пользуется согласием авторизованного пользователя при выполнении запросов к серверу
CSS (Cascading Style Sheets)
Каскадные таблицы стилей — язык, обычно используемый в комбинации с HTML для создания визуально привлекательного и правильно оформленного пользовательского интерфейса
Список уязвимостей приложения, созданный хакером, чтобы определить, с какой стороны лучше всего атаковать программную систему
Эксплойт (Exploit)
Обычно это блок кода или список команд, позволяющие воспользоваться уязвимостью
Полезная нагрузка (Payload)
Эксплойт, отформатированный для отправки на сервер. Зачастую это означает просто упаковку вредоносного кода в соответствующий формат для отправки по сети
Red Team
Команда из пентестеров, инженеров по сетевой безопасности и инженеров по безопасности ПО, которая пытается взломать софт, чтобы оценить способность противостоять настоящим хакерам
Blue Team
Команда из инженеров по безопасности ПО и инженеров по сетевой безопасности, которая пытается улучшить защиту софта компании, зачастую пользуясь отчетами красной команды для определения приоритетов
Purple Team
Команда, которая выполняет обязанности как красной, так и синей команды. Фактически это команда общего назначения, так как специализированную команду труднее правильно укомплектовать из-за обширных требований к навыкам
Веб-сайт (Website)
Набор документов, доступный через интернет, обычно по протоколу HTTP
Веб-приложение (Web application)
Приложение, похожее на настольное, которое предоставляется через интернет и запускается в браузере, а не в самой операционной системе. В отличие от традиционных сайтов имеет много уровней доступа, хранит пользовательские
Инженер-программист, чья роль заключается в разработке продуктов, связанных с безопасностью, но который не обязательно отвечает за оценку безопасности для всей организации
Администратор (Admin)
Иногда их называют сисадминами. Это технический персонал, которому поручено поддерживать конфигурацию и безотказную работу веб-сервера или веб-приложения
Скрам-мастер (Scrum master)
Руководящая должность в инженерной организации, помогающая группе инженеров в планировании и выполнении разработки
Security champion
Инженер-программист, не связанный с организацией, занимающейся безопасностью, и не отвечающий за безопасность, но заинтересованный в повышении безопасности кода компании
Таблица П.2. Термины
Термин
Описание
Уязвимость (Vulnerability)
Ошибка в программной системе, часто возникающая в результате недосмотра или как неожиданное последствие соединения нескольких модулей. Ошибки этого типа позволяют хакеру выполнять в системе непредусмотренные действия
Вектор угрозы или вектор атаки (Threat vector or attack vector)
Часть функциональности приложения, которая с точки зрения хакера написана небезопасно и, следовательно, может быть хорошей целью для взлома
Поверхность атаки (Attack surface)
Список уязвимостей приложения, созданный хакером, чтобы определить, с какой стороны
Иногда такие хакеры нарушают закон, например пытаются взломать приложения без разрешения, но часто это делается ради интереса или признания, а не ради выгоды или создания хаоса
Пентестер (Penetration tester)
Человек, которому платят за взлом системы теми способами, какие применил бы хакер. В отличие от хакеров, пентестерам платят за сообщения об ошибках и недосмотрах в прикладном ПО, чтобы компания-владелец могла исправить уязвимость до того, как она будет обнаружена хакером и использована со злым умыслом
Охотник за багами (Bug bounty hunter)
Внештатный пентестер. Часто крупные компании создают «программы ответственного раскрытия информации», в рамках которых за сообщение о дырах в системе безопасности можно получить денежное вознаграждение. Некоторые охотники за багами работают фулл-тайм, но часто таким вещами занимаются профессионалы во внерабочее время в виде подработки
Инженер по безопасности приложений (Application security engineer)
Иногда их называют инженерами по безопасности продукта. Это разработчик ПО, чья роль заключается в оценке и повышении безопасности кодовой базы и архитектуры приложений
Инженер по безопасности ПО (Software security engineer)
Инженер-программист, чья роль заключается в разработке продуктов, связанных с безопасностью, но который не обязательно отвечает за оценку безопасности для всей организации
Иногда такие хакеры нарушают закон, например пытаются взломать приложения без разрешения, но часто это делается ради интереса или признания, а не ради выгоды или создания хаоса
Пентестер (Penetration tester)
Человек, которому платят за взлом системы теми способами, какие применил бы хакер. В отличие от хакеров, пентестерам платят за сообщения об ошибках и недосмотрах в прикладном ПО, чтобы компания-владелец могла исправить уязвимость до того, как она будет обнаружена хакером и использована со злым умыслом
Охотник за багами (Bug bounty hunter)
Внештатный пентестер. Часто крупные компании создают «программы ответственного раскрытия информации», в рамках которых за сообщение о дырах в системе безопасности можно получить денежное вознаграждение. Некоторые охотники за багами работают фулл-тайм, но часто таким вещами занимаются профессионалы во внерабочее время в виде подработки
Инженер по безопасности приложений (Application security engineer)
Иногда их называют инженерами по безопасности продукта. Это разработчик ПО, чья роль заключается в оценке и повышении безопасности кодовой базы и архитектуры приложений
Инженер по безопасности ПО (Software security engineer)
Инженер-программист, чья роль заключается в разработке продуктов, связанных с безопасностью, но который не обязательно отвечает за оценку безопасности для всей организации
Кто-то, кто взламывает системы, обычно с целью захватить данные или заставить систему работать так, как ее разработчики изначально не планировали
White Hat
Еще их иногда называют «этичными хакерами», так как они используют хакерские методы для помощи организациям в повышении безопасности
Black Hat
Киберпреступник. Человек, использующий хакерские методы для взлома систем с целью получения прибыли, создания хаоса или удовлетворения своих собственных целей и интересов
Grey Hat
Нечто среднее между этичными хакерами и киберпреступниками. Иногда такие хакеры нарушают закон, например пытаются взломать приложения без разрешения, но часто это делается