Как да организираме най-добрите практики за защита на софтуера
Наш читател ни изпрати въпрос:
Пиша софтуер за Windows, искам да извлека поне някаква полза от него. Но проблемът е, че дори аз прекъсвам всички процеси на активиране за около 10 мин. Бихте ли ни разказали за софтуерната защита, основните понятия на този сложен механизъм?
Предадохме го на нашите експерти и предоставяме получените отговори на вашето внимание.
Стас Павлов, ръководител маркетинг за техническа аудитория в Microsoft България
Няма общ отговор на този въпрос. Няма достатъчно място и време за обсъждане на конкретни механизми, но има няколко подхода към този въпрос:
- използване на магазини за приложения;
- софтуерна и хардуерна защита, различни USB ключове и др.
- обвързване на софтуера с онлайн услуга, без която използването на софтуер губи по-голямата част от стойността си.
Николай Мациевски, главен изпълнителен директор Airee.International
За всеки конкретен въпрос относно софтуера винаги се спирам, издишвам и задавам други въпроси: колко потребители засяга това и как се отразява на доходите ми? Имахме история с лицензиране на софтуер (сега сме напълно преминали към SaaS). Често ни разбиваха и излагахме нулеви версии. Но това имаше доста положителен ефект върху нашите продажби: колкото повече потребители научиха за продукта, толкова повече клиенти имаше. Всяка защита - дори ако е персонализирана - може да бъде заобиколена. Въпрос на време и квалификация на специалист по сигурността. Но не повече от 0,1% от вашите потребители ще участват в хакване. Обикновено, когато продават, хората не задават въпроса: как да го хакна. Ако цената е по-малка от стойността, значи се плаща с желание. По-бързо е, отколкото да губите време в хакване.
Григорий Земсков, директор на компанията"Ревизия"
Всичко, написано от един човек, може да бъде хакнато от друг. Въпросът е колко време хората (хакерите) са готови да отделят за кракване на защитата. Задачата на разработчика не е да направи защитата абсолютно непробиваема, а такава, че "цената на хакването" (времето, прекарано в процеса на хакване) да надвишава цената на самия продукт или ползите от хакването, или просто да не е практично. Как да го реализираме технически е отделна голяма тема за обсъждане. От очевидните неща: трябва да избягвате алгоритми за проверка на лиценза, които са деактивирани, като просто замените условията за проверка с отрицателни, „завъртане“ на времето в миналото, както и защити, чийто алгоритъм става очевиден при нормално разглобяване. За по-надеждна защита внедряването може да използва техники за обфускация и полиморфни кодови фрагменти, обвързване с някои динамични състояния, асиметрични алгоритми за криптиране и други техники, които затрудняват както търсенето/анализирането на кода за проверка на сигурността, така и последващата му модификация.