Принцип незалежності перевірки

Натрапив на ситуацію, коли в досить принциповій суперечці був змушений пояснювати колезі, що таке принцип незалежності перевірки, чому він важливий, як він захищає від конфлікту інтересів, і навіщо це все взагалі. Звісно, що це мене здивувало, адже в нашій уяві усі люди, яких ми поважаємо як професіоналів, знають принаймні стільки само, як і ми. Насправді ж це омана, і людей зі справжнім аудиторським досвідом в кібербезпеці, а тим більше у сфері захисту програмного забезпечення, не дуже багато. Я знаю двох, зі мною включно. Тому, робити про це доповідь напевно то занадто, а от написати невеличкого поста я себе змусив.

Отже, давайте по черзі. Що таке конфлікт інтересів? Це така ситуація, коли наше особисте заважає професійному, або коли наші професійні пріоритети конфліктують між собою. Крайній випадок: ваша друга половина пише код, а ви його перевіряєте. Ви можете мені зараз мамою поклястися, що будете об’єктивні та неупереджені у своїх діях та висновках, але ми обоє знаємо, що це не так. Щось в цій ситуації буде не так як зазвичай. Уважність, прискіпливість, суворість формулювань. І щось піде не так. Бо це нормально. Це людська природа і з цим нічого не зробиш. Ви свідомо чи несвідомо будете намагатися збалансувати в собі дві ролі й в результаті принаймні одну з них, а скоріш за все обидві, провалите. Ви або погано перевірятиме, або погано сформулюєте наслідки, або будете після цього поганим партнером бо підставили. Тому якщо ви обоє не є клінічними соціопатами в такі ситуації краще не потрапляти.

Тепер менш мелодраматичний приклад: ваші колеги девелопери писали код, а вам його перевіряти. Тут все залежить від ставок. Якщо мова про внутрішні процеси, в яких всі знахідки пофіксять та процес піде далі, то тут ризику замало, щоб його обговорювати. Якщо ж ситуація публічна та має широкий розголос, як наприклад дискусія про перевірку безпеки додатку Дія, яка завела нас в ці рядки, то все різко змінюється. Є зовнішні загрози для компанії, тому в усіх задіяних осіб виникає потенційна корпоративна або персональна відповідальність за якість виконаної роботи. Девелопери можуть вигрісти за те, що погано розробили, безпечники за те, що погано перевірили девелоперів, а менеджмент за те, що погано це все організував. Зокрема, не попіклувався про усунення конфлікту інтересів. Адже якої б ми високої не були думки про професійний рівень наших колег, «ми не беремо на роботу мудаків» — це не найкраща корпоративна стратегія. Ми не хочемо, щоб між колегами в одному колективі виникали робочі конфлікти через те, що ми змушуємо друзів перевіряти роботу одне одного. І тим більше ми не хочемо, щоб занадто амбіційні та корпоративно-відповідальні менеджери мали змогу все «розрулити» в ручному режимі. Тому ми наймаємо зовнішній аудит для перевірки фінансової звітності та робимо пентести за допомогою незалежних компаній.

Якщо коротко, то принцип незалежності не про те, що ми все класно зробили. Він про те, що ми не дали собі шансу зробити неправильно. Тому деколи в застосуванні цього принципу компанії ідуть на дивні, здавалося б, речі. Наприклад, на заваді проведенню аудиту може стати навіть не те, що аудитор працює в тій самій компанії, але й те, що у двох різних компаній є спільний інвестор. Навіть, якщо доля у володінні дуже незначна.

Отже, підсумуємо. Не варто сприймати принцип незалежності перевірки у вузькому контексті перевірки власної роботи або роботи колег. Звісно, я не хочу, щоб мій звіт про пентест додатку, який писали мої друзі, побачили треті особи. Це було б щонайменше якось дивно. Принцип незалежності ширший і він існує не для того, щоб ним нехтувати з огляду на конкретні обставини. Конфлікт інтересів настільки складна ситуація, що буде простіше просто не дати їй виникнути.

Бережіться.

“Культурні війни” в індустрії кібербезпеки

