#1 Используем SEP для борьбы с локальными администраторами - Вопросы по Symantec Endpoint Protection - Форумы Anti-Malware.ru Перейти к содержанию
Shell

#1 Используем SEP для борьбы с локальными администраторами

Recommended Posts

Shell

У меня часто спрашивают - а что НЕ умеет твой SEP? Часто этот вопрос вводит в ступор, потому как по сути SEP дает мне довольно таки огромный потенциал разрешения моих задач и целей.

Итак, ближе к сути: Нужно вылавливать не лигитимных пользователей, которым не разрешено быть в группе локальных администраторов.

Для этого мной решено использовать:

1) vbscript который будет запускаться в политике Host Integrity по расписанию и записывать данные в БД на SQL в центральном офисе.

2) собственно, саму отдельную БД на SQL 2008

3) обрабатывающие процедуры.

В скрипте сразу закладывается логика - какие пользователи разрешены (экономлю трафик), на каких компьютерах (по MAC, ибо много у которых меняется IP) не запускать скрипт.

Итак, делаем новую политику в Host Integrity, выбираем Custom Requirements. Все далее как на скриншоте ниже (в окне имени файла вводим любое имя.vbs, ставим удаление скрипта после его исполнения (скрипт будет во временной директории ОС), в строке выполнения команды пишем cscript %F%)

2f258c21605f.jpg

Теперь редактируем под себя и вставляем сам скрипт:

'НЕ ЗАПУСКАТЬ НА СЕРВЕРАХ И КОНТРОЛЛЕРАХ ДОМЕНА!'или убрать сначала блокировку учеток в группе админов...'On  Error Resume  Nexterrors = 0 'выставляем счетчик для результата в host integritySet objRun = CreateObject("wscript.Shell")strUserName = objRun.ExpandEnvironmentStrings("%USERNAME%")Dim strComputer, member, strUsername, IsMemberDim grp, obj, objRunstrComputer = "."'объявляем массив разрешенных имен пользователейdim AllowUsersAllowUsers = "Administrator,Администратор,shell,Boss"AllowUsers = Split(AllowUsers,",")'объявляем массив разрешенных локальных пользователейdim LocalAccountsLocalAccounts = "Administrator,Администратор"LocalAccounts = Split(LocalAccounts,",")'объявляем массив mac-адресов не подлежащих проверке.dim MacAddressesMacAddresses = "00:21:9b:e5:76:f8,00:26:2d:81:70:70,00:0e:a6:f5:41:fb"'00:23:54:BD:F3:08 MyMacAddresses = Split(MacAddresses,",")'задаем параиетры соединения с БДSet objConn = CreateObject("ADODB.Connection")Set objRecordset = CreateObject("ADODB.Recordset")Set objRecordsetLast = CreateObject("ADODB.Recordset")Set objRecordsetChange = CreateObject("ADODB.Recordset")ServerName = "10.0.0.2" 'имя или IP-адрес сервераDSN = "LocalAdmins" 'имя базы данныхUID = "vbs" 'логин пользователя SQL-сервераPWD = "Sfgs%4F#D" 'пароль пользователя SQL-сервераConnectString = "Provider=SQLOLEDB;" & _                "Data Source=" & ServerName & _                ";Initial Catalog=" & DSN & _                ";UID=" & UID & ";PWD=" & PWDobjConn.ConnectionString = ConnectStringobjConn.ConnectionTimeOut = 15objConn.CommandTimeout = 30'получаем имя компаSet WshNetwork = WScript.CreateObject("WScript.Network")'WScript.Echo " " &WshNetwork.ComputerName CompName = LCase(WshNetwork.ComputerName)'получаем полное имя доменаSet objSystemInfo = CreateObject("ADSystemInfo") 'wscript.echo objSystemInfo.DomainDNSNameDomainName = LCase(objSystemInfo.DomainDNSName)'получаем IP и MACSet objWMIService = GetObject( _     "winmgmts:\\" & strComputer & "\root\cimv2")Set IPConfigSet = objWMIService.ExecQuery _("Select * From Win32_NetworkAdapterConfiguration Where IPEnabled = True")For Each IPConfig in IPConfigSet    If Not IsNull(IPConfig.IPAddress) Then         For i=LBound(IPConfig.IPAddress) _            to UBound(IPConfig.IPAddress)                If Not (IPConfig.IPAddress(i)="0.0.0.0") Then            IPAddress = IPAddr + IPConfig.IPAddress(i)            MACAddress = IPConfig.MACAddress            'Wscript.Echo "IP Address: " & IPAddress & " MACAddress: " & IPConfig.MACAddress                End if        Nextend ifnext'проверяем mac-адреса на исключенияFor Each address in MacAddresses    If LCase(address) = LCase(MACAddress) then    'Wscript.echo "Этот компьютер находится в исключениях проверки по критерию MAC"    Wscript.quit(0) 'и завершаем скрипт если MAC перечислен    Exit for    End ifNext'проверяем не заблокирован ли пользовательFunction dis(Username)    Set Accounts = GetObject("WinNT://" & strComputer & "")    Accounts.Filter = Array("user")        For each user in Accounts            If LCase(user.Name) = LCase(Username) then                If user.AccountDisabled = False then                dis = 0                'wscript.echo "Пользователь " & Username & " Не заблокирован"                Else                dis = 1                'wscript.echo "Пользователь " & Username & " Уже блокирован"                exit for                end if            end if        nextEnd function'ищем группу администраторов и проверяем её членовSet colGroups = GetObject("WinNT://" & strComputer & "") 'UPcolGroups.Filter = Array("group")Dim Result ()ReDim Result(1)For Each objGroup In colGroups    If  objGroup.Name = "Administrators" or objGroup.Name ="Администраторы" Then          i=0        For Each objUser in objGroup.Members                'проверяем языковое соответствие учетных записей администраторов                   if LCase(objUser.Name) = "administrators" and LCase(objGroup.Name) = "администраторы" or LCase(objUser.Name) = "администратор" and LCase(objGroup.Name) = "administrators" then                    Set ExistLocalAccounts = GetObject("WinNT://" & strComputer & "")                    ExistLocalAccounts.Filter = Array("user")                        For Each user In ExistLocalAccounts                            For Each allowuser In LocalAccounts                            c = 0                                If LCase(user.Name) = LCase(allowuser) then exit for                                    If user.AccountDisabled = False then                                    notallowaccs = user.Name                            c = 1                                    end if                        next                            if c = 1 then                            'wscript.Echo "Итог: НЕТ В БАЗЕ ЛОКАЛЬНОГО ПОЛЬЗОВАТЕЛЯ " & notallowaccs & " <--- Незаблокирован"                            'user.AccountDisabled = True                            'user.SetInfo                            errors = 1                            end if                                    Next                    Disabled = dis(objUser.Name)                    'wscript.echo "Обнаружено языковое несоответствие учетной записи администраторов"                    objConn.Open                    Set objRecordset = objConn.Execute("insert into CommonAdmins (CompName,DomainName,IPAddress,MacAddress,UserName,Disabled,GroupName,date) values ('" & CompName &"','"& DomainName &"','"& IPAddress &"','"& MACAddress &"','" & objUser.Name & "','"& Disabled &"','"& objGroup.Name &"', getdate())")                    objConn.Close                 end if         GroupName = objGroup.Name         IsMember = objUser.Name         Result(i)=IsMember         i=i+1         ReDim Preserve Result(i)         Next     End IfNextReDim Preserve Result(i-1)'сравниваем полученный массив пользователей-админов с разрешенными локальными админами.for each adminuser in Result    for each admins in AllowUsers     x = 0     if LCase(adminuser) = LCase(admins) then exit for    x = 1    next        if x = 1 then        isMember = adminuser        'WScript.Echo "Итог: НЕТ В БАЗЕ " & IsMember        errors = 1        Disabled = dis(IsMember)        objConn.Open        Set objRecordset = objConn.Execute("insert into CommonAdmins (CompName,DomainName,IPAddress,MACAddress,UserName,Disabled,GroupName,date) values ('" & CompName &"','"& DomainName &"','"& IPAddress &"','"& MACAddress &"','" & IsMember & "','"& Disabled &"','"& GroupName &"', getdate())")        objConn.Close         end ifnextIf errors = 1 Then   'WScript.echo "Выходим с кодом 1 для Host Integrity"        WScript.Quit(1) ' --- Quit with errorsElse    WScript.Quit(0) ' --- Quit with not errorsEnd If

