Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Как защитить ATmega16 от взлома?
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
Страницы: 1, 2
coolibin
Как прошить ATmega16 , чтобы с него не могли считать программу? и самое главное, на сколько эта защита эффективна?
hd44780
Есть стандартные фузы во всех AVR-ах - LB и BLB.
Они как раз для этого и нужны.
Общая идея в том, что после требуемой установки ээтих бит кристалл считать нельзя, только стереть.
coolibin
Цитата(hd44780 @ Mar 14 2008, 10:25) *
Есть стандартные фузы во всех AVR-ах - LB и BLB.
Они как раз для этого и нужны.
Общая идея в том, что после требуемой установки ээтих бит кристалл считать нельзя, только стереть.

Что, вообще, нельзя или можно, но очень сложно? Я это спрашиваю, потому что мне надо быть абсолютно уверенным, что никто не сможет получить код
sseett
Можно, но сложно. Некая прибалтийская фирма периодически предлагает свои услуги.... за килобаксы.
Проще написать самому.
Ivan_Petrov
Цитата(hd44780 @ Mar 14 2008, 11:25) *
Есть стандартные фузы во всех AVR-ах - LB и BLB.
Они как раз для этого и нужны.
Общая идея в том, что после требуемой установки ээтих бит кристалл считать нельзя, только стереть.

Нажмите для просмотра прикрепленного файла
Видимо эта мега, об фьюзах не знала =)

2 coolibin:
Выжечь порты, или поставить сопроцессор на смарткарте.
Dog Pawlowa
Цитата(coolibin @ Mar 14 2008, 13:09) *
Что, вообще, нельзя или можно, но очень сложно? Я это спрашиваю, потому что мне надо быть абсолютно уверенным, что никто не сможет получить код

Кулибин, а что Вы такое там написали, в 16 килобайтах? Пароль к ядерному чемоданчику?
hd44780
Да, периодически появляются сообщения, что кто-то где-то ухирился считать защищенный кристалл, но никакой конкретной инфы.

Это уже вопрос к Atmel, насчет надежности защиты.
coolibin
Цитата(Dog Pawlowa @ Mar 14 2008, 12:10) *
Кулибин, а что Вы такое там написали, в 16 килобайтах? Пароль к ядерному чемоданчику?

Круче!
SasaVitebsk
Сообщество AVR щиков уже весьма велико, и пока никто не жаловался на нанесение ущерба путём вскрытия кода. Я не видел ни одного сообщения.

С другой стороны программные средства так умощнились, а технология написания/отладки программ ушла так далеко вперёд, что всегда можно написать аналогичный вашему проект. То есть просто украсть идею. Ну в крайнем случае, немного "подсмотреть", как вы там лапками шевелите.

Но за это привлечь сложно.
Cyber_RAT
по моему проще написать заново, чем пытаться считывать залоченный кристалл.
(снифер на шины, если надо и вперед с анализатором - если там протокол какой-то)
coolibin
Всё! я решил ничего не выдумывать, а залочить его, да и всё)
Alex_Pol
Цитата(coolibin @ Mar 14 2008, 14:58) *
Всё! я решил ничего не выдумывать, а залочить его, да и всё)
Правильно. Выбирая степень защиты помнить 2 постулата: 1)"То, что один человек сделал, другой завсегда разобрать сможет..." и 2)"Информация считается защищенной, если на ее взлом необходимо потратить больше денег, чем эта информация может принести". Кроме того, существуют приёмы, описанные, например, в " http://termorect.narod.ru/ ", которые делают задачу 100% защиты нерешаемой вообще.
west329_
А кокова вероятность взлома если программа защищина програмно ?

Допустим работает себе программа стабильно пару часов, потом брык и всё. Найти место где происходит брык легко ??, если ещё написано на Сях, и кода так с 20кб ??
Цыкетчик
Цитата(west329_ @ Sep 24 2008, 17:23) *
А кокова вероятность взлома если программа защищина програмно ?

Допустим работает себе программа стабильно пару часов, потом брык и всё. Найти место где происходит брык легко ??, если ещё написано на Сях, и кода так с 20кб ??

