Апликацијата „СтопКорона!“ е погрешно имплементирана

Пред една недела Министерството за информатичко општество и администрација (МИОА) ја пушти во употреба новата апликацијата „СтопКорона!“ која веќе има преку 10.000+ симнувања. Иако потегот на МИОА е правилен, имплементацијата на апликацијата е погрешна. Апликацијата користи метод наречен „мапирање на контакти“ (contact tracing) со цел да се прекине синџирот на заразување и да се биде еден чекор пред вирусот. Овој метод е генијален, но неговата имплементација бара посебно внимание. Пред сѐ поради тоа што мора да се внимава и за приватноста на корисниците, а не само на здравјето.

Апликацијата „СтопКорона!“, промовирана како „мобилна апликација изработена според најдобрите светски практики во справување со корона-вирусот“, не ги запазува основните услови кои беа потенцирани од Слободен софтвер Македонија, но исто така и од Европската комисија.

Прво, изворниот код на апликацијата не е отворен за јавноста. Поради оваа причина корисниците треба „слепо“ да веруваат дека апликацијата го прави она што МИОА, Министерството за здравство (МЗ) и Nextsense велат дека го прави. Па дури и да се организира работна група за ревизија на изворниот код нема да значи ништо доколку тој остане затворен. Со тоа што изворниот код ќе остане затворен, со него доаѓаат и проблеми со безбедноста на апликацијата, софтверски грешки и слично. Апликацијата (нејзиниот изворен код) и процесот (како работи целата апликација во позадина, каде чува или каде испраќа податоци) мораат да бидат транспарентни, за самата апликација да биде поверодостојна.

Второ, при инсталација, апликацијата генерира УПК (Уникатен Произволен Код) кој заедно со мобилниот телефонски број се запишува во база на податоци која се чува на сервер управуван од МЗ. Според официјалните информации од веб-сајтот на апликацијата, оваа база на податоци е енкриптирана и клучот го имаат единствено овластени лица од МЗ. Проблемот со УПК за секој корисник е тоа што овој код се поврзува со телефонскиот мобилен број на корисникот, па така, телефонскиот број 07X YXY XYX секогаш ќе го има УПК: a1b2c3).

Пример: Анета, со УПК: a1b2c3 и мобилен телефонски број 07X YXY XYX и Боби, со УПК: a4b5c6 и мобилен телефонски број: 07Y XYX YXY во недела попладне се наоѓаат во градскиот парк. Тие не се знаат меѓусебе, но за краток момент се разминуваат и нивните апликации ги разменуваат нивните уникатни произволни кодови (според админ панелот) на апликацијата, податоците кои што се собираат вклучуваат и датум: „старт“ и „крај“ на времетраењето кога апликациите „зборувале“ меѓусебе, на пример: 19-04-2020 13:10:15 до 19-04-2020 13:10:20). Анета, после неколку дена ги развива првите симптоми на КОВИД-19 и самостојно одлучува да ги прикачи сите податоци кои нејзиниот уред ги „собрал“ кон серверот на МЗ (вклучувајќи го и уникатниот произволен код на Боби: a4b5c6). Доколку Анета биде прашана од одговорно лице, и одговори каде сѐ била на 19-04-2020, тогаш, имајќи го уникатниот произволен код на Боби, може да се открие дека и Боби (преку неговиот телефонски мобилен број) бил во градскиот парк на тој датум и време. Ова не смее да се случи, затоа што се нарушува приватноста на Боби. Поради оваа причина имплементацијата мора да биде приспособена да не користи уникатни произволни кодови и мобилни телефонски броеви. Едно решение би бил DP-3T протоколот. (краток стрип кој површински го објаснува протоколот)

Трето, иако базата на податоци е енкриптирана (што е правилен потег), доволна е една грешка (на пример, клучевите да бидат ненамерно објавени јавно, или грешка на овластеното лице кое управува со тој сервер) за таа да биде компромитирана и огромна база на податоци со валидни (затоа што апликацијата бара корисникот да го верификува телефонскиот број пред да започне со користење) телефонски броеви да биде мета на злоупотреба.

Апликацијата „СтопКорона!“ со сегашната имплементација е погрешна ако се земе во предвид приватноста на корисниците. Апликацијата ќе биде правилно имплементирана само доколку ги почитува условите соопштени од Европската комисија, и ќе добие зелено светло за користење од оние кои што се грижат за нивната, но и анонимноста и приватноста на нивните сограѓани.

