Computer Science
7.92K subscribers
2 photos
17 links
По всем вопросам: @altmainf

Уважаемый менеджер: @altaiface
Download Telegram
Виды XSS-уязвимостей

Хранимые: возникают, когда злоумышленнику удается получить доступ к серверу и сохранить на нем вредоносный код. Такой сохраненный скрипт будет активироваться каждый раз, когда пользователь заходит на зараженную страницу.

Отраженные: наиболее распространенный сегодня тип XSS-атак. Их смысл в том, что злоумышленник прячет вредоносный код в заранее подготовленной ссылке, которую потом передает пользователям. Когда пользователь переходит по ней, серверные скрипты исполняют ее код без обработки и возвращают его в виде ответа. Браузер пользователя исполняет зараженный скрипт, а злоумышленник получает cookies жертвы.

DOM-модель: суть уязвимости — в использовании Document Object Model (программный интерфейс, дающий программам доступ к контенту HTML-, XHTML- и XML-документов и возможность этим содержанием управлять). Главная особенность — сама страница сайта или веб-приложения не меняется, но меняется ее отображение в браузере пользователя из-за вредоносных модификаций DOM.
Взаимодействие между IKE и IPSec

IPsec может установить VPN следующим способом:

1. Internet Key Exchange (IKE) протокол IPsec поддерживает автоматическое генерацию и согласование ключей и ассоциаций безопасности с помощью IKE протоколом. Использование IKE при согласовании VPN между двумя конечными точками обеспечивает более безопасность, чем при обмене ключами вручную.

2. Обмен ключами вручную — IPsec поддерживает использование и обмен ключами вручную (пример: телефон или электронная почта) для установления VPN на обеих сторонах.
Какой язык лучше всего подходит для анализа данных?

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

1. Python
Универсальный язык, широко используемый в сообществе специалистов по науке о данных и аналитике. Его легко выучить, а низкий входной барьер также делает его идеальным первым языком для тех, кто плохо знаком с областью науки о данных и аналитики.

2. Язык R
Язык R был выпущен Фондом R для статистических вычислений. Его широкое распространение как специалистами по обработке данных, так и аналитиками объясняется тем, что у него есть пакет практически для всех мыслимых количественных и статистических приложений. К ним относятся филогенетика, нейронные сети, нелинейная регрессия, расширенное построение графиков и т.д

3. Julia
Хоть это и довольно молодой язык и в нем меньше готовых «рецептов», он уже стал фаворитом в сообществе аналитиков данных. Julia предлагает своим разработчикам простоту, динамическую типизацию и возможности создания сценариев.
Нормальная форма Бойса-Кодда

Между 3 и 4 нормальной формой есть еще и промежуточная нормальная форма — нормальная форма Бойса-Кодда (BCNF) (иногда называют «Усиленная третья нормальная форма»). Промежуточной или усиленной третьей нормальной формой ее называют потому, что ситуации, в которых могут предъявляться требования BCNF, возникают не всегда.

Требования нормальной формы Бойса-Кодда:
⁃ Таблица должна находиться в третьей нормальной форме. Здесь все как обычно, т.е. как и у всех остальных нормальных форм, первое требование заключается в том, чтобы таблица находилась в предыдущей нормальной форме, в данном случае в третьей нормальной форме;

⁃ Ключевые атрибуты составного ключа не должны зависеть от неключевых атрибутов.

Главное правило: Часть составного первичного ключа не должна зависеть от неключевого столбца.
Инфраструктура открытых ключей

PKI
предоставляет способ проверки идентификации удаленного сайта с помощью цифрового сертификата.

Она предоставляет инфраструктуру для управления цифровыми сертификатами и состоит из:

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

Орган сертификации (CA) — выпускает соответствующие цифровые сертификаты для запрашивающих предприятий.

Список отзыва сертификатов (CRL) — определяет действительные сертификаты. Каждый объект, обладающий аутентификацией открытого ключа CA, может проверить сертификаты, выданные этим CA.
Активные и пассивные XSS-уязвимости

XSS-уязвимости различаются по степени активности:

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

В то время как в пассивных для активации вредоносного кода пользователь должен совершить какое-то действие: ввести запрос, кликнуть ссылку. Чтобы это произошло, злоумышленник должен как-то его заставить, спровоцировать или замотивировать. Здесь в ход идут методы социальной инженерии — например, фишинг.
Расширения безопасности DNS

Для понимания протокола DNSSEC (расширения безопасности системы доменных имен) важно иметь общее представление о DNS.

Протокол DNSSEC позволяет повысить надёжность проверки подлинности в DNS при помощи цифровых подписей, основанных на криптографии открытого ключа. При использовании DNSSEC не запросы и ответы DNS подписываются криптографически, а сами данные DNS подписываются владельцем этих данных.

Применение DNSSEC позволяет обеспечить две важные функции в DNS:
Проверка подлинности источника данных позволяет резолверу криптографически проверить, действительно ли полученные данные поступили из той зоны, откуда, как он считает, они произошли.
Проверка целостности данных позволяет резолверу проверить, не были ли эти данные изменены при передаче, после того как владелец зоны подписал их закрытым ключом этой зоны.
Exploratory data analysis (EDA)

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