Останнім часом у нас в “узком кругу ограниченых людей” регулярно виникають дебати, правильно чи ні в умовах конфлікту співпрацювати з російською індустрією інформаційної безпеки, споживати послуги або товари російського походження, продавати послуги російським компаніям (включаючи їхні українські активи) та, що найчастіше, відвідувати російські конференції з інформаційної безпеки. Нормальні люди можуть порівняти цю вічну драму з більш широко обговорюваними гастролями українських “зірок” на території країни-агресора та отримування ними від неї музичних премій.

На вищому рівні все зводиться до того, чи повинні професійні інтереси враховувати політичну ситуацію. В цьому місці думки розходяться: одні вважають, що професіонали “внє політікі”, тому заради світлого майбутнього, розвитку технологій та бла-бла-бла треба стулити пельку та продовжувати співпрацю. Інші ж впевнені, що відчуження від Росії має бути повним та абсолютним: жодних контактів, включаючи професійні, а хто проти – той зрадник та колабораціоніст. Звичайно, я тут трошки навожу різкість на крайніх випадках, є напевно щось посередині, але я думаю загальну картину ви вловили.

Якщо ви мене знаєте давно та близько, то ви в курсі, що я зарозумілий та пихатий мораліст, якого краще не питати про такі речі. Але, що дивно, навіть добре знайомі люди питають, і то регулярно. Тому, як то кажуть недолугі фєзбучні дописувачі, “я просто залишу це тут”.

tl;dr: Особисто я твердо впевнений, що будь-які професійні контакти з російською індустрією інформаційної/кібер-безпеки повинні бути виключені до завершення окупації території України, включаючи Донецьку та Луганську області та АР Крим. І це не моя особиста думка чи політична позиція, це результат розв’язання морально-етичної дилеми за допомогою простого та доступного інструменту, про який нижче.

Але спочатку трохи про себе. До середини 90-х, тобто 15 років життя, я прожив на території РФ, спілкувався виключно російською та десь до 20 років вважав себе носієм “східнослов’янської” культури, вірив в братство народів тощо. З 2005 по 2007 я працював у російській компанії, причому не просто в її українському відділенні, а з відрядженнями, часто довготривалими, у найвіддаленіші куточки СНД. Далі, я двічі виступав на досить масштабній конференції з кібер-безпеки PHDays, за деякими оцінками найбільшій в регіоні. Я це все розказую, щоб не залишалося сумнівів: я знаю, про що йде мова, і у 2014-му мені довелося багато з чим розпрощатися.

Тепер про інструмент. Є таке поняття, система цінностей. Для багатьох воно суто віртуальне, але якщо розібратися, то все до смішного просто. Є а) цінності та б) їхні пріоритети.

За прикладом далеко ходити не треба: західні, більш відомі як європейські, цінності. Вони складають основу культури т.з. “міжнародної співдружності”. Якщо спрощувати, то це Європа, Північна Америка та країни, які мають з ними тісні культурні зв’язки. Цінності та порядок їхнього пріоритету у цивілізованої західної людини виглядають так:
1. Людина
2. Суспільство
3. Держава
4. Професія
Або, якщо розгорнути:
1. Цінність людського життя, права людини, недоторканість приватної власності тощо.
2. Інтереси суспільної групи: сім’ї, родини, громади, колективу, політичної партії тощо.
3. Інтереси держави, громадський контроль, фіскальна дисципліна тощо.
4. Інтереси роботодавця, професійної спільноти тощо.

Як бачите, цінності розташовані в певному порядку, який відбиває пріоритети між ними. Ці пріоритети важливі в ситуації, яка називається етичною дилемою: коли дві та більше цінності конфліктують одна з одною. У таких випадках, пріоритети використовуються для розв’язання дилем: цінність з вищим пріоритетом (в нормальних умовах) має бути реалізована, а цінність з нижчим пріоритетом – пригнічена. Така поведінка називається моральною або принциповою, а прямо протилежна – аморальною або дефектною.

Якщо я вас вже заплутав, то ось спрощений варіант, який набагато практичніший.
1. Спершу, будь хорошою людиною.
2. Потім, будь хорошим членом сім’ї та суспільства.
3. Потім, будь хорошим громадянином.
4. І нарешті, будь хорошим працівником та професіоналом.

