Засіб для виявлення прихованих камер

Засіб для виявлення прихованих камер 09.05.2023

Засіб для виявлення прихованих камер


 

 

 

 

 

 

 

 

Засіб для виявлення прихованих камер

 

 

 

 

Виконав Ворожбит М. В.

Керівник Куперштейн Л. М.


 

АНОТАЦІЯ

Вiзуальне спостереження є найдавнiшим i дуже ефективним методом збору iнформацiї. Завдання своєчасного виявлення та iдентифiкацiї оптичного спостереження стає, таким чином, однiєю з найважливiших при проведеннi як профiлактичних, так i спецiальних захисних та охоронних заходiв. Своєчасне виявлення факту несанкцiонованого спостереження дає можливiсть встановити, з якою метою воно проводиться i визначити загрозу, яку несе спостерiгач за тим чи iншим об’єктом.

Для отримання iнформацiї широко використовується прихована фото– та вiдеозйомка. В даний час для збору iнформацiї можуть використовуватися мiнiатюрнi прихованi i спецiальнi (камуфльованi пiд звичайнi предмети) фото– i вiдеокамери.

У цiй ситуацiї стає актуальною розробка i застосування засобiв протидiї несанкцiонованому вiдеоконтролю, що проводиться в примiщеннях об’єкта, i його локалiзацiя. Зарубiжнi експерти вважають, що в свiтi виявляється тiльки 1–2% шпигунської технiки, решта дозволяє отримати до 60% всiєї вкраденої iнформацiї. Тому розробка нових засобiв пошуку є актуальною.

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

Проведено аналіз існуючих методів і засобів для визначення прихованих камер, визначено їх основні переваги та недоліки.

Розроблено програмно–апаратний засіб на основі смартфона під керуванням операційної системи Android для виявлення прихованих камер на мові програмування Kotlin. Проведено тестування розробленого засобу.




ЗМІСТ

 

ВСТУП

1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ

1.1Технічні канали витоку інформації

1.2 Витік інформації через візуально–оптичний та акустичний канали

1.3 Методи та засоби виявлення прихованих камер

1.4 Формалізація вимог та постановка задачі

2ТЕХНІЧНЕ ПРОЕКТУВАННЯ СИСТЕМИ

2.1 Розробка архітектури системи

2.2 Розробка алгоритмів функціонування програми

3РОБОЧЕ ПРОЕКТУВАННЯ СИСТЕМИ

3.1 Обґрунтування вибору інструментальних засобів розробки

3.2 Програмна реалізація

3.3 Тестування програмного засобу

ВИСНОВКИ

ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ

Додаток А

 



 

ВСТУП

Вiзуальне спостереження є найдавнiшим i дуже ефективним методом збору iнформацiї. Завдання своєчасного виявлення та iдентифiкацiї оптичного спостереження стає, таким чином, однiєю з найважливiших при проведеннi як профiлактичних, так i спецiальних захисних та охоронних заходiв. Своєчасне виявлення факту несанкцiонованого спостереження дає можливiсть встановити, з якою метою воно проводиться i визначити загрозу, яку несе спостерiгач за тим чи iншим об’єктом.

Для отримання iнформацiї широко використовується прихована фото– та вiдеозйомка. В даний час для збору iнформацiї можуть використовуватися мiнiатюрнi прихованi i спецiальнi (камуфльованi пiд звичайнi предмети) фото– i вiдеокамери.

У цiй ситуацiї стає актуальною розробка i застосування засобiв протидiї несанкцiонованому вiдеоконтролю, що проводиться в примiщеннях об’єкта, i його локалiзацiя. Зарубiжнi експерти вважають, що в свiтi виявляється тiльки 1­–2% шпигунської технiки, решта дозволяє отримати до 60% всiєї вкраденої iнформацiї. Тому розробка нових засобiв пошуку є актуальною.

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

Для виконання бакалаврської дипломної роботи необхідно виконати такі завдання:

–      проаналізувати методи та засоби визначення прихованих камер;

–      створити програмний засіб (ПЗ) для виявлення прихованих камер;

–      виконати тестування програмного засобу;

Результати бакалаврської роботи доповідалося на LI науково–технічній конференції факультету інформаційних технологій та комп'ютерної інженерії (2022) [1].

1 АНАЛІЗ ПРЕДМЕТНОЇ ОБЛАСТІ

1.1 Технічні канали витоку інформації

Під витоком інформації розуміється неконтрольоване поширення інформації, яке призводить до її несанкціонованого одержання [2].

Витік інформації відбувається відповідним каналом витоку. Оскільки засоби розвідки противника, як правило, технічні, то і канали витоку також називають технічними [2].

Технічний канал витоку інформації (ТКВІ) – це сукупність небе­зпечних фізичних сигналів, середи їх розповсюдження та зберігання, об’єкту технічної розвід–ки й способів і засобів технічної розвідки, що можуть бути застосовані для зняття інформації з об’єкту, що охороняється [2].

Небезпечний фізичний сигнал (небезпечний сигнал) – це сигнал, що містить інформацію, яку необхідно захищати [2–6].

В нашій країні прийнято поділяти за наступною класифікацією:

–      акустичні канали витоку інформації, куди входять також канали з акустично–електричними перетвореннями;

–      радіотехнічні канали витоку інформації, куди входять, по–перше, відкриті канали радіотехнічного зв’язку та, по–друге, канали, що утворюються за рахунок різних випромінювань та наводок;

–      оптичні канали витоку інформації;

–      речовий канал витоку інформації, який визначається людським фак–тором.

Технічний канал витоку інформації (ТКВІ) – сукупність джерела небезпечного сигналу, середовища поширення небезпечного сигналу та засобу технічної розвідки (рис. 1.1) [3–7].

 

 

 

 

 

 

 

 

 

 


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

Витік інформації буває різних видів. Кожен з них має свої особливості і може бути класифікований за своїми характеристиками, а саме за:

-    технічними каналами витоку інформації, обробленої технічними засобами прийому інформації (електромагнітні, електричні, параметричні);

-    технічний канал акустики (мовлення) витік інформації (повітряне, вібраційне, параметричне, електроакустичне, оптико–технічне обладнання (лазер));

-    технічний канал перехоплення інформації, отриманої с шлях зв'язку (перехоплення інформації, отриманої за допомогою радіо і радіо релейна ланка: електромагнітна; зчитування інформації здійснюється за допомогою кабелю лінії підключення: електричні, індукційні).

Такі канали витоку інформації, як візуально–оптичні, акустичні (у тому числі акустичні, трансформаційні), електромагнітні (у тому числі магнітні та електричні), фізичні (папір, фото, магнітне середовище, різні виробничі відходи, такі як тверді, рідкі та газоподібні), відповідають таким середовищам як світлові промені, звукові та електромагнітні хвилі, матеріали та речовини, що забезпечують передачу інформації [8].

Загроза інформаційної безпеки (ЗІБ) — це сукупність умов і факторів, що створюють загрозу інформаційній безпеці порушення. Усі технічні канали витоку інформації можна розділити на 4 групи, наведені в таблиці 1.1 [9].


 

Таблиця 1.1 – Технічні канали витоку інформації

Канал

Приклад

1

Візуально–оптичний канал

Вікна переговорної з боку двору

Відчинені двері

Поверх контрольованого приміщення

2

Акустичний канал

Стіни кімнати

Батареї опалення

Вікна у контрольованих приміщеннях

3

Електромагнітний канал

Телефон

ПК

Повітряна лінія електропередачі

4

Матеріальний канал

Персонал підприємства

Паперові документи

Учасник зустрічі

Промислові відходи

Візуально–оптичний канал виникає внаслідок виходу контрольованої зони світлової енергії несучи ту чи іншу інформацію [9].

Під візуально–оптичним каналом розуміють дистанційне або безпосереднє спостереження, в тому числі телевізійне. Світло випромінюється джерелом секретної інформації або відбивається від нього в одному з діапазонів – інфрачервоному, видимому або ультрафіолет виступає провідником інформації [9].

Одним з найпоширеніших каналів витоку є акустичний, оскільки слух займає друге місце інформативний для людини. У каналі акустичного витоку, носій інформації від джерела до несанкціонований одержувач — акустична хвиля в атмосфері, волі чи твердому середовищі. Джерелами акустичного сигналу можуть бути люди, звукові механічні, електричні чи електронні пристрої, пристрої та засоби, що відтворюють раніше записані звуки [10–11] .

В електромагнітних каналах витоку інформації носієм інформації є електромагнітне випромінювання (ЕМП), що виникає при обробці інформації технічними засобами:

-    побічне електромагнітне випромінювання, що виникає в результаті протікання інформаційних сигналів через елементи технічних засобів обробки інформації;