EDA отличается от анализа исходных данных (IDA), тк фокусируется более узко на проверке предположений, необходимых для подбора модели и проверки гипотез, а также на обработке пропущенных значений и выполнении преобразований переменных по мере необходимости. EDA включает в себя IDA.

Цели EDA:
⁃ максимальное «проникновение» в данные,
⁃ выявление основных структур,
⁃ выбор наиболее важных переменных,
⁃ обнаружение отклонений и аномалий,
⁃ проверка основных гипотез,
⁃ разработка начальных моделей.
Глобальная таблица дескрипторов (GDT)

GDT — это структура данных, используемая семейством процессоров x86 для ссылки на дескрипторы сегментов.

Это особая часть основной памяти, используемая в защищенном режиме . В этом режиме, в отличие от реального режима , вы не можете получить доступ к какой-либо части памяти по своему желанию. Управление памятью в защищенном режиме сложнее, но дает много преимуществ, включая защиту адресного пространства каждой программы.

В защищенном режиме адреса сегментов, содержащиеся в регистрах сегментов CS, DS, ES и SS, по-прежнему имеют 16 бит, но больше не представляют собой физические местоположения. Регистры сегментов содержат «селекторы», часть из которых служит индексом в GDT, где описываются сегменты памяти.

Обращаясь к этой таблице, процессор принимает к сведению базовый адрес сегмента. Наконец, окончательный адрес определяется путем добавления смещения, заданного в форме указателя FAR, к найденному адресу.
Что такое регистры?

Регистры — маленькие ячейки памяти, расположенные на процессоре, в которые помещаются инструкции из памяти для дальнейшего их выполнения.

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

Все они условно подразделяются на несколько основных групп:
1. Регистры общего назначения: AX, BX, CX, DX
2. Регистры указатели: SP, BP, IP
3. Индексные регистры: SI, DI
4. Сегменты регистры: CS, DS, SS, ES, GS, FS
5. Регистры управления: FLAGS
Режим long mode

В x86-64 архитектуре компьютера, длинный режим — это режим, в котором 64-битная операционная система может получить доступ к 64-битным инструкциям и регистры .

64-битные программы выполняются в подрежиме, называемом 64-битным режимом, тогда как 32-битные программы и 16-битные программы защищенного режима выполняются в подрежиме, называемом режимом совместимости.

Режим совместимости позволяет запускать 32- и 16-разрядные приложения под управлением 64-разрядной операционной системы. К сожалению, старые 16-разрядные программы, работающие в виртуальном реальном режиме (например, DOS), не поддерживаются, а значит, их выполнение невозможно.
Что такое флэш-память?

Флэш-память представляет собой тип энергонезависимой памяти, которая стирает данные в единицах, называемых блоками, и перезаписывает данные на уровне байтов.

Флэш-память используется в корпоративных центрах обработки данных, серверах, системах хранения данных и сетевых технологиях, а также в широком спектре бытовых устройств, включая USB-накопители, также известные как карты памяти, SD-карты, мобильные телефоны, цифровые камеры, планшетные компьютеры.

Например, твердотельные накопители на основе флэш-памяти NAND часто используются для повышения производительности приложений с интенсивным вводом-выводом. Флэш-память NOR часто используется для хранения управляющего кода, такого как базовая система ввода-вывода (BIOS), в ПК.

Флэш-память также используется для вычислений в памяти, чтобы повысить производительность и масштабируемость систем, которые управляют и анализируют большие наборы данных.
Режим реальных адресов (16 разрядов)

Real-address mode — режим работы процессоров архитектуры x86, при котором используется сегментная адресация памяти.

В реальном режиме виртуальный адрес ячейки памяти состоит из двух чисел:
⁃ сегментной части разрядностью 16 бит, по которой вычисляется физический адрес начала сегмента;
⁃ смещения разрядностью 16 бит ячейки памяти от начала сегмента.

Для вычисления физического или линейного адреса ячейки памяти процессор вычисляет физический адрес начала сегмента — умножает сегментную часть виртуального адреса на число 16, а затем складывает полученное число со смещением от начала сегмента:

сегментная часть × 16 + смещение

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

Когда мы начинаем изучать computer science, самое первое, с чем мы сталкиваемся — это понятие вычислительного процесса — абстрактное существо, которое находится в компьютерах.

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

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

На исправно работающем компьютере вычислительный процесс выполняет программы точно и безошибочно. Таким образом, программисты-новички должны научиться понимать и предсказывать последствия своих программ. Даже мелкие ошибки, под названием баги или глюки, могут привести к сложным и непредсказуемым последствиям.
Режим системного управления работой процессора

Режим системного управления предназначен для выполнения некоторых действий с возможностью их полной изоляции от прикладного программного обеспечения и даже операционной системы.

Переход в этот режим возможен только аппаратно. Когда процессор находится в режиме SMM (System Management Mode), он выставляет сигнал SMIACT#.

Этот сигнал может служить для включения выделенной области физической памяти (System Management RAM), так что память SMRAM можно сделать доступной только для этого режима.