20 кБ это типа много? Я сам, лично, ломал 25кБ проги за месяц.

Да что там говорить если даже много гИговую винду ломают за пару месецев

Хотя... cool.gif

Прочтите это
defunct
Цитата(Цыкетчик @ Sep 24 2008, 16:34) *
20 кБ это типа много? Я сам, лично, ломал 25кБ проги за месяц.

А чего так долго-то? smile.gif День максимум.
Тяжко стало когда появился HASP, который построен на залоченном МК. вот тут дешевле купить.

А программные защиты - фуфло.
Цыкетчик
Цитата(defunct @ Sep 24 2008, 18:28) *
Я на втором курсе сломал 1C бухгалтерию за день.

У Вас были исходники? Или просто так быстро разобрались в 1 Гиговом листинге, который выдал дизассемблер ?

Цитата(defunct @ Sep 24 2008, 18:28) *
А чего так долго-то? smile.gif

Я тугодум 05.gif


Цитата(defunct @ Sep 24 2008, 18:28) *
А чего так долго-то? smile.gif
Я на втором курсе сломал 1C бухгалтерию за день.

А почему не за 5 минут? lol.gif
defunct
Цитата(Цыкетчик @ Sep 24 2008, 17:35) *
У Вас были исходники? Или просто так быстро разобрались в 1 Гиговом листинге, который выдал дизассемблер ?

Был только дистрибутив и trial key. Листингом не страдал.
Запустил под отладкой, посмотрел ветвления после проверки ключа, и поставил jmp на ветку где принимается ключ полной версии. Вот и все дела.

Потом проверял вся ли функциональность сохранилась - сохранилась вся.
Kuzmi4
2 defunct - классика wink.gif
Цыкетчик
Цитата(defunct @ Sep 24 2008, 19:24) *
Был только дистрибутив и trial key. Листингом не страдал.
Запустил под отладкой, посмотрел ветвления после проверки ключа, и поставил jmp на ветку где принимается ключ полной версии. Вот и все дела.

Потом проверял вся ли функциональность сохранилась - сохранилась вся.

Это просто видать програмисты дураки были. В нормальных прогах всегда есть защита от запуска под отладчиком. Например установка тайм-аута. Если кусок кода выполняется дольше чем нада - стираем нах всю прогу
Kovrov
Цитата(Цыкетчик @ Sep 24 2008, 19:32) *
В нормальных прогах всегда есть защита от запуска под отладчиком. Например установка тайм-аута. Если кусок кода выполняется дольше чем нада - стираем нах всю прогу

Ага слышу звон - незнаю где он... :-)
defunct
Цитата(Цыкетчик @ Sep 24 2008, 18:32) *
Это просто видать програмисты дураки были. В нормальных прогах всегда есть защита от запуска под отладчиком. Например установка тайм-аута. Если кусок кода выполняется дольше чем нада - стираем нах всю прогу

Я был немного подкован в этой теме и знаком с шаманствами с флагом T и возможными проверками времени. У отладчика все козыри в руках.
Боинг749
Цитата(defunct @ Sep 24 2008, 19:24) *
поставил jmp на ветку где принимается ключ полной версии. Вот и все дела.

"Это просто видать програмисты дураки были."(с)

Потому что в нормальных прогах в нескольких местах проверяется CRC программы. И если Вы измените хоть один байт кода или что-то добавите, то CRC меняется и программа сразу это обнаружит и выведет на экран мессадж:"Обнаружено нарушение лицензионной защиты. Я работать отказываюс"
defunct
Цитата(Боинг749 @ Sep 24 2008, 19:09) *
"Это просто видать програмисты дураки были."(с)

Потому что в нормальных прогах в нескольких местах проверяется CRC программы. И если Вы измените хоть один байт кода или что-то добавите, то CRC меняется и программа сразу это обнаружит и выведет на экран мессадж:"Обнаружено нарушение лицензионной защиты. Я работать отказываюс"

1. Ломался дистрибутив собсно сам инсталлер который раздает CRC. smile.gif