-    модуляція інформаційним сигналом бічного електромагнітного випромінювання високочастотних генераторів технічних засобів обробки інформації (на частотах високочастотних генераторів);

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

Канал витоку можна розуміти як різноманітні об'єкти в різних агрегатних станах. Це можуть бути відходи виробництва, грубі матеріали або бракована продукція [12–14].

Залежно від характеру та розміру збитку його можна поділити на:

–      фінансові збитки, пов’язані з витратами на відновлення інформаційної системи підприємства, а також через простої, викликані змінами в системі інформаційної безпеки;

–      матеріальна та моральна шкода, завдана власникам інформації, чия інформація була викрадена, і, як наслідок, завдана шкода діловій репутації та діловим відносинам.

1.2 Витік інформації через візуально–оптичний та акустичний канали

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

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

Компактні шпигунські камери (рис.1.2) відрізняються універсальністю використання, дозволяють вести приховане спостереження. Сучасні моделі оснащені високоякісними матрицями, записують відео в форматі HD і чіткий звук, здатні працювати в повній темряві. Їх установка не представляє складності, що істотно розширює можливості щодо застосування такої техніки [13].

Рисунок 1.2 – Вигляд шпигунської камери

Камери прихованого відеоспостереження. Формально вони є двох видів:

-    просто стандартні, але мініатюрні камери з доволі високими показниками картинки та звуку. Тобто це просто маленькі (інколи величиною з ніготь великого пальця), зазвичай кубічного вигляду камери, які можна поставити між рушниками, замаскувати в листях кімнатних рослин чи приклеїти непомітно скотчем до карнизу, зовсім мініатюрні відеокамери взагалі не мають стандартного корпусу – просто набір записуючих елементів і провідне живлення

-    спеціальні відеокамери, які маскуються під предмети декору і інтер’єру, під пожежні чи інші датчики, і навіть під вічко у вхідних дверях  [14].

Ще один спосіб відрізняти камери для прихованого відеоспостереження – вони бувають дротові і бездротові. Останні працюють від акумулятора чи батарейки, а зважаючи на мініатюрні розміри самого пристрою, зарядний модуль теж невеликий. Стандартна бездротова камера може працювати максимум 4–5 годин. Хоча бувають і камери, що працюють до 20–ти годин на одному заряді. Тобто їх можна використовувати для якогось обмеженого в часі завдання – наприклад запис перемовин чи ділової зустрічі [14].

Ще одна особливість подібних відеокамер – вони можуть нести міні SD–карту чи бути без неї. В останньому випадку камера обладнана модулем Wi–Fi і одразу переправляє відео потік на той накопичувач, який вкаже користувач – це може бути відеореєстратор чи хмарне сховище. Знімати інформацію з карти пам’яті можна лише вийнявши її зі слоту на корпусі камери, і вставивши, наприклад в ноутбук [14].

В нижче наведеній таблиці (1.2) приставлено список шпигунських камер.

Таблиця 1.2 – Шпигунські камери

Фото

Назва

Технічні характеристики

Blink Indoor

Відео зйомка: 1920 x 1080 пікселів

Дисплей: Через смартфон

Кут огляду: 110 градусів Зберігання: Хмарне сховище Живлення: 2 літієві батареї AA Розмір: 71 x 71 x 31 мм Вага: 48 г

Fredi Mini Hidden Camera

Відео зйомка: 1920 x 1080 пікселів Дисплей: немає

Кут огляду: 140 градусів Зберігання: до 128 ГБ через додаткову карту microSD Живлення: зарядка через USB Розмір: 4,5 x 4,5 x 2,5 см

Вага: 81,6 г

Bear Grylls Waterproof Action Camera Glasses

Відео зйомка: 1920 x 1080 пікселів при 30 кадрах в секунду. Дисплей: немає

Кут огляду: не вказано. Зберігання: не вказано.

Живлення: літієві батареї (входять у комплект)

Розмір: не вказано

Вага: 59 г

LED clock spy camera

Відео зйомка: 1920 x 1080 пікселів, 30 кадрів в секунду

Дисплей: немає

Кут огляду: 140 градусів Зберігання: до 128 ГБ через додаткову карту microSD Живлення: літій–іонний акумулятор в комплекті

Розмір: 3,9 x 1,8 x 1,4 дюйма

Вага: 6,7 унцій

 


 

Продовження таблиці 1.2

Фото

Назва

Технічні характеристики

Arlo Essential Spotlight

Відео зйомка: 1920 x 1080

Дисплей: Через смартфон

Кут огляду: 130 градусів Зберігання: Хмарне або через Arlo SmartHub (продається окремо)

Живлення: літій–іонний акумулятор

Розмір: 5,2 x 7,84 x 8,9 см

Вага: 331 г

360°Wide Angle Fisheye WiFi IP Hidden Camera Bulb

Відео зйомка: 1080p HD Дисплей: Немає

Кут огляду: 360 градусів

Зберігання: до 128 ГБ через додаткову картку

Харчування: Через мережу Розмір: Не вказано

Вага: 200 г

 

1. Камера Blink Indoor – це камера безпеки, ніж шпигунська камера. Якщо не потрібно приховувати той факт, що «шпигує», ця камера забезпечує кращу якість відео, ніж деякі з менших пристроїв, які важко побачити. Камера має зручну функцію, яка дає можливість спілкуватися зі зловмисниками за допомогою вбудованої двосторонньої аудіосистеми, керованої програмою Blink на смартфоні. Камера повністю бездротова і живиться від двох батарейок типу АА, які можуть працювати до двох років, тому не потрібно турбуватися про їх постійну заміну. Крім того, камера сумісна з Amazon Alexa (голосовой ассистент), тому можливо переглядати прямі трансляції або відключати камеру, використовуючи лише свій голос. Запис Full HD доступний у світлий час доби, але вночі він перейшов на інфрачервоний HD нічного бачення, щоб ніколи не пропустили жодної секунди [15].

2. Камера Fredi Mini дуже мала в розмірах, вона достатньо розумна, щоб виявляти рух, знімати відео 1080P, записувати зображення на додаткову карту microSD або записувати в постійному циклі і навіть «бачити» в темряві. Як і багато інших подібних, є можливість налаштувати сповіщення про тривогу на смартфоні, завдяки чому ця прихована камера надсилатиме зображення на адресу електронної пошти, щоб могли відстежувати, як няня спілкується з дітьми або як собака вийшла з дому одна. Але це ще не все, оскільки це мініатюрне пристрій має шість інфрачервоних світлодіодів і відстань нічного бачення в п’ять метрів, також можна за бажанням залишити його стежити за процесом під час сну [15].

3. Водонепроникні окуляри для екшн–камери Bear Grylls які мають об’єктив, що міститься в парі окулярів. Водонепроникні окуляри для екшн–камер Bear Grylls, однак, мають список специфікацій, який стоїть на голову вище інших, хоча і за ціною втричі вищою за деякі альтернативи «без бренду». Бонусом тут є перспектива з точки зору під час запису відео Full HD без використання рук, і оскільки це така ж екшн–камера, як і будь–що інше, ми отримуємо водонепроникність і пилозахист разом із обіцяним 100% захистом від ультрафіолетового випромінювання. Набір аксесуарів, що включає безпечний ремінь із поплавком, є корисним для будь–чого, що може підкинути вам ваші «місії» [15].

4. Камера LED clock spy camera чудове шпигунське рішення для книжкової полиці або тумбочки, цей РК–годинник виглядає абсолютно невинно у домі. Він має вбудований слот для карти microSD, тому він може записувати кадри. Крім того, можна отримувати сповіщення та контролювати кімнату через додаток для смартфона. Завдяки нічному бачення та куту огляду 140 градусів це забезпечує чудове покриття безпеки в будь–який час дня. Як і багато прихованих шпигунських камер, вона має серйозне застосування – хоча багато зловмисників можуть помітити Blink або іншу звичайну домашню камеру безпеки за милю, але цю вони не побачать [15].

5. Камера Arlo Essential Spotlight — одна з найкращих шпигунських камер для домашньої безпеки, яку можна розмістити майже в будь–якому місці за допомогою кріплення, що загвинчується. Це добре обладнана шпигунська камера з розпізнаванням руху та ефективним діапазоном 300 футів. Батарея в Arlo Essential Spotlight може прослужити досить довго (виробники кажуть до шести місяців), хоча пам’ятайте, що її не можна знімати. Це означає, що вам доведеться зняти всю установку, коли настане час зарядки. Також варто знати, що Essential Spotlight записує лише Full HD, а не 4K [15].