Розберемо приклад. Або два.

Скажімо, ви – рядовий армії, який “вміє працювати з комп’ютером”. Сидите в аналітичному центрі, слідкуєте, щоб скрізь порядок був. Аж раптом натрапляєте на засекречений, але не дуже захищений відеозапис розстрілу репортерської групи з борту армійського гелікоптера. Ваші дії? Керуючись цінностями, які у вас закладені з вихованням та формуванням особистості, в тому числі тією ж армією, ви чітко усвідомлюєте, що з одного боку – треба бути хорошим громадянином: розголос цього інциденту вочевидь не на користь вашій державі. Але з іншого боку – треба бути хорошою людиною: розстріл мирних та неозброєних людей, навіть через тактичну помилку, має бути публічно визнаний та розслідуваний, а винуватці – покарані. Деякий час хороший громадянин та хороша людина всередині вас сперечаються, але людина перемагає. І ви виносите відос з датацентру, передаєте його Wikileaks, вас заарештовують, обвинувачують та відправляють за ґрати на термін до 35 років з правом на помилування. Аж до поки інша людина не згадує про те, що вона теж ніби хороша, і треба вас помилувати поки президентський термін не скінчився.

Або не так радикально: припустимо, що ви – аудитор, який робить перевірку фінансової звітності. Сидите у клієнта в офісі, в якомусь тихому куточку, звіряєте ліди з фактами. І тут оба-на: бачите ознаки величезної фінансової махінації, про яку, схоже, ніхто крім вас та її організаторів в топменеджменті клієнта не здогадується. І для вас очевидно, що постраждали тисячі міноритарних акціонерів, до того ж держава не отримала мільйони податків в бюджет. Ваші дії? Високоморальний носій західних цінностей, звичайно ж, поставить інтереси суспільства та держави вище за інтереси роботодавця. Зв’яжеться з журналістами та контрольними органами та повідомить про зловживання. Скоріш за все, буде звільнений за порушення угоди про нерозголошення, але зможе (звичайно, у цивілізованій західній країні) успішно оскаржити звільнення в суді, отримати матеріальну компенсацію та розпочати власний бізнес або іншу кар’єру.

Отже, усвідомлюєте ви це чи ні, цінності у вас є. Вони є у всіх, тому що суспільство їх в нас вкладає з народження і до смерті. Цінності – це основа культури, яка об’єднує людей у нації та цивілізації. Та відповідно до відмінностей в системах цінностей ми розділяємо цивілізації: на європейську, азійську, африканську, латиноамериканську тощо. В одній з них може домінувати цінність людського життя, в іншій – інтереси держави, ще в одній – родинні інтереси тощо.

У східній культурі, наприклад, інтереси суспільства та людини зазвичай знаходяться нижче інтересів держави та роботодавця. Не тому, що це результат репресій та деспотизму, ні. Просто це інша культура, інша система цінностей, яка так само як європейська виникла як еволюційна відповідь на виклики часу та в решті решт виявилася оптимальною для сталого розвитку цивілізації. Так, деякі “культурні особливості” східної цивілізації європейцям можуть здаватися аморальним або абсурдними: культури різні, цінності різні. І те, чого ми можемо вимагати від носіїв культури, сумісної з нашою, ми зазвичай не можемо й очкувати від аутсайдерів. Є теорія, що в результаті свого розвитку цивілізації невідмінно приходять до ідеалів гуманізму, але це вже інша тема.

Отже, повертаючись до питання правильності чи неправильності співпраці з Росією в професійній та діловій площинах. Я розумію, що це може віддавати популізмом в дусі “не за це стояв Майдан”, але на мою думку Україна чітко та виразно дала зрозуміти, якої системи цінностей вона дотримується та до якої цивілізації тяжіє. У такій культурі інтереси держави та суспільства стоять вище за професійні та кар’єрні цілі. І якщо розпрощатися з російським роботодавцем не завжди швидко та легко, а деколи й суперечить інтересам сім’ї, то принаймні закрити для себе питання участі в професійному житті держави-агресора дозволити собі може кожен. А якщо ні, то постає ціла низка питань, відповіді на які майже ніколи не бувають на користь співпраці з такими елементами.

