Russian Qt Forum
Ноябрь 22, 2024, 17:24
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Общий
>
Идентификация компа
Страниц: [
1
]
2
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Идентификация компа (Прочитано 8143 раз)
serg_hd
Хакер
Offline
Сообщений: 668
Идентификация компа
«
:
Июнь 03, 2013, 14:03 »
Понимаю, что таких тем в сети достаточно, но что делать - так и не решил. Надо как-то идентифицировать комп для того, чтобы отключать клиентку от сервера на случай "спама" с этого компа. Вариант взятия ID'ов материнки/винта не подходит ввиду того, что не все железки его выдают или могут выдавать пустыми. MAC сетевухи тоже не подходит, т.к. его можно менять. Может быть всё-таки есть ещё какой-нить вариант?
Записан
kubuntu/Win7/x64/NetBeans
Bepec
Гость
Re: Идентификация компа
«
Ответ #1 :
Июнь 03, 2013, 15:35 »
Берём, сканим структуру каталогов диска D. Сравниваем с эталоном и убиваем клиента.
PS зависит от привилегий вашей программы. Тот же запуск ipconfig -all (для винды) даёт достаточно индивидуальную информацию, хотя % 30 ошибок будет наверно
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Идентификация компа
«
Ответ #2 :
Июнь 03, 2013, 22:42 »
Цитата: serg_hd от Июнь 03, 2013, 14:03
Может быть всё-таки есть ещё какой-нить вариант?
Клиент в сети - это чёрный ящик, 100% идентифицировать его нельзя, практически всё можно обойти.
Записан
LisandreL
Птица говорун
Offline
Сообщений: 984
Надо улыбаться
Re: Идентификация компа
«
Ответ #3 :
Июнь 04, 2013, 09:14 »
Как вариант - генерируйте GUID при первом запуске и сохраняйте где-нибудь подальше от глаз пользователя.
Но вариант, конечно, обходится, как нахождением этого места, так и виртуалкой/сендбоксом.
Записан
Bepec
Гость
Re: Идентификация компа
«
Ответ #4 :
Июнь 04, 2013, 15:51 »
Нельзя сделать не взламываемую идентификацию компьютера. Но можно сделать защиту, которую будет невыгодно ломать как и по времени, так и по возможностям.
PS допустим берём скан дисков, скан пользователей винды, HWID, MAC, разбавляем это дело папкой где установлена программа, а так же, допустим, при первом запуске создаём скрытый файл рандомного размера. Совокупность этих факторов отследить возможно, но невыгодно
Ах да, добавляем ещё ключ реестра, в котором будет папка с программой и проверяем на нахождение программы именно в этой папке.
PPS а можно не заморачиваться.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Идентификация компа
«
Ответ #5 :
Июнь 06, 2013, 13:02 »
Цитата: Bepec от Июнь 04, 2013, 15:51
PS допустим берём скан дисков, скан пользователей винды, HWID, MAC, разбавляем это дело папкой где установлена программа, а так же, допустим, при первом запуске создаём скрытый файл рандомного размера. Совокупность этих факторов отследить возможно, но невыгодно
Ах да, добавляем ещё ключ реестра, в котором будет папка с программой и проверяем на нахождение программы именно в этой папке.
А подлинность определяется всеми этими факторами сразу? Если да, то достаточно запустить ccleaner и ваша программа станет невалидной. Если нет, то какой в них смысл?
А все эти методы ловятся в дебагерах типа SoftICE за пять минут.
Записан
Bepec
Гость
Re: Идентификация компа
«
Ответ #6 :
Июнь 06, 2013, 15:11 »
Если вы не в курсе, CCleaner не тупо удаляет ключи реестра
И установленные нормально программы не теряют своих ключей.
CCleaner может повлиять только на ключ в реестре и то при неправильной установке. Остальные факторы не изменятся.
PS по-моему вы не совсем понимаете моих предложений или верите в "чистота в два раза быстрей вместе с CCleaner".
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Идентификация компа
«
Ответ #7 :
Июнь 06, 2013, 15:47 »
Цитата: Bepec от Июнь 06, 2013, 15:11
PS по-моему вы не совсем понимаете моих предложений или верите в "чистота в два раза быстрей вместе с CCleaner".
да, не понимаю - ответь да поставленный выше вопрос каким образом определяется подлинность клиента, по всем факторам сразу или по некоторым.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Идентификация компа
«
Ответ #8 :
Июнь 06, 2013, 16:04 »
Полагаю какая-то "клиентская часть" так или иначе есть. Тогда чем плохо то что предложил
LisandreL
? Да и вообще ничего не прятать, сервер дает клиенту уникальный ID который тот без затей сохраняет напр в реестре. Да, переустановка клиента ведет к новому уникальному ключу - опять если обнаружен спам - опять отключить. Пусть перустанавливает пока руки не заболят, до long long там далеко
Записан
Bepec
Гость
Re: Идентификация компа
«
Ответ #9 :
Июнь 06, 2013, 16:07 »
По совокупности. Ты можешь изменить один, но общий процент совпадения уменьшится максимум на 5-10 %. Т.е. отсеивается %60 аудитории которая хочет взломать или скрыться.
PS так же есть возможность сделать 15-20 таких мини - закладок, а передаваемые идентификаторы от клиента могут стать составными и меняться в зависимости от настроек сервера
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Идентификация компа
«
Ответ #10 :
Июнь 06, 2013, 16:40 »
Цитата: Bepec от Июнь 06, 2013, 16:07
PS так же есть возможность сделать 15-20 таких мини - закладок, а передаваемые идентификаторы от клиента могут стать составными и меняться в зависимости от настроек сервера
В этом случае ты сам нарушишь своё правило, которое можно перефразировать как "усиленно защищать нужно то, что действительно нужно", то есть будешь только и заниматься только защитой какой-то микроскопической никому не нужной программки. Потому что эти примитивные закладки вычисляются за пять минут с помощью нужного отладчика, и вся твоя защита, которую ты писал два дня, пойдёт насмарку. Наиболее правильным способом защитить программу, по моему мнению, будет это зашифровать экзешник, как скайп, использовать только шифрованные каналы связи и предусмотреть умышленный мусор в протоколе общения, чтобы никогда не посылать одинаковые пакеты. Да и тут будет вопрос - а всё это ДЕЙСТВИТЕЛЬНО нужно?
Записан
Bepec
Гость
Re: Идентификация компа
«
Ответ #11 :
Июнь 06, 2013, 16:50 »
Нет, ты не понимаешь )
20 простых закладок, которые рандомно каждый день меняются обеспечат достаточную защиту за 5-10 минут твоего времени.
Определить что сегодня проверяется - очень просто
Но невозможно или очень трудно рассчитать рандомную последовательность
PS Вы не видите гибкой системы. Вы видите монолит, который можно сломать простым молотком. А я вижу сеть из десяток переплетающихся нитей, которую распутать возможно, но сложно
PPS я такую защитку напишу за пару минут, просто копируя нужный функционал из готовых моих программ
А вот взломать её довольно сложно, нужно будет отснифферить все комбинации и написать более сложную в десятки раз программу. Даже по прикидкам - даём 20 параметров, рандомно выбирающихся и проверяющихся по 3 за день. Т.е. даётся 60 комбинаций, меняющихся раз в день. В лучшем случае необходимо будет 40-60 дней для полного взлома
PPPS а если найдется спец реверс-инжиниринга, то не спасёт ничего
Но такие спецы такими вещами не занимаются
«
Последнее редактирование: Июнь 06, 2013, 16:54 от Bepec
»
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Идентификация компа
«
Ответ #12 :
Июнь 06, 2013, 17:20 »
Цитата: Bepec от Июнь 06, 2013, 16:50
Определить что сегодня проверяется - очень просто
Но невозможно или очень трудно рассчитать рандомную последовательность
По незашифрованному каналу? А зачем рассчитывать, если сервер опросит нас послать определённую комбинацию, и мы её пошлём? И какую именно комбинацию? Структуру диска C, к примеру? Тут возникает ещё одна проблема - а как сервер узнает, что присланная точка проверки правильная? Откуда от узнает структура диска C: изначально? Клиент сам пошлёт её при регистрации? Тут нас уже будет ждать сниффер и клиент, который уже наготове слать спам.
Цитата: Bepec от Июнь 06, 2013, 16:50
PS Вы не видите гибкой системы. Вы видите монолит, который можно сломать простым молотком. А я вижу сеть из десяток переплетающихся нитей, которую распутать возможно, но сложно
Очень пафосно, но ломается очень просто, если канал незашифрован.
Цитата: Bepec от Июнь 06, 2013, 16:50
А вот взломать её довольно сложно, нужно будет отснифферить все комбинации и написать более сложную в десятки раз программу.
В десятки раз? Ты о чём вообще? В ложном клиенте нужно просто повторить алгоритм авторизации, шли дальше спам сколько хочешь.
Цитата: Bepec от Июнь 06, 2013, 16:50
PPS я такую защитку напишу за пару минут, просто копируя нужный функционал из готовых моих программ
За пару минут двадцать точек проверки? Я бы тебя в спецы по безопасности не брал. И что делать человеку, у которого нет готового кода? Сидеть писать его за "5-10 минут"? Ломается такое поделие тоже за "5-10 минут".
Цитата: Bepec от Июнь 06, 2013, 16:50
Даже по прикидкам - даём 20 параметров, рандомно выбирающихся и проверяющихся по 3 за день. Т.е. даётся 60 комбинаций, меняющихся раз в день. В лучшем случае необходимо будет 40-60 дней для полного взлома
Никто не сидит и не смотрит за этими комбинациями, пишется программа, которая на основе данных сниффера работает себе и подбирает недостающие части протокола, и всё.
Записан
Bepec
Гость
Re: Идентификация компа
«
Ответ #13 :
Июнь 06, 2013, 18:10 »
Цитата: Alex Custov от Июнь 06, 2013, 17:20
Никто не сидит и не смотрит за этими комбинациями, пишется программа, которая на основе данных сниффера работает себе и подбирает недостающие части протокола, и всё.
5 дней устойчивости программы меня удовлетворит (а вы мне уже даёте 30-60
). Вы не понимаете, что не надо сложных алгоритмов и шифрования - они то как раз ломаются профессиональными решениями.
А если моё решение продержится 5 дней - это блестяще.
Больше я с вами спорить не буду - бесполезно.
PS например новый протокол lineage с gameGuardom, Freez'ом и дополнительной лапутнёй сломали где то за месяц. А его разрабатывали десятки специалистов
Возьмите любую лицензионную программу. Продающаяся за десятки, если не сотни тысяч. Их ломают за считанные дни. А ведь в разработку той же самой защиты вбуханы в разы большие деньги.
Записан
Alex Custov
Джедай : наставник для всех
Offline
Сообщений: 2063
Re: Идентификация компа
«
Ответ #14 :
Июнь 06, 2013, 19:30 »
Цитата: Bepec от Июнь 06, 2013, 18:10
5 дней устойчивости программы меня удовлетворит (а вы мне уже даёте 30-60
). Вы не понимаете, что не надо сложных алгоритмов и шифрования - они то как раз ломаются профессиональными решениями.
А если моё решение продержится 5 дней - это блестяще.
Для тебя именно блестяще? Ну, пока ты будешь радоваться своей изобретательности спам-боты будут слать спам. И уж поверь, если сеть имеет интерес для рассылки спама, её будут пасти и пять дней, и двадцать, и пятьдесят. В автоматическом режиме, конечно.
Цитата: Bepec от Июнь 06, 2013, 18:10
Возьмите любую лицензионную программу. Продающаяся за десятки, если не сотни тысяч. Их ломают за считанные дни. А ведь в разработку той же самой защиты вбуханы в разы большие деньги.
Ты же сказал, что программа взлома будет просто в десятки раз больше, чем алгоритм защиты?
Записан
Страниц: [
1
]
2
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...