Author: Alan Tobagua

  • Некоторые документы из архива Эдварда Сноудена

    Некоторые документы из архива Эдварда Сноудена

    В одном документе из архива бывшего сотрудника Booz Allen Hamilton и подрядчика Агентства Национальной Безопасности США Эдварда Сноудена,  снабженном грифом «совершенно секретно», содержатся данные о сверхсекретном подразделении АНБ США под названием «Управление специализированным доступом» (Tailored Access Operations, TAO). Данная структура располагается в штаб-квартире АНБ в Форт-Мид, штат Мэриленд. Как следует из рассекреченных слайдов, в TAO есть специальные «ячейки», работающие по определенным «мишеням». В каждую ячейку входят операторы, аналитики и разработчики. Есть страновые ячейки: по России, Китаю и КНДР, а также по Ирану. А есть тематические: по борьбе с терроризмом и по контрразведке.

    Tailored Access Operations

    В еще двух сверхсекретных файлах говорится о подразделении АНБ под названием «Центр дистанционных операций». Девиз его сотрудников: «Ваша информация — это наша информация, ваше оборудование — это наше оборудование». Среди прочего хакеры из этого подразделения 24 часа в сутки отслеживают попытки других иностранных разведок взломать определенные «мишени», например, внутреннюю сеть ООН. Это позволяет АНБ изучать возможности своих коллег из других стран, и при этом нередко перехватывать ценную информацию, добытую соперниками.

    В другом документе из архива Эдварда Сноудена, снабженного грифом «совершенно секретно» рассказывается о том, как сотрудники одного из подразделений АНБ перехватывают посылки с купленными кем-то компьютерами для установки в них вредоносных программ. Перехват осуществляется в том случае, если техника куплена человеком или организацией, представляющими интерес для спецслужб США. Посылка перенаправляется в секретное место, где сотрудники АНБ ее вскрывают, внедряют в ее содержимое программные и аппаратные средства контроля и управления, а затем аккуратно запаковывают и отправляют адресату. Как следует из документа, подобные операции позволяют спецслужбам США получать доступ к самым труднодоступным «мишеням». В частности, таким образом американцам удалось взломать Сирийское телекоммуникационное агентство. Согласно документам из архива Сноудена АНБ размещало шпионское программное обеспечение на компьютерах, жёстких дисках, маршрутизаторах и других устройствах таких компаний, как Cisco Systems, Dell, Western Digital, Seagate, Maxtor, Samsung и Huawei.

    Еще в одном документе из архивов Эдварда Сноудена, также снабженного грифом «совершенно секретно» рассказывается о том, как партнеры АНБ из британского Центра правительственной связи (GCHQ) следят за владельцами iPhone. Как следует из презентации, у каждого iPhone есть уникальный 40-значный идентификационный номер (UDID). Узнать UDID определенного человека GCHQ может разными способами, легче всего — если за телефон заплатили кредитной картой. Узнав желанный UDID, сотрудники GCHQ могут выяснить, какие приложения установлены на конкретном аппарате, а далее, используя имеющиеся в них уязвимости, получить доступ к хранящейся в телефоне информации. Ранее Эдвард Сноуден рассказывал, что сотрудники АНБ также используют уязвимости в самом iPhone, чтобы следить за владельцами мобильных устройств, причем, по его словам, это можно делать, даже если телефон выключен.

  • Транспортный уровень модели OSI или как осуществляется передача по TCP/IP

    Транспортный уровень модели OSI или как осуществляется передача по TCP/IP

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

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

    Наверное, многие из вас слышали такие слова как SYN-FLOODING или IP-SPOOFING. Все это разновидности атак – первая D.O.S. (атака на вывод из строя ресурса сети интернет), вторая состоит в подмене IP-адреса. На первый взгляд между этими примерами нет ничего общего, но между тем, это не так – обе эти атаки не возможны без знания протокола TCP, протокола на котором построена сеть Интернет.

    Спецификация протокола TCP описана в RFC793. Рекомендую тебе ознакомится с этим документом, потому как хоть я и постараюсь повести до тебя самое важное, снабдив это важное соответствующими комментариями, которых ты не найдешь в мануале, но все же из-за малого объема и практического угла зрения, могу и упустить некоторые тонкости.

    Начнём

    Данные в сети, передаются в виде пакетов. Такая организация передачи означает, что данные, какого размера они ни были, разбиваются на отдельные фрагменты, которые формируются в пакеты (формирование пакетов предполагает, что к данным прибавляется служебный заголовок), после чего в виде пакетов данные передаются по сети (причем порядок передачи пактов может нарушаться). Принимающая система “собирает” из пакетов исходный массив данных на основании заголовков пакетов. Это не очень понятно, но только до тех пор, пока не рассмотрим структуру пакетов.

    Структура TCP-пакета:

    Структура TCP-пакета

    Поясню только самые важные места:

    Адрес получателя, порт получателя и адрес отправителя, порт отправителя – это надеюсь понятно.

    Sequence Number (SYN) – номер очереди или последовательный номер, показывает порядковый номер пакета при передаче, именно поэтому принимающая система собирает пакеты именно так, как надо, а не в том порядке, как они пришли.

    Acknowledgment Number (ACK) – номер подтверждения, показывает, на пакет с каким SYN отвечает удаленная система, таким образом мы имеем представление, что удаленная система получила наш пакет с данным SYN.

    Контрольные биты- 6 бит (на схеме между reversed и window). Значения битов:

    URG: поле срочного указателя задействовано
    ACK: поле подтверждения задействовано
    PSH: функция проталкивания
    RST: перезагрузка данного соединения
    SYN: синхронизация номеров очереди
    FIN: нет больше данных для передачи

    DATA – это непосредственно те данные, которые мы хотим передать.

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

    Когда мы хотим установить соединение, мы отправляем удаленной системе пакет следующей структуры:

    Client — SYN (856779) — Host

    Где Client- это мы, a Host – это удаленная система. Как ты видишь, мы посылаем пакет лишь с указанием SYN – это значит, что этот пакет первый, мы ни на что не отвечаем (отсутствует ACK). Данный пакет выглядит примерно так:

    20 53 52 43 00 00 44 45 53 54 00 00 08 00 45 00 00 2C C3 00 40 00 20 06 10 0C CB 5E FD BA CB 5E F3 47 04 07 00 17 00 0D 12 CB 00 00 00 00 60 02 20 00 D9 70 00 00 02 04 05 B4 2D

    Интересный момент в том, откуда берется SYN. SYN образуется от первоначального номера очереди (ISN) – это 32-битный номер от 1 до 4294967295 (2 в 32-ой степени). ISN при перезагрузке системы равен 1, затем каждую секунду он увеличивается на 128000 (строго говоря изменение происходит каждые 4 микросекунды) + при каждом установленном соединении он увеличивается на 64000. Получается, что цикл уникальности ISN, при условии того, что никакие соединения не устанавливались, составляет примерно 4,55 часа. Поскольку ни один пакет так долго по сети не путешествует, мы можем полагать, что SYN будет абсолютно уникальным.

    Получив наш пакет, удаленная система отвечает, что получила и готова установить соединение. Данные пакет выглядит так:

    Host — SYN (758684758) и ACK (856780) — Client

    Как видишь, удаленная система дает понять, что получила наш пакет. Для этого она посылает нам ACK с номером “наш SYN+1”. В добавок к этому удаленная система посылает нам свой SYN (мы же тоже будем отвечать). А ответ наш будет такой:

    Client — SYN (856780) и ACK (758684759) — Host

    Думаю тебе уже должно быть все понятно. Если кто не понял, то пакет означает следующее: ваш пакет с SYN (758684758) получен, соединение установлено, наш SYN равен 856780.

    Эту процедуру называют “троекратным подтверждением” или “троекратным рукопожатием”. Первые два этапа необходимы для синхронизации SYN наших систем, а третий – подтверждение того, что синхронизация произошла.

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

    Само соединение нам больше не нужно, можно его и закрыть. Этот этап снова будет состоять из нескольких стадий – надеюсь ты уже в состоянии сам прочитать эти пакеты.

    Client — FIN(4894376) и ACK (1896955378) — Host

    Host — ACK (4894377) — Client

    Host — FIN (1896955378) и ACK (4894377) — Client

    Client — ACK (1896955378) — Host

    Думаю, ничего сложного здесь нет. Единственное, что стоит отметить – это флаг FIN, который означает желание завершить соединение.

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

    Передача одного FIN Пакета = +1
    Передача одного SYN Пакета = +1
    Передача одного ACK Пакета = 0
    Передача одного SYN/ACK Пакета = +1
    Передача одного FIN/ACK Пакета = +1
    Изменение за 1 секунду = +128,000
    Установление одного соединения = +64,000

    Возможно, кто-то спросит: “А что будет, если машин получит пакет с таким ACK, которого не было?” (SYN=ACK-1, а пакет с таким SYN мы не посылали). Получив ответ непонятно на что, мы в свою очередь ответим удаленной системе NACK-пакетом (означает “не знаю о чем ты”, никакого соединения не устанавливается), но, надеюсь, более подробно мы поговорим с тобой об этом в следующий раз.

  • Система мониторинга ONION-доменов tor

    Система мониторинга ONION-доменов tor

    Каждый резидент сети может предоставить свои вычислительные ресурсы для организации Node-сервера – узлового элемента сети, который выполняет функцию посредника в информационном обмене клиента сети. 
    Существует два типа узлов сети tor: промежуточные и выходные (так называемые exit node). Последние являются крайним звеном в операции расшифровки трафика, а значит, представляют собой конечную точку, которая может стать каналом утечки конфиденциальной или просто интересной информации.
    перехват трафика через tor exit node

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

    Однако, решение задачи агрегации актуальных сайтов лежит на поверхности и за ним далеко ходить не потребуется. Для того, чтобы составить список недавно посещённых onion-ресурсов, просто нужно отследить факт обращения к ним. Как ты уже наверное заметил, exit node является конечной точкой на пути следования зашифрованного трафика, а значит, ты можешь свободно перехватывать пакеты HTTP/HTTPS-соединений Tor-пльзователя, который занимается серфиногом в “традиционном вебе”.

    Известно, что HTTP-пакет может содержать информацию о посещённых ранее ресурсах. Данные находятся в заголовке запроса Referer, который может содержать URL источника запроса. В “традиционном вебе” данная информация помогает веб-мастерам определить, по каким запросам в поисковых системах и с каких сайтов переходят пользователи контролируемого веб-узла.

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

    Слив данных из сети onion tor

      

  • Ростелеком перешёл на безвозмездное теплоснабжение жителей пос. Восточный

    Ростелеком перешёл на безвозмездное теплоснабжение жителей пос. Восточный

    Как стало известно, ОАО «Ростелеком» исполнило предписание, выданное Самарским УФАС России.

    Напомним, 3 сентября 2014 года ОАО «Ростелеком» было признано нарушившим ч. 1 ст. 10 ФЗ «О защите конкуренции». Поводом для возбуждения дела послужило обращение бывшего сотрудника этой компании, согласно которому ОАО «Ростелеком» взимало плату за снабжение тепловой энергией жителей многоквартирных домов, расположенных по адресу: Самарская область, с. Красный Яр, п. Восточный, в отсутствие утвержденного тарифа.

    Рыженков Игорь - директор Самарского филиала ПАО «Ростелеком»

    Комиссия Самарского УФАС установила, что между ОАО «Ростелеком» и жителями многоквартирных домов п. Восточный были заключены договоры на снабжение тепловой энергией. Согласно части 9 статьи 15 ФЗ «О теплоснабжении» оплата тепловой энергии (мощности) и (или) теплоносителя осуществляется в соответствии с тарифами, установленными органом регулирования.

    Однако ОАО «Ростелеком» не обращалось в уполномоченный орган с заявлением на установление тарифов для оказания услуг по теплоснабжению на территории пос. Восточный. Таким образом, ОАО «Ростелеком» взимало плату за оказание услуг по теплоснабжению тепловой энергией указанных потребителей в отсутствие утвержденного тарифа.

    В соответствии с частью 1 статьи 10 ФЗ «О защите конкуренции» запрещаются действия (бездействие) занимающего доминирующее положение хозяйствующего субъекта, результатом которых являются или могут являться недопущение, ограничение, устранение конкуренции и (или) ущемление интересов других лиц.

    По результатам рассмотрения дела 3 сентября 2014 года Комиссия Самарского УФАС России признала Открытое Акционерное Общество «Ростелеком» нарушившим антимонопольное законодательство, выдала предписание о прекращении нарушения, а именно обратиться в адрес уполномоченного органа исполнительной власти в области государственного регулирования тарифов в сфере теплоснабжения с предложением об установлении цен (тарифов) на оказание услуг по теплоснабжению и не применять тариф, не установленный органом исполнительной власти.

    Другим уполномоченным органом в области регулирования тарифов на Общество был наложен штраф в размере 100.000 рулей, который ОАО «Ростелеком» поспешил оспорить в Арбитражном суде. На сегодняшний день Общество исполнило предписание антимонопольного Управления в полном объеме, прекратив взимать плату за услуги теплоснабжения с жителей пос. Восточный, предоставив в этот отопительный сезон услуги теплоснабжения даром.

    Будет ли согласовывать ПАО «Ростелеком» тариф на теплоснабжение с ФСТ России или продолжит оказание услуг безвозмездно – до сих пор непонятно.