Звичайно, розв’язання етичних дилем – це не єдине застосування системі цінностей. Якщо тема вас зацікавила, можете проаналізувати як культурні пріоритети використовуються в переговорах (фрейм моральної переваги) та насадженні бізнесової корпоративної культури (розвиток суспільних груп в трудових колективах).

Бережіться.

Важливі справи зробити в січні

Важливі справи зробити в січні

Зараз початок року і дуже важливо не відкладати важливі щорічні справи. Тому що можна так допрокрастинуватися до наступного січня і так далі. Були, знаємо.

Отже, що варто зробити в січні.

  1. Змінити паролі, які ви мусите тримати в голові. Тобто щонайменше ваші паролі на вхід до комп’ютера, розблокування смартфона та парольного сейфа. Вони повинні змінюватися щонайменше раз на рік, то чому б не зробити це зараз?
  2. Перевірити, що у вас є резервна копія найкритичніших даних. Уявіть собі, що пожежа, повінь, землетрус або кіберполіція забрали всі ваші електронні пристрої. Чи є у вас в начці смартфон із синхронізованою БД ваших паролів до всіх хмарних сховищ, зашифрованих віртуальних дисків, електронних гаманців, облікових записів дистанційного банкінгу, і звісно ж, соціальних мереж, месенджерів та електронної пошти? Без яких зупиняться ваші робота або бізнес, та доведеться скасувати наступну відпустку?
  3. Перевірити, що на всіх ваших супер важливих облікових записах встановлено двофакторну автентифікацію і це не SMS. Що всі ваші другі фактори зберігаються щонайменше у двох екземплярах (наприклад на смартфоні та в комп’ютері), а резервні коди встановлено та збережено в надійному місці. Перевірити все те саме в найкритичніших облікових записах ваших рідних та близьких.
    https://myaccount.google.com/signinoptions/two-step-verification
    https://www.facebook.com/security/2fac/settings
    https://www.instagram.com/accounts/two_factor_authentication/
    https://account.live.com/proofs/manage/additional?mkt=en-US&refd=account.microsoft.com&refp=security&fref=security.banner.two-step

Знайти посилання на інструкції, як ввімкнути другий фактор, можна тут: https://twofactorauth.org

  1. Перевірити, які додатки мають доступ до ваших важливих даних. За рік таких паразитів могло накопичитися чимало. Ось перелік посилань на відповідні сторінки у важливих сервісах. Під час перевірки пам’ятайте правило буравчика: якщо ви не можете згадати що це, краще це видалити.
    https://myaccount.google.com/permissions
    https://www.facebook.com/settings/?tab=applications
    https://instagram.com/accounts/manage_access
    https://account.live.com/Consent/Manage
    https://www.dropbox.com/account#applications
    https://www.linkedin.com/psettings/permitted-services
    https://twitter.com/settings/applications
  2. Почати користуватися VPN якщо ще ні. У 2020 році немає виправдання наївному ставленню до приватності. Розумники, які вважають, що чесним людям немає чого приховувати, можуть викласти свої логіни та паролі в коментах. Правда полягає в тому, що приватність важлива не тому, що у вас є що приховувати, а тому, що це не їхня псяча справа. А захищатися нині доводиться від провайдерів інтернет, власників веб-сайтів, роботодавців та держустанов. У світі стільки охочих дізнатися про вашу поведінку в усіх подробицях, що перераховувати всіх не вистачить жодного терпіння. Тому просто спробуйте закрити це питання найдоступнішим способом: скориставшись надійним VPN-сервісом (радити не буду), або створивши власний VPN-сервер згідно з інструкцією тут: https://bit.ly/3asyi8L

Всім безпечного року. Бережіться.

Algo VPN: Personal DIY VPN. For normals.

In this post, I walk you through the process of creating your own self-managed do-it-yourself VPN server running Algo VPN.