Теперь готовим саму БД.

Делаем отдельную БД (или изменяем в параметрах скрипта ниже и выше на свои) с именем LocalAdmins. В ней создадим маленькую табличку

USE [LocalAdmins]GOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOSET ANSI_PADDING ONGOCREATE TABLE [dbo].[CommonAdmins](    [iPAddress] [varchar](15) NULL,    [MACAddress] [varchar](17) NULL,    [userName] [varchar](128) NULL,    [Disabled] [nchar](10) NULL,    [GroupName] [varchar](50) NULL,    [Date] [datetime] NULL,    [incRegister] [int] NOT NULL,    [DomainName] [varchar](128) NULL,    [CompName] [varchar](128) NULL) ON [PRIMARY]GOSET ANSI_PADDING OFFGOALTER TABLE [dbo].[CommonAdmins] ADD  CONSTRAINT [DF_CommonAdmins_UserName]  DEFAULT (NULL) FOR [userName]GOALTER TABLE [dbo].[CommonAdmins] ADD  CONSTRAINT [DF_CommonAdmins_Disabled]  DEFAULT (NULL) FOR [Disabled]GOALTER TABLE [dbo].[CommonAdmins] ADD  CONSTRAINT [DF_CommonAdmins_IncRegister]  DEFAULT ((0)) FOR [incRegister]GO

Теперь создадим 2 процедуры. Как и в предыдущей теме, я использую две процедуры. Первая будет работать по таблице, вторая - отсылать письма по подготовленным критериям и уже отфильтрованной таблице первой процедурой.

Первая процедура :

Use LocalAdmins;GOAlter PROCEDURE Clean_LocalAdminsASBEGINDECLARE @comp varchar(128), @domain varchar(128), @ip varchar(15), @users varchar(128),@group varchar(50), @date datetime, @inc int;DECLARE LACursor0 CURSOR LOCAL FOR SELECT DISTINCT CompName,DomainName,convert(varchar(15),IPAddress),UserName,GroupName,Date,IncRegister  FROM CommonAdminsorder by dateDECLARE @count int--Заменяем IP в случае выдачи скриптом из диапазона Reserved\BcastUpdate CommonAdminsSet IPAddress = 'APIPA'Where IPAddress like '%169.254.%'--меняем домен для корректной регистрации объекта инцидентаUpdate CommonAdminsSet DomainName = 'sk.domain.gk'where IPAddress like '%10.1.2.%' or IPAddress like '%10.1.1.%' or IPAddress like '%10.1.3.%'Update CommonAdminsSet DomainName = 'office.domain.gk'where IPAddress like '%10.0.17.%' or IPAddress like '%10.0.18.%'--иногда, увы скрипт не отрабатывает из за выключения питания или потери канала. Удаляем неполные данныеDELETE from CommonAdminswhere (IPAddress is NULL and MACAddress is NULL) or UserName is NULL and (GroupName is NULL)    OPEN LACursor0    FETCH NEXT FROM LACursor0 INTO @comp,@domain,@ip,@users,@group,@date,@incWHILE @@FETCH_STATUS = 0    BEGIN--считаем количество новых записей - если есть новые, делаем их актуальными, увеличиваем инкремент (IncRegister) чтобы потом контролировать--отсылку письма    Select @count = COUNT(*) from CommonAdminsWhere CompName = @comp and DomainName = @domain and convert(varchar(15),IPAddress) = @ip and UserName = @users and GroupName = @group        if @count > 1 --or @count =  0        BEGIN        Update CommonAdmins        SET IncRegister = + @count        WHERE CompName = @comp and DomainName = @domain and convert(varchar(15),IPAddress) = @ip and UserName = @users and GroupName = @group        Delete from CommonAdmins where CompName = @comp and DomainName = @domain and UserName = @users and GroupName = @group and Date < @date        END            FETCH NEXT FROM LACursor0 INTO @comp,@domain,@ip,@users,@group,@date,@inc    END;        CLOSE LACursor0;    DEALLOCATE LACursor0;--удаляем неактуальные данные, старее 120 часов :)Delete from CommonAdmins where Date < DATEADD (HOUR, -120, getdate())ENDGO