2. Вы вероятно сталкивались только с одной стороной медали - придумавали способы защиты, и никогда не пытались сломать свое же творчество.

Вот скажите что мешает, добравшись отладчиком до злосчастной таблички установить причину ее возникновения? Ну а дальше ведь дело техники
- поменять JE на JNE;
- поменять функцию расчета CRC на
MOV EAX, 0
RET
- замазать CALL CRC NOP'ами;
- куча других вариантов
singlskv
Цитата(Боинг749 @ Sep 24 2008, 20:09) *
"Это просто видать програмисты дураки были."(с)
Потому что в нормальных прогах в нескольких местах проверяется CRC программы. И если Вы измените хоть один байт кода или что-то добавите, то CRC меняется и программа сразу это обнаружит и выведет на экран мессадж:"Обнаружено нарушение лицензионной защиты. Я работать отказываюс"
Вот ерунду Вы написали, а CRC подделать это что задача ? а подставить "павильное"
значение на измененном куске это тож очень сложно ?
А просто обойти проверку CRC для простоты ?
Видимо Вы просто НИКОГДА в реальности не ломали чужого софта....

З.Ы. Никогда не ломал(ну точнее ломал но не получал прямой прибыли...) чужого софта...
zltigo
Moderator:
Дон Амброзио, он-же Боинг749, он-же MacGregor, он-же Цыкетчик на форуме писать некоторое время не будет.
gormih
Цитата(Alex_Pol @ Mar 14 2008, 17:38) *
например, в " http://termorect.narod.ru/ ", которые делают задачу 100% защиты нерешаемой вообще.


Никакой связи с защитой кода в AVR не вижу.


А деятели, которые предлагают услуги по выжиганию защитных битов лазером довольно распространены в сети. Вопрос в том, на сколько это кидалово, и стоит ли игра тех самых свеч?Повторить можно все что угодно - вопрос в том, какую цену Вы готовы за это заплатить. Имхо услуги хакеров, которые предоставят вам бинарник чужой разработки стоят гораздо дороже, чем повторение алгоритма того же кода квалифицированным программистом.
Nick_Shl
Цитата(Ivan_Petrov @ Mar 14 2008, 12:17) *
Нажмите для просмотра прикрепленного файла
Видимо эта мега, об фьюзах не знала =)
Чем это её так 07.gif ? Вроде при изготовлении корпусов используется термореактивная пластмасса...

Цитата(SasaVitebsk @ Mar 14 2008, 14:35) *
Сообщество AVR щиков уже весьма велико, и пока никто не жаловался на нанесение ущерба путём вскрытия кода. Я не видел ни одного сообщения.
На фирме где работаю было... И по моим(так, в стороне) подсчетам не на одну сотню куе убытка...
И вроде как не без помощи
Цитата(sseett @ Mar 14 2008, 12:14) *
Некая прибалтийская фирма периодически предлагает свои услуги.... за килобаксы.


Цитата(Cyber_RAT @ Mar 14 2008, 15:35) *
по моему проще написать заново, чем пытаться считывать залоченный кристалл.
Если алгоритм известен и AVR - это основной процессор, то да.
А если это часть разработки, с закрытым протоколом, да ещё установленная для защиты всего изделия от копирования? И что бы "написать заново" надо написать гораздо больше чем n кб AVR'овского кода?

Цитата(west329_ @ Sep 24 2008, 16:23) *
А кокова вероятность взлома если программа защищина програмно ?
Все зависит от того, что значит "защищина програмно". Самое главное в таком случае - надо как-то определять, что это копия.
А бредовые замечания по взлому прог на компе, которые ещё и системное сообщение выводят на которые можно брекпоинт поставить - посылать в сад.