I have spent some time teaching normal non-tech people how to use Algo VPN and other Do-It-Yourself VPN solutions, and there are several issues that we encountered each time. So I wanted to put up a manual that everyone could use and that helps remove those issues. If you still find problems along the way, please let me know.

First, a few words about the solution: Algo is not the easiest way to set up a personal VPN, but I think it is the best. Using Algo VPN alternatives, such as Outline or OpenVPN AS, might be simpler but far from better. I will not discuss the drawbacks here; I will say that I tried them and used them and many more for a while. After that, I have found Algo the best possible solution for my overall setup, which ensures a) top speed, b) native OS support on all clients, c) open design, and d) minimal overall potential for user tracking.


Read this manual carefully before you start. It will save you a lot of pain.

There is one thing you will need before we start. It is an active Amazon account with a payment method linked to it, as we will use Amazon LightSail as a cloud engine for the virtual hosts we create. LightSail provides the first month of free usage, but you will still need a credit card to activate the service.

Step 0. Create a deployment user account in IAM

First, let’s create a user account that we will need during the installation. We will create it in Amazon IAM, assign a policy to it, and then input its access keys to Algo when asked.

Go to IAM users configuration console to create a new user: https://console.aws.amazon.com/iam/home#/users$new?step=details. Give the user a unique name and mark its access type as programmatic.

Create Algo user in AWS IAM

Next step, select “Attach existing policies directly” and then press the “Create policy” button.

Create AWS ISM policy for Algo user

A new browser tab will open for policy creation. Edit the policy using JSON mode.

Create AWS IAM policy as JSON

Copy and paste the JSON content below to the policy editor. You can find the original policy in Algo documentation: https://github.com/trailofbits/algo/blob/master/docs/deploy-from-ansible.md#lightsail.

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "LightsailDeployment",
"Effect": "Allow",
"Action": [
"lightsail:GetRegions",
"lightsail:GetInstance",
"lightsail:CreateInstances",
"lightsail:OpenInstancePublicPorts"
],
"Resource": [
"*"
]
}
]
}

When the JSON content is there, preview the policy.

Edit AWS IAM policy as JSON

Give it a name and then hit “Create”.

Save AWS IAM policy

Go back to the IAM session and hit the refresh button to see your newly created policy in the list.

Refresh AWS IAM policy

Select the new policy by checking the box next to it and proceed.

Attach AWS IAM policy to Algo user

Skip the next step — don’t assign any tags — and go straight to Review your new user. After reviewing, hit “Create user.”

Review and create AWS IAM policy

If everything went well, you would see your new user and its access key parameters.

Review Algo IAM user

Copy these parameters somewhere safe and keep them until Algo asks you for them.

Step 1. Create a jump host

Now, let’s create a temporary jump host that we will use to run Algo. Running Algo could be hard if you are not running Linux or macOS on your desktop, so I found it more convenient to create a jump host for that. If you already have a Linux machine, you can skip this step.

Login to Amazon and go to https://lightsail.aws.amazon.com/ls/webapp/home/instances. There, manually create a new Ubuntu virtual host in any region.

Create Amazon LightSail instance

Make sure you create an “OS only” Linux host running Ubuntu 18.04 LTS.

Select Ubuntu Linus as instance OS

The most economical plan should be fine. Give the instance a unique name.

Select instance size and name

After the instance has been deployed, hit the terminal button. It will open an SSH session window.

Open instance virtual console
Review instance virtual console

Step 2. Install and configure Algo VPN

In the console window, run the following commands. You can copy and paste them to the terminal. When asked, “Restart services during package upgrades without asking?” answer “Yes.”

git clone https://github.com/trailofbits/algo
sudo apt update
sudo apt install -y python3-virtualenv
cd algo
python3 -m virtualenv — python=”$(command -v python3)” .env &&
  source .env/bin/activate &&
  python3 -m pip install -U pip virtualenv &&
  python3 -m pip install -r requirements.txt

If you did everything correctly, you will see something like this in the end.

Clone Algo and install Python virtual environment

Next, you will need to edit the config file with nano or any other console-based text editor. If you are new to nano and the Linux command line, make a copy of the config file before editing it.

