Огоҳиҳои бехатари push: аз назария ба амалия

Эй Ҳабр!

Имрӯз ман дар бораи он чизе, ки ман ва ҳамкасбонам дар тӯли чанд моҳ кор карда истодаем, сӯҳбат мекунам: огоҳиномаҳоро барои паёмнависони фаврии мобилӣ. Тавре ки ман аллакай гуфтам, дар аризаи мо диққати асосӣ ба амният аст. Аз ин рӯ, мо фаҳмидем, ки оё огоҳиҳои push "нуқтаҳои заиф" доранд ва агар ин тавр бошад, чӣ гуна мо метавонем онҳоро баробар кунем, то ин варианти муфидро ба хидмати мо илова кунем.

Тарчумаи моро чоп карда истодаам мақолаҳо аз Medium бо баъзе иловаҳои хурд аз худам. Дар он натицахои «тафтиш» ва хикояе дар бораи чй тавр хал шудани масъала оварда шудааст.

Мо маводро тафтиш мекунем

Дар модели классикӣ, огоҳиҳои push паёмнависонро ба ҳамлаҳои MITM (Man-in-the-middle) осебпазир мегардонанд. Масалан, бо Google, Microsoft ва версияи кӯҳнаи iMessage, барнома калидҳои рамзгузориро ба серверҳои Apple мефиристад - дар сервер корбарон тасдиқ карда мешаванд ва сарлавҳаи паём (ё мундариҷаи он) рамзкушо карда мешавад.

Огоҳиҳои бехатари push: аз назария ба амалия

Дар натиҷа, имкони хондани мукотиба тавассути дастрасӣ ба сервери огоҳинома вуҷуд дорад. Ин маънои онро дорад, ки ҳама гуна рамзгузории мукотиба бефоида аст: огоҳиҳои push ҳанӯз имкони хондани шахсони сеюмро тарк мекунанд. Муаллифони мақола ин имкониятро муфассалтар баррасӣ карданд. "Рамзгузории дуруст" дар Xaker.ru, бахшида ба усулҳои рамзгузории паёмҳо.

Агар шумо фикр кунед, ки серверҳои Apple ва Google аз ифшои калидҳои рамзгузории корбар 100% бехатаранд, ба назар гиред, ки кормандони онҳо ба онҳо дастрасӣ доранд. Ва коргарон одамонанд.
Сарфи назар аз ҳама осебпазирии огоҳиҳои push, бисёре аз мессенҷерҳои фаврии "бехатар", аз ҷумла Signal ва Telegram, аз онҳо истифода мебаранд. Дар акси ҳол, корбарон маҷбур хоҳанд шуд, ки тавассути ворид шудан ба барнома пайваста паёмҳои навро "дастӣ" назорат кунанд. Ин хеле нороҳат аст ва паёмрасонҳои рақобаткунанда бартарӣ пайдо мекунанд.

Параноя ва ақли солим


Дар лоиҳаи худ мо ин масъаларо чанд моҳ пеш аз наздик баррасӣ карда будем. Барои рақобатпазир будан ба мо лозим буд, ки як опсияи огоҳиномаро илова кунем. Аммо дар айни замон, сӯрохи амниятро накушед, зеро ҳама гуна ихроҷи маълумот эътимодро ба лоиҳа коҳиш медиҳад.

Аммо, мо аллакай як бартарии муҳим дорем: мессенҷери мо ғайримарказонида шудааст (маълумот дар blockchain нигоҳ дошта мешавад) ва кормандон ба ҳисобҳо дастрасӣ надоранд. Танҳо корбарон калидҳои рамзгузориро доранд ва калидҳои ҷамъиятии ҳамсӯҳбатон дар blockchain барои муҳофизат аз ҳамлаҳои MITM дастрасанд.

Дар версияи якуми огоҳиҳои push, мо тасмим гирифтем, ки онро то ҳадди имкон бехатар бозӣ кунем ва матни паёмро умуман интиқол надиҳем. Хадамоти push матни паёмро аз гиреҳ нагирифт, балки танҳо сигнал дар бораи далели гирифтани онро қабул кард. Аз ин рӯ, корбар огоҳиномаи "Паёми нав омад" -ро дид. Факат дар мессенчер хондан мумкин буд.

Огоҳиҳои бехатари push: аз назария ба амалия
Чӣ тавр он кор кард: видео.

Пас аз он, мо фаҳмидем, ки версияи охирини огоҳиномаҳои Apple дорои хусусиятҳои нави амниятӣ мебошад. Онхо озод карда шуд UNNotificationServiceExtension, ки ба таҳиягарон имкон медиҳад, ки маълумотҳои огоҳиномаро тавассути APNS фиристанд. Пас аз он барнома дар дастгоҳи корбари ниҳоӣ рамзкушоиро иҷро мекунад (ё маълумоти иловагиро зеркашӣ мекунад) ва огоҳиномаро намоиш медиҳад. Мо онро ҳамчун асос барои версияи дуюми огоҳиномаҳои push гирифтем.

Ҳоло мо версияи дуюми огоҳиномаҳои push-ро барои iOS таҳия кардем, ки ба шумо имкон медиҳад, ки матни паёмро бидуни хатари амниятӣ намоиш диҳед. Дар консепсияи нав мантиқ чунин менамояд:

  • Хидмати push огоҳиномаро бо рақами транзаксия мефиристад (паёми рамзгузорӣ метавонад хеле калон бошад ва андозаи огоҳиномаҳо хеле маҳдуд аст)
  • Вақте ки дастгоҳ огоҳинома мегирад, он NotificationServiceExtension-и моро оғоз мекунад - микробарномаи он, ки транзаксияро аз гиреҳ аз рӯи ID дархост мекунад, онро бо истифода аз гузарвожаи захирашуда рамзкушоӣ мекунад ва ба система огоҳии нав мефиристад. Ибораи гузариш дар анбори бехатар нигоҳ дошта мешавад.
  • Система огоҳиномаро бо паём ё тарҷумаи рамзкушошуда нишон медиҳад.
  • Калидҳо ба ҳеҷ куҷо намераванд, мисли паёми матнии оддӣ. Хидмати push ҳеҷ гуна роҳи рамзкушоӣ кардани паёмро надорад.

Огоҳиҳои бехатари push: аз назария ба амалия

Мо ин версияро ҳамчун кор қабул кардем ва онро дар навсозии охирини замимаи iOS амалӣ кардем.
Шахсоне, ки ба ҷанбаи техникӣ таваҷҷӯҳ доранд, метавонанд рамзи сарчашмаро бубинанд: github.com/Adamant-im/adamant-notificationService.

Манбаъ: will.com

Илова Эзоҳ