Цитата(singlskv @ Sep 24 2008, 19:35) *
Вот ерунду Вы написали, а CRC подделать это что задача ? а подставить "правильное"
значение на измененном куске это тож очень сложно ?
А просто обойти проверку CRC для простоты ?
Сначала это место нужно найти. Если это под Win с выводом MessageBox это одно. А если, допустим, это софт типа MathCad и никакого сообщения не будет, а будет с какой-либо вероятностью не совсем верно считаться результат? Перепроверите всю бизнес логику? Найти такую "засаду" будет в разы сложнее.
vvs157
Цитата(Nick_Shl @ Sep 24 2008, 23:31) *
Чем это её так 07.gif ? Вроде при
А бредовые замечания по взлому прог на компе, которые ещё и системное сообщение выводят на которые можно брекпоинт поставить - посылать в сад.
Сначала это место нужно найти.
Скажите, Вы сами когда-нибудь что-то достаточно сложное "ломали"? Если нет - то не надо спорить с теми, кто это делал. Прочесс слома - это творческий процесс, и никто не ломает программу там, где его как раз ждут. Задача найти слабость или оплошность в защите и этим воспользоваться.
МП41
Можно отломать ногу MOSI у контроллера smile.gif, хотя это жестоко и просто усложнит подключение.
Можно привязывать прошивку к внешнему железу с уникальным номером, например, к DALLASовскому датчику температуры с 1-wire интерфейсом, у которых уникальные номера 48 бит никогда не повторяются. Конечно датчик этот можно эмулировать, но это может быть невыгодно или неудобно.
Между процедурами можно вставлять бредовый код со множеством переходов, который в программе никогда не будет выполняться и при дизассемблинге запутает чтение программы. Естественно, если есть для этого место.
muravei
Цитата(vvs157 @ Sep 25 2008, 01:03) *
Задача найти слабость или оплошность в защите и этим воспользоваться.

Ковырял одну программу, так из любопытства. Все время она меня посылала. Но я решил пойти другим путем smile.gif Посмотрел файлы в ее папке, нашел там подозрительное число (прога была триальная, на кол-во запусков ) , поставил вместо него 0. И все Было на 30 запусков, стало на - - 2147483648! lol.gif
ivainc1789
Цитата(Nick_Shl @ Sep 24 2008, 23:31) *
А если, допустим, это софт типа MathCad и никакого сообщения не будет, а будет с какой-либо вероятностью не совсем верно считаться результат? Перепроверите всю бизнес логику? Найти такую "засаду" будет в разы сложнее.


Мне кажется это единственно правильный подход для программной защиты. Т.е. работает прога нормально примерно день, а потом делается некий неявный "программный" глюк, который напрочь калечит всю функциональность или доставляет неудобства по-другому... Но тут, встает другой вопрос: как отделить лицензионного пользователя от нелицензионного, чтобы запустить этот "тихий механизм глюка"? И что, если произойдет ошибка в таком определении?
SasaVitebsk
Цитата(ivainc1789 @ Sep 25 2008, 17:53) *
Но тут, встает другой вопрос: как отделить лицензионного пользователя от нелицензионного, чтобы запустить этот "тихий механизм глюка"? И что, если произойдет ошибка в таком определении?

Или такой ... если вскрыли ваш код и не не разобрались с такой, с позволения сказать защитой, и начали продавать под вашей маркой - не навредит ли имиджу производителя такая работа? Ведь покупатель не знает лицензионный прибор или нет. Воспринимает как лицензионный. То есть это губит марку изделия.

Я считаю такой подход неправильным. Если ваше изделие ничем выдающимся не отличается, то взлом ему не грозит. А если оно заслужило взлома, то надо воспринимать это как дополнительную рекламу и, соответственно, нести некоторые накладные расходы. А борьба может вестись только юридически. Это же всётаки не софт... Это изделие... Найти и наказать виновного, вполне представляется возможным.

Ну а вам остаётся только непрерывно совершенствовать изделие и регулярно доказывать, что вы разработчик, производитель что ваше изделие - самое лучшее. Задолбаются взламывать. smile.gif
Nick_Shl
Цитата(vvs157 @ Sep 25 2008, 00:03) *
Скажите, Вы сами когда-нибудь что-то достаточно сложное "ломали"? Если нет - то не надо спорить с теми, кто это делал. Прочесс слома - это творческий процесс, и никто не ломает программу там, где его как раз ждут. Задача найти слабость или оплошность в защите и этим воспользоваться.
Даже спорить не хочу - бессмысленно. Вначале догадайтесь что прога вас дурит, а не ошибка разработчика.