cp config.cfg config.bak
nano config.cfg

Once the editor is open, go to the “users” section and change it to reflect your user plan. Make sure there is a line for every device you are planning to put through the VPN server. It is important to note that adding as many users as there will be people using VPN is not enough. In this case, they might experience networking problems while simultaneously using VPN on different devices.

Edit Algo setup configuration

After you have finished editing the file, exit and save by pressing Ctrl+X, choosing “Yes,” and pressing Enter.

Step 3. Run Algo to deploy your VPN server

Now, run the Algo script and follow the instructions below to set up the VPN service correctly. If you make mistakes, don’t worry: you can abort the script by pressing Ctrl+C, typing “A,” and restart it anytime.

./algo

The first thing Algo will ask you is the cloud provider to use. We will stay with Amazon LightSail for the sake of this manual.

Select VPN server cloud provider

Next, give your VPN server a unique name.

Choose VPN server name

When asked “Do you want macOS/iOS IPsec clients to enable “Connect On Demand” when connected to cellular networks?” and “Do you want macOS/iOS IPsec clients to enable “Connect On Demand” when connected to Wi-Fi?” answer “Yes”: type “y” and press Enter. This will allow you to configure your clients to route all traffic through the VPN server at all times.
When asked, “List the names of any trusted Wi-Fi networks where macOS/iOS IPsec clients should not use “Connect On Demand,” don’t answer anything. You will be able to configure it later at the client-side if required.

When asked “Do you want to retain the keys (PKI)?” your answer will depend on whether you have plans to add more VPN users in the future. In this manual, we will answer “Yes” and demonstrate how to retain the PKI keys and Algo configurations for future use. But it is important to understand that if someone gets ahold of your PKI keys, they would be able to fully compromise your VPN server and all your network communications through it as a result.

When asked “Do you want to enable DNS ad blocking on this VPN server?” I recommend answering “Yes.” We are going to change this configuration later manually. If you are lazy, it will allow you to skip that part and fall back to the Algo default adblocking mechanism. However, it is worth noting that in this case allowing access to particular resources you would like to whitelist will be much more complicated, and we are not going to cover it in this manual.

When asked “Do you want each user to have their own account for SSH tunneling?” answer “No.” If you have reasons to do otherwise, you probably do not really need this manual.

Now, you will have to use the access key credentials of the technical user we have previously created in IAM. Copy “Access key ID” and paste it to the Algo input in your jump host SSH window as “aws_access_key.” Then, copy the “Secret access key” and paste it to Algo as “aws_secret_key” at the next step. To ensure your content is pasted correctly, use the built-in clipboard editor instead of just pasting the data into the window.

Wait until Algo setup runs
Insert cloud access key

Once the keys are inserted correctly, Algo will proceed to region selection.

Select VPN server cloud region

You can choose a region of your liking based on your preference of jurisdiction and privacy regime. Also, keep in mind that it will affect the websites’ behavior (e.g., default language) as you will be seen as a resident of the selected region. For instance, if you speak French, I assume Paris is the location of your choice.

If everything went well, there would be no more questions, and Algo will start deploying your new VPN server. At this point, you clearly understand why I have recommended you to read through the manual and collect the keys before you run Algo. You have probably disconnected a few times from your jump host console and had to start the process from scratch. So, while you are waiting for Algo to complete, make sure you generate some action in the console window — just press Enter once in a while to prevent disconnection.

Once the Algo script is complete, you will see the following picture. Copy the full text of the congratulations message and put it somewhere safe. The last 3 lines are the most important.

Wait until Algo setup is complete

Step 4. Download your VPN configurations

Next, zip and download the Algo directory. Run the following commands in the console.

