Спершу декодуйте QR-код, не скануйте його
QR-код неможливо прочитати на око, але його вміст можна отримати за кілька секунд. Як побачити адресу до переходу — і чого ця перевірка не покаже.
Це потрібно у двох ситуаціях: ви збираєтеся сканувати код, якому не повністю довіряєте, або збираєтеся надрукувати код, створений десь в іншому місці. Одна й та сама техніка допоможе в обох випадках.
Крок 1 — Прочитайте вміст, не відкриваючи його
QR-код містить текст. Сканер декодує цей текст і одразу діє відповідно до нього — відкриває URL, підключається до мережі Wi-Fi, починає виклик. Декодер декодує той самий текст і просто показує його вам. У цьому й полягає весь запас безпеки.
Сфотографуйте код або зробіть знімок екрана та декодуйте зображення в нашому QR-рідері. Він повністю працює у вашому браузері: зображення нікуди не завантажується, і нічого не відкривається. Ви отримуєте вміст у вигляді звичайного тексту.
Крок 2 — Визначте тип вмісту
Вміст QR-кодів має впізнавані формати. Прочитавши префікс, ви зрозумієте, що зробив би сканер.
| Вміст починається з | Тип | Що зробив би сканер |
|---|---|---|
https:// або http:// | URL | Відкрити сторінку. Це найпоширеніший випадок |
WIFI:T:WPA;S:…;P:…;; | Облікові дані Wi-Fi | Запропонувати підключитися до цієї мережі — перевірте SSID перед прийняттям |
BEGIN:VCARD | Контактна картка | Запропонувати зберегти контакт |
mailto: / tel: / smsto: | Електронна пошта, виклик, SMS | Заповнити повідомлення або набрати номер |
| Звичайний текст без префікса | Текст | Показати його. Безпечно |
javascript: або незнайома схема застосунку | Підозрілий вміст | Не відкривайте його |
На наших сторінках про типи описано кожен формат, якщо ви хочете побачити, як створюється коректний код: Wi-Fi, vCard, електронна пошта, телефон, звичайний текст.
Крок 3 — Перевірте домен
Для URL домен має вирішальне значення — читайте його справа наліво, починаючи з першого одиночного слеша. У https://pay.cityparking.gov/meter/44 домен — cityparking.gov. У https://cityparking.gov.pay-now.click/meter/44 це pay-now.click, а впізнавана частина — лише декорація.
| Що ви бачите | Як це читати |
|---|---|
| Домен, який ви впізнаєте і який відповідає організації | Прямий перехід. Код веде туди, куди, здається, має вести |
| Загальний сервіс скорочення QR-посилань, яким ви не володієте | На шляху є третя сторона, яка може змінити або вимкнути пункт призначення |
| Справжня назва бренду як субдомен чогось іншого | Класична підміна. Перевірте мітки справа |
| Необроблена IP-адреса | На друкованих матеріалах це майже ніколи не легітимно |
Одне застереження щодо скорочувачів: те, що ви впізнаєте сервіс, не повідомляє вам пункт призначення. Unit 42 висловлюється прямо — «Навіть обережні щодо безпеки люди, які перевіряють попередній перегляд URL перед скануванням, не можуть визначити кінцевий пункт призначення, коли їм показують скорочені посилання» — а три сервіси, які вони називають найбільш зловживаними, є звичайними доменами перенаправлення QR-генераторів. Знайомий скорочувач не є гарантією.
Крок 4 — Простежте ланцюжок перенаправлень
Якщо вміст — коротке посилання і вам потрібно дізнатися, де воно насправді завершується, визначте це, не завантажуючи сторінку. У терміналі:
Виконайте curl -sIL "https://short.example/abc" | grep -i "^location:" — це виведе заголовок Location для кожного переходу, не виконуючи вміст сторінки. Зверніть увагу на кількість переходів: один перехід до очікуваного пункту призначення є звичайним, а кілька переходів через сторонні хости зазвичай означають посередників аналітики або реклами, кожен із яких бачить запит. У матеріалі Що записує QR-проксі описано, які дані збирають такі переходи.
Є два застереження. Перенаправлення може показати вам один пункт призначення, а іншій людині — інший, залежно від IP-адреси, user-agent або часу. Тож чистий результат підтверджує лише те, що сталося з вами саме тоді, а не те, що отримає клієнт в іншій країні. Крім того, пункт призначення динамічного коду можна будь-коли змінити — саме заради цієї функції його й продають.
Як перевірити код, який надійшов електронною поштою?
Ставтеся до цього як до окремого й небезпечнішого випадку. NCSC зазначає, що QR-коди використовують у фішингових листах саме тому, що не всі засоби безпеки сканують зображення. Тому код може перенести шкідливе посилання повз фільтри, які виявили б те саме посилання у вигляді тексту, а сканування переводить вас на особистий телефон із слабшим захистом, ніж у робочого комп’ютера.
Перевірка проста. Збережіть зображення з листа, а не скануйте його з екрана, декодуйте файл і прочитайте домен. Робіть це на комп’ютері, а не на телефоні, щоб не залишати захищений пристрій. Якщо домен не збігається точно з організацією, від імені якої надіслано лист, зупиніться — зв’яжіться з організацією звичним для вас способом, а не через будь-що в цьому повідомленні.
Звертайте увагу на терміновість у поєднанні з кодом: проблема з доставкою, податкове повідомлення, переповнена поштова скринька, необхідність підтвердити обліковий запис сьогодні. Легітимним організаціям дуже рідко потрібно, щоб ви сканували надрукований квадрат для вирішення термінової проблеми з обліковим записом. У матеріалі Квішинг докладно описано схеми таких атак.
Чого декодер не може вам повідомити?
Чітке розуміння обмежень допомагає чесно оцінювати перевірку.
- Чи безпечний пункт призначення. Декодер показує адресу, а не вміст. Навіть впізнаваний домен може містити скомпрометовану сторінку.
- Що отримають інші люди. Перенаправлення може вести до різних пунктів призначення залежно від IP-адреси, user-agent або часу доби. Чистий результат описує ваш запит у конкретний момент.
- Що станеться завтра. Пункт призначення динамічного коду можна змінити будь-коли після вашої перевірки. Саме заради цієї функції його продають, і тому фраза «Я одного разу це перевірив» не є довготривалим підтвердженням безпеки динамічного коду.
- Чи відповідає надрукована копія файлу. Наклеєні поверх коду стікери означають, що погоджений вами макет і об’єкт на стіні можуть відрізнятися. Лише декодування фізичної копії повідомить щось про фізичну копію.
Перше й останнє обмеження пояснюють, чому поради для бізнесу в цьому блозі знову й знову повертаються до тієї самої думки: статичний код на вашому власному домені — єдиний варіант, за якого одноразова перевірка залишається актуальною.
Крок 5 — Перевірте власний макет перед друком
Це займає хвилину й запобігає цілому класу дорогих проблем.
- Експортуйте фінальний макет саме в тому вигляді, у якому його буде надруковано.
- Декодуйте цей файл — не файл із попереднього перегляду генератора.
- Переконайтеся, що вміст — потрібний вам URL на домені, яким ви володієте.
- Якщо це коротке посилання на чужому домені, не друкуйте його. Створіть статичний код заново.
- Після отримання надрукованого пробного примірника проскануйте його та переконайтеся, що він і далі веде куди потрібно.
Якщо код уже надруковано і ви запізно провели цю перевірку, посібник із відновлення після захоплення описує доступні варіанти. Якщо код перестав працювати, а ви ще не знаєте чому, почніть зі статті чому ваш QR-код перестав працювати.
Поширені запитання
- Чи можна декодувати пошкоджений, брудний або частково закритий QR-код?
- Часто так. QR-коди мають корекцію помилок Ріда—Соломона, і на найвищому рівні можна втратити приблизно 30% візерунка, а вміст усе одно відновиться. Не можна втрачати три великі квадрати в кутах — це маркери положення, потрібні декодеру, щоб взагалі знайти й зорієнтувати сітку. Код із відірваним кутом зазвичай не працює, а потертий посередині — зазвичай працює.
- Чи безпечно сканувати QR-код просто для того, щоб подивитися на нього?
- Більшість телефонних сканерів показують попередній перегляд перед відкриттям, і це відносно безпечно. Ризик полягає у звичці одразу натискати далі. Якщо ви маєте сумніви, натомість декодуйте зображення — це повністю усуває ризик.
- Як дізнатися, чи є QR-код динамічним?
- Декодуйте його. Якщо вміст — коротке посилання на домені, який не належить вам і не є доменом сайту призначення, код динамічний і проходить через цю третю сторону. Статичний код містить сам URL пункту призначення.
- Чи можна зрозуміти, що робить QR-код, до сканування, якщо в мене немає інтернету?
- Так. Декодування — локальна операція: декодеру, що працює в браузері, не потрібна мережа після завантаження сторінки, а вміст — це текст, який ви можете прочитати самостійно.
- Що робити, якщо надрукований код декодується в домен, якого я не впізнаю?
- Не скануйте його, а якщо він розміщений на об’єкті загального користування, повідомте про це власнику поверхні. FTC і FBI попереджали про наклейки, розміщені поверх справжніх кодів; див. квішинг.
Коди, створені тут, завжди декодуються саме в те, що ви ввели: QR-код для URL. Більше контексту — у матеріалі правда про шахрайство з QR-кодами.
Готові створити статичний QR-код?
Згенеруйте його у своєму браузері — без реєстрації, без відстеження, без підписки. Те, що ви створюєте, належить вам.
Дотичні матеріали
Квішинг: QR-генератори — головні цілі фішингу
Шар перенаправлення, який «безкоштовні» QR-генератори додають до звичайних друкованих матеріалів, — це той самий шар, на який покладаються зловмисники, і він прибрав останній захист, доступний сканерам.
Статичні vs динамічні QR-коди: що варто знати кожному користувачу
Один кодує ваш контент; інший кодує перенаправлення. Ця одна різниця визначає, чи працюватиме ваш QR-код за п'ять років.
QR-код вимкнули: як назавжди повернути контроль
План дій для вимкненого коду: хто ним керує, скільки коштує вихід і який крок не дасть проблемі повторитися.
5 червоних прапорів того, що ваш генератор QR — пастка
П'ять сигналів, що відрізняють чесні QR-інструменти від dynamic-first генераторів, які пізніше стягуватимуть з вас ренту або вимикатимуть ваші коди.
Сканування QR: дані отримують, ризикуєте ви
Аналітика сканувань — не додаткова функція. Саме заради неї існує перенаправлення, а юридичний ризик несе не той, хто зберігає дані.