Цитата(SasaVitebsk @ Sep 25 2008, 20:35) *
Или такой ... если вскрыли ваш код и не не разобрались с такой, с позволения сказать защитой, и начали продавать под вашей маркой - не навредит ли имиджу производителя такая работа? Ведь покупатель не знает лицензионный прибор или нет. Воспринимает как лицензионный. То есть это губит марку изделия.
Есть такой момент. Но есть и другой - глючащее изделие может попасть к вам как к разработчику... А вы уж объясните, что покупать ворованное - не хорошо...

Цитата(SasaVitebsk @ Sep 25 2008, 20:35) *
Я считаю такой подход неправильным. Если ваше изделие ничем выдающимся не отличается, то взлом ему не грозит. А если оно заслужило взлома, то надо воспринимать это как дополнительную рекламу и, соответственно, нести некоторые накладные расходы. А борьба может вестись только юридически. Это же всётаки не софт... Это изделие... Найти и наказать виновного, вполне представляется возможным.
Ну и что? Дадут им годика 2 условно, но ни денег ни имиджа от неизвестно где и как изготовленных изделий это не вернёт...

Цитата(SasaVitebsk @ Sep 25 2008, 20:35) *
Ну а вам остаётся только непрерывно совершенствовать изделие и регулярно доказывать, что вы разработчик, производитель что ваше изделие - самое лучшее. Задолбаются взламывать. smile.gif
Когда можно купить ваше супер совершенное или ваше же чуть устаревшее но в 2-3 раза дешевле... согласитесь, есть соблазн.
vvs157
Цитата(Nick_Shl @ Sep 26 2008, 00:19) *
Даже спорить не хочу - бессмысленно. Вначале догадайтесь что прога вас дурит, а не ошибка разработчика.
Как иллюстрацию к моим утверждениям можете изучить вопрос как происходит борьба Total Commander с армией крякеров. C.Ghisler весьма квалифицированный программист, очень сильно озабоченный сломом своего изделия. Однако на все его ухищрения (контроль CRC, случайный контроль кода из множества мест в том числе из всевозможных прерываний и т.п.) весьма успешно ломали. Последнее решение - подмена публичного ключа на собственный и генерация псевдокорректного ключа. И таких примеров - тьма.
gormih
По поводу защиты от взлома с примением "глюка" имхо неправльный подход. Правильнее было бы не вводить глюк, а ввести в программу определившую, что ее взломали прямое сообщение пользоваелю о причине неработопособности. спустя некоторое приличное время например. Обрадованный взломщик наштампует энное число изделий, и расплатиться за это из своего кармана. Полезно было бы еще ввести метод устранения этого сообщения на случай неверного распознования лицензионности. Например поставить перемычку спустя 12 - 20 секунд после включения устройства и продержать ее 2 -5 секунд :-) На взлом этой особенноти прошивки уйдет больше средств, чем на разработку своей.
defunct
Цитата(SasaVitebsk @ Sep 25 2008, 20:35) *
Это же всётаки не софт... Это изделие...

Изделие - это носитель.
Стоимость ПО зачастую заставляет материально ответсвенных дрожать за дискету (которая по бумагам числится как ПО и стоит дороже оборудования).
gormih
Кстати относительно защиты от взлома в новейших версиях ядра AVR:

В xMega появились новые регистры с уникальным серийным номером микроконтроллера. Теперь программу защитить стало намного легче - во время прошивки считываем этот номер с контроллера специальным бутлодером, и делаем привязку к нему прошивки скриптованной программой прошивки.

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

В будущем прикреплю сюда экземпл.
МП41
Отличная новость! Давно мечтал о подобных регистрах, думал даже к калибровочному байту привязывать прошивку как вариант.
SasaVitebsk
Цитата(defunct @ Sep 26 2008, 13:21) *
Изделие - это носитель.
Стоимость ПО зачастую заставляет материально ответсвенных дрожать за дискету (которая по бумагам числится как ПО и стоит дороже оборудования).

