Словарь ИТшника

Словарь постоянно развивается и растёт. В этом словаре собраны термины и сокращения по программированию, безопасности и другим темам.

OCP

Программирование

Open/Closed Principle или Принцип открытости/закрытости. Более подробно читаем про этот принцип в Open Closed Principle

Offensive security engineer

Безопасность

Offensive security engineer (или просто можно услышать оффенсив) это специалист в области информационной безопасности, который занимается наступательной стороной защиты. Если defensive security (blue team) строит оборону — мониторит системы, настраивает защиту, ловит атаки, то offensive security (red team, pentest) наоборот, имитирует злоумышленника:

- Проводит тесты на проникновение (penetration testing).

- Ищет уязвимости в приложениях, сетях, инфраструктуре.

- Моделирует атаки (red teaming) для проверки готовности компании.

- Эксплуатирует найденные дыры (в контролируемых условиях).

- Докладывает результаты и помогает закрыть уязвимости.

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

Open Closed Principle

Программирование

OCP или Принцип открытости/закрытости является частью сокращения SOLID, это вторая буква в этом сокращении.

Принцип открытости/закрытости означает, что программные сущности должны быть:

- открыты для расширения: означает, что поведение сущности может быть расширено путём создания новых типов сущностей.

- закрыты для изменения: в результате расширения поведения сущности, не должны вноситься изменения в код, который эту сущность использует.

Overloading (Methods)

Программирование

Это из области ООП - объектно ориентированного программирования и по английски это звучит, как overloading. Это возможность в одном классе создавать несколько методов с одинаковым именем, но разными параметрами (разным количеством или типами аргументов).

В следующем примере у класса сразу три метода Sum и это нормально, потому что у них параметры имеют разные типы данных или разное количество параметров:

class Overloading
{
    public int Sum(int a, int b)
    {
        return a + b;
    }

    public double Sum(double a, double b)
    {
        return a + b;
    }

    public int Sum(int a, int b, int c)
    {
        return a + b + c;
    }
}

У первых двух версий Sum два параметра, но они имеют разные типы. Третья версия Sum отличается не только типами данных, но и количеством - их три

Не все языки поддерживают перегрузку методов. В C# есть перегрузка методов.

Penetration test

Безопасность

Penetration test или тест на проникновение — это контролируемая проверка безопасности систем, при которой специалисты намеренно пытаются найти и эксплуатировать уязвимости так, как это сделал бы хакер. Подробнее тут: Пентест

Product Backlog

Программирование

Product Backlog — это упорядоченный список всех задач, требований, улучшений и исправлений, которые нужно реализовать в продукте. Это центральный элемент гибкой (agile) разработки, особенно в Scrum.

Простыми словами. Product Backlog — это "список всего, что нужно сделать" для того, чтобы продукт стал полноценным и удовлетворял потребности пользователей и бизнеса.

Читайте также про Бэклог

Purple Team

Безопасность

Purple Team (Фиолетовая команда) — это группа объединяющая усилия Red Team (наступление) и Blue Team (оборона), с целью улучшения общей безопасности организации через тесное сотрудничество между атакующими и защищающими сторонами.

Purple Team не обязательно отдельная команда, а мост между Red и Blue, который помогает:

- превратить атаки Red Team в обучающие сценарии для Blue Team,

- обеспечить обмен знаниями между командами,

- улучшить процессы поиска уязвимостей и реагирования.

Red Team

Безопасность

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

Ещё можно увидеть определение, что это наступательное тестирование защиты. Оно также отражает суть, потому что использование методов хакера подразумевает наступательное тестирование. 

Отличие Red Team операций от классического пентеста в первую очередь в регламенте действий и упреждении защищаемой стороны, но в целом используются схожие подходы к тестированию на безопасность. 

Основные цели команды:

1. Проникновение в сеть/систему

использование уязвимостей (например, фишинг, эксплойты, социальная инженерия).

2. Достижение целей — получение доступа к данным, саботаж или демонстрация других возможных последствий успешной атаки.

Release Backlog

Программирование

Release Backlog — это список задач и требований, которые планируется реализовать к определённому релизу (выходу новой версии продукта).

Простыми словами: Release Backlog — это то, что должно быть готово к конкретной дате выпуска продукта или его новой версии. Это как "чек-лист фич", которые команда хочет включить в ближайший релиз.

Читайте также про Бэклог

Single Responsibility Principle

Программирование

Один из принципов SOLID и это первая буква S в этом сокращении, а переводится как Принцип единой ответственности. Один из спорных принципов, потому что его объяснение менялось. Изначально Боб Мартин (дядюшка Боб) дал такое поредение: 

A class should have one, and only one, reason to change (Класс должен иметь лишь одну причину для изменений)

И вот тут каждый начал воспринимать такое расплывчатое заявление по-разному. 

Чуть позже дядя Боб дал уже немного другое объяснение: 

A module should be responsible to one, and only one, actor (Модуль должен отвечать перед одним и только одним актором)

Есть и другие попытки объяснить принцип, потому что он стал очень популярен благодаря сокращению SOLID и вообще доверию к дядюшке Бобу, но каждое объяснение или попытку определить этот принцип не делало картину чище. 

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповедания, на русском или английском языке.

Пишите мне