130 lines
8.3 KiB
Python
130 lines
8.3 KiB
Python
from enum import Enum
|
||
|
||
from django.db.models import TextChoices
|
||
from django.utils.translation import gettext_lazy
|
||
|
||
|
||
class TlpEnum(TextChoices):
|
||
"""Traffic Light Protocol."""
|
||
|
||
WHITE = 'TLP:WHITE', gettext_lazy('Non-confidential')
|
||
GREEN = 'TLP:GREEN', gettext_lazy('Limiting the transmissions of communicable')
|
||
AMBER = 'TLP:AMBER', gettext_lazy('Limited distribution within the organization')
|
||
RED = 'TLP:RED', gettext_lazy('Not for distribution')
|
||
|
||
|
||
class NotificationCategoryEnum(TextChoices):
|
||
"""Category for notifications."""
|
||
|
||
INCIDENT = 'Уведомление о компьютерном инциденте', gettext_lazy('Notification of a computer incident')
|
||
ATTACK = 'Уведомление о компьютерной атаке', gettext_lazy('Notification of a computer attack')
|
||
VULNERABILITY = 'Уведомление о наличии уязвимости', gettext_lazy('Notification of vulnerability')
|
||
|
||
|
||
class EventTypeEnum(TextChoices):
|
||
"""Information Security event types"""
|
||
|
||
# Incident
|
||
INVOLVING_INTO_MALWARE_INFRASTRUCTURE = (
|
||
'Вовлечение контролируемого ресурса в инфраструктуру ВПО',
|
||
gettext_lazy('Involving the controlled resource into the malware infrastructure')
|
||
)
|
||
SLOWDOWN_DUE_TO_DDOS = ('Замедление работы ресурса в результате DDoS-атаки',
|
||
gettext_lazy('Slowdown of the resource due to DDoS attack'))
|
||
INFECT_MALWARE = 'Заражение ВПО', gettext_lazy('Infect malware')
|
||
CAPTURE_NETWORK_TRAFFIC = 'Захват сетевого трафика', gettext_lazy('Capture network traffic')
|
||
USING_FOR_PHISHING = ('Использование контролируемого ресурса для фишинга',
|
||
gettext_lazy('Using a controlled resource for phishing'))
|
||
COMPROMISE_ACCOUNT = 'Компрометация учетной записи', gettext_lazy('Account compromise')
|
||
UNAUTHORIZED_CHANGE_INFORMATION = ('Несанкционированное изменение информации',
|
||
gettext_lazy('Unauthorized change of information '))
|
||
UNAUTHORIZED_DISCLOSURE_INFORMATION = ('Несанкционированное разглашение информации',
|
||
gettext_lazy('Unauthorized disclosure of information'))
|
||
PUBLICATION_PROHIBITED_INFORMATION_RU = (
|
||
'Публикация на ресурсе запрещенной законодательством РФ информации',
|
||
gettext_lazy('Publication on the resource of the information prohibited by the legislation of the Russian '
|
||
'Federation')
|
||
)
|
||
SENDING_SPAM_FROM_RESOURCE = ('Рассылка спам-сообщений с контролируемого ресурса',
|
||
gettext_lazy('Sending spam messages from a controlled resource'))
|
||
SUCCESSFUL_EXPLOITED_MALWARE = 'Успешная эксплуатация уязвимости', gettext_lazy('Successful exploited malware')
|
||
# Attack
|
||
DDOS = 'DDoS-атака', gettext_lazy('DDoS-attack')
|
||
AUTHORIZATION_ERROR = 'Неудачные попытки авторизации', gettext_lazy('Unsuccessful attempts by authorization')
|
||
ATTEMPT_INJECT_MALWARE = 'Попытки внедрения ВПО', gettext_lazy('Attempt inject malware')
|
||
ATTEMPT_EXPLOITED_MALWARE = 'Попытки эксплуатации уязвимости', gettext_lazy('Attempt exploited malware')
|
||
FRAUDULENT_INFORMATION = ('Публикация мошеннической информации',
|
||
gettext_lazy('Publication of fraudulent information'))
|
||
NETWORK_SCANNING = 'Сетевое сканирование', gettext_lazy('Network scanning')
|
||
SOCIAL_ENGINEERING = 'Социальная инженерия', gettext_lazy('Social engineering')
|
||
# Vulnerability
|
||
VULNERABLE_RESOURCE = 'Уязвимый ресурс', gettext_lazy('Vulnerable resource')
|
||
|
||
|
||
class ActivityStatusEnum(TextChoices):
|
||
"""Incident response status."""
|
||
|
||
TAKEN_ACTION = 'Меры приняты', gettext_lazy('Take action')
|
||
RESPONSE_ACTIVITIES = 'Проводятся мероприятия по реагированию', gettext_lazy('Performance activities are held')
|
||
REOPEN_RESPONSE_ACTIVITIES = ('Возобновлены мероприятия по реагированию',
|
||
gettext_lazy('Response renewing measures'))
|
||
|
||
|
||
class AffectedSystemCategoryEnum(TextChoices):
|
||
"""Information about categories CII (Critical Information Infrastructure)."""
|
||
RESOURCE_NOT_CII = ('Информационный ресурс не является объектом КИИ',
|
||
gettext_lazy('Information resource is not an object of CII'))
|
||
CII_WITHOUT_RELEVANCE_CATEGORY = ('Объект КИИ без категории значимости',
|
||
gettext_lazy('Object CII without a category of significance'))
|
||
CII_WITH_RELEVANCE_CATEGORY_3 = 'Объект КИИ третьей категории значимости', gettext_lazy('Object CII third category')
|
||
CII_WITH_RELEVANCE_CATEGORY_2 = ('Объект КИИ второй категории значимости',
|
||
gettext_lazy('Object CII secondary category'))
|
||
CII_WITH_RELEVANCE_CATEGORY_1 = 'Объект КИИ первой категории значимости', gettext_lazy('Object CII first category')
|
||
|
||
|
||
class AffectedSystemFunction(TextChoices):
|
||
"""Scope of functioning subject."""
|
||
NUCLEAR_POWER = 'Атомная энергетика', gettext_lazy('Nuclear power')
|
||
BANKING_AND_OTHER_FINANCIAL_SPHERE = ('Банковская сфера и иные сферы финансового рынка',
|
||
gettext_lazy('Banking sphere and other financial markets '))
|
||
MINING_INDUSTRY = 'Горнодобывающая промышленность', gettext_lazy('Mining industry')
|
||
STATE_OR_MUNICIPAL_AUTHORITY = 'Государственная/муниципальная власть', gettext_lazy('State/municipality authority')
|
||
HEALTH = 'Здравоохранение', gettext_lazy('Health')
|
||
STEEL_INDUSTRY = 'Металлургическая промышленность', gettext_lazy('Steel industry')
|
||
SCIENCE = 'Наука', gettext_lazy('Science')
|
||
DEFENCE_INDUSTRY = 'Оборонная промышленность', gettext_lazy('Defense industry')
|
||
EDUCATION = 'Образование', gettext_lazy('Education')
|
||
SPACE_INDUSTRY = 'Ракетно-космическая промышленность', gettext_lazy('Rocket and space industry')
|
||
COMMUNICATION = 'Связь', gettext_lazy('Communication')
|
||
MEDIA = 'СМИ', gettext_lazy('Media')
|
||
FUEL_AND_ENERGY_COMPLEX = 'Топливно-энергетический комплекс', gettext_lazy('Fuel and Energy Complex')
|
||
TRANSPORT = 'Транспорт', gettext_lazy('Transport')
|
||
CHEMICAL_INDUSTRY = 'Химическая промышленность', gettext_lazy('Chemical industry')
|
||
OTHER = 'Иная', gettext_lazy('Other')
|
||
|
||
|
||
class ImpactEffect(TextChoices):
|
||
"""Impact of integrity, availability, confidentiality."""
|
||
HIGH = 'Высокое', gettext_lazy('High')
|
||
LOW = 'Низкое', gettext_lazy('Low')
|
||
NO = 'Отсутствует', gettext_lazy('Is missing')
|
||
|
||
|
||
class ActivityType(Enum):
|
||
"""Type of activity."""
|
||
|
||
MALWARE_CONTROL_CENTER = 'Центр управления ВПО'
|
||
MALWARE_INFRASTRUCTURE = 'Элемент инфраструктуры ВПО'
|
||
MALWARE_SPREAD_SOURCE = 'Источник распространения ВПО'
|
||
NOT_DEFINED = 'Тип не определен'
|
||
|
||
|
||
class NotificationStatusEnum(TextChoices):
|
||
"""Notification status."""
|
||
|
||
CHECK_NCIRCC = 'Проверка НКЦКИ', gettext_lazy('Check NCIRCC')
|
||
CREATED = 'Создано', gettext_lazy('Created')
|
||
REGISTERED = 'Зарегистрировано', gettext_lazy('Registered')
|
||
ADDITION_REQUIRED = 'Требуется дополнение', gettext_lazy('Addition required')
|
||
DECISION = 'Принято решение', gettext_lazy('Decision')
|
||
ARCHIVED = 'Отправлено в архив', gettext_lazy('Archived')
|