ru
Feedback
Computer Science

Computer Science

Открыть в Telegram
7 918
Подписчики
-424 часа
-67 дней
-3230 день
Архив постов
Что такое эксплойт? Эксплойт — это программа или код, который использует недостатки в системе безопасности конкретного приложения для заражения устройства. Есть два способа «скормить» пользователям эксплойты: ⁃ при посещении ими сайта, содержащего вредоносный код эксплойта. ⁃ при открытии пользователем безобидного на вид файла со скрытым вредоносным кодом. Во втором случае для доставки эксплойта, как правило, пользуются спамом или фишинговым письмом. Эксплойты представляют угрозу даже для осторожных и добросовестных пользователей, которые регулярно обновляют свое программное обеспечение. Причина кроется во временном зазоре между открытием уязвимости и выходом патча для ее исправления. В этом интервале эксплойты могут свободно функционировать и угрожать безопасности почти всех интернет-пользователей при отсутствии установленных в системе автоматических средств предотвращения атак эксплойтов.

Почему строка зелёная? Зелёная строка — это визуальный показатель надёжности сайта. Ей обозначаются только ресурсы, защищенны
Почему строка зелёная? Зелёная строка — это визуальный показатель надёжности сайта. Ей обозначаются только ресурсы, защищенные SSL-сертификатом с расширенной проверкой Она отображается в адресной строке браузера зелёным полем со значком замка и названием компании. Если в адресной строке только замочек, то этот сайт с сертификатом уровнем ниже. Зелёная строка сигнализирует, что ресурс надежен и принадлежит реально существующей компании, которая прошла полную проверку — документации, правовой, физической и операционной деятельности. На таком сайте можно без опасений вводить данные кредитных карт, логины и пароли. Передача данных идет по безопасному HTTPS соединению, трафик защищен шифрованием — данные посетителей не попадут в руки мошенников.

Как работает IPsec? IPSec — это расширение IP, которое обеспечивает безопасность всех коммуникаций на основе IP.  В отличие от IP-пакетов пакеты IPSec не могут быть прочитаны или изменены по пути. IPSec часто используется для создания виртуальных сетей (VPN), где интернет-соединение используется для замены физического соединения, так что компьютер может фактически присоединиться к сети, которая находится далеко от него.  IPsec использует два протокола для обеспечения безопасности трафика - Authentication Header (АН) и Encapsulating Security Payload (ESP)  IP Authentication Header (AH) обеспечивает целостность без установления соединения, аутентификацию источника данных и дополнительную службу защиты от повтора.  Протокол Encapsulating Security Payload (ESP) обеспечивает конфиденциальность (шифрование) и ограниченную конфиденциальность трафика.

Открытый и закрытый ключ шифрования Ключ шифрования – это тайная информация, которая используется алгоритмом для шифрования и расшифровки информации. Надёжность ключа зависит от его длины в битах. В технологии SSL используют шифры 4096 бит для корневого сертификата и 128–256 бит для клиентских. Такая длина достаточна для безопасной передачи данных. Протокол SSL использует асимметричное шифрование или шифрование с открытым ключом для установки соединения. Несмотря на название, здесь используются 2 ключа: открытый и закрытый. Оба формируются при запросе SSL-сертификата. Открытый ключ доступен всем. Используется для шифрования данных при обращении браузера к серверу. Закрытый ключ известен только владельцу сайта. Используется для расшифровки данных, отправленных браузером. Шифрование с двумя ключами разного типа гарантирует сохранность информации. Даже если мошенник перехватит трафик, не сможет расшифровать его без закрытого ключа.

Что такое кроссплатформенность? Кроссплатформенность — это способность программного обеспечения полноценно работать на любом устройстве вне зависимости от типа операционной системы. Сделать это можно с помощью современных кроссплатформенных языков программирования (например, C, С++). При надлежащем качестве кода достаточно будет переписать только некоторые фрагменты, не трогая при этом основной движок программы. При работе с устройствами на разных платформах стандартные элементы интерфейса могут искажаться, поэтому в таких случаях нужно позаботиться об адаптивности. Например, способности сайта автоматически «подстраиваться» под размеры экрана пользовательского устройства.