Вторая процедура, которая будет отсылать письмо

-- ================================================Use LocalAdmins;GOAlter PROCEDURE IncMailASBEGINDECLARE @comp varchar(128), @domain varchar(128), @ip varchar(15), @users varchar(128),@group varchar(50), @date datetime, @inc intDECLARE LACursor1 CURSOR LOCAL FOR SELECT CompName,DomainName,IPAddress,UserName,GroupName,Date,IncRegister FROM CommonAdmins ORDER by UserNameDECLARE @xml NVARCHAR(MAX)DECLARE @body NVARCHAR(MAX)DECLARE @dopsubj varchar(10)--создаем отчеты    OPEN LACursor1    FETCH NEXT FROM LACursor1 INTO @comp,@domain,@ip,@users,@group,@date,@incWHILE @@FETCH_STATUS = 0    BEGIN        --PRINT @comp + @domain + @ip + @users + @group + CONVERT(VARCHAR, @date, 104)    --SELECT @comp + ', '+ @domain + ', '+ @ip + ', ' + @users + ', ' + @group + ', ' + CONVERT(VARCHAR, @date, 102)+ ', '+ CONVERT(VARCHAR, @date, 8) + ', ' + @inc                IF (@inc = 0 or @inc > 120)    and @users not like 'S-1-5-21%'        BEGIN     -- готовим письмо и отсылаем            if @inc >= 120            BEGIN            SET @dopsubj = ' ПОВТОРНО '            END            ELSE            SET @dopsubj = ' '                        --Оформляем и пишем письмо        SET @body ='Инцидент ' + @dopsubj + ' по классу информационная безопасность по объекту ' + @domain + ' "Пользователь - локальный администратор".        Пользователь ' + @users + ' на АРМ ' + @comp + ' с IP адресом ' + @ip +'  - локальный администратор ' + ' (Обнаружено событие ' + convert(varchar(24),@date) + ' по Мск).        Необходимо:1) В аттаче к инциденту прикрепить письменную объяснительную ИТ специалиста по факту инцидента.2) Обеспечить функционирование ПО без повышенных привилегий.3) Удалить пользователя из локальных администраторов.                            Письмо создано автоматически.                В группе локальных администраторов должны быть только следующие учетные записи:1)    2)3)'DECLARE @subj varchar(128)= 'Локальный администратор ' + ' Пользователь - локальный администратор. '+ ' Object: ' + @domain + ' '        EXEC msdb.dbo.sp_send_dbmail        @recipients=N'helpdesk@company.ru',        @copy_recipients =N'ваш_емайл@company.ru',        @body = @body,        @body_format = 'TEXT',        @subject =@subj,        @profile_name = 'Database Mail'        END--обновляем данные о том что инцидент выслан по данному пользователю        Update CommonAdmins        Set IncRegister = @inc + 1        Where CompName = @comp and UserName = @users and GroupName = @group        FETCH NEXT FROM LACursor1 INTO @comp,@domain,@ip,@users,@group,@date,@inc    END;        CLOSE LACursor1;    DEALLOCATE LACursor1;ENDGO

Ставим шедуллер в SQL Agent на вызов этих процедур

Use LocalAdmins;GOexec Clean_LocalAdminsexec IncMail

Выше описанный метод оттестирован (в настоящее время маленькие доработки) и работоспособен.

Минусы? Конечно есть что я просто физически не успеваю реализовать. Например, то что скрипт получает имя пользователей в несовсем удобном формате (нет приставки Domain\User или Computer\User - есть возможность обдурить скрипт :) , не отмечаются группа или пользователь ну и так, по мелочи)

В скриптах есть заремаренные дополнительные функции которые вы можете открыть если нужно (например, автоматическая блокировка учетной записи - аккуратнее с этим на серверах, т.к. блокируются и IIS_\IWAM_ - внесите сначала все то что нужно).

На вопросы отвечу позже, через пару неделек ;)

P.S. не забудьте создать пользователя vbs с паролем указанным в скрипте. Только дайте ему права минимальные на БД.

  • Upvote 15

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
deviss

Я в восхищении. Теоретически, конечно, это можно решить другими средствами, но интеграция в SEP - это замечательно.

