Архив метки: security

Усиление защиты EMET

На самом деле общесистемный масштаб имеют лишь некоторые функции EMET, а гораздо больших спектр фич применим к процессам конкретных приложений.

Для приложения можно включить следующие функции:

DEP — реализуется за счет вызова kernel32!SetProcessDEPPolicy в контексте контролируемого процесса

BottomUpASLR — в некотором роде представляет собой ASLR для выделяемых регионов памяти на стеке и в куче (по мере выделения памяти и в старших адресах)

NullPage — защита от эксплуатации MS13-031

MandatoryASLR — принудительно включает ASLR для динамически загружаемых библиотек процесса. Реализуется за счет перехвата функции ntdll!NtMapViewOfSection

HeapSpray — позволяет фиксировать попытки операций выделения большого количества участков памяти с размещением там кода эксплойта

LoadLib — отслеживание операций LoadLibrary с целью предотвращения загрузки библиотеки в память по пути UNC

MemProt — запрет изменения статуса страниц стека на executable

Caller — контроль за тем, чтобы функция была вызвана с помощью call, а не ret, что широко применяется в эксплойтах

SimExecFlow — позволяет обнаруживать ROP-гаджеты после вызова контролируемой EMET функции

StackPivot — позволяет обнаруживать ситуации перемещения регистра стека ESP на нужный для эксплойта адрес

SEHOP — отслеживает попытки эксплуатирования обработчиков SEH

EAF (Export Address Table Access Filtering) — запрещает какие-либо операции обращения к странице памяти, на которой расположена таблица экспорта модуля, кроме доступа легитимного кода

Все эти функции можно настроить в окне Mitigations графического интерфейса. Кроме того, в окне Application Configuration есть еще три дополнительных функции:

Deep Hooks — для защиты критических API EMET будет перехватывать не только сами функции, но и те функции (другие API), которые из них будут вызываться

Anti Detours — блокирует действия эксплойтов, которые пропускают первые байты API (обычно пролог) и передают управление на инструкции, следующие за ними

Banned Functions — запрещает вызов API-функций из специального списка

Каждое отдельно взятое приложение может быть несовместимо с некоторыми защитами EMET, поэтому перед его включением требуется тестирование (или гуглинг данных от тех, кто уже протестировал). Однако в административных шаблонах EMET поставляются уже готовые проверенные политики для ряда приложений.

Включаются они следующими групповыми политиками:

– Computer ConfigurationPoliciesAdministrative TemplatesWindows ComponentsEMETDefault Protections for Internet Explorer

– Computer ConfigurationPoliciesAdministrative TemplatesWindows ComponentsEMETDefault Protections for Recommended Software (включает Adobe Reader, Adobe Acrobat, Java, Microsoft Office, блокнот)

– Computer ConfigurationPoliciesAdministrative TemplatesWindows ComponentsEMETDefault Protections for Popular Software (включает Media Pleer, Skype, Lync, Windows Live, Google Talk, Chrome, Firefox, Thunderbird, Adobe Photoshop, Winamp, Opera, WinRAR, WinZip, VLC, 7-Zip, Safari, iTunes и еще немного)

Источник : https://t.me/informhardening



2018-02-02T12:33:01
Закрытие уязвимостей

Рандомизация распределения виртуальной памяти (ASLR)

В Linux есть возможность включить рандомизацию распределения виртуальной памяти (ASLR).

Это одновременно защищает от эксплуатации всех уязвимостей, связанных с манипуляцией памятью, и не защищает ни от каких.

То есть защищает от не очень продвинутых эксплойтов.

Ну что ж, есть не просит – не помешает.

Включается ASLR в файле /etc/sysctl.conf с помощью следующей строки:

 kernel.randomize_va_space = 2 

В семействе Red Hat есть еще фича по защите буферов с данными, текстовых и прочие попытки пресечь переполнение буфера, зовется ExecShield. Включается в том же /etc/sysctl.conf с помощью строки:

kernel.exec-shield = 1 

Похожая функция есть в Solaris, только называется Stack Protection и настраивается в файле /etc/system следующей строкой:

 set noexec_user_stack=1 

ASLR тоже имеется, включается так (необходимо, чтобы активная зона была global):

 sxadm delcust aslr 

В AIX нет функций ASLR и защиты стека.

В HP-UX можно включить защиту стека следующей командой, после которой потребуется ребут:

 kctune executable_stack=0 

Источник: https://t.me/informhardening

 



2018-02-01T11:16:50
Закрытие уязвимостей

Шаблоны MSS описание

Ну раз уж мы установили шаблоны MSS, посмотрим, что еще в них есть полезного.

Неспроста же это дополнительный пак шаблонов для безопасности.


AutoAdminLogon – позволяет включить функцию автологона по сохраненным в реестре учетным данным при запуске системы. По умолчанию (если политика не задана) выключено, как и рекомендуется.

AutoReboot – просто определяет, будет ли система автоматически перезагружаться после сбоя. Если ничего не менять – то будет.

AutoShareWks – дает возможность отключить административные шары на рабочей станции (типа ADMIN$, C$, IPC$). Но сие действо может привести к проблемам в работе софта или администрировании, так что даже стандарты по безопасности не требуют удалять административные шары.

DisableSavePassword – позволяет отключить возможность сохранения пароля для dial-up и VPN-подключений. Безопасники рекомендуют.

Hidden – компьютер перестает вещать о своих ресурсах. Что не особо смутит хакера, а для юзверей может быть неудобно.

NoDefaultExempt – определяет к каким типам трафика не применяются фильтры IPSec. Рекомендуется оставлять только IKE.

NoDriveTypeAutoRun – можно отключить автозапуск. Конечно, отключим! на всех, пожалуйста!

NoNameReleaseOnDemand – включить, чтобы защититься от спуфинга по NBT-NS. Но мы уже отключали NBT-NS, так что мало что изменится.

NtfsDisable8dot3NameCreation – возможность отключить использование имен файлов в стиле 8.3 (типа блабла~.doc). Рекомендуется отключить (т.е. поставить политику в Enabled), т.к. хакер порой может воспользоваться упрощенными наименованиями.

SafeDllSearchMode – определяет порядок поиска загружаемых библиотек. Значение Enabled определенно безопаснее.

ScreenSaverGracePeriod – фигня какая-то, определяет срок, когда экранная заставка может быть сброшена без пароля. Безопасники рекомендуют ставить 0, но вроде это ничего особо не меняет.

WarningLevel – полезен для предупреждения о заполнении лога безопасности, если в нем не настроена перезапись при заполнении.

EnableDeadGWDetect – контролирует переключение на запасной дефолтный гейтвэй. Для безопасников бесполезна.

PerformRouterDiscovery – включает автоматический поиск шлюза по протоколу IRDP. Обязательно отключаем!

SynAttackProtect – понижает тайм-ауты в условиях SYN-флуда, полезно.

TcpMaxConnectResponseRetransmissions – количество попыток отправить SYN для установки сессии. Для нормально работающих сетей просто оставить как есть.

TcpMaxDataRetransmissions – количество попыток передачи датаграмм TCP. Рекомендуется 3, по умолчанию 5, так что разница невелика.

Источник: https://t.me/informhardening



2018-01-30T11:23:59
Закрытие уязвимостей

Усиление сетевых настроек Windows

В продолжении статьи:

Усиление сетевых настроек Linux