В чем разница между ассемблером и языком ассеблера? Ассемблер и язык ассемблера это разные вещи. Говоря просто о языке ассемблера, мы обычно понимаем язык программирования, состоящий из команд процессора, представленных в виде символических обозначений. А вот просто ассемблер — это компилятор этого языка в машинный код. То есть, например, машинная команда о пересылке данных в двоичном виде будет выглядеть 10111000, а в языке ассемблера она будет представлена словом mov. Здесь нет в привычном понимании абстракций, вроде функций или циклов, все это здесь пишется с нуля.

Протокол безопасности TLS   В 1995 году был внедрён SSL, однако в 2014 году в его работе обнаружили уязвимости. И на основе SSL 3.0 был разработан новый стандарт — TLS. Когда речь идёт о протоколе SSL, на самом деле подразумевается протокол TLS. Протокол TLS (Transport Layer Security) — криптографический протокол, который обеспечивает защищённый обмен данными между сервером и клиентом.  Протокол работает на трёх уровнях защиты:  ⁃ отвечает за конфиденциальность передаваемых от компьютера к компьютеру данных,  ⁃ проводит аутентификацию,  ⁃ следит за целостностью передаваемой информации.  TLS-протокол лежит в основе безопасного обмена информацией, но не обеспечивает его сам по себе. Чтобы защищённое соединение состоялось, нужно настроить одно из безопасных интернет-соединений, например — FTP, IMAP/POP3/SMTP и HTTPS.

Параметры безопасности протокола TLS TLS отвечает за безопасность транзакций и сессии. Обеспечивает защиту в три этапа:  1. Handshake (рукопожатие) происходит согласование параметров соединения между клиентом и сервером. Для этого используется обмен ключами по алгоритму RSA:  2. False Start (фальстарт) Процедура возобновления сессии. Если транзакции выполняются в пределах одной запущенной сессии, данный этап позволяет пропустить процедуру Handshake. Протокол повторно использует те данные, которые уже были обработаны и подтверждены в начале сессии. При этом каждая сессия имеет свой срок жизни. Как только срок сессии истекает, с помощью TLS Handshake запускается новая сессия.  3. Chain of trust (цепочка доверия) Отвечает за аутентификацию между клиентом и сервером. Работает на основе регулярной проверки подлинности — соответствия сертификатов стандартам Сертификационных центров, которые их выдают. Если обнаружится, что сертификат скомпрометирован, данные будут отозваны, транзакция не состоится и сессия будет прервана.

Область применения симметричного шифрования Симметричное шифрование используется для обмена данными во многих современных сервисах, часто в сочетании с асимметричным шифрованием.  Например, мессенджеры защищают с помощью таких шифров переписку (при этом ключ для симметричного шифрования обычно доставляется в асимметрично зашифрованном виде), а сервисы для видеосвязи — потоки аудио и видео.  В защищенном транспортном протоколе TLS симметричное шифрование используется для обеспечения конфиденциальности передаваемых данных. Симметричные алгоритмы не могут применяться для формирования цифровых подписей и сертификатов, потому что секретный ключ при использовании этого метода должен быть известен всем, кто работает с шифром, что противоречит самой идее электронной подписи.

Достоинства и недостатки симметричного шифрования Симметричные алгоритмы требуют меньше ресурсов и демонстрируют большую скорость шифрования, чем асимметричные алгоритмы.  Большинство симметричных шифров предположительно устойчиво к атакам с помощью квантовых компьютеров, которые в теории представляют угрозу для асимметричных алгоритмов. Слабое место симметричного шифрования — обмен ключом. Поскольку для работы алгоритма ключ должен быть и у отправителя, и у получателя сообщения, его необходимо передать; однако при передаче по незащищенным каналам его могут перехватить и использовать посторонние (на практике во многих системах эта проблема решается шифрованием ключа с помощью асимметричного алгоритма).

