Обновить
110
0
Алексей Бойко@Alex_BBB

Инженер

Отправить сообщение

Office 365. Пример работы с Microsoft Graph API в Angular5 с помощью ADAL JS. ADAL JS vs MSAL JS

Время на прочтение5 мин
Охват и читатели4.7K
В прошлый раз мы обсудили механизм авторизации для работы с Office 365 API (в частности с Microsoft Graph API):

  • при каждом вызове API нужно передать token. Token имеет ограниченный срок жизни
  • token выдает сервис Microsoft, так называемый “Azure AD Authorization Endpoint”
  • получить token можно без серверной части используя только JavaScript в браузере. Для этого Microsoft сделал JavaScript библиотеку ADAL JS, которая упрощает коммуникацию с “Azure AD Authorization Endpoint” для получения token.

Тогда мы сделали простую статичную HTML-страницу, на которой наш vanilla JavaScript делал запрос к Microsoft Graph API и отображал список писем из Office 365. В данной заметке разовьем пример и сделаем тоже самое на Angular5.

angular5 office 365 adal js

Также поговорим о различиях рабочих (Work or school account) и персональных (Personal Account) аккаунтов при использовании Office 365 API.

Пример на GitHub.
Читать дальше →

Принцип работы потокового шифра с примерами на C#. От Одноразового блокнота до потокового шифра на основе хеш-ф-и и CTR

Время на прочтение7 мин
Охват и читатели25K
По ходу статьи, развивая идею «Одноразового блокнота», «изобретем» потоковый шифр на основе хеш-функции. Узнаем, что такое Counter Mode Encryption CTR.

Знание терминов «хеш-функция» и «Одноразовый блокнот» для чтения не обязательно.

Одноразовый блокнот


В «Одноразовом блокноте» шифротекст получается путем наложения ключа на открытый текст. Наложение можно сделать, например, с помощью побитового XOR: каждый бит открытого текста XOR-ится с соответствующим (таким же по порядку) битом ключа.

Каждый бит открытого текста XOR-ится с таким же по порядку битом ключа

Рис 1. Каждый бит открытого текста XOR-ится с таким же по порядку битом ключа
Читать дальше →

Office 365. Разработка web-приложения. Авторизация ADAL JS, новый Microsoft Graph API

Время на прочтение5 мин
Охват и читатели8.2K
office-365-app-launcher В данной статье сделаем введение в разработку web-приложений для Office 365:
— регистрация приложения в корпоративном Azure
— авторизация пользователей
— получение данных из сервисов Office 365

Основная цель: научиться делать приложения Office 365 которые можно продавать в магазине Microsoft AppSource Marketplace.

Для примера сделаем минималистичное Single Page web-приложение на JavaScript, отображающее список писем. Без Angular, TypeScript, без сборщиков, без командных строк и без серверного кода.
Читать дальше →

Внедрение зависимостей в .Net Марка Симана 3 — Сквозные аспекты приложения, перехват, декоратор

Время на прочтение4 мин
Охват и читатели4.2K
Зависимости между слоями приложения | Внедрение конструктора, время жизни | Сквозные аспекты приложения, перехват, декоратор

В двух предыдущих заметках мы рассмотрели основные части веб-приложения. У нас есть объект реализующий бизнес логику – MyService. Есть IRepository, отвечающий за взаимодействие с БД. Не хватает ролевой модели и логирования.

Декоратор


Есть мнение, что в MVC веб-приложениях проверку прав удобно делать прямо в начале метода контроллера. Например:

[HttpPost]
public void DeleteProduct(int id) 
{
    if (!Thread.CurrentPrincipal.IsInRole("ProducManager")
        throw new UnauthorizedAccessException();

    this.MyService.DeleteProduct(id);
}

Листинг 1. Проверка прав в методе контроллера

Читать дальше →

Внедрение зависимостей в .Net Марка Симана 2 — Внедрение конструктора, время жизни

Время на прочтение3 мин
Охват и читатели7.7K
Зависимости между слоями приложения | Внедрение конструктора, время жизни | Сквозные аспекты приложения, перехват, декоратор

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

Агрегация, внедрение конструктора


Объекты/классы системы, как и слои, взаимодействуют друг с другом. Между классами тоже есть зависимости.

Например, в листинге 1 MyService использует MyDataContext (EF) – имеет зависимость MyDataContext.

class MyService
{
    public void DoSomething()
    { 
        using(var dbCtx = new MyDataContext())
        {
            // используем dbCtx
        }
    }
}

Листинг 1. Сильная зависимость MyService от MyDataContext

Читать дальше →

Внедрение зависимостей в .Net Марка Симана 1 — Зависимости между слоями приложения

Время на прочтение4 мин
Охват и читатели13K
Зависимости между слоями приложения | Внедрение конструктора, время жизни | Сквозные аспекты приложения, перехват, декоратор

Внедрение зависимостей в .Net Марка СиманаПринципы разработки программ, названные «Внедрением зависимостей» (ВЗ) тема не новая, но от этого не менее интересная и полезная. Даже если вы не знаете, что такое «Контейнер внедрения зависимостей», возможно вы уже используете ВЗ. Работаете с Angular? — вы в теме. В любом случае, игнорировать эту концепцию и оставаться конкурентоспособным разработчиком невозможно.

Поговорим о замечательной книге Марка Симана. Данная заметка не претендует на полноту, не является кратким изложением и никак не может заменить труд Марка. Зато, надеюсь, мотивирует на прочтение 379 страниц (всего в книге 463 страницы), покажет интересные приемы из арсенала автора. И, конечно, поможет поддержать беседу с коллегами у кулера с водой.
Читать дальше →

Анонимные сети и timing атаки: принципы построения безопасных систем (заключение)

Время на прочтение3 мин
Охват и читатели2.6K
Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

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

Исходя из результатов исследования, мы сделали следующие выводы.
Читать дальше →

Анонимные сети и timing атаки: малозатратная атака на Tarzan и Morphmix

Время на прочтение5 мин
Охват и читатели1.7K
Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

Для проверки на Tarzan и MorphMix мы взяли ту же модель атаки которая использовалась в Tor. Нападающему нужно две вещи: вредоносный узел и вредоносный сервер. В качестве вредоносного узла в обоих сетях (Tarzan и MorphMix) будет выступать отправитель. В терминологии Tarzan он называется Tarzan-клиент, в MorphMix — узел-инициатор.

Далее, вредоносный узел должен получить список всех других узлов сети. Затем, он устанавливает соединение с каждым из них и отслеживает возникающие в соединениях задержки. Наблюдение должно вестись некоторое время. На протяжении всего периода наблюдения вредоносный сервер не прекращая шлет свой трафик в систему. По окончанию периода наблюдения, результаты замеров задержек в каждом соединении используются для оценки объемов трафиков соответствующих узлов. Затем нагрузки узлов сравниваются с трафиком сервера. Если выявляются совпадения значит узел входит в анонимизирующую цепочку. Проведя сравнение для всех узлов можно выявить всю цепочку.
Читать дальше →

Анонимные сети и timing атаки: Малозатратная атака

Время на прочтение4 мин
Охват и читатели4.5K
Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

В этом разделе мы рассмотрим Малозатратную атаку (Low cost attack)8 на Tor, описанную в (Murdoch & Danezis 2005). Термин Малозатратная атака означает что для успеха нападающему достаточно иметь возможность наблюдать только за частью сети, например быть одним из Tor-узлов. Мёрдоч и Данезис показали уязвимость Tor для некоторого варианта timing-атаки, не выходящей за рамки модели угроз. Они опровергли утверждение о то, что анонимность в Tor не может быть нарушена без помощи глобального пассивного наблюдателя.
Читать дальше →

Анонимные сети и timing атаки: Tarzan и MorphMix

Время на прочтение5 мин
Охват и читатели2.7K
Введение | Tor | Tarzan и MorphMix| Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

Tarzan


Tarzan — это еще одна анонимизирующая система с малыми задержками. Она тоже базируется на идеях Чаума и, как и другие, создана для обеспечения анонимности при использовании веб-приложений и мессенджеров. В отличии от Tor, Tarzan основан на peer-to-peer архитектуре. Каждый Tarzan-узел может быть как клиентом так и передаточным узлом. Благодаря этому устраняются timing-атаки анализа трафика между входными и выходными узлами. Ведь, в любой момент кто угодно может присоединиться или выйти из сети, и любой узел может быть потенциальным инициатором потока (клиентом). Для распространения информации об имеющихся в сети узлах используется протокол основанный на механизме сплетен (gossip-based mechanism) похожий на описанный в работе (Harchol-Balter, Leighton & Lewin 1999). Из-за особенностей peer-to-peer архитектуры, нападающий может изобразить из себя столько Tarzan-узлов сколько захочет. Поэтому, в Tarzan предусмотрен механизм для уменьшения вероятности выбора вредоносного узла. Механизм предполагает категоризирование узлов на основе хешей их IP адресов.
Читать дальше →

Начинающим авторам

Время на прочтение2 мин
Охват и читатели907
Закончился конкурс статей проводимый RSDN и MSDN. К сожалению мой материал занял только 5 место. Но зато в какой большой коробке, курьером прямо домой был доставлен авторский номер журнала и поощрительный приз. Приятно.

Предлагаю начинающим (таким как я) и популярным авторам поделиться своим опытом.

Самое главное — время на написание статей окупается. Авторские гонорары маленькие (около 4 тыс за статью), на них особенно не рассчитывайте. Но так или иначе, вы свое возьмете. Например, уже второе место работы я получаю благодаря писательству: предыдущий начальник читал мою статью в "Системном администраторе", с текущим я познакомился за счет получения приглашения на хабр за свой перевод.
Читать дальше →

Анонимные сети и timing атаки: Tor

Время на прочтение4 мин
Охват и читатели24K
Введение | Tor | Tarzan и MorphMix| Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

Представляю вашему вниманию вторую часть перевода замечательной статьи Принципы построения анонимизирующих систем с малыми задержками противостоящих timing-атакам. Эта глава целиком посвящена самой популярной на текущий момент анонимизирущей сети Tor.

Не поленитесь прочитать введение.
Читать дальше →

Анонимные сети и timing атаки: Введение

Время на прочтение6 мин
Охват и читатели8.6K
Введение | Tor | Tarzan и MorphMix | Малозатратная атака | Малозатратная атака на Tarzan и Morphmix | Принципы построения безопасных систем (заключение)

Представляю вашему вниманию часть статьи признанных исследователей в области информационной безопасности, переводом которой мы (участники "openPGP в России") сейчас занимаемся. Среди авторов Willy Susilo (Co-Director, Centre for Computer and Information Security Research).

Приведенное ниже "Введение" из статьи "Принципы построения анонимизирующих систем с малыми задержками противостоящих timing-атакам" адресовано всем интересующимся сетевой анонимностью. Авторы доступным языком раскрывают основы анонимизаторов и возможных на них атак, с упором на самому популярную в настоящий момент анонимизирующую сеть "Tor".
Читать дальше →
2

Информация

В рейтинге
Не участвует
Откуда
Москва и Московская обл., Россия
Зарегистрирован
Активность