Сьогодні ми будемо вчитися захищати інформацію за допомогою простої електроніки.
Ми частково розглянемо таку болючу тему як захист комп'ютерної інформації від крадіжки фізичним доступом. Передбачається що захищається інформація зберігається в комп'ютері до якого можуть раптово отримати доступ всякі ворожі люди: конкуренти, менти, цікавий адмін хостера, Петя хакер пробрався в приміщення і так далі. Потрібно залишити ворога з носом, щоб при будь-яких розкладах отримав він хуй так ніхуя. У загальному випадку, якщо вам потрібен захист "від усього на світі" - потрібно батися, проте реальні атаки обмежені декількома основними варіантами і від них можна захиститися нескладної комбінацією програмних, апаратних засобів і адміністративних заходів.
Отже, найперша і основна атака - переписування даних з незалоченного комп'ютера на зовнішній носій. Міра безпеки - вбити себе в звичку завжди лочіть, навіть якщо відходиш на хвилину в інший кінець кімнати. У мене це вже рефлекс, раджу обзаводитися таким-же рефлексом і вам. Відходиш від комп'ютера - заблокуй його, навіть якщо сидиш в своїй квартирі за залізними дверима, навіть якщо відійшов на хвилину поссать. Це повинно бути безумовно вбито в голову як обов'язкове дію. Повернувся, набрав пароль, працюєш далі.
Складніша атака - завантажуємо комп'ютер з лайвсіді і переписуємо всі дані. Це вимагає часу і може бути відмічено, але таку атаку можна непомітно провести коли комп'ютер вимкнений, ну а хостер може вимкнути сервер, завантажити з лайвсіді, скопіювати дані, ну а після пояснити незаплановане відключення аварією. Міра безпеки - шифруємо диски. Бажано - взагалі все. Під Windows обов'язково потрібно шифрувати системний розділ, в процесі роботи прикладних програм на нього може витікати інформація з кріптотомов. Перевірені програми для шифрування: TrueCrypt, DiskCryptor, dm-crypt (cryptsetup, LUKS), це те що я можу порадити будучи впевнений у відсутності серйозних косяків. Новомодну VeraCrypt використовуйте на свій страх і ризик, я її не перевіряв. Комерційні програми без відкритих початкових кодів - використовувати не можна (якщо використовуєте - ви корпоративний користувач або просто черговий ідіот вірить рекламі).
Отже, ви шифруєте інформацію, не залишаєте комп'ютер незалоченного, використовуєте стійкі паролі і ніде їх не записуєте. Що може зробити ворог в такій ситуації, крім очевидного вибивання пароля кулаками? Він може прочитати пам'ять і отримати ключ шифрування, або читанням-записом пам'яті похакать скрінсейвер і разлочить комп'ютер без пароля. Це не фантастика, технологія читання пам'яті через порт IEEE1394 анонсована багато років тому, конкретна реалізація злому шифрування таким способом - є в продуктах ElcomSoft, таку атаку можна вважати практично застосовуваної. Міра безпеки - відключаємо в BIOS порти 1394 і про всяк випадок фізично заливаємо їх епоксидкой. Однак пам'ять все одно можна прочитати з використанням спец засобів у вигляді PCI карти ініціює цикли доступу в ОЗУ. Те-ж саме можна зробити з шини LPC, що зазвичай використовуються для підключення TPM модуля і діагностичних карт. Нарешті - пам'ять можна заморозити рідким азотом, перенести в інший комп'ютер і там прочитати, при низьких температурах інформація в осередках ОЗУ може зберігатися на десятки хвилин після вимкнення живлення. Ці атаки - не фантастика, все було реалізовано дослідниками і може бути повторено (рядовими ментами - навряд чи, але у ФБР, АНБ, ФСБ і інших ГеБе може бути потрібна апаратура і фахівці в штаті, отже такий варіант потрібно враховувати). Міра безпеки - активна електронний захист знеструмлюємо систему при виявленні розтину, аномальному зниженні температури і інших підозрілих діях. Її ми і будемо робити зараз.
вимикач живлення
Система активного захисту буде розділена на дві основні частини: блок датчиків і вимикач харчування. Перший - повинен виявляти вторгнення, другий - вимикати живлення комп'ютера по електричному сигналу і забезпечувати напругу живлення для блоку датчиків. Почнемо ми з другої частини.
Схема розпаювання 24х контактного роз'єму ATX блоку живлення:
Перший варіант вимикача харчування призначений для ATX блоків живлення розриває лінію PS_ON між блоком живлення і материнською платою. ATX блок живлення в спокої видає тільки напруга 5VSB, так зване "чергове живлення", інші напруги включаються замиканням лінії PS_ON на землю. Ми включимо в розрив цієї лінії польовий транзистор керований оптопарою (польовика потрібен тому що біполярний транзистор оптрона "не дотягує" до землі, не може забезпечити надійне включення БП).
Принципова схема:
Друкована плата не робилася зважаючи на велику простоти схеми. Вона збирається на шматочку макетної плати під пайку, після складання фіксується термоклеем і поміщається в термоусадочну трубку. Від блоку виходить трьохконтактний роз'єм з контактами "земля" "5в харчування" і "датчик". Для вирішення включення БП потрібно притягнути лінію "датчик" на землю, тоді запалюється світлодіод оптопари, відкривається польовика і дозволяється проходження сигналу PS_ON. Застосований польовий транзистор - IRLML6244, але ви можете застосовувати будь-які інші польовики відкриваються від 5ти вольт, струмовий навантаження там вважай що відсутня.
Фото модуля:
Для неттопів і мікрокомп'ютерів, що живляться від зовнішнього адаптера, потрібна інша схема коммутирующая вхідна напруга живлення. Вона так-же збирається на макетке під пайку і комутує плюс P-канальним польовим транзистором IRF4905. У схемі так-же присутній лінійний 5в стабілізатор L78L05, з нього йде пятівольтового лінія живлення датчиків.
Принципова схема:
Фото модуля:
Датчики виявлення вторгнення
Найпростіший тип датчиків - пружинний контакт. Це пружина розпаяна на шматочку макетної плати, вона монтується в системний блок таким чином, щоб при закритій кришці пружина тулилася до неї, а при розтині відбувалося розмикання ланцюга. Можна ставити кілька пружинних контактів на одну кришку корпусу. Ними ж захищаємо відсіки з CDROM і будь-які інші отвори, через які може бути проведений доступ до нутрощів компа. Якщо пружина виходить занадто довгою і є ризик замикання на навколишні деталі - ізолюємо її нижню частину термоусадочної трубкою.
Фото пружинних контактів:
Сподіваюся ви не забули про можливість заморожування пам'яті рідким азотом? Необхідно додати термодатчик реагує на сильне зниження температури. Вороги так-же можуть спробувати розглянути конфігурацію датчиків і деактивувати їх використовуючи ендоскоп. А ми заодно зробимо фотодатчик реагує на появу світла всередині корпусу. Видаляємо всякі світяться моддингові штучки, корпус повинен глухо закриватися і в нормі всередині майже повна темрява. Поява яскравого світла свідчить про стороннє доступі.
Принципова схема:
Як власне датчиків використовуються терморезистор і фоторезистор. Вони включені в верхнє плече дільника напруги. При похолоданні або появі світла, опір верхнього плеча зменшується і збільшується напруга на виході дільника. Ця напруга порівнюється компаратором LM2903 (подвійний компаратор з відкритим колектором на виході) з опорною напругою від подстроечніка. У нормі компаратор знаходиться в нульовому стані, вихід притягнутий до землі. При спрацьовуванні датчика - компаратор перемикається в одиничне стан і відпускає вихід. У цього датчика два виходи, від термо і від фото секцій.
Фото модуля:
Резистори в нижніх їх плечах дільників напруги повинні бути приблизно рівні номінальним опору фото і терморезисторов. Подстроечнікамі налаштовуємо пороги чутливості датчиків, так щоб не було помилкових спрацьовувань.
Інші датчики:
На фото показані інфрачервоний датчик наближення і датчик руху з серії так званих "датчиків для Arduino". Подібні датчики можна використовувати для кращого захисту, якщо вони підходять до вашого корпусу.
Об'єднання сигналів від декількох датчиків
Отже, ми наставили всяких різних датчиків, тепер нам потрібно об'єднати їх сигнали в один сигнал подається на вимикач харчування. Сигнали датчиків можуть бути як нашого формату (прітяжкі на землю при відсутності спрацьовування, відпускання при спрацьовуванні) так і інверсного (в разі застосування датчиків "для Arduino"). Найбільш простим і зручним способом об'єднання сигналів є оптронная логіка. Беремо потрібну кількість оптронов, з'єднуємо їх транзистори послідовно, аноди фотодіодів з'єднуємо з лінією живлення + 5в через резистори 1 до, а на катоди заводимо сигнали з датчиків. Якщо датчик видає сигнал в іншому форматі - включаємо фотодиод соответствющая оптрона інакше, так щоб він запалювався при відсутності спрацювання і згасав при спрацьовуванні датчика. Зручно використовувати мікросхему TLP521-4, яка містить 4 оптрона в одному корпусі, вона дозволяє об'єднувати до 5ти вхідних сигналів (п'ятий заводимо на емітер транзистора останнього оптрона в ланцюжку).
Принципова схема:
Датащіти на застосовувані деталі
IRLML6244
IRF4905
TLP521
Підписуйтесь на наші канали
в телеграм https://t.me/coolyanews
Твіттері https://twitter.com/coolyanews
і наше співтовариство в Гугл + https://plus.google.com/communities/115502899737654712166