петак, 26 априла, 2024
Интернет, мреже и комуникације

Adobe и лекција из сигурности

Аутор: Ромео Млинар

Октобра 2013. на интернет је процурила база података компаније Adobe са преко 38 милиона корисничких имена и лозинки. Иако су подаци дјелимично заштићени енкрипцијом, компанија је оштро критикована због сигурносних пропуста. Шта је то Adobe урадио погрешно, и како се уопште чувају кориснички подаци и провјеравају у току пријаве? И да ли смо нешто научили из овог догађаја?

Лозинка и корисничко име данас су најчешћи облик аутентификације, односно доказа идентитета, приликом пријаве на сајтове и сервисе. То значи да се ради о повјерљивим подацима, и да их обе стране морају чувати – и корисник и сајт. Корисници ће се потрудити да лозинке не дијеле са другима, да их не записују и да буду јединствене.

Улога сајтова у чувању лозинки је сложена, али за тај поступак постоје сигурносни савјети којих се треба придржавати.

Прије свега, сајтови не треба да чувају лозинке, већ њихове излазне вриједности након примјене хеш-функције. На примјер, ако на низ (енгл. string) „LiBRE!” примјенимо SHA-256 алгоритам, добићемо хеш-вриједност: d0803cb63777a6b8935a0d69208756ff517a51056d82852ce3b87abd1f51e069. Овај хеш-низ има 64 карактера. Практична специфичност јесте што је израчунати „хеш” увијек исти за улазну вриједност, али на oснову њега не можемо знати да је улазна вриједност „LiBRE!”. Односно, хеш-функције су једносмјерне.

Управо једносмјерност хеш-функција и криптичност хеш-вриједности омогућавају чување приватности. Приликом регистрације корисника, сајт израчунава хеш-вриједност лозинке, па се та вриједност (као што смо видјели, повелика нова „ријеч”) сачува заједно са корисничким именом. Приликом пријаве, корисник уноси лозинку, сајт опет израчунава хеш-вриједност и пореди је са сачуваном у бази података. Ако се поклапају, лозинка је исправна. Дакле, сајтови никад не „виде” лозинку корисника.

Шта је Adobe урадио погрешно? Прије свега, Adobe није користио хеш-функције! Наиме, компанија је одлучила да лозинке енкриптује, а енкрипција је двосмјеран процес – уколико имате кључ. Погледајмо примјер користећи нашу лозинку „LiBRE!”. Ако на њу примјенимо DES алгоритам и кључ »123456« добићемо вриједност „8gmTp3qiMSY=”. Истина, лозинка није видљива, али само привремено, јер је процес могуће обрнути истим алгоритмом. Код хеш-фунција то није изводљиво.

Откривање најчешће корисничке шифре била је играрија: требало је пронаћи DES енкриптовану вриједност и видјети које напомене за присјећање лозинке стоје уз њих. Одгонетнути шта се крије иза „бројеви од 1-6”, није било тешко, па тако данас знамо да је најчешћа лозинка у бази података била „123456” – добра за примјер, али веома лоша за примјену у пракси.

Какве смо поуке извукли из Adobe-овог сигурносног скандала? Опет смо видјели да велико име компаније не значи велику сигурност података. Очито је да Adobe није слиједио сигурносне препоруке. Потом, видјели смо да су корисници веома лењи да смисле сигурну лозику, као ни да их Adobe на то није охрабривао. Да ли је ипак у читавој овој причи критика на рачун компанија и корисника када је аутентификација у питању, најбитније оно што је Google јасно ставио до знања: лозинка више није довољна за чување нашег онлајн идентитета?