6. IP–камера Fisheye WiFi IP це установка лампочки на камеру з 360–градусним полем зору для когось може здатися яскравою ідеєю, а для когось — гіркою; але лампочка, безсумнівно, є одним з останніх місць, де очікується знайти приховану камеру, яка може записувати зі швидкістю до 25 кадрів в секунду, як і тут. Також вбудований детектор руху, який передасть сповіщення на телефон, якщо, за словами виробника, у домі станеться «аварійна ситуація». Окрім всеохоплюючого кута огляду, лампа камери також має функцію двостороннього аудіо [15].

1.3 Методи та засоби виявлення прихованих камер

До найпоширеніших місць, де можна заховати приховані камери в приміщенні можна віднести детектори диму, обладнання для повітряних фільтрів, книги, електричні розетки, настільні рослини, м’які ведмедики, лампи та ін. [16]. Для їх виявлення прихованих використовують різні методи.

-    Оглядання приміщення у темряві з використанням звичайного електричного ліхтаря або ліхтаря мобільного телефону [17]. Якщо в темряві направити світло ліхтаря на стіни або стелі, можна буде побачити об'єктив камери. У місцях, де з'явилися відблиски, є ймовірність знайти приховане джерело відеоспостереження.

-    Використання власного смартфона без використання спеціального програмного забезпечення та спеціального обладнання [16].

          Простий ліхтарик мобільного телефону підійде для огляду приміщення у темряві для виявлення відблиску лінзи прихованої камери. У деяких випадках можна навіть обійтися без ліхтарика. Багато шпигунських камер використовують інфрачервоне підсвічування для зйомки в темряві. Він невидимий для людського ока, але не для камери смартфона. Під час зйомки в темряві джерело інфрачервоного світла з’явиться на екрані у вигляді пульсуючої точки.

          Серед переваг даного метода є його безкоштовність, відсутність необхідності мати спеціальні навички та спеціальне обладнання.

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

-    Використання власного смартфона з використанням спеціального програмного забезпечення.

          Програмне забезпечення таке як HCD [18], Spy Camera Detector, Spy Detector (IOS) з використанням технологій штучного інтелекту можуть в реальному часі розпізнавали приховані камери, які не змогли детектуватись людським оком [17].

Серед переваг даного метода є відсутність необхідності мати спеціальні навички та спеціальне обладнання.

          Серед недоліків можна віднести значні витрати на розробку та навчання інтелектуальної системи, хибні спрацювання.

-    Використання спеціальних технічних засобів.

          У даний час на ринку є багато різних засобів для виявлення прихованих камер, кожен із яких має свій метод роботи. До таких методів входять: перехоплення по радіо хвилях, виявлення через інфрачервоне випромінюванню, виявлення через електромагнітне випромінювання, візуальне виявлення [19].

          Серед переваг даного метода є: ефективність, можливість регулярних перевірок.

Серед недоліків можна віднести те що: коротка ефективна дальність, ціна, вимоги до часу та навичок.

До засобі виявлення прихованих камер можна віднести телефон та спеціальні пристрої.

За допомогою смартфона можна детектувати приховані камери через різне спеціальне програмне забезпечення (ПЗ). До такого ПЗ відноситься Fing, HSCD, Hidden Camera Detector, Glint Finder [19].

1)Ідея ПЗ Fing полягає в тому, щоб переглянути всі пристрої, підключені до локальної мережі. Рекомендується відключити всі пристрої, крім телефону або планшета, на якому запущений Fing, щоб було менше речей для сортування. Підключіть телефон або планшет до мережі, а потім відкрийте Fing. В результаті ПЗ покаже всі підключені пристрої до мережі. Таким чином можна перевірити мережу на наявність мережевої камери [22].

2) В ПЗ HSCD надає доступ до такого функціоналу:

–      без підписки (безплатна версія) – тимчасовий доступ до пошуку камер, пристроїв, GPS–трекер та пристрої для прослуховування через Wi–Fi, локальну мережу та Bluetooth за допомогою нашого фірмового мережевого сканера «all–in–one»;

–      з щомісячною підпискою – надання безмежного доступу до всього функціоналу програми до закінчення підписки [18, 21].

3) Для Hidden Camera Detector використання смартфон повинна мати магнітний датчик, інакше це ПЗ не працюватиме. Ця програма аналізує магнітну активність навколо пристрою. Якщо магнітна активність здається подібною до активності камери, ця програма подасть звуковий сигнал і підніме сигнал тривоги, щоб ви могли продовжити розслідування [22].

Існує два основні методи виявлення прихованих камер.

Перший – пошук блиску об’єктива, що може здатися дещо ручним процесом, але це можна зробити простіше, використовуючи об’єктив із спрямованим світлом (часто продається як «лазерне виявлення»).

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

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

Можливість шукати інфрачервоні (ІЧ) лампи може бути зручною, враховуючи, скільки компактних камер безпеки мають нічне бачення. Ці інфрачервоні лампи не видно неозброєним оком, але є розумним індикатором того, що поблизу знаходиться камера.

В нижче таблиці 1.3 приставлено список пристроїв, за допомогою яких можливо виявити приховані камери, а саме:

1) Пристрій K68 – має вбудований інфрачервоний детектор, але основною функцією є розгортка RF класифікації; імітований аналоговий диск вказує силу виявленого сигналу, а циферблат у верхній частині дозволяє зменшити чутливість, коли відточуєте підозрюваного. Функція «AI» (права функціональна кнопка) — це імпульсний підхід, який полегшує сканування, але все ще покладається на інтелект користувачів. Опція вібрації (замість пронизливого звукового сигналу, який на цьому пристрої є лише варіантом, а не те, що потрібно терпіти) – це щось, що цінується для людей із слабким слухом – або, звичайно, будь–хто, хто працює в навколишньому середовищі, потребує розсудливості. Також зручно, що магнітний зонд можна від’єднати, якщо він не потрібен [23].

2) Пристрій Troncase A9 – найновішим на ринку, але дуже схожим за підходом до K68, цей пристрій 4–в–1, який вибирає портативність замість гнучких датчиків. Це робить його корисним вибором для тих, хто рухається, його легко носити в маленькій сумочці та вискочити, щоб оглянути ненадійні готельні номери. Включення опції вібрації дуже цінується – звуковий сигнал може бути дуже дратівливим у світі, який залежить від стільникового зв’язку та Wi–Fi. Ліхтарик також добре мати, якщо не обов’язковий. Один із варіантів дизайну, який може підійти в будь–який бік, — це знімний датчик камери (для підключення використовується зарядний роз’єм micro USB). Зняття його робить пристрій ще компактнішим, але, з іншого боку, можемо уявити, що він дуже легко загубиться в дорожній сумці, а micro USB – не найнадійніший з роз’ємів, які можна залишити підключеним під час транспортування [23].

3) Пристрій Jepwco G4 Pro – робить кілька хороших дизайнерських рішень у порівнянні з аналогами, які стають очевидними, як тільки отримуєте його з коробки. Пристрій перезаряджається через стандартний USB–роз'єм у нижній частині (хоча Jepwco все ще постачав шнур для зарядки) і світлодіодний індикатор, що вказує на зарядку поруч з ним. Виявлення здійснюється за допомогою своєрідної «гістограми» з шести білих світлодіодів. Наявність лише двох кнопок дуже елегантна, але на практиці це означає, що потрібно не забувати про тривале натискання для ввімкнення/вимкнення – натискання нижньої кнопки дозволяє перемикатися між Wi–Fi та повнодіапазонною чутливістю, а також обраний режим добре відображається відповідним словом, що світиться. Аналогічно верхня кнопка змінює чутливість. Кінець також діє як ліхтарик, який може допомогти виявити приховані лінзи [23].

4) Пристрій Latnex SPA–6G – завдяки двом роз’ємам SMA і трьом антенам пристрій має гарне покриття для більшості діапазонів зв’язку, включаючи Bluetooth, LTE і GSM, а також Wi–Fi, але де він дійсно перевершує дешевші варіанти, так це забезпечує справжнє візуальне уявлення про потужність. Працюючи в режимах максимального, утримання та усереднення, система є гнучкою, а оновлення мікропрограми надаються через роз’єм USB – те саме з’єднання дозволяє експортувати для перегляду екранних спектрів 3D (через програму Waterfall) також корисно, пропонуючи більшу роздільну здатність і потенційно інтерес для любителів радіо, хоча для швидкого сканування готельного номера це може бути занадто багато на радіочастоті і занадто мало, коли справа доходить до більш «низьких технологій» функцій, таких як світло для відбиття від лінз, які вам знадобляться отримати окремо [23].