Posted in безбедност, политика, софтвер | Leave a comment

Јас, Кина и македонскиот врвен интернет домен

Овој напис е оригинално објавен на IT.mk.

Пред неколку месеци решив дека сакам да си го купам мојот прв, личендомен што завршува со “.mk”. Во Македонија, примарен опслужувач за администрирање и управување со врвниот македонски домен „.mk“ е Мрежниот информационен центар на Македонската академска истражувачка мрежа (МАРнет). Главната идеја беше името на доменот да биде со две латинични букви. Моите иницијали.

Неколку пребарувања на сајтот на МАРнет ми открија дека голем број од домените се регистрирани од луѓе кои не се државјани на Македонија, што значи дека кој сака во светот може да регистрира домен преку некои од официјалните регистрари кои се излистани на сајтот на МАРнет. First come, first served.

Овде почнува мојата мини анализа по тоа кои сѐ и од каде ги имаатрегистрирано домените. Податоците се јавни, но МАРНет не ги сервира сите на тацна. Наједноставниот начин да се земат ваков вид на податоци е да го посетиш whois серверот на МАРнет. Whois серверите меѓудругото се намените за да овозможат лесно пребарување низ база на податоци со регистрирани домени.

Ваквите датабази во себе чуваат податоци од видот на:

  • Име и презиме на регистрантот
  • Адреса на живеење
  • Телефонски број
  • Е-пошта
  • Државен код (на регистрантот)
  • Датум на регистрација и истекување на доменот
  • Регистрар

Пред неколку години Георги Станојевски направи одлична анализа на македонскиот Интернет простор, поконкретно, анализа на „.mk“ домените, и топло препорачувам да се прочита.

Така стигнав до делот каде што знам каде да ги најдам податоците, но главниот проблем е дека морам рачно да пребарувам домен по домен, што се вкупно 676 пребарувања (26 латинични букви и две можни букви во името на доменот 26^2).

Вакви видови на проблеми обично се решаваат со пишување на програма (скрипта) која што автоматски ќе ја пребара базата, ќе ги земе податоците и ќе ги зачува за подоцна да можат да се искористат.

Скриптата којашто ја напишав и самата база на податоци можат да се најдат овде. Еве неколку интересни резултати што открија податоците:

  • Најголемиот дел регистрирани домени се од регистранти со државен код: МК.
  • Најголемиот дел од регистрираните домени од странски регистранти го имаат државниот код CN, кој е државен код на Н.Р. Кина.
  • Во останатиот дел од регистрираните домените можат да се забележат државните кодови на САД, Русија, Германија и Велика Британија.

Мојот пријател Новица Наков се нафати да направи графикони со помош на програмскиот јазик R којшто најчесто се користи за статистика и анализа на податоци.

Регистрирани домени по земја на потекло на регистрант по години

Овој графикон ги прикажува кога и со кој државен код биле регистриранидомените. Податоците покажуваат дека регистрација на МК домени од страна на регистранти со државен код CN започнала во 2015 година, каде што нашиот врвен домен и не бил толку популарен за нив, сѐ до една година подоцна, кога нагло започнува регистрирање на МК домени.

Земји од каде лица регистрирале 5 или повеќе МК домени

Уште еден интересен графикон што покажува дека Кина, која што е веднашзад нас во број на регистрирани МК домени, им бега со доста разлика наостанатите држави.

Вниманието ми остана на: зошто најголемиот дел од странски регистранти се од Кина, и што се случува со тие домени?

Податоците, кои веќе ги имам во база, ги искористив за да проверам колку од домените со државен код CN се живи, односно колку од нив покажуваат кон некаков сервер, а колку се мртви и само седат неискористени.

Резултатите се:

  • Вкупен број на домени со државен код CN: 169
  • Вкупен број на домени кои покажуваат кон некаков сервер: 42
  • Вкупен број на домени кои не покажуваат никаде: 103.
  • Вкупен број на домени кои покажуваат кон сервер, но редиректуваат или враќаат бескорисна содржина: 24

Оваа кратка анализа ми даде до знаење дека регистрираните домени содржавен код CN најчесто се мртви и најверојатно се купени за да се препродадат за повисока цена.

Исто така, доменот lh.mk (Lubeski Hristijan) искочи дека е слободен, па го купив со брзина на светлината додека не ми го „украл“ некојси Hsu Lee, или Lee Hsu. 🙂

Posted in интернет | Tagged , , | Leave a comment