Китайские закладки: непридуманная история о виртуализации, безопасности и шпионах

Чтобы отправить комментарий — войдите.
  • russlan
    29 янв 14
    Просто Джонатан Ливингстон какой-то)
    Ответить
  • kekoza
    29 янв 14
    почему-то в голову пришла мысль о наших "любимых" смартфонах. Уже 8 ядер! Угадай, в каком из них заклада? ))
    Ответить
  • Edelveyz
    29 янв 14
    "...И на будущее, не путайте "предательство" с "некомпетентностью"..." практически (т.е. основываясь на жизненной практике) это Одно и То Же.
    Можно сказать — аксиома.
    Товарищ столкнулся в своей жизни с аппаратными закладками, что прояснило ему новый уровень бытия ))). А товарищ знает, что так же актуальны аппаратные закладки, которые рождены отковенно в железе и никакими программными регистрами не пользуются? ))
    Ответить
    • hugobosss
      Вероятно, догадывается. На входе-выходе аппарата, при желании, компетенции и соответсвующих технических возможностях, проблему в общем можно отдиагностировать; а дальше ковырять: железо это или программный софтовый код.
      Ответить
      • Edelveyz
        Можно. Но не нужно. Нужны свои вычислительные элементы и ВСЁ, что с ними связано. Покупать у хакера антивирусную программу и внушать себе, что она полностью безопасна. ))) Смысл где?
        Ответить
        • smprofi
          ну МЭП то почил в бозе...
          может кто-то и сможет сварганить модель устройства, разработать схемотехнику — это не очень сложно/трудоемко (ну относительно). ну а вот работать "с кремнием" уж точно не складывается
          Ответить
  • paca2s
    29 янв 14
    Понял не всё, но суть уловил. Спасибо, очень хорошая статья.
    Ответить
  • Dont_Knowler
    29 янв 14
    Очень интересно, благодарю. Характерна реакция спецслужб — им приказали сверху "не общаться". Повод задуматься, за кого играют те, кто у нас "сверху".
    Ответить
    • Edelveyz
      Реакция в данном случае верная.
      Ответить
    • A
      Ну вот к примеру, что бы ты стал делать если бы к тебе набивался какой-то псих который утверждал бы что точно видел инопланетян? Вот и дали команду не тратить время на какого-то психа.(вероятно, так он и выглядит со стороны тех людей)
      А может всё очень банально... ему дают тонкий намёк "не мути воду" а он его банально не понимает.
      Ответить
  • smprofi
    29 янв 14
    честно говоря статья вызвало двоякое чувство...
    1. то, что backdoor (или по армейской терминологии "полицейская функция") существует в аппаратуре определенного уровня — известный факт. всеми любимая Cisco или Nortel Networks (бывшая Nortel Telecom) "грешат" в своих продуктах.
    2. можно ли выявить закладку просто изучив datasheet и приложив мозги? очень сильно сомневаюсь. кто сие делает крепко думал прежде чем сотворить подобное. и тем более не документирует даже намек.
    а теперь поехали по самой статье.
    статья написана профессионалом. профессионалом "от пера", но не программером.
    занятно выглядитПриходилось разбираться буквально с каждой ассемблерной командой, а сами команды для аппаратуры виртуализацииписать в машинных кодах, поскольку тогда не существовало компиляторов с поддержкой команд виртуализации.э... процессор — есть, ASM — есть, а компилятора — нет?! тогда что есть такое "машинный код"? и как гениальный программер его вставляет в программу мимо компилятора? правит после компилятора HEX? крутизна необыкновенная, но сильно отдает художественным свистом.
    далее. имеем Здесь когда-то было изображение., на котором существуют термины на английском языке VMON, VMLAUNCH и VMRESUME. логично для программера. а дальше Здесь когда-то было изображение. и Здесь когда-то было изображение. и тут почему то вспоминается собеседование с "программистом":
    — Какой язык Вы используете при программировании?
    — Русский!
    ну и дальше уверенно развивается мысль о глупости служак из ФСБ и службы безопасности "Газпрома".
    в общем... при наличии проблемы, реальной (и не надо рассказывать сказки о плохих хунхузах и белых и пушистых гринго!) сама статья вызвала чувство, что это чистой воды фейк.
    но постеру, за труд, все равно спасибо.
    Ответить
    • Edelveyz
      ...правит после компилятора HEX? крутизна необыкновенная, но сильно отдает художественным свистом...
      Вполне себе. Он же написал, что разбирался с БИТОВЫМИ полями.
      Ответить
    • Edelveyz
      "...и тут почему то вспоминается собеседование с "программистом":..."
      Эти прожки писались для демонстрации, поэтому вполне логично.
      Ответить
      • smprofi
        Edelveyz, можно согласиться со всеми твоими замечаниями/объяснениями. все логично.
        но, все-таки, я останусь при своем мнении о статье и авторе.
        тем более что громко приведенная фраза•Secured mechanism for loadable Regulated FWпросто может быть переведено как:
        Обеспечивает механизм загрузки управляющего (регламентирующего) программного обеспечения.
        и к криптографии не иметь аж никакого отношения (что скорее всего и есть).
        опять же простой программер и криптография — это вещи из разных песочников. (даже криптография и дешифровка — абсолютно разные вещи. и спецы разные.)
        Ответить
        • Edelveyz
          В данном случае действительно имеется в виду ВВ (ввод/вывод), но... эти операции осуществляет кусок кремния, обрабатывающий условия. Вот он и есть этот "Secured". Анализируя команды в процессе, данный логический механизм банально отлавливает КОД ЗАПРЕТА на запись в данную область памяти и тут уже полный так называемый пипец )), т.е. полная невозможность что либо прописать заново.
          Если вспомнить про программатор, то он подойдёт только для чипов для которых есть физический интерфейс типа НОЖКА. А если нет и данный чип именно тот самый кусок кремния прошиваемый однократно и толко на заводе? Хотя это уже другая история.
          Ответить
      • F
        прожка "Енот", например ...
        Ответить
    • Edelveyz
      ...ну и дальше уверенно развивается мысль о глупости служак из ФСБ...
      Там о глупости ни слова, что правильно, а вот о пофигизме и банальной лени сколько угодно.
      Ответить
    • M
      smprofi 29 янв 14
      Приблизительно это же хотел написать :) +100500
      Ответить
    • moiomo
      smprofi 29 янв 14
      Ну я работал и с ассемблером и в машинных кодах. Правда, очень немного и "на заре" — в 90-х годах. Уже не помню что за старый комп был. Писал для него программу управления производственной линией. Одна команда не пошла. По документации есть, а реально выполняется белиберда. Нашел ошибку компилятора ассемблера. И очень удивился, что на мусорный код, система отреагировала вполне читаемым небольшим пакетом. Оказывается, компилятор, совершенно случайно, вставил в команду адрес входа в закрытую область памяти. А защищенного режима тогда еще не было. Ну я, по этому адресу, отбомбил всю теневую память. Толку мне от этого не было, так как я совсем не крутой, и даже не специалист совсем. Но случай показательный — в системе есть "что-то", что ни в каких документах не отражено.
      Ну, а потом ИНТЕЛ придумала "защищенный режим", якобы для нашего удобства. Но кто бы сомневался в том, что свои удобства и удобства своих "органов" они ставят выше моих!
      И я инженер, и вижу, что этот защищенный режим, ни от каких вирусов, ошибок и прочего, не защищает! Зато, судя по этой статье, неплохо защищает программный код от обнаружения.
      Вот будет прикол, когда в один час ИКС, вдруг обнулятся все банковские кошельки и базы данных банков, еще не перенесенные на долговременные накопители. Не удивлюсь!
      Мне только интересно, кто у нас так сильно "заинтересован" в отмене наличных денег и полном переходе на электронные деньги.
      ---
      Что касается "Газпрома" (кавычки видите?, значит, употреблено в нарицательном смысле и касается и других подобных структур), то работал мой друг системным админом месяц в подобной организации. В первые же дни наткнулся на огромное скопище "резвящихся" вирусов (а организация серьезная и от интернета принципиально отключена). Долго копался. Много удалил. Доложил начальству. А начальству пофигу — "Ты там работаешь, тебе и разбираться". Найти "дыру", откуда вирусы поступают не успел — на праздники начальство напилось, а система отказала именно в этот день (или её "отказали"?, для "проверки работоспособности дистанционно отключить"?), тут из Москвы стали названивать (у вас сбои, почему?, когда сделаете?), пьяное начальство разгневалось и слушать ничего не стало! Уволили!
      Ответить
      • H
        защищенный режим придумала не интел.
        режим пользователя и режим ядра был еще на PDP-11.
        причем мне вспоминается, что там под это дело в PSW было зарезирвировано два бита, т.е. возможно было реализовать 4 уровня. Реально видел только два: 00 (kernel) и 11 (user). Что использовалось в многозадачных и многопользовательских системах, например RSX-11.
        Ответить
      • Edelveyz
        moiomo 29 янв 14
        "...Мне только интересно, кто у нас так сильно "заинтересован" в отмене наличных денег и полном переходе на электронные деньги...."
        Вы до сих пор не знаете!? Те же, кто переименовал милицию в полицию, изменил последовательность записи числа, месяца, и года в государственных документах на обратную в соответствии с западным образцом, кто надоумил полудурка Медведева-Менделя сгладить разницу по территориям даже при помощи изменения колличества часовых поясов.
        Это те же, для кого понятийное и законодательное пространство всех стран должно быть единым. Валюта единая. А уж местечковые правительства могли бы быть просто декоративными объектами.
        Ответить
        • genkon88
          что опять массоны и жыды??? — они по всюду, в них течет кровь ящера из космоса, так?
          Ответить
          • karazhekov
            Хотите сказать люди не думают о будущем с которым связаны вопросы единого контроля ресурсов, энергии, загрязнения, просто выживания?
            Ответить
            • genkon88
              думают о себе, но вряд ли можно контролировать будущее и так глобально, во всех теорих заговора прямо общее место — это тезис о гениальности контролирующих прямо наделение их всемогуществом и сведение себя нароль пешки в чьих то руках.
              Ответить
              • Edelveyz
                Вам-то в пиздраиле виднее. Куда уж нам, гоям, рассуждать о ваших сговорах.
                Ответить
                • genkon88
                  с Масквы я, ты кто такой — гой, может букву попутал типа модный гей, как себя пидорки кличут...тогда иди очко дилдо тереби, зачем сюда пришел гомосек и компутер не поможет если очко -всему голова.
                  Ответить
                  • Edelveyz
                    Да вас, пархатых пидарасов, и в Кремле битком.Всё уничтожили, уроды крысорылые. Государство уничтожили полностью — производства, науку, людей. И вы, суки, ещё имеете наглость нас поучать? Заткнитесь, нах., в тряпочку, ушлёпки мерзские.
                    Ответить
                    • genkon88
                      красномордый дедок, что ли? пробухал пол-век, а потом черти и круги перед глазами и во всем жыды пархатые виноваты, иди проспись чудо-юдо. Работал бы лучше и жил бы лучше, жыды тебе в глотку пойло козлиное и тормозную жидкость вливали , да? ты сам то кто, козлодоев, что постороннего человека с говном мажешь, совесть у тебя есть? Да у меня два деда до Берлина дошли и русские, а ты кто сам то? чмошник тупорылый...
                      Ответить
                      • Edelveyz
                        Чудо-Юдо это Ты. Без вариантов. И когда вы уже все свалите в свой пиздраиль отсюда встречать своего мошиаха? Скорее бы уже, муделя вы жидовские.
                        Ответить
                        • genkon88
                          иди проспись, дед, всюду жыды мерещатся, водовки клюкнуть не забуть, без этого вам быдло босякам никак низя, а потом работать на 2 копейки на барина жыда, кто ж виноват, что анус приспособили подставлять пархатым.
                          Ответить
    • H
      > тогда что есть такое "машинный код"?
      В даташите на проц есть список его команд, например abc, но компилятор ассемблера (или си) еще не поддерживает эту команду, поэтому в тексте программы вместо мнемоники будет ее шестнадцатиричный код, т.е маш.код.
      В принципе, при желании и наличии хорошего макроассемблера можно написать макросы для неподдерживаемых еще команд, которые будут сами высчитывать нужные значения, особенно если команда многобайтовая и с параметрами, но, по-моему, хорошие макроассеблеры остались в прошлом веке, а у современных набор доступных операторов весьма куций, ибо сейчас единицы пишут на асме, большинство — на сях или иных высокоуровневых языках и в асме не нуждаются, в крайнем случае обходятся минимальными ассемблерными вставками для доступа к регистрам.
      Ответить
      • smprofi
        ну, если hex представление команды считать машинным кодом, то тогда можно согласиться. хотя в добрые старые времена мухи были отдельно, а котлеты — отдельно. потому я и обратил внимание.
        только возникает вопрос: а как тогда "обозвать" binary представление? т.е. "реальные" 0 и 1? (приходилось в свое время "в штыковую" ходить на железо с индикацией на пульте отладки "0" — светодиод не горит, "1" — светодиод горит. ну а дальше в уме переводишь в hex и сверяешься с листингом)
        Ответить
        • H
          машкод != мнемоника. :)
          а hex, octal или binary — это уже вторично, поскольку это уже машкод, а не мнемоника.
          Я, например, кодил в пультовом отладчике ДВК восьмиричными шестнадцатибитными словами. Можно было дернуть пульт, подправить код/данные и стартануть с места остановки. Очень удобно, поскольку в командах поля в большинстве случаев делились кратно 3 битам, т.е. одной восьмиричной цифре.
          например: 012402
          0 — слово
          1 — пересылка ( MOV )
          2 — источник: косвенная с инкрементом
          4 — R4
          0 — приемнник: непосредственно регистр
          2 — R2
          в итоге получаем mov (r4)+,r2
          :)
          Ответить
          • smprofi
            ладно. оставим сей теоретически-терминологический спор в стороне.
            давно я эти "пасочки" в руках не держал, больше 20 лет. могу чего-нибудь и напутать...
            но в статье не все чисто.
            т.е. идеологически — да, все правильно.
            но для убедительности накручено без меры.
            Ответить
    • A
      Править HEX после компилятора — дело неблагодарное, все переходы сразу же "поедут". Для того чтобы вставить произвольную машинную команду, мнемоника которой неизвестна компилятору достаточно воспользоваться директивой DB или DW чтобы вставить двоичные коды непосредственно в программу, хоть компилятор таких машинных кодов не знает он их рассматривать будет как двоичные данные, а реальный процессор просто выполнит.
      Ответить
    • E
      smprofi 29 янв 14
      Процессор есть, ASM есть. А компилятор не умеет компилировать. Да, такое тоже бывает. В этом случае приходится в ассемблерный код вставлять команды в 16-ричном виде.
      Но почему ни кто не обратил внимания на "Сама команда для простоты реализации была зашита в текстовый файл DOC-формата в тегах настройки.". Для тех кто не в курсе *.doc это пропиетарный формат без четкого описания структуры. Докучи он имеет много версий и он бинарный. Т.е. просто анализируя поток данных не получишь осмысленной команды.
      Т.е. выглядит так что автору эту историю рассказали, а он пересказал. Или придумал достаточно технически грамотный писатель. Но несмотря ни на что, та легкость, с которой он напрягал ФСБ, Газпром и т.п. просто поражает. В объективных реалиях это далеко не просто
      Ответить
  • karazhekov
    29 янв 14
    Надо запасаться старыми компами.
    Ответить
  • sergej49
    29 янв 14
    Благодарю, интересно.
    Ответить
  • A
    29 янв 14
    не волнует что меня там кто то пасет, меня волнует что циклы выполнения команд существенно удлинились, кто слил статью? автор это ты? или очередной копипаст? как бы софтину намотать для проверки на этот самый встроенный гипервизор
    Ответить
    • hugobosss
      учись, студент.
      Ответить
      • A
        чему учится — копипасту, нет программы так и скажите — нечего из себя всезнайку корчить
        Ответить
    • A
      Да очень просто — надо лишь написать программу которая считает количество итераций собственного цикла за точно известное количество аппаратных импульсов извне. Например, за время передачи 1кб данных по UART(хотя его тоже можно эмулировать) или считать импульсы поданные с образцового генератора на вывод RI COM-порта или на LPT порт.
      Только для чистоты эксперимента — программа должна быть написана для реального режима процессора и во время теста все прерывания должны быть отключены. т.е. по сути, такую прогу лучше всего встроить как модуль БИОСа в самом начале его инициализации, а результаты сбросить в общедоступную память, которые потом прочитает программа хоть под виндой и красиво отобразит.
      Да, и сами по себе данные ничего не скажут — нужно получить их на заведомо чистой и заведомо грязной системах и на основании результатов принимать решения с неизвестных плат. Меняется процессор, его частота, материнская плата — и пороги решений необходимо накапливать снова.
      Ответить
  • S
    29 янв 14
    А контора КрафтВей она собственно чьих будет ? ....
    Ответить
Сделано с NoNaMe