Симметричное шифрование Способ шифрования данных, при котором один и тот же ключ используется и для кодирования, и для восстановления информации.  Например, если алгоритм предполагает замену букв числами, то и у отправителя сообщения, и у его получателя должна быть одна и та же таблица соответствия букв и чисел: первый с ее помощью шифрует сообщения, а второй — расшифровывает. Однако такие простейшие шифры легко взломать и их использование не имеет никакого смысла. Поэтому современные симметричные алгоритмы считаются надежными, если отвечают следующим требованиям:  ⁃ Выходные данные не должны содержать статистических паттернов исходных данных.  ⁃ Шифр должен быть нелинейным (не должно быть закономерностей, которые можно отследить, имея на руках несколько открытых текстов и шифров к ним).

Асимметричные алгоритмы  • RSA — алгоритм, в основе которого лежит вычислительная сложность факторизации (разложения на множители) больших чисел. Применяется в защищенных протоколах SSL и TLS, стандартах шифрования, например в PGP и S/MIME, и так далее. Используется и для шифрования данных, и для создания цифровых подписей.  • DSA — алгоритм, основанный на сложности вычисления дискретных логарифмов. Используется для генерации цифровых подписей. Является частью стандарта DSS.  • Схема Эль-Гамаля — алгоритм, основанный на сложности вычисления дискретных логарифмов. Лежит в основе DSA и устаревшего российского стандарта ГОСТ 34.10–94. Применяется как для шифрования, так и для создания цифровых подписей.  • ECDSA — алгоритм, основанный на сложности вычисления дискретного логарифма в группе точек эллиптической кривой. Применяется для генерации цифровых подписей, в частности для подтверждения транзакций в криптовалюте Ripple.

Применение асимметричных алгоритмов Асимметричное шифрование решает главную проблему симметричного метода, при котором для кодирования и восстановления данных используется один и тот же ключ.  С другой стороны, асимметричные алгоритмы гораздо медленнее симметричных, поэтому во многих криптосистемах применяются и те и другие. Например, стандарты SSL и TLS используют асимметричный алгоритм на стадии установки соединения: с его помощью кодируют и передают ключ от симметричного шифра, которым и пользуются в ходе дальнейшей передачи данных. Также они применяются для создания электронных подписей, которые генерируется с помощью закрытого ключа, а проверяются с помощью открытого.

Асимметричное шифрование Используется для защиты информации при ее передаче и предполагает использование двух ключей — открытого и закрытого.  Схема передачи данных между двумя субъектами (А и Б) с использованием открытого ключа выглядит следующим образом:  1. Субъект А генерирует открытый и закрытый ключи.  2. Субъект А передает открытый ключ субъекту Б.   3. Субъект Б шифрует пакет данных при помощи полученного открытого ключа и передает его А.   4. Субъект А расшифровывает полученную от Б информацию при помощи секретного, закрытого ключа. В такой схеме перехват любых данных не имеет смысла, поскольку восстановить исходную информацию возможно только при помощи закрытого ключа, известного лишь получателю и не требующего передачи.

Номера портов  Как рассматривалось ранее, каждый протокол связан с определенным номером порта TCP или UDP.  IANA — это организация, которая решает, какой номер порта является стандартным для каждого из протоколов.  Когда создается новый протокол, его разработчики отправляют в IANA запрос на резервирование номера порта. Вместо того чтобы разрабатывать новый протокол и подавать заявку на номер порта, многие разработчики интернет-приложений используют для связи через интернет общие протоколы.  Например, многие приложения становятся доступными через интернет благодаря интеграции с веб-сервером. В таких случаях HTTP используется для передачи необработанных данных в приложения и из них.