Следует отметить, что в режиме SMM не предусмотрена работа с прерываниями и особыми случаями.

При возврате из SMM процессор восстанавливает свой контекст из SMRAM. Обработчик может программно внести изменения в образ контекста процессора, тогда процессор перейдет не в то состояние, в котором произошел переход в SMM.
Древнейший язык программирования
Лисп, или LISP
(LISt Processing language — «язык обработки списков»)— семейство языков программирования, программы и данные в которых представляются в виде списков.

Существует альтернативная расшифровка названия LISP: Lots of Irritating Superfluous Parentheses«Много раздражающих лишних скобок» (намёк на особенности синтаксиса языка).

Он является первым функциональным ЯП, получившим большую популярность. Создание его ядра приходится на 60-е годы предыдущего столетия – разработчиком стал ученый Дж. Маккарти.

Широкую известность Лисп получил в 70-80-е годы ХХ века. В то время он использовался в качестве базового языка для научной деятельности в сфере искусственного интеллекта.

С учетом того, что сфера ИИ всегда предполагала большие траты ресурсов, а мощности компьютеров 80-х годов, очевидно, уступали современным, создатели Lisp пытались извлечь из языка максимум эффективности.
Защищенный режим

Protected mode — основной режим работы микропроцессора. Ключевыми особенностями защищенного режима являются: виртуальное адресное пространство, защита и многозадачность.

В защищенном режиме программа оперирует адресами, которые могут относиться к физически отсутствующим ячейкам памяти, поэтому такое адресное пространство называется виртуальным.

Для адресации виртуального адресного пространства используется сегментированная модель, в которой адрес состоит из двух элементов:
⁃ селектора сегмента
⁃ смещения внутри сегмента.

С каждым сегментом связана особая структура, хранящая информацию о нем, - дескриптор.

Работа механизма формирования линейного адреса основана на двух специальных таблицах, размещаемых в памяти: глобальная таблица дескрипторов (GDT) и локальная таблица дескрипторов (LDT)
Уровни привилегий̆. (Уровни защиты)

Для того, чтобы прикладная программа пользователя не смогла разрушить систему, каждая группа программ выполняется на своем уровне привилегий.

Процессоры x86 поддерживают четыре уровня привилегий:
0 - ядро операционной системы;
1 - операционная система;
2 - системы программирования и базы данных;
3 - прикладные (пользовательские) программы.

Довольно часто встречается ситуация, когда необходимо передать управление между уровнями привилегий.

Такая ситуация возникает при необходимости вызова стандартной подпрограммы операционной системы из прикладной программы.

Поскольку защита по привилегиям не разрешает такие действия напрямую, это осуществляется двумя косвенными методами: с использованием сегментов подчиненного кода и шлюзов вызова.
Плюсы и минусы языка R

R — целая инфраструктура и специализированная среда для работы с данными.

Его плюсы:
⁃ Неограниченный набор функций для анализа данных — благодаря подключению библиотек.
⁃ Возможность работы с огромными таблицами и базами данных, которые не потянут программы.
⁃ Полностью бесплатная экосистема — компоненты распространяются бесплатно под лицензией GNU.
⁃ Доступен для большинства операционных систем.
⁃ Богатые возможности визуализации.

Минусы R — относительные:
⁃ Документация и большинство источников — только на английском языке.
⁃ Человеку без опыта программирования и знания основ статистики будет сложно.
⁃ Не подходит для разработки программ. Но в этом и его сила, тк он идеален для анализа данных.
Компоненты, из которых состоит система с интерфейсом SAS
Инициатор
Устройство, которое порождает запросы на обслуживание для целевых устройств и получает подтверждения по мере исполнения запросов

Целевые устройства
Содержит логические блоки и целевые порты, которые осуществляют прием запросов на обслуживание, исполняет их; после того, как закончена обработка запроса, инициатору запроса отсылается подтверждение выполнения запроса.

Подсистема доставки данных
Является частью системы ввода-вывода, которая осуществляет передачу данных между инициаторами и целевыми устройствами.

Расширители
Устройства, входящие в состав подсистемы доставки данных и позволяют облегчить передачи данных между устройствами SAS. Подключение через расширитель является абсолютно прозрачным для целевых устройств
Система хранения данных (СХД)
Комплексное программно-аппаратное решение по организации надёжного хранения информационных ресурсов и предоставления гарантированного доступа к ним.

Есть 3 основных типа хранения данных:

DAS — Direct-attached storage
Под DAS принято понимать непосредственно подключенные к вычислительной системе диски. Обычно как DAS квалифицируются варианты только непосредственного прямого подключения.

NAS — Network-attached storage
Это устройство, подключенное в локальную сеть и предоставляющее доступ к своим дискам по одному из протоколов «сетевых файловых систем», например CIFS для Windows-систем или NFS для UNIX/Linux-систем.

SAN — Storage area network
SAN-устройство, с точки зрения пользователя, является просто локальным диском. Обычные варианты протокола доступа к SAN-диску это протокол FibreChannel и iSCSI. Для использования SAN в компьютере должна быть установлена плата адаптера SAN, которая обычно называется HBA — Host Bus Adapter.