5) Пристрій DefCon DD1206 – розпізнає всі сигнали GSM, GSM(DCS), WCDMA або DECT 3G, Bluetooth або Wi–Fi, а додаткова вказівна антена в 4 рази чутливіша, ніж продукти конкурентів цих двох останніх категорій. Це означає, що можена сканувати аналогові (традиційні помилки VHF/UHF) і цифрові одночасно, не турбуючись про те, що щось пропустите. Також можна збільшити чутливість для одного або обох діапазонів виявлення залежно від призначення, а з 16–сегментними зчитування більш детальне, ніж у більшості. Існує також ймовірність того, що функція кореляції здійснює зворотний зв’язок, коли у вас є помилка в стилі FM–передавача. Цей пристрій не є дешевим варіантом [23].

Таблиця 1.3 – Засоби виявлення прихованих камер

Фото

Назва

Технічні характеристики

K68

Радіочастотний: Так

Магнітний: Так

Прихована лінза: Так

Інфрачервоний: Так

Діапазон частот: 1 МГц – 8 ГГц (GSM, Wi–Fi, BT, UHF)

Дисплей сили сигналу: круглий світлодіодний 10–бар

Ціна: 72 $

Troncase A9

Радіочастотний: Так

Магнітний: Так

Прихована лінза: Так

Інфрачервоний: Так

Діапазон частот: 1 МГц – 8 ГГц (GSM, Wi–Fi, BT, UHF)

Дисплей сили сигналу: круглий світлодіодний 12–бар

Ціна: 70 $

Jepwco G4 Pro

Радіочастотний: Так

Магнітний: Ні

Прихована лінза: так

Інфрачервоний: Ні

Діапазон частот: 1 МГц – 6,5 ГГц (GSM, Wi–Fi, BT, UHF)

Відображення потужності сигналу: 5–полосний світлодіод (6–е світло ввімкнено/вимкнено)

Ціна: 50 $

Latnex SPA–6G (Аналізатор спектру)

Радіочастотний: Так

Магнітний: Ні

Прихована лінза: Ні

Інфрачервоний: Ні

Діапазон частот: 15 МГц – 2,7 ГГц і 4,85 ГГц – 6,1 ГГц (Wi–Fi)

Відображення потужності сигналу: 5–полосний світлодіод (6–е світло ввімкнено/вимкнено)

Ціна: 389 $

 


 

Продовження таблиці 1.2

Фото

Назва

Технічні характеристики

DefCon DD1206

Магнітний: Ні

Прихована лінза: Ні

Інфрачервоний: Ні

Діапазон частот (основна антена): 50 МГц – 12 ГГц (GSM, Wi–Fi, BT, UHF)

Індикатор потужності сигналу: 16–бар світлодіодний

Ціна: 800 $

 

З наведеної таблиці видно, що всі засоби схожі по функціоналу. Але кожен із наведених пристроїв має своє вузьке направлення на виявлення.

Мінусом є те, що такі засоби є не дешевими, а також для роботи із ними потрібні спеціальні навички.

1.4 Формалізація вимог та постановка задачі

Проаналізувавши сучасні методи та засоби виявлення прихованих камер, було виявлено недолі вже існуючих методі та засобів виявлення прихованих камер. ПЗ працюють коректо, але для їх використання потрібні навички та розуміння для користування. Спеціальні апаратні ж засоби виявлення, які були розглянуті мають схожі функціонали. Засоби мають набір таких функції для виявлення прихованих камер:

–      пошук лінз прихованих засобів;

–      пошук радіочастот (GSM, Wi–Fi, BT, UHF);

–      пошук магнітного поля;

–      пошук інфрачервоного випромінювання.

Для використання пристроїв потрібно мати додаткові навички та час для опанування пристрою. Дані пристрої мають мінуси для користувача такі як ціна, коротка ефективна дальність, додаткові навички та чаш для опанування пристрою. Саме тому є доцільним розробити додаток під ОС Android версії не меншої ніж 5.1 (Lollipop) та на архітектурі Model–view–viewmodel (MVVM) [24]. ПЗ повинно працювати в трьох режимах виявлення, а саме в ручному, інтелектуальному та додатково в магнітному.

1)    ручний режим представляє собою набір інструментів, а саме:

–      масштабування зображення в реальному часі;

–      фільтрація зображення в реальному часі;

–      різні види роботи ліхтарика.

2)    інтелектуальний режим представляє собою набір всіх доступних інструментів із ручного режиму та навчену інтелектуальну модель для виявлення прихованих камер.

3)    магнітний режим представляє собою виявлення прихованих камер за допомогою датчика магнітного поля який вбудований в смартфон.

Для зручного керування програмним засобом потрібно реалізувати інтерфейс керування який буде максимально зручний в використанні та інтуїтивно зрозумілим будь якому користувачу.


 

2        ТЕХНІЧНЕ ПРОЕКТУВАННЯ СИСТЕМИ

2.1 Розробка архітектури системи

Архітектура системи виявлення прихованих камер складається з декількох модулів (рис. 2.1). Елементи розроблюваної системи:

–      модуль візуалізації;

–      модуль ручного виявлення;

–      модуль інтелектуального виявлення;

–      модуль магнітного виявлення;

–      база результатів виявлення.

Рисунок 2.1 – Архітектура системи

Розглянемо кожен модуль. Система починає роботу з модуля візуалізації.

1) Модуль візуалізації супроводжується запуском програми і представленням користувачу графічного інтерфейсу, ініціалізацією графічних компонентів засобу, а саме: вікна, іконки, зображення, кнопки керування для взаємодії користувача із засобом. Модуль виконує функції виведення вікон як реакції на дії користувача. Модуль також виконує необхідні підключення та відображає результати роботи засобу. Етапи роботи модуля візуалізації наведено нижче на рис. 2.2.

Рисунок 2.2 – Алгоритм роботи модуля візуалізації

2) Модуль ручного виявлення надає функціонал для ручного режиму виявлення прихованих камер.

3) Модуль інтелектуального виявлення надає функціонал для автоматизованого режиму ручного виявлення прихованих камер на основі навченої нейронної мережі.

4) Модуль магнітного виявлення надає можливість проводити виявлення прихованих камер за допомогою магнітного поля.

5) База даних використовується для збереження проміжних результатів виявлення прихованих камер. До проміжних результатів входять отримане зображення, результат виявлення, час виявлення та місце виявлення.

6) Спалах камери смартфона використовується для того, щоб можна було виявити приховану камеру за допомогою відблиску лінзи.

7) Магнітний датчик пошуку магнітного поля. Магнітне поле землі дорівнює 50 мкТл. Якщо магнітний датчик покаже більше 50 то може бути магнітне поле якогось пристрою.

8) Камера смартфона за допомогою камери відбувається виявлення в ручному та інтелектуальному режимах.

Система працює в трьох режимах: ручний, автоматизований та магнітний.

В ручному режимі користувач виявляє самостійно приховані камери за допомогою наданих йому налаштувань.

В інтелектуальному режимі користувач виявляє приховані камери за допомогою навченої нейронної мережі.

Магнітний режим надає користувачеві виявляти приховані камери у робочому активному стані за допомогою магнітного поля пристрою.

В ручному режимі система працює таким чином.

1)    Завантажується інтерфейс.

2)    Перехід на екран виявлення.

3)    Встановлення необхідних налаштувань:

– частоту спалаху камери налаштовуємо для більш кращого розпізнавання камер. Варіанти роботи спалахів камери:

а) ручний: ввімкнути або вимкнути;

б) 30 спалахів камери смартфона на хвилину;

в) 60 спалахів камери смартфона на хвилину;

г) 120 спалахів камери смартфона на хвилину;

д) довільний вибір;

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

– масштабування налаштовуємо для приближення та віддалення зображення спостережуваних об’єктів;

4)      Після налаштувань інструментів розпочинається виявлення прихованих камер.

          На рисунку 2.3 зображено схему відблиску лінзи.

Рисунок 2.3 – Схема відблиску лінзи

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

5)      Для виявлення прихованих камер потрібно уважно стежити що відбувається на екрані виявлення, на якому відображається усе, що потрапляє у камеру смартфона. Смартфон потрібно водити не швидко, щоб не пропустити приховану камеру в ймовірних місцях. Кут огляду камери смартфона дорівнює 120 градусів, чого достатньо для виявлення камери під гострим кутом.

6)      Після виявлення прихованої камери результат зберігається в базу даних. Записуються такі дані, як отримане зображення, результат виявлення, час виявлення та місце виявлення.

В автоматизованому режимі система працює таким чином:

1) Завантажується інтерфейс.

2) Перехід на екран виявлення.

3) Налаштовуємо інструменти виявлення.

– частоту спалаху камери налаштовуємо для більш кращого розпізнавання камер. Варіанти роботи спалахів камери:

а) ручний: ввімкнути або вимкнути;