Сами выработали практику? Читая документацию как-то не доводилось сталкиваться с подобными решениями.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Shell
Я в восхищении. Теоретически, конечно, это можно решить другими средствами, но интеграция в SEP - это замечательно.

Сами выработали практику? Читая документацию как-то не доводилось сталкиваться с подобными решениями.

Да, приходится вырабатывать коленочные решения :) На групповые политики не приходится рассчитывать так как поддоменов море и нужно учитывать человеческий фактор :)

В планах потом скрипт перегнать на c++\c# и доработать немного. В данное время не успеваю - нужно было что то временное но работающее сделать.

Еще один вопрос не решенным остался - не получилось вернуть из скрипта код ошибки для host integrity. К примеру, если локальные админы найдены - вернуть host complince error...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

  • Сообщения

    • Ego Dekker
      Домашние антивирусы для Windows были обновлены до версии 19.2.10.
    • PR55.RP55
      1) Ситуация когда нет доступа к virustotal.com ( и другим ресурсам ) Что предлагаю: а) На примере Firefox 155 - Happy Eyeballs v3: подключение сразу несколькими путями *Браузер больше не выбирает маршрут до сайта заранее, а пробует несколько вариантов подключения параллельно и работает через тот, который отозвался первым. Выигрыш заметнее всего в сетях, где IPv4 или IPv6 работает медленно либо нестабильно: раньше браузер мог упереться в неотвечающий адрес и ждать таймаута, теперь соединение уходит по резервному пути без паузы. б) Если сайт полностью не доступен - то, при потоковой проверке файлов не заставлять пользователя "бесконечно" ждать... 2) Драйвер фаервола - при проверке. По хорошему программа сама должна знать какие файлы её, какие нет и всякий раз не лезть к ним и не пытаться получить доступ к собственному файлу ?  
    • AM_Bot
      «Инфосистемы Джет» активно развивает концепцию антихрупкости. Эта компания разработала инструменты для её практического применения — первый Фреймворк антихрупкой ИТ-архитектуры и Индекс антихрупкости для построения киберустойчивого бизнеса.      1. Введение2. Что такое антихрупкость ИТ-архитектуры3. Назначение инструментов, разработанных компанией «Инфосистемы Джет»3.1. Фреймворк антихрупкой ИТ-архитектуры3.2. Индекс антихрупкости4. Как проходит оценка4.1. Заполнение профиля компании4.2. Построение бенчмарка4.3. Прохождение опроса4.4. Оценка результатов5. ВыводыВведениеРезонансные атаки на крупнейшие российские компании, которые мы регулярно освещаем, вскрыли системную проблему: реальная операционная готовность к инцидентам остаётся на низком уровне, даже если система защиты формально выстроена. Как показало недавнее исследование компании «Инфосистемы Джет», пережить кибератаку не готовы 64 % из 50 российских компаний. Хуже всего ситуация обстоит в госсекторе и ритейле — при этом именно эти отрасли входят в число наиболее атакуемых.Защита, которая создавалась, чтобы остановить злоумышленника, теперь может лишь его замедлить — и одной способности «не пустить» стало недостаточно. Закупленные СЗИ создают иллюзию надёжности: организация выглядит защищённой, но в момент реальной атаки оказывается уязвимой.В условиях массовых взломов и эволюции атакующих стратегий на первое место выходит принцип управляемого ухудшения ситуации. Взлом с большой вероятностью произойдёт, но мы должны уметь работать под атакой, управлять кризисом и быстро восстановиться. Также необходимо выстроить зрелые процессы реагирования на угрозы, восстановления после инцидентов и обеспечения непрерывности бизнеса даже в условиях атаки. В ответ на этот вызов ИТ-компания «Инфосистемы Джет», работающая на российском рынке с 1991 года, предложила использовать концепцию антихрупкой ИТ-архитектуры.Её суть заключается в том, что ИТ-инфраструктура должна не просто выдерживать сбои, атаки и неблагоприятные обстоятельства, а по-настоящему быть к ним готовой, эффективно их преодолевать и даже извлекать из них пользу, становясь надёжнее и укрепляя свои позиции среди конкурентов.Что такое антихрупкость ИТ-архитектурыКонцепция антихрупкости впервые была предложена учёным Нассимом Талебом, статистиком, бывшим трейдером и риск-менеджером, который прославился изучением влияния случайных и непредсказуемых событий на мировую экономику и биржевую торговлю. В книге «Чёрный лебедь. Под знаком непредсказуемости» (The Black Swan), вышедшей в 2007 году, он ввёл сам термин «чёрный лебедь» для описания редких и маловероятных событий, имеющих огромные последствия, и пришёл к выводу, что вместо попыток их предсказания логичнее создавать системы, способные не просто пережить хаос, но и становиться после него сильнее. Именно это понимание легло в основу идеи антихрупкости, которая уже была детально раскрыта Талебом в книге 2012 года «Антихрупкость. Как извлечь выгоду из хаоса» (Antifragile: Things That Gain From Disorder).Вдохновившись концепцией антихрупкости, аналитики компании «Инфосистемы Джет» решили развивать эти идеи и продвигать их в России. Антихрупкая ИТ-архитектура — не гонка за новыми инструментами. Она строится вокруг способности пережить полный жизненный цикл атаки: подготовиться к ней, замедлить злоумышленника, обнаружить вторжение, сократить ущерб, восстановить бизнес и перестроиться после инцидента. Для практической реализации концепции антихрупкости «Инфосистемы Джет» разработали первый Фреймворк антихрупкой архитектуры и Индекс антихрупкости, позволяющие выявить слабые места и сформировать дорожную карту усиления защиты.Назначение инструментов, разработанных компанией «Инфосистемы Джет»Как же перейти от понимания концепции антихрупкости к её реализации? В этом помогут разработанные вендором инструменты, которые мы рассмотрим ниже.Фреймворк антихрупкой ИТ-архитектурыФреймворк антихрупкой ИТ-архитектуры представляет собой открытый и практичный инструмент, который объединил опыт инженеров, аудиторов, консультантов и экспертов-практиков по защите сети и построению ИТ-инфраструктуры. Он разработан командой «Инфосистемы Джет» во главе с руководителем отдела развития консалтинга по ИБ Александром Морковчиным.Сценарии использования фреймворка охватывают три ключевые рыночные потребности. Первая — оценка текущего уровня киберустойчивости с помощью единой измеримой «линейки» для сопоставления с конкурентами и отраслевыми лидерами. Вторая — планирование развития на основе каталога проверенных практик и выбор вектора роста. Третья — трансформация: пошаговый переход от фактического состояния к целевому уровню киберустойчивости. Фреймворк имеет иерархическую логику: он строится по каскадной модели «в крупную клетку», т. е. на высоком уровне абстракции, без погружения в мелкие детали. Всего существует пять уровней детализации, где каждый следующий уровень конкретизирует предыдущий. Это позволяет последовательно двигаться от общего видения (стратегии) по уровням детализации к конкретным действиям (практике), сохраняя гибкость и системность.Фреймворк доступен на официальном сайте и не требует установки дополнительных расширений. Рисунок 1. Каскадная модель фреймворка антихрупкой ИТ-архитектуры Разберём каскад по уровням:Уровень 0. ДистанцииДистанции описывают фазы жизненного цикла относительно кибервторжения.Уровень 1. Цели («Чего хотим достичь»)Здесь выделяется семь стратегий. Это верхнеуровневые направления для достижения антихрупкости: например, «подготовка и прогнозирование», «адаптация и перестройка». Их цель — сформировать киберустойчивый каркас, дополнив классическую ИБ тем, чего часто не хватает в реальной атаке: связью с ИТ-архитектурой, непрерывностью, восстановлением, кризисным управлением и постоянным улучшением. Таблица 1. Семь стратегий антихрупкостиСтратегияВопрос, на который она отвечаетСистемное развитие и контрольРазвивается ли ИБ оправданно с точки зрения бизнеса?Подготовка и прогнозированиеПонимаем ли мы, как нас будут атаковать и какое звено сломается первым?Вовлечение и нападениеЗнаем ли мы, кто и как готовится нас атаковать — и можем ли перехватить инициативу?Защита, замедление, сдерживаниеЧто не даст атакующему быстро развить успех после проникновения?Обнаружение и реагированиеПоймём ли мы, что враг уже внутри, до того как он ударит?ВосстановлениеЕсть ли у бизнеса «План Б» на случай потери инфраструктуры?Адаптация и перестройкаСтанет ли компания сильнее после инцидента? Уровень 2. Правила реализации («Как себя ведём»)Здесь выделяется 10 принципов. Принципы связывают стратегии с действиями: это установки, задающие поведение. Например, принцип «нулевого доверия» или «безопасности по умолчанию». Уровень 3. Области применения («Где развиваем способности») Здесь выделяются 33 домена — тематические области, группирующие практики по функциональной принадлежности. Каждый домен описывает определённую способность организации. Уровень 4. Конкретные действия («Что делаем»)Здесь выделяется 390+ практик. Практики — конкретные меры и действия, которые организация должна реализовать для достижения целей киберустойчивости. Рисунок 2. Распределение стратегий антихрупкости по четырём дистанциям Вышеописанная схема является интерактивной: кликнув на домен, можно ознакомиться с относящимися к нему практиками. Рисунок 3. Информация о входящих в домен «Обнаружение и реагирование» практиках Также можно использовать строку поиска для выделения интересующих вас практик. Рисунок 4. Результат поискового запроса Фреймворк можно выгрузить в виде файла формата XLS, в котором также представлен инструмент самооценки. Рисунок 5. Фрагмент фреймворка в формате XLS Индекс антихрупкостиИндекс антихрупкости — показатель, позволяющий оценить в процентном соотношении, насколько компания готова к «чёрным лебедям», т. е. труднопредсказуемым событиям. Индекс построен на базе фреймворка и отвечает на вопрос: способна ли компания пережить кибератаку, продолжать работу в её условиях и восстановиться после неё. Итог оценки — индекс антихрупкости от 0 до 100 %, разбор по направлениям защиты и сравнение с другими участниками индустрии. Отраслевой уровень обновляется автоматически по мере накопления ответов респондентов.Индекс не заменяет регуляторные оценки, а дополняет их в областях, которые проверяют реальную киберустойчивость: восстановление и непрерывность бизнеса, кризис-менеджмент, threat hunting, безопасная разработка, безопасность ИИ, отказоустойчивость, культура киберучений и другие. Разберём, как пользоваться инструментом оценки.Как проходит оценкаС сервисом можно ознакомиться на официальном сайте. Вы отвечаете на сто коротких вопросов о том, какие практики киберустойчивости есть в компании. Оценка полностью анонимна: контактные данные и название компании не запрашиваются. У каждой оценки есть только уникальный идентификатор — он понадобится, если вы захотите задать вопрос по полученным результатам. Рисунок 6. Расчёт Индекса антихрупкости (приветственное окно) Заполнение профиля компанииДля получения оценок, релевантных профилю вашей организации, необходимо указать параметры из выпадающего списка: Сфера деятельности компании.Общее количество сотрудников.Число ИБ-сотрудников.Число ИТ-сотрудников.Оценку формирует руководитель ИБ или тот, кто отвечает за информационную безопасность в компании. Часть вопросов затрагивает смежные зоны — резервное копирование, непрерывность бизнеса, безопасную разработку, взаимодействие с юристами и PR. Если по ним нет уверенности, лучше уточнить у коллег: точность ответов напрямую определяет пользу результата. Рисунок 7. Пример заполненного профиля организации Заполнив все поля, можно переходить к следующему шагу. Для этого нажмите кнопку «Посмотреть показатели по отрасли».Построение бенчмаркаВ следующем разделе нам становится доступен бенчмарк, отражающий индекс антихрупкости и оценку в разрезе стратегий антихрупкой ИТ-архитектуры в среднем по отрасли. В качестве примера мы выбрали сферу деятельности «финансовый сектор». Рисунок 8. Экспресс-оценка показателей киберустойчивости по отрасли Ниже приводится оценка по стратегиям в табличном виде. Рисунок 9. Индекс антихрупкости в разрезе стратегий и практик по отрасли Прохождение опросаДля расчёта своего индекса антихрупкости пользователю предлагается пройти опрос по 100 практикам, каждая из которых имеет пять вариантов ответа:«Да» (выполняется системно).«Частично» (с ограниченным охватом).«Нет» (не выполняется или выполняется ad hoc, т. е. разово или под конкретную задачу).«Неприменимо» (не используется в организациях данного типа). Этот ответ следует выбрать, если, например, в организации нет такого процесса или системы. При выборе этого варианта метрика исключается из расчёта.«Не знаю» (затрудняюсь оценить). Метрика исключается из расчёта. Рисунок 10. Опрос в рамках стратегий и практик Результат отображается сразу после ответа на последний вопрос. Для расчёта индекса необходимо выбрать «Показать результаты». В том случае, если не все практики были оценены, появится окно с предупреждением и расчёт будет проведён с ограничениями. Рисунок 11. Предупреждение пользователя Оценка результатовНа вкладке «Результаты» отображается текущий уровень киберустойчивости организации, а также сопоставление этого уровня с показателями по отрасли в виде шкалы и радарной диаграммы («диаграммы-паука»). Рисунок 12. Экспресс-оценка киберустойчивости в виде шкал Рисунок 13. Экспресс-оценка киберустойчивости в разрезе стратегий При сравнении учитываются только критерии, по которым даны ответы. Ознакомиться с ними можно ниже в табличном виде. Рисунок 14. Оценка антихрупкости в разрезе доменов — групп практик Информацию по экспресс-оценке киберустойчивости организации можно скачать в виде готового отчёта. Он доступен в формате PDF и представляет собой готовый буклет для ознакомления в электронном виде или печати на бумаге. Рисунок 15. Выгрузка готового отчёта Рисунок 16. Фрагмент отчёта экспресс-оценки киберустойчивости организации ВыводыАнтихрупкость сегодня — ключевая стратегия выживания и роста компаний в условиях постоянных рисков: кибератак, ухода вендоров, сбоев инфраструктуры, регуляторных изменений и т. п. Она не заменяет классическую ИБ — она дополняет её способностью пережить успешную атаку.В современном ИТ‑ландшафте недостаточно просто держаться на плаву, нужно заранее готовиться к тому, чего нельзя предсказать. Именно поэтому антихрупкость становится центральным элементом зрелой ИТ‑стратегии и обязательным ориентиром при проектировании архитектуры, управлении инцидентами и планировании цифровой трансформации.Компания «Инфосистемы Джет» переводит концепцию антихрупкости на язык конкретных инженерных и управленческих решений. Она даёт бизнесу рабочие инструменты — собственный Фреймворк антихрупкой ИТ‑архитектуры, помогающий выстроить понятный путь от стратегии к конкретным действиям, и Индекс антихрупкости, который помогает увидеть, насколько компания реально готова к сбоям, атакам и внезапным переменам.Компания планирует и далее развивать Фреймворк: адаптировать его к специфике различных отраслей, разработать вариативные сценарии применения в зависимости от контекста.Достоинства:Открытая методология, доступная любому пользователю без оплаты и регистрации.Каскадная, понятная архитектура с чёткой логикой: семь стратегий достижения антихрупкости, 10 принципов, 33 домена и 390+ практик.Наличие веб-сервиса для оценки антихрупкости ИТ-архитектуры, в котором прохождение полного опроса по 100 критериям оценки занимает в среднем 20 минут.Возможность ознакомиться с показателями антихрупкости в среднем по отрасли.Представление результатов оценки в графическом и табличном формате.Формирование готового отчёта по итогам экспресс-оценки киберустойчивости с возможностью его выгрузки на компьютер.Недостатки:Ценность фреймворка сложно понять, если предварительно не ознакомиться с теорией антихрупкой ИТ-архитектуры.Для точной оценки индекса антихрупкости рекомендуется располагать полной информацией о деятельности компании и не пропускать ни одного критерия оценки. По уровню детализации Фреймворк антихрупкой ИТ-архитектуры относится к стратегическому и методическому уровню. Детальные технические регламенты, архитектурные стандарты, требования к настройке конкретных систем должны разрабатываться на следующем уровне детализации.Читать далее
    • demkd
      возможность есть, гляну, размер переменных окружения действительно 32767 максимум, но конкретно path больше 4095 это уже может стать проблемой.
    • Ego Dekker
      ESET Online Scanner 4.0.1  (Windows 10/11, 64-разрядная)
                                                                                  ●
              Руководство пользователя ESET Online Scanner 4  (PDF-файл)
×