cd ..
sudo apt -y install zip
zip -e -x “algo/.env/*” -r algo.zip algo/

Zip utility will ask you for a password. Select a strong one. Then, create a new directory “www,” move the zip file there, enter it, and fire up a simple web server.

mkdir www
mv algo.zip www/
cd www
sudo python3 -m http.server 80

Now, open the public IP address of your jump host in a new browser window. You can find the IP in the LightSail console.

Access jump host via HTTP
Download VPN client config

Just download the archive to your local disk and unzip it. Make sure you stop the webserver after that.

Stop the HTTP server

Check if all the config files are present in the archive.

Access VPN client configuration files

If you see the directory named by IP address and a bunch of config files in it, this means that everything went well, and you can shut down or kill your jump host now. In the LightSail console, you should see the newly created VPN server with the name you gave it during the Algo execution and the IP address the same as in the “configs” subdirectory name.

You can start using your VPN by configuring the client devices. I recommend using native WireGuard software wherever possible. Otherwise, use IPSec/IKE2.


Next, I will show you how to configure DNS-based anti-tracking mechanisms in your new VPN service. For now, play around with it and tell me if you had any trouble configuring it.

Політичний вплив соцмереж

Котани, ну це ж не так працює…

Не треба звинувачувати в чомусь Зеленського чи його команду. Представницька демократія, з усіма своїми вадами, це політична система, в якій нагору видирається той, хто найкраще відчуває пріоритети більшості. Поки більшість не розуміє, яка різниця, цього не розумітиме й Зеленський або будь-який інший політичний персонаж, якого та більшість підтримує.

Умовного Зеленського не змінити, він це призма, через яку вподобання більшості проєктуються в державну політику. Змінити можна лише більшість. А для цього не можна мовчати, тому ви правильно робите, що не мовчите. Але постити ваші зауваження у фейсбучеках – не найкращий для цього спосіб. Пояснюю.

Кожен раз, коли ви заходите у Фейсбук, перед багатомільярдною економічною машиною наглядового капіталізму постає питання: що вам показати в стрічці. І для цього в тої машини є сотні тисяч варіантів, з яких вона обирає набір дописів, посилань, картинок та рекламних блоків, які найкраще (на думку машини) відповідають вашій нещодавній поведінці. Це довго пояснювати і я у своїх останніх дописах тільки розпочав і дуже поверхнево пройшовся по найпростіших принципах, але ось вам приклад. Зі зміни в поведінці однієї особи, скажімо дівчини, яка останнім часом розпочала різко реагувати на звичні аромати та замислилася над пошуком нового дезодоранту, машина може передбачити майбутню поведінку та запропонувати рекламу курсів для молодих батьків її хлопцю. Звісно ж набагато раніше, ніж вони обидва дізнаються про вагітність. І це чи не найпростіша операція такої машини, але вона створює уявлення про її ефективність.

Так ось, у вашій стрічці показується не те, що ви хочете там бачити, а те, що може змусити вас здійснити дію в інтересах клієнтів Фейсбуку – умовних продавців дезодорантів та організаторів курсів батьківства. Для цього Фейсбук робить дві речі: слідкує за вашою поведінкою в усі можливі способи – у своїй системі та скрізь, куди може дотягнутися поза нею, а також намагається якнайдовше утримати вашу увагу на вашій стрічці. Тому у стрічку має шанси потрапити те, що або вам подобається, або вас лякає, або вас бісить. Причому в контексті, в якому ви захочете на це відреагувати та поширити. І так само працюють інші стрічки, в тому числі стрічки тих, для яких немає різниці.

І як би ви не намагалися викласти перед їхні очі розумні думки та високі ідеологічні ідеї прогресивного націоналізму та ліберальної демократії, до їхніх стрічок потрапить лише чергове розвінчування схематозу бариги та його свинарчуків. А ваші пости побачу я, ваші близькі друзі, колеги, та багато інших людей, та всі вони будуть вашими однодумцями. Ми всі дуже зрадіємо тому, які ми всі дружні та розумні, і будемо із цим відчуттям жити далі. Та від цього за межами нашої інформаційної бульбашки анічогісінько не змінитьтся.

Це сумно, але правда. Конструктивному політичному дискурсу не судилося потрапити у стрічку Фейсбуку, вона не для цього створювалась. Лише в реальному житті, лише віч-на-віч або в колективному диспуті. За святковим столом, в курилці, на кухні під чайок. В справжніх, а не віртуальних, соціальних мережах. Якщо хочете дізнатися, як це краще робити, подивіться це відео.