б) 30 спалахів камери смартфона на хвилину;

в) 60 спалахів камери смартфона на хвилину;

г) 120 спалахів камери смартфона на хвилину;

д) довільний вибір.

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

– масштабування налаштовуємо для приближення та віддалення зображення спостережених об’єктів.

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

5) Для виявлення прихованих камер потрібно уважно стежити що відбувається на екрані виявлення, смартфон потрібно водити не швидко щоб не пропустити приховану камеру в ймовірних місцях.

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

В магнітному режимі система працює таким чином:

1) Завантажується інтерфейс.

2) Перехід на екран магнітного виявлення.

          Телефон на відстані 1–5 см потрібно водити по різним поверхням для виявлення прихованих камер. Виявлення базується на пошуку магнітного поля із використанням датчика магнітного поля, який вбудований в смартфон. Цей пристрій визначає поточні показники індукції магнітного поля в мікротеслах (мкТл) за трьома осями: вісь X (поперечна), вісь Y (подовжня) та вісь Z (вертикальна).

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

2.2 Розробка алгоритмів функціонування програми

ПЗ виконує дві основні функції – виявлення виявлення прихованих камер в ручному режимі та виявлення в інтелектуальному режимі.

Користувач запускає програму і бачить головний екран з кнопками, що мають назви «Камерна виявлення», «Магнітна виявлення», «Перегляд результатів», «Допомога та поради» та «Завершити роботу».

На рис. 2.4 наведено алгоритм роботи ручного режиму.

Рисунок 2.4 – Алгоритм роботи ручного режиму виявлення прихованої камери

На рис. 2.5 наведено алгоритм роботи інтелектуального режиму.

Рисунок 2.5 – Алгоритм роботи інтелектуального режиму виявлення прихованої камери

Нейромережа для інтелектуального режиму була створена за допомогою вебресурса Teachable Machine (TM) [25]. Для створення моделі використовувалося набір зображень із прихованими камерами (250 шт.) та де прихованих камер немає (150 шт.). Сервіс TM забезпечує навчання нейромережі, для створення модель потрібно тільки набір зображень. Навчання нейромережі займає декілька хвилин, після цього на виході отримуємо навчену TensorFlow Lite модель яка буде використана далі в програмному застосунку.

На рис. 2.6 наведено алгоритм роботи магнітного режиму.

Рисунок 2.6 – Алгоритм роботи магнітного режиму

Розглянемо детальніше порядок дій при натисканні на кожну кнопку головного вікні у програмному засобі (рис. 2.7).

Рисунок 2.7 – Вигляд головного екрану програмного засобу

          На рисунку 2.7 прийнято такі позначення:

1)    «Камерна виявлення» дає змогу користувачеві перейти на екран «Виявлення».

2)    «Магнітна виявлення» дає змогу користувачеві перейти на екран «Магнітної виявлення» та проводити виявлення за допомогою магнітного поля.

3)    «Перегляд результатів» дає змогу користувачеві перейти на екран «Результати» щоб переглянути всі виявлення інтелектуального режиму.

4)    «Допомога та поради» дає змогу користувачеві ознайомитися із інформацією де можна знайти приховану камеру в приміщені.

5)    Користувач натискає на кнопку «Завершити роботу» –> програма завершує роботу із програмним засобом.

Розглянемо детальніше порядок дій при натисканні на кожну кнопку вікна «Виявлення» програмного засобу (рис. 2.8).

Рисунок 2.8 – Вигляд екрану виявлення прихованих камер

1)    Кнопка «zoom» (рис. 2.9) – дає можливість масштабувати зображення;

Рисунок 2.9 – Вигляд кнопки «zoom»

2) Кнопки «flash» (рис. 2.10) – дають 4 варіанти роботи ліхтарика;

–      Ручний: включити або виключити;

–      30 бліків на хвилину;

–      60 бліків на хвилину;

–      120 бліків на хвилину.

Рисунок 2.10 – Вигляд кнопки «flash»

3)    Кнопки «color» (рис. 2.11) – дають накласти різні кольорові фільтри на зображення;

Рисунок 2.11 – Вигляд кнопки «color»

4) Кнопка «take photo» – дає можливість користувачеві сфотографувати і отримане зображення передати до інтелектуального модуля.

У даному розділі на основі вимог та задач, що були висунуті до розроблюваного програмного засобу, було розроблено структурну схему роботи програми, визначено склад технічних засобів та програмного забезпечення.

3        РОБОЧЕ ПРОЕКТУВАННЯ СИСТЕМИ

3.1 Обґрунтування вибору інструментальних засобів розробки

Є декілька найбільш популярних середовищ розробки мобільних додатків  [30].

1)    Android Studio надає інструменти редагування коду, налагодження та тестування в рамках простого у використанні інтерфейсу перетягування. Він безкоштовний для завантаження і підтримується не тільки Google, але і великою і активно зайнятою спільнотою розробників Android.

2)    Fabric є платформою для розробки мобільного додатка Twitter. Це дає розробникам можливість створювати кращі мобільні додатки, надаючи їм набір «наборів», які вони можуть вибрати і вибрати. Ці набори включають в себе все, від бета–тестування до маркетингових і рекламних інструментів.

3)    Eclipse середовище, для створення мобільних додатків. Незважаючи на те, що Google більше не пропонує підтримку Eclipse, багато розробників все ще використовують її для створення Android та інших кросплатформних додатків, оскільки вона дуже добре працює з багатьма різними мовами програмування.

4)    IntelliJ IDEA призначений для максимальної продуктивності програміста. Він надзвичайно швидкий і має повний набір інструментів для розробки прямо з коробки.

Враховуючи наявність функції налагодження в реальному часі, було обрано середовище Android Studio.

Для розробки програмного застосунку необхідно визначити інструментальні засоби (бібліотеки мови програмування, модулі, програмні засоби), за допомогою яких будуть реалізовані основні модулі та спроектована система в цілому.

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

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

Найпопулярнішими мовами програмування для операційної системи Android є Kotlin та Java. Необхідно розглянути особливості кожної з мов для того, щоб обрати найоптимальніший варіант [26 – 27]

Ключові відмінності між Java та Kotlin [28].

-    Kotlin підтримує інтелектуальне приведення, яке визначає незмінні типи та виконує неявне переведення компілятором, тоді як у Java нам потрібно ідентифікувати та виконати приведення.

-    Kotlin підтримує виведення типу, що означає, що не потрібно явно вказувати тип даних змінної, тоді як у Java нам потрібно явно вказувати.

-    У Kotlin не має перевірених винятків, що є недоліком, оскільки це призводить до схильного до помилок коду, тоді як Java підтримує перевірені винятки, за допомогою яких можемо обробляти помилки.

-    Час компіляції Java на 15–20% швидше, ніж час компіляції Kotlin, але з точки зору інкрементальної компіляції збірки, Kotlin також займе той самий час компіляції, що й Java.

-    У Kotlin не може призначати нульові значення змінним або повертати значення; якщо дійсно хочеться призначити, то можна оголосити змінну зі спеціальним синтаксисом, тоді як у Java ми можемо призначити значення null, але коли ми намагаємося отримати доступ до об’єктів, які вказують на значення null, виникає виняток.

-    Kotlin взаємозамінний з Java незалежно від різниці між Java і Kotlin. Можемо визивати код Kotlin на Java і код Java в Kotlin. Таким чином, ми можемо мати як Java, так і Kotlin класи пліч–о–пліч у проекті та компілювати без будь–яких проблем. Після компіляції не мож знайти, який клас написаний на Java чи Kotlin.

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

У даному розділі на основі вимог та задач, що були висунуті до розроблюваного програмного засобу, було розроблено структурну схему роботи програми, визначено склад технічних засобів та програмного забезпечення.

Для розробки програмного застосунку було обрано мову програмування високого рівня, а саме Kotlin [26].

Для збереження та зчитування сигнатур операційних систем використовується база даних Room (SQLite) [29], яка вбудована у якості модуля для Kotlin.

Дана база даних має наступні переваги:

- простота реалізації;

- відсутність необхідності у початкових налаштуваннях для початку роботи;

- збереження бази даних у вигляді файлу;

- використання звичайних SQL запитів;

- підтримка баз даних великого обсягу [29].

Програмний засіб розробляється із розрахунку, що він буде розміщений на телефоні користувача.я

3.2 Програмна реалізація

Відповідно до алгоритму роботи програмного засобу було створено ряд класів та функцій, кожен з яких виконує необхідні для роботи функції:

1)      classifyImage() – функція, яка реалізує виявлення зображення, на вхід подається створене зображення на виході отримуємо зображення та результат виявлення.

2)      saveToDB() – функція, яка зберігає результат виявлення до бази даних.

