Межсетевые экраны (Firewall)
Концепция межсетевого экрана (МЭ) была введена для того, чтобы обезопасить процесс обмена данными между сетями. Межсетевой экран это программное или аппаратное устройство, которое контролирует поток трафика между различными сетями и может блокировать и пропускать определенные данные по предопределенным правилам безопасности. МЭ используется не только для защиты системы от внешних угроз, но и от внутренних. Надежный МЭ может справиться как с внутренними, так и с внешними угрозами и вредоносным программным обеспечением. Межсетевой экран также позволяет системе остановить пересылку незаконных данных в другую систему. МЭ всегда находится между частной сетью и интернетом, который является публичной сетью, поэтому он фильтрует входящие и исходящие пакеты. Выбор надежного межсетевого экрана имеет решающее значение в создании безопасной инфраструктуры.
Система межсетевого экрана может работать на пяти уровнях эталонной модели OSI. Но большинство работают на четырех уровнях: канальном, сетевом, транспортном и прикладном. Количество слоев, охватываемых брандмауэром, зависит от типа используемого МЭ. Чем больше уровней анализирует МЭ, тем выше безопасность всей системы. При классификации по методам фильтрации основными типами являются:
- МСЭ для фильтрации пакетов: система изолированно проверяет каждый входящий или выходящий из сети пакет и принимает или отклоняет его на основе определяемых пользователем правил. Пакетная фильтрация достаточно эффективна, но не имеет возможности просмотреть содержание пакета.
- МСЭ с инспекцией пакетов (SPI) проверяет сеансы между приложениями и ограничивает прохождение пакетов, нарушающих спецификации TCP/IP.
- МСЭ прикладного уровня проверяет данные внутри пакетов, поступающих от приложений.
- МСЭ следующего поколения (NGFW) использует многоуровневый подход для интеграции возможностей.
Межсетевые экраны для фильтрации пакетов. Когда пакет проходит через МСЭ он сообщает источник пакета, пункт назначения, протокол и номер порта. Пакет отбрасывается, не пересылается к месту назначения если он не соответствует набору правил МСЭ. Например, МСЭ с правилом блокировки доступа Telnet, будет отклонять пакеты TCP к порту 23, через который работает протокол Telnet. МСЭ с фильтрацией пакетов работает в основном на сетевом уровне эталонной модели OSI, а также используется транспортный уровень для получения номера порта. Он проверяет каждый пакет независимо от существующего трафика и не может определять из чего состоит пакет.
МСЭ с инспекцией пакетов (SPI) также называемые как МСЭ с динамической пакетной фильтрацией. Такие МСЭ не только проверяют каждый пакет, но и отслеживают, является ли этот пакет частью установленного TCP или другого сетевого сеанса. Это обеспечивает большую безопасность, чем фильтрация пакетов или мониторинг каналов, но оказывает большее влияние на производительность сети. Они контролируют пакеты и соединение по времени и проверяют как входящие, так и исходящие пакеты. Этот тип МСЭ основывается на таблице, которая отслеживает все открытые соединения. При поступлении новых пакетов МСЭ сравнивает информацию в заголовке пакета с таблицей, содержащей список открытых соединений, и определяет, является ли пакет частью установленного соединения. Если это так, то пакет пропускается без дальнейшего анализа. Если же он не соответствует существующему соединению, он оценивается в соответствии с набором правил для новых соединений. МСЭ с инспекцией пакетов достаточно эффективны, но они могут быть уязвимы для атак типа "отказ в обсаживании" (DoS). DoS-атаки работают, используя преимущества установленных соединений, которые данный тип МСЭ определяет безопасными.
МСЭ уровня приложений обеспечивает фильтрацию на уровне приложений и объединяет в себе некоторые атрибуты МСЭ с фильтрацией и инспекцией пакетов. Он фильтрует пакеты не только по службе, для которой они предназначены, но и по некоторым другим характеристикам, таким как строка HTTP-запроса. МСЭ уровня приложения могут просматривать пакет, чтобы отличить допустимые запросы от вредоносного кода, замаскированного под допустимый запрос данных. Поскольку этот тип проверяет содержимое пакета, он представляет инженерам безопасности более детальный контроль над сетевым трафиком. Ключевым преимуществом фильтрации на уровне приложений является возможность блокировать конкретно содержимое, например известное вредоносное программное обеспечение или некоторые веб-сайты, а также распознавать, когда определенные приложения и протоколы, такие как протокол передачи гипертекста (HTTP), протокол передачи файлов (FTP) и система доменных имен (DNS) используются не по назначению. Правила МСЭ уровня приложений также могут использоваться для управления выполнением файлов или обработки данных конкретными приложениями.
МСЭ следующего поколения (NGFW) сочетает в себе фильтрацию и инспекцию, и некоторые типы глубокой инспекции пакетов, а также другие системы сетевой безопасности, такие как обнаружение, предотвращение вторжений, фильтрация вредоносных программ и антивирусы. Современные сети имеют много точек входа и различных типов пользователей, что требует строгий контроль доступа и безопасность хоста. Эта потребность привела к появлению NGFW.
Аутентификация и контроль доступа
Аутентификация процесс определения того, является ли кто-то или что-то на самом деле тем, кем оно себя объявляет. Технология аутентификации обеспечивает управление доступом путем проверки соответствия учетных данных пользователя учетным данным в базе данных авторизованных пользователей или же на сервере аутентификации данных. Пользователи обычно идентифицируются с помощью своего кода, и аутентификация выполняется, когда пользователь предоставляет учетные данные, например пароль, который соответствует идентификатору пользователя. Аутентификация имеет важное значение, поскольку она обеспечивает безопасность сетей и систем позволяя только аутентифицированным пользователям получать доступ к защищенным ресурсам, таким как компьютерные сети, базы данных, веб-сайты и другие сетевые приложения. После аутентификации пользователь или процесс подвергается процессу авторизации, чтобы определить, может ли аутентифицированных объект иметь доступ к защищенному ресурсу или системе. Пользователь может быть аутентифицирован, но ему не будет предоставлен доступ к ресурсу, если этому пользователю не было предоставлено разрешение на доступ к нему. Процесс, посредством которого доступ к этим ресурсам ограничивается определенным кругом пользователей, называется контролем доступа.
Аутентификация пользователя с помощью имени пользователя и пароля обычно считается самым простым типом аутентификации и заключается в том, что пользователь должен предоставить свой идентификатор пользователя и пароль. Поскольку этот тип аутентификации зависит от одного фактора аутентификации, то он относится к однофакторной аутентификации. Строгая аутентификация это термин, который не бы формально определен, но обычно используется для обозначения того, что используемый тип аутентификации является более надежным и устойчивым к атаке. Это достигается как правило при помощи использования двух различных факторов аутентификации. Фактор аутентификации представляет собой некоторый фрагмент данных или атрибут, который может быть использован для проверки подлинности пользователя, запрашивающего доступ к системе. Выделяется несколько факторов аутентификации: фактор знания, фактор обладания и фактор неотъемлемости. В последние годы были предложены и введены в действие дополнительные факторы, такие как фактор местоположения и фактор времени. В настоящее время используют следующие факторы аутентификации:
- Фактором знания могут быть любые учетные данные для аутентификации, которые состоят из информации, которой обладает пользователь, включая личный идентификационный номер, имя пользователя, пароль или ответ на секретный вопрос.
- Фактором обладания могут быть любые учетные данные, основанные на элементах, которыми пользователь может владеть и носить с собой, включая аппаратные устройства, такие как токен безопасности или мобильный телефон, используемый для приема текстового сообщения или запуска приложения аутентификации, которое может генерировать одноразовый пароль.
- Фактор неотъемлемости основан на некоторой форме биометрической идентификации, включая отпечатки пальцев, распознавание лиц, сканирование сетчатки глаза или любой другой формы биометрических данных.
- Фактор местоположения используется в качестве дополнения к другим факторам. Местоположение может быть определенно с высокой точностью с помощью устройств, оснащенных GPS, или с меньшей точностью путем проверки сетевых маршрутов. Фактор местоположения обычно не используется сам по себе для аутентификации, но он может дополнить другие факторы, предоставляя средство исключения ложных запросов.
- Фактор времени, как и фактор местоположения сам по себе недостаточен, но является дополнительным механизмом для выявления злоумышленников, которые пытаются получить доступ к ресурсу в то время, когда этот ресурс недоступен авторизованному пользователю.
Добавление факторов аутентификации в процесс проверки подлинности обычно повышает безопасность. Строгая аутентификация обычно относится к аутентификации, которая использует по крайней мере два фактора, имеющих различные типы. Двухфакторная аутентификация обычно зависит от фактора знаний в сочетании с фактором неотъемлемости или фактором владения. Многофакторная аутентификация может включать любой тип аутентификации, который зависит от двух и более факторов, но процесс аутентификации, использующий пароль и два различных типа биометрической аутентификации не будет считаться трехфакторной аутентификацией.
Традиционная аутентификация зависит от использования файла паролей, в которых идентификаторы пользователей хранятся вместе с хэшами паролей, связанных с каждым пользователем. При входе в систему предоставленный пароль хешируется и сравнивается со значением в файле паролей. Если два хэша совпадают, пользователь проходит проверку. Этот метод аутентификации имеет недостатки. Злоумышленники, у которых есть доступ к файлу паролей, могут использовать атаку грубой силы на хэш пароля для его извлечения. Также этот подход потребует несколько аутентификаций в приложениях, которые получают доступ к ресурсам в нескольких системах. Системы аутентификации на основе пароля являются более уязвимыми, чем системы, требующие нескольких независимых методов. К наиболее распространенным методам аутентификации относятся:
Многофакторная аутентификация (MFA)
Метод аутентификации, который требует двух или более независимых способов идентификации пользователя. Добавляет дополнительный уровень защиты к процессу аутентификации. Многофакторная аутентификация требует, чтобы пользователь предоставил второй фактор аутентификации в дополнение к паролю. Такие системы часто требуют от пользователя ввести код подтверждения, полученный с помощью текстового сообщения на предварительно подтвержденном мобильном телефоне, или код, созданный приложением для аутентификации, а также отпечатки пальцев или распознавание лиц. Методы и технологии аутентификации MFA повышают доверие пользователей, добавляя несколько уровней безопасности. MFA служит хорошей защитой от взломов, однако имеет недостатки, такие как потеря телефона или SIM-карты, что в свою очередь ограничит пользователю доступ к своей учетной записи.
Проверка подлинности на основе сертификатов
Технология проверки подлинности на основе сертификатов позволяет идентифицировать пользователей, компьютеры и другие устройства с помощью цифровых сертификатов. Сертификат содержит цифровой идентификатор пользователя, включая открытый ключ, и цифровую подпись центра сертификации. Пользователи предоставляют свои цифровые сертификаты при входе на сервер. Сервер проверяет достоверность цифровой подписи и центра сертификации. Затем сервер использует криптографические методы, чтобы подтвердить, что пользователь имеет правильный закрытый ключ, связанный с сертификатом. Такими являются, например, SSL-сертификаты (Secure Sockets Layer). Поддержка SSL встроена во все основные браузеры.
Биометрическая аутентификация
Процесс обеспечения безопасности, который зависит от уникальных биологических характеристик человека. Некоторые системы могу зависеть исключительно от биометрической идентификации. Однако, биометрия обычно используется в качестве второго или третьего фактора аутентификации. Наиболее распространённые типы биометрической аутентификации включают в себя распознавание лиц, сканеры отпечатков, идентификацию голоса и сканеры сетчатки глаз.
Аутентификация по ключам доступа
Такой способ используется для аутентификации сервисов, приложений или устройств при обращении к веб-сервисам. В методе проверки ключа первому пользователю присваивается уникальное сгенерированное значение, указывающее, что пользователь известен. Затем каждый раз, когда пользователь пытается войти в систему, его уникальный ключ используется для проверки того, является ли он тем же пользователем, что вошел в систему раннее. Использование ключей позволяет избежать использования пароля пользователя сторонними сервисами.
Аутентификация по токенам
Технологии аутентификации на основе маркеров позволяют пользователям вводить свои учетные данные один раз и получать уникальную зашифрованную строку случайных символов. Затем пользователь может использовать свой токен для доступа к защищенным системам без повторного ввода учетных данных. Такой способ аутентификации чаще всего применяется при построении систем единого входа Single-Sign-On (SSO), в которых один сервис предоставляет функцию аутентификации другому сервису. Примером может послужить ситуация, когда пользователь может войти в приложение через свою учетную запись в социальной сети. Наиболее популярным стандартом данного типа является протокол OAuth, который позволяет выдать одному сервису права на доступ к данным пользователя на другом сервис. OAuth выступает в качестве посредника от имени пользователя, предоставляя сервису токен доступа, который разрешает совместное использование определенных данных.
Шифрование данных
Шифрование конфиденциальных данных является одним из ключевых способов защиты. Несмотря на комплексную защиту сервиса или системы у злоумышленника есть шанс получить доступ к конфиденциальной информации, так как ни одна система не может являться полностью защищенной от атак и утечек. Шифрование же позволяет сделать украденную информацию бесполезной для злоумышленника, так как в зашифрованном виде данные не несут никакой информации. Чтобы расшифровать информацию злоумышленник должен будет подобрать ключ для расшифровки, однако при определенной длине ключа это будет сделать невозможно. Это делает метод шифрования основой для построения безопасных систем и защиты персональных данных.
Шифрование обычно используется для защиты данных при передаче и хранении. При использовании банкоматов или покупок в интернет-магазинах, шифрование используется защиты передаваемой информации. Компании и организации все больше полагаются на шифрование для защиты приложений и конфиденциальной информации, когда происходит утечка данных. Существует три главных компонента системы шифрования: данные, алгоритм шифрования и управление ключами шифрования. В большинстве устройств три этих компонента находятся в одном месте, однако безопаснее хранит и выполнять в разных местах, так как это снизит риск компрометации каждого компонента.
Существует множество различных методов шифрования, но не все предоставляют необходимую защиту. Не так давно 64-битное шифрование считалось достаточно надежным, но с совершенствование электронной вычислительной техники и введением 128-битных решений шифрование с такой длиной ключа оказалось небезопасным. Все алгоритмы шифрования можно подлить н две категории: симметричные и ассиметричные.
Симметричные шифры используют один ключ для шифрования и расшифрования. Ключ называют общим, так как он хранится и у отправителя, и у получателя. Симметричные шифры считаются более быстрыми по сравнению с ассиметричными. Наиболее часто использующимся алгоритмом шифрования, является алгоритм AES (AdvancedEncryptionStandard), который был разработан для защиты секретной правительственной информации, однако сейчас используется повсеместно. В нашей стране симметричным алгоритмом шифрования является ГОСТ Р 34.12 2015.
Ассиметричные шифры используют два различных ключа для шифрования и расшифрования. В основе таких алгоритмом лежит использование больших простых чисел для создания ключа. Алгоритм ассиметричного шифрования RSA (Rivest-Shamir-Adleman) является наиболее распространенным. При его использовании создается пара ключей: открытый и закрытый ключ. Открытый ключ используется при шифровании данных, он известен любому и может передаваться открыто. Зашифрованное же сообщение может быть расшифровано только владельцем закрытого ключа. В настоящее время многие криптографические процессы используют симметричный алгоритм для шифрования, а ассиметричный для безопасной передачи закрытого ключа.
Шифрование является эффективным способом защиты конфиденциальной информации, но для этого требуется тщательно хранить и использовать ключи, чтобы гарантировать защищенность информации и доступность, когда она необходима. Доступ к закрытым ключам должен контролироваться и ограничиваться определенным кругом лиц, кому необходимо их использовать. Правильное управление закрытыми ключами на протяжении всего срока их использования, защита их от утечек и неправильного использования каждая организация вырабатывает для себя самостоятельно. Необходимо поводить аудит для выработки эталонной модели управления закрытыми ключами. Программное обеспечение для управления ключами может помочь централизовать этот процесс, а также защитить ключи от несанкционированного доступа, подмены и удаления.
Хеш-функции представляют другой тип шифрования. Хеш-функции чрезвычайно полезны и применяются во множестве приложений, обеспечивающих информационную безопасность. Хэширование это преобразование входного значения бит в другое более сжатое значение бит при помощи математических функций. Входные данные различаются по длине, но на выходе имеют одинаковый размер. Данные, преобразованные с помощью хэш-функций при малейшем изменении, могут быть обнаружены, так как это повлечет полное изменение результирующего хэша. Хэш-функции считаются типом одностороннего шифрования, так как для расшифровки необходим другой ключ, не совпадающий с ключом шифрования. Основным применением хэш-функций является хранение паролей и проверка целостности данных. Популярными алгоритмами хэширования являются алгоритмы SHA-2 и SHA-3. Наиболее популярными алгоритмами шифрования являются:
- Алгоритм DES алгоритм шифрования данных с симметричным ключом. DES работает с использованием одного и того же ключа для шифрования и расшифровки сообщения, поэтому отправитель и получатель знают и используют один и тот же ключ. Основан на конструкции называемой сетью Фейстеля. На данный момент алгоритм DES практически не используется. Он заменен более надежным алгоритмом шифрования AES.
- Алгоритм AES также является симметричным блочным шифром. Он используется в программном и аппаратном обеспечении по всему миру и пришел на замену алгоритма DES. AES имеет длину блока в 128 бит, размер ключа 128, 192 или 256 бит.
- Протокол Диффи-Хелмана был разработан в 1978 году и стал первым ассиметричным шифром, при помощи которого можно было обмениваться сообщения по открытому каналу связи, не боясь утечки информации. Алгоритм позволяет двум сторонам договориться через незащищенный канал об общем секретном ключе для шифрования симметричным алгоритмом.
- Криптография на эллиптических кривых (ECC). Криптосистемы на эллиптических кривых это системы с открытым ключом шифрования, основанные на теории эллиптических кривых, которые используются создания более быстрых и эффективных способов создания ключей. Данный способ может использоваться в сочетании с другими ассиметричными алгоритмами. Менее короткий ключ в такой системе дает тот же уровень защищенности, как и в обычных алгоритмах шифрования с более длинным ключом. На данный момент криптография на эллиптических кривых применяется в протоколах TLS, SSL на которых основывается все современные компьютерные сети и системы.
- Квантовое распределение ключей. Метод шифрования сообщений с помощью пары запутанных фотонов. Квантовая запутанность позволяет отправителю и получателю узнать, был ли ключ шифрования перехвачен или изменен, еще до того, как он поступает получателю, так как сам акт наблюдения над передаваемой информацией изменяет ее. После того как было определено, что шифрование является безопасным и не было перехвачено, предоставляется разрешение на передачу зашифрованного сообщения.
Для любого криптографического шифра основным способом атаки является метод грубой силы, который заключается в переборе ключей пока не будет найден нужный. Длинна ключа определяет количество возможных ключей, из чего и вытекает целесообразность атаки грубой силы. Сложность шифрования напрямую зависит от длинны ключа, чем длиннее требуется ключ, тем требуется ресурсов для выполнения этой задачи. Злоумышленники также могут взломать шифр с помощью криптоанализа. Процесса поиска слабых мест у целевого шифра. В некоторых случаях этот способов требует меньше ресурсов чем атака грубой силы. Вероятность успешной атаки на шифр выше, если у самого алгоритма имеются недостатки.
Антивирусная защита
Антивирусное программное обеспечения это класс программ, предназначенных для предотвращения и удаления вредоносных файлов и скриптов на отдельных компьютерах, сетях или системах. Антивирусы предотвращают множество угроз, таких как вирусы, троянские кони, черви, рекламное программное обеспечение, ботнеты, вымогатели, шпионские программы и множество других разновидностей угроз. Принцип работы антивируса заключается в фоновом сканировании компьютера, сервера или сети, обнаружении и предотвращении распространения вредоносных файлов. Для полного сканирования системы антивирусное ПО должно обладать повышенными правами для доступа ко всей системе. Этот факт делает антивирусы привлекательной целью для злоумышленников.
Антивирусы используют различные способы обнаружения вредоносных программ. Изначально антивирусы обнаруживали вредоносные файлы на основе сигнатур. Сигнатурами являются уникальные последовательности байтов, принадлежащие конкретному вирусу и не существующие в других программах. Сигнатуры используются антивирусом для определения того, что является вирусом, которые в свою очередь были уже обнаружены и проанализированы специалистами. Для эффективного использования антивирусного программного обеспечения, использующего метод сканирования, необходимо постоянно обновлять базы со сведениями о новых вирусах. Так как ежегодно появляется миллионы новых вредоносных программ, современные базы данных с сигнатурами вредоносного ПО могут быть огромных размеров. Это делает антивирусы, основанные на сканировании сигнатур, малоэффективным и непрактичным.
Эвристический анализ в антивирусах позволяет определять неизвестные на данный момент вирусы. Он основан на сигнатурах и эвристическом алгоритме. Данный метод позволяет улучшить работу сканеров применять сигнатуры и позволяет обнаруживать модифицированные и измененные версии вредоносного ПО. Обнаружение срабатывает, когда сигнатура вируса частично совпадает с обнаруженным подозрительным ПО, имеющим общие признаки с известным вирусом или модель его поведения. Однако такой метод может генерировать множество ложных совпадений в случаях, когда определенное ПО ведет себя как известный вирус.
Антивирусы также используют методы обнаружения изменений, который основывается на слежении за изменением файлов на дисках компьютера. Так как любой вирус изменяет файлы системы каким-либо образом. Данный метод позволяет обнаруживать даже неизвестное на данный момент программное обеспечение.
SIEM системы
Системы управления информацией и событиями о безопасности обеспечивают в реальном времени анализ событий безопасности, полученных нескольких источников, выявляя отклонения и нормы и дает возможность среагировать до получения существенного ущерба. SIEM система при обнаружении потенциальной угрозы может регистрировать записывать поступающую информацию и давать инструкции другим элементам управления безопасностью для остановки возможной угрозы. SIEM системы работают путем сбора данных о событиях, созданных приложениями, операционными системами и устройствами безопасности, такими как межсетевые экраны и антивирусное программное обеспечение. Системы управления информацией и событиями о безопасности идентифицируют и сортируют данные о событиях безопасности, такие как неудачные входы в систему, вредоносная активность и другие возможные злонамеренные действия. При выявлении потенциальных угроз SIEM система создает предупреждения. Например, учетная запись пользователя, в которую сделали множество неудачных попыток входа в течение короткого времени, может быть определена как подозрительная активность и SIEM система создает предупреждение о попытке атаки грубой силы на учетную запись пользователя. SIEM системы упрощают управление безопасностью компании путем анализа большого количества данных о состоянии системы или сервиса, создаваемых программным обеспечением. Такие системы позволяют обнаруживать инциденты, которые в любой другой ситуации могли остаться незамеченными. Кроме того, благодаря постоянной фиксации и сбору событий из различных источников, SIEM система может воссоздать весь процесс атаки, что позволит компании определять характер атак и слабые места системы. SIEM системы значительно повышают безопасность системы и помогают обнаружить атаки злоумышленников в самом начале.