Пока толстый сохнет...
Сегодня газета «Коммерсантъ» опубликовала заметку «Пираты раскрутили диски». В ней, в частности, говорится следующее:
«Из-за кризиса доля пиратской DVD- и СD-продукции в общем объеме продаж увеличилась с 70-75% до 80%, а доходы от реализации легальных дисков в среднем по рынку уже снизились на 25-30%, подсчитали крупнейшие мультимедийные сети («Союз», «Настроение», «Хит зона»). Многие покупатели, желая сэкономить, переместились в интернет, сетуют ритейлеры.»
Что это может означать для рынка программного обеспечения? Возьмусь предположить, что между объемами рынка контрафактного мультимедиа и софта существует прямая корреляция. Если простые граждане стали отдавать предпочтение пиратской продукции, то от корпоративного сектора следует ожидать того же самого, благо в команиях работают те же самые люди. Желание снизить издержки на приоберетние лицензионного софта вполне понятно и естественно, коль скоро существует возможность безнаказанно утолить это желание. И даже усиление репрессивных мер, направленных на принуждение соблюдения копирайта, со стороны государства не приносит желаемых результатов.
Понятно, что в тяжелых экономических условиях компании стремятся сократить накладные расходы, к которым практически всегда относят и IT. Соответственно, компании будут стремиться не покупать софт без крайней на то необходимости. А раз уж повальные проверки лицензионности софта не планируются (или планируются, а никто об этом не знает?), открывается прямая дорога на использование контрафакта. Продавать софт всегда было не просто, а теперь разработчики получают риск вообще остаться ни с чем.
Коль скоро законники не в состоянии обеспечить права производителей софта и хоть как-то сохранить поступления от продаж, единственный выход — браться за дело самим. Что может сделать компания-разработчик в таких условиях? Во-первых, тщательно следить за тем, не появляются ли их разработки в файлообменных сетях и на варезных форумах. Это не требует много сил, но дает возможность оценить востребованность подукта и его коммерческие перспективы. Появление вареза не стоит рассматривать как трагедию — это, скорее, руководство к действию.
Во-вторых, придется пересмотреть отношение к техническим средствам защиты. Если разработчики подолгу не обновляют и не модифицируют защиту, вероятность появления вареза многократно увеличивается. Если разработчики приложений относятся к защите собственного продукта абы как, делая «защиту от пользователя», а не от профессионала — это не только наносит вред самому разработчику, но и дискредитирует саму используемую (неправильно используемую!) технологию.
То же самое относится и к самим средствам защиты. В нашем контексте — это ключи Guardant. Жесткая конкуренция на рынке ключей и все возрастающая активность хакеров стимулируют нас к разработке все новых способов защиты. В частности, результатом этих усилий явились ключи Guardant последнего поколения, модели Guardant Sign и Guardant Time. Основной бич систем защиты, использующих электронные ключи — это эмуляторы. По сути они представляют собой реализацию угрозы «человек посередине». Наиболее распространены так называемые «табличные эмуляторы». Принцип их действия состоит в том, что на подготовительном этапе протоколируется весь обмен данными между ключом и приложением, а затем этот обмен воспроизводится. Возникает естественный вопрос: как с этим бороться?
Ответ на этот вопрос одновременно и сложен, и прост. Простота решения состоит в том, чтобы помешать атакующему записать весь обмен данными. Как правило, количество данных, курсирующих между ключом и приложением сильно ограничено, а потому задача атакующего — просто ждать. Но сколько должно продлиться это ожидание? День? Неделю? Месяц? Конечно, чем дольше, тем лучше. Но где взять столько разных данных в обычном приложении? Ответ неутешителен: как правило, негде. Вот в этом и состоит сложность.
Как реализовать этот метод борьбы малой кровью? В новых ключах Guardant Sign и Time реализованы два очень важных и очень полезных механизма, позволяющих эффективно бороться с табличными эмуляторами.
Первый механизм — шифрование всего трафика между аппаратным устройством (ключом) и API. При этом шифрование не простое, а с использованием сеансовых ключей. В нашем случае это означает, что даже тогда, когда ключ и приложение обмениваются одними и теми же данными, трафик в каждом сеансе будет разным. Следовательно, тактика «сидеть и слушать» тут больше не работает, поскольку воспроизводить записанный обмен не имеет смысла.
Второй механизм — реализация алгоритма электронной цифровой подписи на базе асимметричной криптографии. Он позволяет убедиться в том, что обмен данными производится именно с электронным ключом, а не каким-нибудь эмулятором. Суть его, если кратко, в следующем. Электронный ключ хранит в себе определенный секрет (закрытый ключ асимметричного алгоритма), добраться до которого снаружи нельзя. Приложение хранит открытый ключ, соответствующий закрытому. Схема работает так: приложение отправляет в электронный ключ любое число, а в ответ получает другое число, сгенерированное на основе закрытого ключа. Приложение, используя открытый ключ, может удостовериться в том, что это другое число было сгенерировано именно электронным ключом. Разнообразия данным добавляет то, что даже одно и то же число, отправленное в ключ несколько раз, породит разные ответы. В итоге получаем такой обмен случайными данными между ключом и приложением, воспроизвести который не получится.
Многие из наших клиентов, серьезно относящиеся к угрозам и заботящиеся о будущем, уже переходят на новые модели ключей. Переход обещает быть успешным и принесет обоюдную пользу, я в это верю. Может быть мне даже удастся уговорить их поделиться опытом с другими, я на это надеюсь.
И, в заключение, еще один момент. Хакеры нынче благотворительностью не занимаются, как правило. Они хотят денег. Лучше понемногу, но постоянно. Так что если защита сделана хорошо, то до нее может и руки не дойдут: некогда ковыряться с «навороченной» системой, когда вокруг столько слабых, на которые не нужно много времени и сил. А что, если у вашего конкурента защита сильнее?