3)      getDetectionList() – функція, яка повертає результат виявлення для відображення на екран «Список виявлених результатів».

4)      CameraScreen() – клас, який відповідає візуальний вигляд виявлення та функціоналу виявлення.

5)      MainScreenFragment() – головний клас програми, відповідає за ініціалізацію головного вікна програми та виклик усіх інших класів із головного вікна, а також перетворює отримані результати виявлення операційної системи у зручний для користувача вигляд;

6)      MagnetScreenFragment() – клас, який відповідає за магнітну виявлення.

7)      onSensorChanged() – функція, яка виявляє приховані камери за допомогою магнітного поля.

          На рис. 3.1 наведено структуру проекту, де model_unquant.tflite –збережена навчена модель виявлення прихованих камер.

Рисунок 3.1 – Структура проекту

Функція onImageSaved() отримує шлях до створеного зображення ImageCapture.OutputFileResults. Далі функція decodeFileDescriptor() конвертує шлях зображення в об’єкт зображення за допомогою функції BitmapFactory.decodeFileDescriptor(fileDescriptor). Після цього використовується функція Bitmap.createScaledBitmap() створює нове растрове зображення, масштабоване з наявного растрового зображення, якщо це можливо. Якщо вказані ширина та висота збігаються з поточними шириною та висотою вихідного растрового зображення, повертається вихідне растрове зображення, а нове растрове зображення не створюється. В результаті отримане зображення передається на функцію classifyImage() для виявлення прихованих камер.

Рисунок 3.3 – Функція отримання зображення

Функція classifyImage() використовується для виявлення зображення з використанням інтелектуального режиму зображено на рис. 3.3.

На вхід функції подається зображення та шлях до зображення. Першим чином ініціалізується навчена нейромережа ModelUnquant.newInstance(it). Після ініціалізації навченої моделі йде створення в­хі­дних даних TensorBuffer.createFixedSize(intArrayOf(1, 224, 224, 3), DataType.FLOAT32).

Далі виконується висновок моделі після чого отримується результат.
          inputFeature0.loadBuffer(byteBuffer)

val outputs = model.process(inputFeature0)

val outputsFeature0 = outputs.outputFeature0AsTensorBuffer

Функція вертає модель DetectImage() із параметрами:

–      url це шлях до зображення;

–      result це результат виявлення прихованої камери.

Рисунок 3.3 – Функція виявлення зображення із використанням інтелектуального режиму

Функція onSensorChanged() використовується для магнітно виявлення прихованих камер зображено на рис. 3.4. SensorEvent() це клас представляє подію Sensor і містить таку інформацію, як тип датчика, мітка часу, точність та дані датчика.

Рисунок 3.4 – Функція магнітного виявлення

Текст програмного засобу наведено у додатку Б. Для перевірки розробленого програмного засобу необхідно провести тестування.

3.3 Тестування програмного засобу

Тестування провадиться в трьох режимах:

1)    перевірка роботи ПЗ в ручному режимі;

2)    перевірка роботи ПЗ в інтелектуальному режимі;

3)    перевірка роботи ПЗ в магнітному режимі.

Для запуску програми потрібно завантажити ПЗ та запустити із головного вікна смартфона. Користувачеві буде відображено головне вікно програми (рис. 3.5).

Рисунок 3.5 – Вигляд головного вікна програми

У вікні є кнопки керування (1 – перехід на екран виявлення прихованих камер, 2 – перехід на екран магнітного виявлення, 3 – перехід на екран результат виявлення, 4 – перехід на екран із детальною інформацією про те де можна знайти приховані камери, 5 – завершення роботи).

Для перевірки роботи програмного засобу в ручному режимі виявлення прихованих камер потрібно перейти на екран «виявлення прихованих камер» далі потрібно налаштувати інструменти для покращення виявлення прихованих камер в ручному режимі.

Після налаштування переходимо до пошуку прихованої камери в кімнаті (рис. 3.6).

  

а)                                                         б)

Рисунок 3.6 – Результат виявлення прихованої камери в ручному режимі в темряві: а) без використання масштабування, б) з використання масштабування

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

Результат виявлення прихованої камери в ручному режимі в денному світлі можна побачити на рисунку з використанням червоного  фільтру (рис. 3.7).

 

  

а)                                                         б)

Рисунок 3.7 – Результат виявлення прихованої камери в ручному режимі в денному світлі: а) без використання масштабування, б) з використання масштабування

В результаті видно, що в денному світлі відблиск прихованої камери видно й це може свідчити про те, що це може бути прихована камера.

Результат виявлення прихованої камери на прикладі ковпачка від ручки можна побачити на рисунку з використанням червоного  фільтру (рис. 3.8).

  

а)                                                         б)

Рисунок 3.8 – Результат виявлення прихованої камери на прикладі ковпачка від ручки: а) без використання масштабування, б) з використання масштабування

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

Результат виявлення прихованої камери в ручному режимі на прикладі камери ноутбука в темряві можна побачити на рисунку 3.9.

 

  

а)                                                         б)

Рисунок 3.9 – Результат виявлення камери ноутбука в ручному режимі в темряві: а) без використання масштабування, б) з використання масштабування

В результаті видно, що в темряві відблиск камери ноутбука видно відблиски лінзи камери.

Результат виявлення прихованої камери в ручному режимі на прикладі камери ноутбука в денному світлі із використанням кольорового фільтра можна побачити на рисунку 3.10.

 

  

а)                                                         б)

Рисунок 3.10 – Результат виявлення камери ноутбука в ручному режимі в денному світлі: а) без використання масштабування, б) з використання масштабування

Порівняємо результати виявлення програмного засобу та популярного засобу Hidden camera detector [22]. Для перевірки було розроблено ПЗ та аналогу було використано камеру ноутбука.

Результати сканування розробленого програмного засобу наведено на рис. 3.11, а, результати сканування Hidden camera detector наведено на     рис. 3.11, б.

  

а)                                                         б)

Рисунок 3.11 – Результат виявлення камери ноутбука в темряві: а) розробленого ПЗ, б) аналога Hidden camera detector

Отримані результати свідчать про те, що Hidden camera detector не зміг виявити камеру ноутбука через відсутність інструментів для покращення виявлення прихованої камери, а розроблений програмний застосунок дає можливість розпізнати камеру ноутбука.

Для перевірки роботи програмного засобу виявлення прихованих камер в інтелектуальному режимі потрібно перейти на екран «виявлення прихованих камер» далі потрібно налаштувати інструменти для покращення виявлення прихованих камер в інтелектуальному режимі. Для використання інтелектуального режиму потрібно зробити фото ймовірної прихованої камери.

Після налаштування переходимо до пошуку прихованих камер із використанням інтелектуального режиму (рис. 3.12).

  

а)                                                         б)

Рисунок 3.12 – Результат виявлення прихованої камери в інтелектуальному режимі в темряві: а) без використання масштабування, б) з використання масштабування

В результаті видно, що навчена модель розрізняє відблиск прихованої камери на відстані як 1–2 м так і 10–30 см, і це свідчить про те, що навчена модель коректно виявляє приховані камери за допомогою відблисків лінзи.

Результат виявлення прихованої камери в інтелектуальному режимі в денному світлі можна побачити на рисунку 3.13.

а)                                                         б)

Рисунок 3.13 – Результат виявлення прихованої камери в інтелектуальному режимі в денному світлі: а) без використання масштабування, б) з використання масштабування

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

Результат виявлення прихованої камери в інтелектуальному режимі на прикладі камери ноутбука в темряві можна побачити на рисунку 3.14.


  

а)                                                         б)

Рисунок 3.14 – Результат виявлення камери ноутбука в інтелектуальному режимі в темряві: а) без використання масштабування, б) з використання масштабування

В результаті видно, що навчена модель розрізняє відблиск камери в темряві тільки коли використовується масштабування. Інтелектуальний режим розпізнав камеру ноутбука тільки на відстані 10–30 см. А на відстані 50 см – 1 м не зміг розпізнати камеру ноутбука.

Результат виявлення прихованої камери в інтелектуальному режимі на прикладі камери ноутбука в денному світлі можна побачити на рисунку 3.15.

  

а)                                                        б)

Рисунок 3.15 – Результат виявлення камери ноутбука в ручному режимі в темряві: а) без використання масштабування, б) з використання масштабування

В результаті видно, що навчена модель розрізняє відблиск камери в денному світлі тільки коли використовується масштабування. Програмний засіб в інтелектуальному режимі розпізнав камеру ноутбука тільки на відстані 10–30 см. А на відстані 50 см – 1 м не зміг розпізнати камеру ноутбука.

Для перевірки роботи програмного засобу виявлення прихованих камер в магнітному режимі, потрібно перейти на екран «магнітний режим».

