Заплахи за сигурността на мобилните приложения

От достъпа до микрофона, камерата и местоположението на устройството на потребителя до изграждането на убедителни клонинги на приложения, има многобройни системни програмисти, които използват за достъп и използване на лични данни на нищо неподозиращи потребители на мобилни приложения.

По-долу са някои важни заплахи за сигурността на мобилните приложения, за които трябва да знаете.

 

1. Липса на многофакторно удостоверяване

Повечето от нас не са доволни от използването на една и съща несигурна парола в множество акаунти. Сега помислете за броя на потребителите, които имате. Независимо дали паролата на потребителя е била компрометирана чрез прекъсване в друга организация, програмистите често тестват пароли в други приложения, което може да доведе до атака срещу вашата организация.

Многофакторното удостоверяване, което често използва два от трите потенциални елемента на потвърждение, не зависи изцяло от паролата на потребителя, преди да гарантира самоличността на потребителя. Този допълнителен слой на удостоверяване може да бъде отговор на лично запитване, SMS код за потвърждение за включване или биометрично удостоверяване (пръстов отпечатък, ретина и т.н.).

 

2. Неправилно криптиране

Шифроването е начинът за рендиране на информация в неразгадаем код, който е за предпочитане само видим, след като бъде преведен обратно с помощта на секретния ключ. Като такова, криптирането променя последователността на комбинираната ключалка, но бъдете внимателни, програмистите са опитни в отварянето на брави.

Както е посочено от Symantec, 13.4% от устройствата на купувачите и 10.5% от големите корпоративни устройства нямат активирано криптиране. Това означава, че ако програмистите имат достъп до тези устройства, личната информация ще бъде достъпна в обикновен текст.

За съжаление, софтуерните компании, които използват криптиране, не са имунизирани срещу грешки. Разработчиците са хора и допускат грешки, с които програмистите могат да злоупотребят. По отношение на криптирането е важно да прецените колко лесно може да бъде разбиването на кода на вашето приложение.

Тази обща уязвимост на сигурността може да има сериозни резултати, включително кражба на защитени иновации, кражба на код, нарушения на поверителността и увреждане на репутацията, само за да назовем няколко.

 

3. Обратно инженерство

Идеята за програмиране отваря множество приложения за заплахата от обратното инженерство. Здравословното количество метаданни, дадено в кода, предназначен за отстраняване на грешки, също помага на атакуващия да разбере как функционира приложението.

Обратното инженерство може да се използва, за да се разкрие как приложението функционира в задната част, да се разкрият алгоритми за криптиране, да се промени изходният код и др. Вашият собствен код може да бъде използван срещу вас и да отвори път за хакери.

 

4. Разкриване на инжектиране на зловреден код

Генерирано от потребителите съдържание, подобно на формуляри и съдържание, често може да бъде игнорирано поради очакваната заплаха за сигурността на мобилното приложение.

Трябва да използваме например структурата за влизане. Когато потребителят въведе своето потребителско име и парола, приложението говори с данни от страна на сървъра, за да удостовери. Приложения, които не ограничават знаците, които потребителят може ефективно да въведе, рискуват хакери да инжектират код за достъп до сървъра.

Ако злонамерен потребител въведе ред от JavaScript в структура за влизане, която не предпазва от знаци като еквивалентен знак или двоеточие, той несъмнено може да стигне до лична информация.

 

5. Съхранение на данни

Несигурното съхранение на данни може да възникне на много места във вашето приложение. Това включва SQL бази данни, магазини за бисквитки, хранилища за двоични данни и др.

Ако хакер получи достъп до устройство или база данни, той може да промени автентичното приложение, за да насочи информация към своите машини.

Дори съвременните ценни книжа за криптиране се доставят безполезни, когато дадено устройство е джейлбрейкнато или установено, което позволява на хакерите да заобиколят ограниченията на операционната система и да заобиколят криптирането.

Обикновено несигурното съхранение на данни се дължи на липсата на процеси за работа с кеша на данни, изображения и натискания на клавиши.

 

Най-ефективният метод за защита на вашия мобилен телефон

Независимо от постоянната битка за задържане на хакерите под контрол, има някои общи нишки на най-добрите практики за сигурност, които гарантират големите мобилни компании.

 

Най-добри практики за сигурност на мобилни приложения

 

1. Използвайте удостоверяване от страна на сървъра

В един перфектен свят заявките за многофакторно удостоверяване са разрешени от страна на сървъра и само достъпната авторизация е успешна. Ако вашето приложение очаква данните да се съхраняват от страна на клиента и да са достъпни на устройството, уверете се, че шифрованите данни могат да бъдат достъпни само след като идентификационните данни са успешно валидирани.

 

2. Използвайте криптографски алгоритми и управление на ключове

Една от стратегиите за борба с прекъсванията, свързани с криптирането, е да се опитате да не съхранявате чувствителни данни на мобилен телефон. Това включва твърдо кодирани ключове и пароли, които могат да бъдат направени достъпни в обикновен текст или използвани от нападател за достъп до сървъра.

 

3. Уверете се, че всички потребителски данни отговарят на стандартите за проверка

Хакерите са остри, когато тестват одобрението на вашата информация. Те претърсват приложението ви за всякакъв потенциал за потвърждение на изкривена информация.

Валидирането на въвеждане е методология, която гарантира, че през полето за въвеждане може да се премине само информация, която е нормална. Докато качвате изображение, например, файлът трябва да има разширение, което съответства на стандартните разширения на файла с изображения и трябва да е с разумен размер.

 

4. Изградете модели на заплахи за защита на данните

Моделирането на заплахи е техника, използвана за задълбочено разбиране на трудностите, които се адресират, къде могат да съществуват проблеми и процедурите за защита срещу тях.

Един добре информиран модел на заплахи изисква екипът да види как уникалните операционни системи, платформи, рамки и външни API прехвърлят и съхраняват своите данни. Разширяването върху рамки и свързването с приложни програмни интерфейси (API) на трети страни може да ви разкрие и за техните неуспехи.

 

5. Объркайте, за да предотвратите обратно инженерство

В много случаи разработчиците разполагат с основните способности и инструменти за изграждане на убедителни реплики на потребителския интерфейс на мобилно приложение без достъп до изходния код. Изключителната бизнес логика отново изисква значително повече идеи и усилия.

Разработчиците използват отстъп, за да направят своя код по-четлив за хората, въпреки че компютърът не може да се интересува от правилното форматиране. Това е причината минимизирането, което елиминира всички интервали, поддържа функционалността, но затруднява хакерите да разберат кода.

За още интересни технологични блогове посетете нашия уебсайт.