Это - бесспорно. Я просто писал к тому, что найти того, кто производит и поставляет контрафакиный товар всётаки проще, чем найти того, кто производит контрафактное ПО.

Я тут для одного предприятия прогу писал (Для МК на изделие). При поставке поставлял все исходники. Более того настраивал им всю систему, чтобы они сами править могли.(Чтобы меня по мелочам не дёргали) Коментарии найподробнейшие.

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

Так что мне кажется на этом уровне проблема скорее надуманная...
Dog Pawlowa
Цитата(SasaVitebsk @ Sep 26 2008, 19:23) *
Так что мне кажется на этом уровне проблема скорее надуманная...

+1
gormih
Цитата(SasaVitebsk @ Sep 26 2008, 20:23) *
Так что мне кажется на этом уровне проблема скорее надуманная...


Но многие хотели бы получать "дивиденды" со своей разработки по максимуму. Если человек хочет иметь масимальное количество денег - он берет энную сумму денег за каждую поправку по жлению заказчика. Живой пример из личного опыта - меня попросили подправить телефонный номер производителя в одной из прошивок. Исходника небыло, а в явном виде в бинарнике старого телефона видно небыло. Тогда я понял, что разработчик данного софта хотел бы сам получить с этого денег, спросил его, он подтвердил мою догадку. Копаться и ломать не стал из чувства солидарности :-) Так что еще вопрос - станут или не станут ломать... вопрос цены вашего исправления как разработчика.



P/S / Кстати тот самый разработчик когда узнал из моих уст о попытке производителя перепрыгнуть через его голову - еще большую цену заломил за исправление. И правильно сделал. Уговор есть уговор.
SasaVitebsk
Я не стал бы брать деньги за изменение номера телефона в прошивке. Хотя это личное дело каждого. Но мне кажется, что это некоторая разновидность вымогательства.
gormih
Цитата(SasaVitebsk @ Sep 27 2008, 00:23) *
Я не стал бы брать деньги за изменение номера телефона в прошивке. Хотя это личное дело каждого. Но мне кажется, что это некоторая разновидность вымогательства.


Тут скорее не денег срубить, а другая ситуация.

Есть же общепринятый стандарт:

1) Хочешь софт вместе с исходником - плати полную стоимость и получай в том числе бесплатную тех поддержку в будущем по исправлениею - внесению нового несложного функционала, несложную корректировку текущего.

2) Хочешь сэкономить деньги на начальном этапе времени - плати за прошивку без исходника, но потом еще и за каждый чих по исправлению функционала.

Производитель в той истории выбрал второй вариант, и даже изменение номера телефона должно стоить денег.
Николай Иванович Приходько
Цитата(gormih @ Sep 27 2008, 00:55) *
Тут скорее не денег срубить, а другая ситуация.

Есть же общепринятый стандарт:

1) Хочешь софт вместе с исходником - плати полную стоимость и получай в том числе бесплатную тех поддержку в будущем по исправлениею - внесению нового несложного функционала, несложную корректировку текущего.

2) Хочешь сэкономить деньги на начальном этапе времени - плати за прошивку без исходника, но потом еще и за каждый чих по исправлению функционала.

Производитель в той истории выбрал второй вариант, и даже изменение номера телефона должно стоить денег.

Вообще то разработчик софта должен получать денежки за каждую инсталляцию его программы

Цитата(gormih @ Sep 27 2008, 00:55) *
Есть же общепринятый стандарт

Где? И кем он "общепринят"? Не слышал о таком. Стандарт пока один:"кто во что горазд". Т.е. каждый конкретный заказчик и сипольнитель договариваются о своей модели взаимодействия
gormih
Цитата(Николай Иванович Приходько @ Sep 27 2008, 02:03) *
Где? И кем он "общепринят"? Не слышал о таком. Стандарт пока один:"кто во что горазд". Т.е. каждый конкретный заказчик и сипольнитель договариваются о своей модели взаимодействия