Після переходу на екран «магнітний режим» переходимо до пошуку прихованої камери за допомогою магнітного режиму (рис. 3.16).

Рисунок 3.16 – Результат виявлення камери ноутбука в магнітному режимі

          В результат видно, що камера ноутбука була виявлена в магнітному режимі.

Результат виявлення прихованої камери в магнітному режимі на прикладі камери смартфона можна побачити на рисунку 3.17

Рисунок 3.17 – Результат виявлення камери смартфона в магнітному режимі

В результат видно, що камера смартфона була виявлена в магнітному режимі.

Отримані результати свідчать про те, що в ручному режимі виявити приховану камеру можна на відстані від 10 см до 2м.

Тоді як в інтелектуальному режимі приховану камеру можна розпізнати на відстані від 10 см до 1.5 м.

Пристрій в магнітному режимі показав, що може виявляти приховані камери за допомогою магнітного датчика смартфона на відстані 1–5 см.

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

На таблиці 3.1 зображено створене ПЗ з його аналогами.

Назва додатка

Налаштування для камери

Режими роботи

Реклама є ?

Розроблене ПЗ

масштабування зображе­ння, різні коль­орові фі­льт­ри, різні варі­анти роботи спалахів камери

ручний, інтелектуальний та магнітний

Ні

HCD Meter

один зелений фільтр

магнітний

Так

Detectfy

один зелений фільтр, ма­сштабування зображе­ння

ручний, магнітний

Так

Hidden Camera Detector

відсутнє

ручний (потрібна платна версія),магнітний, інфрачерво­ний

Так

Spy Camera Detector

масштабування зображе­ння, різні коль­орові фі­льт­ри,

ручний, магнітний

Так

         

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

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

ВИСНОВКИ

У ході виконання дипломної роботи було виконано усі поставлені задачі. Проведено аналіз методів та існуючих засобів виявлення прихованих камер. Визначено, що проблема є доволі актуальною.

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

Виконано розробку архітектури системи виявлення прихованих камер, що складається з модулів візуалізації, магнітного виявлення, ручного виявлення, інтелектуального виявлення, інтелектуального аналізу даних, камера смартфона та прихованої камери. Розроблено алгоритми роботи наведених модулів. Виконано навчання класифікатора у модулі інтелектуального аналізу даних.

Виконано обґрунтування вибору інструментальних засобів розробки, результати: мова програмування – Kotlin, середовище розробки – Android Studio. На основі створених вимог до програмного засобу, створених алгоритмів та архітектури системи, створено програмний засіб для виявлення прихованих камер під ОС Android. Створений програмний засіб має простий та зрозумілий інтерфейс.

Виконано тестування програмного засобу. Для цього перевірено роботу у трьох режимах ручному, інтелектуальному та магнітному. За результатом розроблений програмний застосунок кращий ніж його аналоги.

Даний програмний засіб можна використовувати для виявлення прихованих камер.


 

ПЕРЕЛІК ВИКОРИСТАНИХ ДЖЕРЕЛ

1.          Ворожбит М. В., Куперштейн Л. М. LI Науково–технічна конференція факультету інформаційних технологій та комп'ютерної інженерії. Аналіз методів і засобів визначення прихованих камер: наук.–практ. конф. 20–27 квітня 2022 р. : тези доповідей. Вінниця: ВНТУ, 2022. URL : https://conferences.­v­­ntu.edu.ua/index.php/all-fitki/all-fitki-2022/paper/view/15235 (дата звернення 13.05.2022).

2.          Іванченко С.О., Гавриленко О.В., Липський О.А., Шевцов А.С. Технічні канали витоку інформації. порядок створення комплексів технічного захисту інформації. URL : https://ela.kpi.ua/bitstream/123456789/15155/1/NP_Tekhnichni­_kanaly_vytku_inf.pdf (дата звернення: 13.06.22).

3.          Бузов Г.А., Калінін С.В., Кондратьєв А.В. Захист від витоку технічних каналів: Навчальний посібник. – М.: Гаряча лінія – Телеком, 2005. – 416 (дата звернення 13.05.2022).

4.          Проект Концепції інформаційної безпеки України. URL : http://mip.gov.ua/­doneimg/д/30– project080615.pdf. (дата звернення 14.05.2022).

5.          ДСТУ 3396.0–96. Захист інформації. Технічний захист інформації. Терміни та визначення. URL :http://online.budstandart.com/ua/catalog/docpage.html?id_doc­=69173 (дата звернення 15.05.2022).

6.          ДСТУ 3396.1–96. Захист інформації. Технічний захист інформації. Порядок проведення робіт . URL :http://online.budstandart.com­/ua/catalog/docpage.htm­l?id_doc=69172 (дата звернення 15.05.2022).

7.          ДСТУ 3396.2–97. Захист інформації. Технічний захист інформації. Терміни та визначення. URL : http://online.budstandart.com/­ua/catalog/docpage.html?id_do­c=69175 (дата звернення 16.05.2022).

8.          Problems of Technical Channels of the Information Leakage. D.S. Timofeev, V.V. Gubkina, 1.с . URL : http://ir.nmu.org.ua/bitstream/handle/123456789/148961­/150.pdf?sequence=1&isAllowed=y#:~:text=Such%20channels%20of%20information%20leakage%20as%20visualoptical%2C%20acoustic,solid%2C%20liquid%20and%20gaseous%20ones%20correspond%20to%20such (дата звернення 14.05.2022).

9.          Expert System for Modeling Threats and Protecting Premises from Information Leaks. Marina Rudenko, Evgenia Zhivago and Andrei Rudenko. Marina Rudenko, Evgenia Zhivago, Andrei Rudenko. URL :http://ceur–ws.org/Vol–3094/paper_16.pdf (дата звернення 16.05.2022).

10.      Шін Х.Дж.; Кім, М.Х. Метод виявлення витоку даних шляхом співпраці інсайдерів. 2017, 1200 с. (дата звернення 17.05.2022).

11.      Бромілі М. Захистіть свій бізнес від внутрішніх загроз; Інститут інформаційної безпеки ДАНС. Бостон, Массачусетс, США, 2019. (дата звернення 17.05.2022).

12.      Іванченко С.О., Гавриленко О.В., Липський О.А., Шевцов А.С. Технічні канали витоку інформації. порядок створення комплексів технічного захисту інформації. 2016, 104 с. URL: https://ela.kpi.ua/bitstream/123456789/15155­/1/NP_Tekhnichni_kanaly_vytku_inf.pdf. (дата звернення 18.05.2022).

13.      Автономні мініатюрні шпигунські камери відеоспостереження. 2020. . URL : https://shpalerkley.cx.ua/480–avtonomni–miniatjurni–shpigunski–kameri.html. (дата звернення 18.05.2022).

14.      Все, що треба знати про приховане відеоспостереження. URL : https://tvtdigital.­com.ua­/vse–shcho–treba–znaty–pro–prykhovane–videosposterezhennia/

15.      The best spy cameras in 2022: how to see without being seen!. URL : https://www.digitalcameraworld.com/buying–guides/best–spy–cameras. (дата звер­не­­ння 20.05.2022).

16.      Four ways to find spy cameras. URL :https://www.kaspersky.com­/blog/how–to–find–spy–cameras/43199. (дата звернення 21.05.2022).

17.      How to Detect Hidden Cameras Within Minutes? Take This Step–by–Step Guide. . URL :https://reolink.com/blog/how–to–detect–hidden–cameras/#–1–Scan–the–Environment­–Carefully–to–Detect–.... (дата зве­р­нення 24.05.2022).

18.      Hidden camera detector APP. URL :https://www.hcdapp.com (дата звернення 25.05.2022).

19.      How to Find Hidden Cameras Using Your Mobile Phone. URL : https://www­.makeuseof.com/tag/use–smartphone–detect–hidden–surveillance–cameras/ (дата звернення 25.05.2022).

20.      Як виявити приховані камери спостереження за допомогою телефону. Джош Хендріксон. 2020. URL :https://www.thefastcode.com/uk–uah/article/how–to–dete­c­­t–hidden–surveillance–cameras–with–your–phone (дата звернення 25.05.2022).

21.      Hidden Spy Camera Detector . URL : https://play.google.com/store/apps/­details­?id=com.lsc.hcd (дата звернення 25.05.2022).

22.      Hidden Camera Detector. URL :https://play.google.com/store/apps/details?id=­hiddencamdetector.futureapps.com.hiddencamdetector&hl=en&gl=US (дата звернення 25.05.2022).

23.      Best hidden camera detector in 2022: hunt out bugs, trackers and spy cams. Adam Juniper. 2022. . URL :https://www.digitalcameraworld.com/buying–guides/best–hidden–camera–detector. (дата звернення 25.05.2022).