URL-адрес URL (Uniform Resource Locator) — специальная форма обозначения индивидуального адреса ресурса в интернете.  URL-адрес есть не только у сайтов, но и у различных файлов (документов, изображений, видео и так далее), загруженных в Интернет. Поэтому введя определенный URL в адресную строку браузера, пользователь может отыскать требуемый документ или сайт. У адреса URL имеется вполне конкретная структура, которая включает:  • Метод доступа к ресурсу, он же именуется сетевым протоколом;  • Авторизация для доступа;  • Хост – DNS адрес, прописываемый как IP адрес;  • Порт – обязательный атрибут при указании IP адреса (по умолчанию - 80 порт);  • Путь – информация о методе получения доступа;  • Параметр (якорь) – данные о файле внутри ресурса (ссылка на абзац внутри страницы сайта).

Типы SSL-сертификатов  1. Сертификаты с расширенной проверкой (EV SSL) Самый высокорейтинговый и наиболее дорогой тип SSL-сертификатов. Используется для популярных веб-сайтов, которые собирают данные и используют онлайн-платежи.   2. Сертификаты, подтверждающие организацию (OV SSL) Этот тип SSL-сертификатов имеет такой же уровень доверия, что и сертификаты с расширенной проверкой  3. Сертификаты, подтверждающие домен (DV SSL) Процесс проверки для получения SSL-сертификата этого типа минимален. Используются для блогов или информационных веб-сайтов  4. Wildcard-сертификаты сертификаты с подстановочными символами позволяют защитить базовый домен и неограниченное количество поддоменов с помощью одного сертификата.  5. Мультидоменные сертификаты (MDC) Можно использовать для защиты нескольких доменных и поддоменных имен, включая сочетания полностью уникальных доменов и поддоменов с разными доменами верхнего уровня (TLD), за исключением локальных / внутренних доменов.  6. Сертификаты унифицированных коммуникаций (UCC) Считаются мультидоменными SSL-сертификатами. Изначально были разработаны для защиты серверов Microsoft Exchange и Live Communications.

Как работают SSL-сертификаты? Использование SSL гарантирует, что данные, передаваемые между пользователями и веб-сайтами или между двумя системами, невозможно прочитать сторонним лицам или системам. Процесс работает следующим образом:  1. Браузер или сервер пытается подключиться к веб-сайту (веб-серверу), защищенному с помощью SSL.   2. Браузер или сервер запрашивает идентификацию у веб-сервера.   3. В ответ веб-сервер отправляет браузеру или серверу копию своего SSL-сертификата.   4. Браузер или сервер проверяет, является ли этот SSL-сертификат доверенным. Если это так, он сообщает об этом веб-серверу.   5. Затем веб-сервер возвращает подтверждение с цифровой подписью и начинает сеанс, зашифрованный с использованием SSL.   6. Зашифрованные данные используются совместно браузером или сервером и веб-сервером.

SSL-сертификат SSL-сертификат (Secure Sockets Layer) – это цифровой сертификат, удостоверяющий подлинность веб-сайта и позволяющий использовать зашифрованное соединение.  Компаниям и организациям необходимо добавлять SSL-сертификаты на веб-сайты для защиты онлайн-транзакций и обеспечения конфиденциальности и безопасности клиентских данных. SSL обеспечивает безопасность интернет-соединений и не позволяет злоумышленникам считывать или изменять информацию, передаваемую между двумя системами.  Если в адресной строке рядом с веб-адресом отображается значок замка, значит этот веб-сайт защищен с помощью SSL.

Зачем нужно полное доменное имя? Полные доменные имена указывают уникальные адреса в Интернете, что делает их важными для работы в Интернете. Говоря простым языком: если у вас нет полного доменного имени, у вас нет веб-сайта, к которому люди могут получить доступ.  Они также необходимы для установки сертификатов SSL, что является еще одной функцией, ожидаемой от большинства веб-сайтов. Помимо веб-сайтов, полные доменные имена полезны, когда вы хотите получить удаленный доступ к компьютеру. Это распространено в офисной среде, поскольку упрощает отслеживание активности на компьютере.  Также они помогают получить доступ к службам домена, таким как протокол передачи файлов (FTP) и электронная почта.