Ну во всяком случае я уверен на 100%, что исходники стоят в сотни раз дороже прошивки. А Вы нет? Это имхо не обсуждаемо, вопрос в том, есть ли еще исключения среди разработчиков работающие "из спортивного интереса". В России, к сожалению, таких полно. К сожалению для тех, кто хочет зарабатывать.

А на счет получения денег с каждой прошивки - вариант хотя и редко, но встречается - согласен. В основном там, где изделия выпускаются десятка два в месяц smile.gif
WEST128
Вряд ли кто-то станет работать над сложным проектом ради спортивного интереса. Однако у меня порой складывается ощущение, что на периферии нашей родины работодатели только и наровят все за "спортивный интерес" сделать. Такова текущая ситуация на рынке. Китайцы вот тоже все делают очень дешево, вряд ли ради спортивного интереса.
SasaVitebsk
Понятие дёшево/дорого в разных регионах сильно разнятся. А при разработке ПО местонахождение разработчика - вторично. Это конечно накладывает свой отпечаток. И сделать здесь ничего нельзя. Требовать от разработчика, работающего в глуши, чтобы он работал не дешевле 2000$ в месяц - бессмысленно. Если ему в этом городе просто не заплатят таких денег??? А больше ему в этом городе идти некуда. А ехать в Москву - он не хочет. И таки имеет право! В Белоруссии налогообложение таково, что если разработчик получает 1000$, то он должен приносить предприятию оборот не менее 20000$. Крупному - 40000$. То есть при 5 разработчиках месячный оборот предприятия должен составлять 100000$. Иначе будет убыточно. Поэтому в Минске средняя з/п для хорошего специалиста составляет 600-700$, а в Витебске 300-500$. А спецов наплодили много.

А с точки зрения оплаты, я считаю лучше практиковать 2 варианта.
1) Исходники и поддержка (сопровождение). В этом случае оговариваются сроки и ежемесячная сумма. Вне зависимости от того, вносились ли изменения.
2) Прошивка и процент от выпуска. Либо процент от прибыли. И тоже сроки.
vvs157
Цитата(gormih @ Sep 26 2008, 15:58) *
Кстати относительно защиты от взлома в новейших версиях ядра AVR:...... Таким образом, даже считанная прошивка не станет работать на другом микроконтроллере серии xMega.
Что бы не было вредных иллюзий - <32К прошивки восстанавливается до вполне читаемого (в смысле понимания, что там делается) и модифицируемого исходника за 3-4 месяца работы квалифицированного спеца.
gormih
Цитата(vvs157 @ Sep 28 2008, 00:27) *
Что бы не было вредных иллюзий - <32К прошивки восстанавливается до вполне читаемого (в смысле понимания, что там делается) и модифицируемого исходника за 3-4 месяца работы квалифицированного спеца.


А оно того стоит - 3-4 месяца? smile.gif Если стоит - то я бы выбрал иной способ защиты, например другой микроконтроллер с внешней ПЗУ и зашифрованной в ней прошивкой. Зашифрованной - чтобы в момент считывания в ОЗУ контроллера не было соблазна и возможности перехватить. Или вообще специализированный контроллер для систем безопасности. (Кстати у Атмел такие есть, но в Россию не охотно продают).
vvs157
Цитата(gormih @ Sep 28 2008, 01:14) *
А оно того стоит - 3-4 месяца?
Иногда - да, когда в прошивке есть отработанный на реальных объектах алгоритм с экспериментально полученными параметрами. Стоимость экспериментов может быть весьма высока
А на практике необходимо реально оценивать модель угрозы и представлять какие средства могут быт потрачены на "потрошение". Исходя из этого и стоить модель защиты. Если надо защищаться сильнее, чем это обеспечивают стандартные средства - то это не так просто как может показаться на первый взгляд, так как это уже область узкопрофессиональных интересов, далеко не всегда известная широкой публике. И если на "потрошение" может быть потрачено скажем $100К, то без привлечения специальных знаний задача не решается. И стоимость решения может быть сравнима.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.