24.      The Model–View–ViewModel Pattern. 2021 . URL : https://docs.microsoft­.com­/en–us/xamarin/xamarin–forms/enterprise–application–patterns/mvvm (дата звернення 25.05.2022).

25.      Teachable Machine . URL :https://teachablemachine.withgoogle.com. (дата звернення 29.05.2022).

26.      A modern programming language that makes developers happier. URL : https­://kotlinlang.org. (дата звернення 29.05.2022).

27.      Java. URL : https://www.java.com/en. (дата звернення 29.05.2022).

28.      Java vs Kotlin. Priya Pedamkar. 2022. URL :https://www.educba.com/java–vs–kotlin. (дата звернення 30.05.2022).

29.      Save data in a local database using Room. URL : https://developer.android.com­/training/data–storage/room. (дата звернення 29.05.2022).

30.      Top 20 Tools for Android Development. 2018. URL : https://www.altexsoft.com­/blog/engineering/top–20–tools–for–android–development/#:~:text=%20To­p%20.... (дата звернення 2.06.2022).

Додаток А

Текст програми


@DelicateCoroutinesApi
@ExperimentalPermissionsApi
@AndroidEntryPoint
class CameraScreenFragment : Fragment() {
    private lateinit var viewModel: CameraScreenViewModel
    private lateinit var outputDirectory: File
    private lateinit var cameraExecutor: ExecutorService
    private lateinit var photoUri: Uri
    private var textResult: String = ""
    private var shouldShowCamera: MutableState<Boolean> = mutableStateOf(false)
    private var shouldShowPhoto: MutableState<Boolean> = mutableStateOf(false)
    private val requestPermissionLauncher = registerForActivityResult(
        ActivityResultContracts.RequestPermission()
    ) { isGranted –>
        if (isGranted) {
            Log.i("kilo", "Permission granted")
            shouldShowCamera.value = true
        } else {
            Log.i("kilo", "Permission denied")
        }
    }

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        viewModel = ViewModelProvider(requireActivity()).get(CameraScreenViewModel::class.java)
    }

    override fun onCreateView(
        inflater: LayoutInflater,
        container: ViewGroup?,
        savedInstanceState: Bundle?
    ): View? {
        return ComposeView(requireContext()).apply {
   setViewCompositionStrategy(ViewCompositionStrategy.DisposeOnViewTreeLifecycleDestroyed)
            setContent {
                if (shouldShowCamera.value) {
                    CameraScreen(
                        context = context,
                        outputDirectory = outputDirectory,
                        executor = cameraExecutor,
                        onImageCaptured = ::handleImageCapture,
                        onError = { Log.e("kilo", "View error:", it) }
                    )
                }
                if (shouldShowPhoto.value) {
                    CameraDetectionResultScreen(
                        painter = rememberImagePainter(photoUri),
                        textResult = textResult,
                        onSaveClick = ::saveToDB,
                        onBackClick = ::handleBackToCamera
                    )
                }
            }
            requestCameraPermission()

            outputDirectory = getOutputDirectory()
            cameraExecutor = Executors.newSingleThreadExecutor()
/*            setContent {
                CameraScreen { event –>
                    when (event) {
                        CameraScreenEvent.CameraButton –> navigateCameraDetectionFragment()
                    }
                }
            }*/
        }
    }
    private fun requestCameraPermission() {
        when {
            ContextCompat.checkSelfPermission(
                requireContext(),
                Manifest.permission.CAMERA
            ) == PackageManager.PERMISSION_GRANTED –> {
                Log.i("kilo", "Permission previously granted")
                shouldShowCamera.value = true
            }

            ActivityCompat.shouldShowRequestPermissionRationale(
                requireActivity(),
                Manifest.permission.CAMERA
            ) –> Log.i("kilo", "Show camera permissions dialog")

            else –> requestPermissionLauncher.launch(Manifest.permission.CAMERA)
        }
    }
    private fun handleImageCapture(model: DetectImage) {
        Log.i("kilo", "Image captured: ${model.uri}")
        this.photoUri = model.uri
        this.textResult = model.result.toString()
        shouldShowCamera.value = false
        shouldShowPhoto.value = true
    }

    private fun saveToDB() {

    }

    private fun handleBackToCamera() {
        shouldShowCamera.value = true
        shouldShowPhoto.value = false
    }

    private fun getOutputDirectory(): File {
        val mediaDir = requireActivity().externalMediaDirs.firstOrNull()?.let {
            File(it, resources.getString(R.string.app_name)).apply { mkdirs() }
        }

        return if (mediaDir != null && mediaDir.exists()) mediaDir else requireActivity().filesDir
    }

    override fun onDestroy() {
        super.onDestroy()
        cameraExecutor.shutdown()
    }
}

private fun takePhoto(
    context: Context,
    filenameFormat: String = "yyyy–MM–dd–HH–mm–ss–SSS",
    imageCapture: ImageCapture,
    outputDirectory: File,
    executor: Executor,
    onImageCaptured: (DetectImage) –> Unit,
    onError: (ImageCaptureException) –> Unit
) {

    val photoFile = File(
        outputDirectory,
        SimpleDateFormat(filenameFormat, Locale.US).format(System.currentTimeMillis()) + ".jpg"
    )
    val outputOptions = ImageCapture.OutputFileOptions.Builder(photoFile).build()
    imageCapture.takePicture(outputOptions, executor, object : ImageCapture.OnImageSavedCallback {
        override fun onError(exception: ImageCaptureException) {
            Log.e("kilo", "Take photo error:", exception)
            onError(exception)
        }

        override fun onImageSaved(outputFileResults: ImageCapture.OutputFileResults) {
            val savedUri = Uri.fromFile(photoFile)

            val parcelFileDescriptor: ParcelFileDescriptor =
                context.contentResolver.openFileDescriptor(savedUri, "r")!!
            val fileDescriptor: FileDescriptor = parcelFileDescriptor.fileDescriptor
            var image = BitmapFactory.decodeFileDescriptor(fileDescriptor)
            parcelFileDescriptor.close()

           val dimension = min(image.width, image.height)
            image = ThumbnailUtils.extractThumbnail(image, dimension, dimension)
            image = Bitmap.createScaledBitmap(image, imageSize, imageSize, false)

            classifyImage(context, savedUri, image, onImageCaptured)
        }
    })
}

private fun classifyImage(
    context: Context,
    uri: Uri,
    image: Bitmap,
    onImageCaptured: (DetectImage) –> Unit,
) {
    try {
        val model = context.let { ModelUnquant.newInstance(it) }
        val inputFeature0 =
            TensorBuffer.createFixedSize(intArrayOf(1, 224, 224, 3), DataType.FLOAT32)
        val byteBuffer = ByteBuffer.allocateDirect(4 * imageSize * imageSize * 3)
        byteBuffer.order(ByteOrder.nativeOrder())

        val intValue = IntArray(imageSize * imageSize)
        image.getPixels(intValue, 0, image.width, 0, 0, image.width, image.height)
        var pixel = 0
        for (i in 0 until imageSize) {
            for (j in 0 until imageSize) {
                val value = intValue[pixel++]
                byteBuffer.putFloat((value shr 16 and 0xFF) * (1f / 255f))
                byteBuffer.putFloat((value shr 8 and 0xFF) * (1f / 255f))
                byteBuffer.putFloat((value and 0xFF) * (1f / 255f))
            }
       }
        inputFeature0.loadBuffer(byteBuffer)
        val outputs = model.process(inputFeature0)
        val outputsFeature0 = outputs.outputFeature0AsTensorBuffer
        val confidence = outputsFeature0.floatArray
        var maxPos = 0
        var maxConfidence = 0f
        if (confidence != null) {
            for (i in confidence.indices)
                if (confidence[i] > maxConfidence) {
                    maxConfidence = confidence[i]
                    maxPos = i
                }
        }
      val classes = arrayOf("DefaultValue", "SpyCameraWithFlash", "ExampleSpyCamera")
        onImageCaptured(
            DetectImage(
                uri = uri,
                result = classes[maxPos]
            )
        )
    } catch (e: IOException) {
        e.printStackTrace()
        showToast(context, e.message.toString())
    }


Назва конкурсу:  Конкурс «Кращий диплом з кібербезпеки»
ПІБ Керівника/Куратора:  Куперштейн Л. М.
ПІБ конкурсанта:  Ворожбит Михайло Вікторович
Країна:  Україна
Область:  Вінницька область
Назва НЗ:  Вінницький національний технічний університет
Учасник фіналу:  Так
Файл статті (pdf):  Завантажити

Повернення до списку