идентификация компьютера

Discussion in 'WASM.WIN32' started by selfseeker, Dec 12, 2007.

  1. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    AshBone
    у тебя системные часты идут точно? ;)
    вот и у меня тоже врут как на допросе.
    за эталон можно взять либо тактовый генератор ЦП,
    либо, что надежнее - службу атомного времени в нете.
    ну тут еще цесевича нужно почитать...
    одни часы стабильно отстают на секунду в сутки,
    другие же имеют более или менее хаотичное распределение.
    вот это распределение мы и берем за уникальную характеристику.
    единственные лыжи - термонестабильность приводит к тому, что
    погрешность меняется в зависимости от времени года...
    например, только что включенный компьютер, остывший за ночь,
    имеет одно распределение, а поработов несколько часов - другое.
    поэтому, необходимо выделить уникальный паттерн, а для этого
    необходима длительная серия замеров... но это я уже полез
    в тонкости... в жизни все не так уж и сложно ;)
     
  2. AshBone

    AshBone New Member

    Blog Posts:
    0
    Joined:
    Dec 12, 2007
    Messages:
    101
    kaspersky

    Проводились ли исследования по этой теме? Т.е. реально ли получить достаточно стабильный "паттерн" с приемлемой степенью "уникальности"? При условии, что программа запускается на машине удаленного пользователя и не знает - давно ли включена машина, какая температура "за бортом" и в какой фазе сейчас Луна?

    Если есть результаты таких исследований, то хотелось бы знать - сколько времени уходит на получение характеристик...
     
  3. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    AshBone
    когда я начинал это исследовать, то надеялся получить ключ.
    ключа не получил, но отличить один компьютер от другого - реально.
    времени на получение паттерна уходит много. по меньшей мере
    несколько часов, а желательно ~30 дней (ес-но не непрерываной работы).
    то есть извлечть паттерн за время триального периода - без проблем.

    к достоинствам этого метода можно отнести то, что он слишком
    неочевиден для хакера и потому будет трудно ломать, при условии,
    конечно, что в защите нет тупого кода if (pattern_isnt_ok()) exit();
     
  4. maninthecode

    maninthecode New Member

    Blog Posts:
    0
    Joined:
    Oct 21, 2007
    Messages:
    4
    А как отличить винду от винды
    если они склонированы спец. программой
    ??
     
  5. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    maninthecode
    даже если они склонированы на секторном уровне и потом переписаны на другой винт, то при первом же запуске винда начнет искать драйвера для базовых устройств матери и ставить их, запишет в реестр параметры проца и др. устройств. проанализировав реестр, мы сможем сделать вывод - имело ли место клонирование или нет. правда, аналогичный результат даст перестановка винта на другой компьютер ;)
     
  6. doctor_Ice

    doctor_Ice New Member

    Blog Posts:
    0
    Joined:
    Mar 21, 2005
    Messages:
    845
    Location:
    Russia
    а если это образ для виртуалки? и этот лбраз скачало с инета туева хуча людей как идентифицировать их кампеги?
     
  7. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    виртуалка несет на своем борту довольно уникальное железо, это раз. виртуалка обычно так или иначе взаимодействует с "живым" железом и базовой осью - это два. если, допустим, есть локальная сеть (в VMWARE она по дефлоту есть), то сканим порты базовой системы. можем даже атаковать ее ;) еслитам есть незаткнутые дыры ;)

    кстати, идентификация по системным часам и прочим тактовым генераторам продолжит работать и под виртуалкой. в частности, можно определить частоту контроллера памяти, и уверенно отличить чипсет VIA/SiS от чипсета Intel. с прикладного режима, кстати. под VM Ware. под борщем это не прокатит, но борщ использовать... бррр.... но там тоже нычки есть ;)
     
  8. PROFi

    PROFi New Member

    Blog Posts:
    0
    Joined:
    Jul 13, 2003
    Messages:
    690
    kaspersky

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

    PS идентификацию по системным часам (с кривой распределения), уже видел в одной медицинской программе, сама идея родилась из тестовиков компа, которые проверяли точность хода этих часов и таймера компьютера - вот и я решил пользовать разность хода двух этих таймеров и все работало на ОК до замены батарейки :dntknw:

    контроллера памяти, и уверенно отличить чипсет VIA/SiS от чипсета Intel. Контроллер памяти пользовал раньше для реализации задержек, только вот столкнулся с ситуацией кода один тик под досом 1 мкс а под виндовсом 15 мкс, на современном железе - Core2Dou+965 т.о. полагаться на этот таймер нестоит. Другое дело таймар APCI, но и тут проблема - работает только на современном оборудовании (даже мой сарый пень 3 500 ACPI не поддерживал, а по мануалу должен был).
     
  9. dermatolog

    dermatolog Member

    Blog Posts:
    0
    Joined:
    Feb 3, 2005
    Messages:
    406
    Location:
    Екатеринбург
    В описании проги можно добавить пункт "программа привязана к батарейке биоса, в случае смены батарейки обратитесь к разработчику за новой регистрацией" :))
     
  10. k3internal

    k3internal New Member

    Blog Posts:
    0
    Joined:
    Jan 11, 2007
    Messages:
    607
    Как правило в 99% случаев нужен драйвер в случае внешнего контроллера, и как правило контроллеры не запрещают работу с отдельными устройствами напрямую через порты. Для того, чтобы прочитать паспорт устройства юзая IOCTL_SCSI_MINIPORT_IDENTIFY права админа ненужны. Но эта команда не всегда вернёт правильный результат, чаще ошибку.

    Есть свои трудности, физически прочитать дату биоса под 9х не составляет проблем, под NT без прав админа доступен только реестр. Но в реестре её легко можно подменить. Для физического чтения необходимы права админа для доступа к PhysicalMemory, который в свою очередь не всегда доступен даже с правами админа.
    В общем для надёжного определения эти 2 параметра не подходят, если использовать штатные средства для доступа к ним.
     
  11. k3internal

    k3internal New Member

    Blog Posts:
    0
    Joined:
    Jan 11, 2007
    Messages:
    607
    kaspersky

    А что если винда клонирована на аналогичное железо ?

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

    Смысла в ИД железа я не вижу, ибо для r3 кода эмулируется всё, кроме cpuid. Но и этот вопрос решаем без особых усилий.
     
  12. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    k3internal
    > А что если винда клонирована на аналогичное железо ?
    не бывает такого в природе. у всех свои уникальные ID.

    > Смысла в ИД железа я не вижу
    я тоже не вижу. для честного юзера - гемор, нечестный все равно сломает (сам сломает или кинет запрос на крак - не суть важно). покажите мне привязку к железу, носителю, эл. ключу которую не отломали ;)

    ну не долэна защита отравлять жизнь нормальным пользователям, а привязка ее отравляет ;( и прявязываться можно только к носителю, да и то с большой натяжкой.
     
  13. k3internal

    k3internal New Member

    Blog Posts:
    0
    Joined:
    Jan 11, 2007
    Messages:
    607
    Каторые нефиг делать проэмулить
     
  14. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    k3internal
    так о чем речь?! если программа _запускается_, то взлом это всего лишь вопрос времени. как известно кракерской братии существует тысяча и один способ отравить взломщику жизнь и потому с экономической точки зрения взлом далеко не всегда оправдан.
     
  15. PROFi

    PROFi New Member

    Blog Posts:
    0
    Joined:
    Jul 13, 2003
    Messages:
    690
    kaspersky

    Да если программа _запускается_, то взлом это всего лишь вопрос времени. Только вот если для работы программы нужен и-нет, то не всетак гладко. К примеру если используется шифрование или тем более если оно ассиметричное
     
  16. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    PROFi
    значит, не запускается ;)
    крайний пример: терминальный клиент.
    в котором есть только интерфейс и код работы с сервером.
    ну, допустим, для ускорения работы клиент берет куски
    кода с сервера, кэширует их и выполняет локально.
    то есть в данном случае взлом все-таки возможен,
    хотя и запаришься писать вытягивать весь код
    (не будучи при этом уверенным, что он действительно весь),
    а потом еще писать эмулятор сервера...

    а если это чистый клиент, то ломать его вообще нечего ;(
     
  17. PROFi

    PROFi New Member

    Blog Posts:
    0
    Joined:
    Jul 13, 2003
    Messages:
    690
    kaspersky

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

    PS: спасибо за цикл статей в Хакере по "психологии".

    Где такое реализовано. Поделись ссылочкой, если не трудно.
     
  18. kaspersky

    kaspersky New Member

    Blog Posts:
    0
    Joined:
    May 18, 2004
    Messages:
    3,006
    PROFi
    > Где такое реализовано. Поделись ссылочкой, если не трудно.
    KAV on-line так и работает. и некоторые другие аверы.
    ставят avctiveX компонент, который при наличии свободного времени можно заставить работать в полном off-line, но... смысл? он же бесплатен...

    еще есть куча он-лайновых сервисов, которыми я баловался последнее время для перевода фоток в hdr (ссылок не помню, но они легко находятся гуглом), так вот обнаружил, что там тоже ставятся компоненты, осуществляющие часть вычислений локально. в принципе, там получается так: на стартовой странице куча опций и куча фич. в зависимости от того какие опции задействованы и какой входной/выходной формат мы юзаем, нам спускается определенный набор ActiveX-компонентов, в которых есть локальная проверка на предмет регистрации и если регистрации нет, то накладывается ватермакр поверх изображения, который можно и открутить. вот только... если ты задействуешь новые опции, то это будут новые ActiveX-компоненты.... в принципе, можно хакнуть и их... но ведь это же запаришься... и потом там хитро сделано. если базоый ActiveX видит, что он не справляется со своей работой (например, столкнулся с более сложным случаем совмещения изображний), то он автоматом догружает еще один ActiveX... и так в цикле...
    самое прикольное, что если файл небольшого размера и сервер не очень загружен, то он передается на сервер для обработки, в противном случае тебе дают ActiveX компоненты - типа, обрабатывай все сам на локальной машине ;)
     
  19. PROFi

    PROFi New Member

    Blog Posts:
    0
    Joined:
    Jul 13, 2003
    Messages:
    690
    kaspersky

    Да копаться в ActiveX если он написан на языке высокого уровня дело неблагодарное...

    Кстати Крис, hdr - High dynamic range imaging. Я вот недавно совсем приобрел монитор NEC S-IPS матрица, пытался хоть глазком взглянуть на OLED матрицу (не дали). Вопрос в чем - для чего нужена эта технология если ее монитор не отображает? Да для выделения полутонов я пользуюсь плагином от фотошопа (группа Kodac плагинов) в целом доволен, но hdr для чего его пользовать если отобразить нельзя даже на CRT

    Где можно оценить разницу...