Вірусне програмне забезпечення – це шкідливе програмне забезпечення, з яким ви не хочете стикатися, оскільки воно може завдати шкоди вашому комп’ютеру Mac або спричинити втрату даних. Ось як від нього захиститися.
Оскільки безпека в епоху підключених технологій викликає дедалі більше занепокоєння, зловмисні атаки злочинців продовжують залишатися проблемою для багатьох організацій і користувачів.
Шкідливе програмне забезпечення (ШПЗ) може бути встановлене на ваших пристроях, що може призвести до втрати облікових даних або даних, пошкодження операційних систем або вимагання викупу.
З поширенням мільярдів цифрових пристроїв по всьому світу і збільшенням обсягів торгівлі в Інтернеті, шкідливе програмне забезпечення стає все більшою загрозою.
Моделі безпеки програмного забезпечення
На початку розвитку програмного забезпечення – до того, як інтернет став мейнстрімом, більшість систем були відкритими, і програмне забезпечення можна було встановити з будь-якого місця. Зазвичай це було з CD-ROM або дискети.
Зараз, коли інтернет-магазини програмного забезпечення стали стандартом, ця проблема стала трохи меншою. Це пов’язано з тим, що більшість програм перевіряють перед випуском, щоб забезпечити їхню безпеку.
Тим не менше, погане програмне забезпечення може іноді прослизати і прослизає.
Apple спробувала вирішити цю проблему, створивши свої глибоко інтегровані місця розповсюдження програмного забезпечення, як iOS App Store. Але навіть там час від часу з’являється погане програмне забезпечення.
Комп’ютер Mac раніше поводився не так як зараз, адже на початку свого розвитку він дозволяв встановлювати програми з будь-якого джерела. Класичні перші антивірусні програми, такі як Virex та Norton Utilities тоді допомагали «очистити» комп’ютери від шкідливого програмного забезпечення.
Сьогодні Mac App Store пропонує функціонал контролю, перевірки отримання програм та нотаріального засвідчення програм. Але Mac все ще дозволяє встановлювати програмне забезпечення з будь-якого місця, якщо вимкнути певні налаштування.
Підписання коду, ідентифікатор розробника та Gatekeeper
Багато років тому Apple запровадила додатковий захід безпеки для програмного забезпечення macOS: Gatekeeper. Разом з ідентифікатором розробника Gatekeeper додає безпеки завантаженого програмного забезпечення для Mac.
За допомогою Gatekeeper розробники macOS реєструються в Apple і отримують ідентифікатор розробника, який потім використовується для цифрового підпису програмного забезпечення для Mac, яке вони створюють.
Якщо Gatekeeper увімкнено в macOS, він гарантує, що програма оригінальна та завірена “підписом” розробника, який її створив. Він також попереджає під час першого запуску програми на Mac про програми, які не належать відомим зареєстрованим розробникам.
Користувачі Mac можуть вибрати в «Системних налаштуваннях» -> «Конфіденційність і безпека» -> «Дозволити програми», яким програмам дозволити інсталяцію: лише програмам з App Store або програмам з App Store та відомих розробників.
Служби підписання коду та нотаріальне засвідчення додатків гарантують, що програмне забезпечення є дійсним і не є зламаним або шкідливим, коли користувачі завантажують його.
Захист цілісності системи (SIP)
macOS пропонує ще одну функцію захисту системи, яка допомагає захистити Mac: Захист цілісності системи або SIP.
SIP обмежує, які програми можна запускати і який код можна запускати на комп’ютерах Mac. За замовчуванням можна запускати лише програми з App Store або програмне забезпечення від зареєстрованих розробників Apple.
Він також обмежує доступ до важливих системних файлів, які не можна змінювати без додаткового дозволу.
Вимкнути SIP в терміналі можна, але не рекомендується. Це порушує безпеку macOS і може призвести до запуску шкідливого коду на комп’ютерах Mac.
Інструмент командного рядка csrutil можна використовувати для перевірки і зміни параметрів SIP.
Щоб отримати поточний стан SIP на вашому комп’ютері Mac, введіть у Терміналі:
csrutil status і натисніть клавішу Return.
Привілеї, ескалація, сокети та допоміжні інструменти
Програми для MacOS (та інших UNIX систем) використовують поняття привілеїв та привілейованих користувачів. Наприклад, користувач root має необмежені привілеї безпеки і може вносити зміни до програмного забезпечення за власним бажанням.
З міркувань безпеки, користувач root за замовчуванням вимкнений у macOS. Інші користувачі можуть мати інші привілеї різного рівня, які дозволяють виконувати певні дії, зокрема встановлювати або видаляти програмне забезпечення.
Користувачі admin або так звані “адміністратори” мають підвищені привілеї, і для багатьох операцій в macOS потрібне схвалення саме такого користувача.
Використовуючи тимчасове підвищення привілеїв, користувачі macOS можуть отримати додаткові права на короткий проміжок часу.
У добре спроектованому програмному забезпеченні слід враховувати, що критичний для безпеки код виконується в окремому процесі, який називається допоміжним інструментом. Допоміжні інструменти гарантують, що лише невеликі частини коду можуть бути запущені з підвищеними привілеями – таким чином обмежуючи, які частини програмного забезпечення можуть виконувати критичні завдання, що можуть загрожувати безпеці системи.
Додаток з хорошим факторингом поміщає весь ризикований код у допоміжний інструмент, а потім, коли потрібні дозволи, запускає допоміжний інструмент після авторизації користувача. Це підвищує безпеку, а також означає, що скомпрометовані програми не зможуть запустити весь код з підвищеними привілеями, що є ризиком для безпеки.
Ідея полягає в тому, щоб запустити допоміжний інструмент і підвищити привілеї на найменший проміжок часу, виконати привілейовані операції, а потім повернути привілеї до попереднього рівня, коли допоміжний інструмент завершить роботу.
Доменні сокети та конвеєри UNIX також можна використовувати для безпечної передачі інформації між процесами.
Демони безпеки та фреймворки
macOS – одна з найбезпечніших операційних систем у світі, але вона не бездоганна.
Безпека в macOS забезпечується за допомогою комбінації фонових процесів (демонів) і фреймворків коду Apple, які завантажуються в додатки під час їх запуску. До них відносяться
- launchd
- secured (security сервер)
- XPC Сервіси
- Authorization Services.framework
- Security.framework
- System Configuration.framework
- Service Management.framework
- Endpoint Security.framework
- Криптографічні Сервіси
- Сервіси підпису коду
- В’язка ключів
- Hardened Runtime
Динамічне лінкування гарантує, що фреймворки завантажуються в пам’ять тільки тоді, коли їхні API або інтерфейси дійсно використовуються.
Перераховані вище програмні компоненти надають наступні послуги:
launchd (Демон запуску) – це загальносистемний демон, який працює у фоновому режимі та керує запуском і завершенням програм та інших процесів у macOS.
secured (демон безпеки) керує безпечним доступом, підвищенням привілеїв, запуском інструментів і певних ідентифікаторів користувачів, а також іншими службами безпеки.
XPC Services керує безпечним міжпроцесним зв’язком між програмними компонентами, а також працює з launchd для безпечного запуску допоміжних інструментів.
Authorization Services.framework керує запитами користувачів на введення пароля адміністратора, кешуванням підвищення привілеїв і підтримкою таймерів, які знижують привілеї після закінчення заданого часу очікування. Коли ваш комп’ютер Mac запитує пароль адміністратора для встановлення програмного забезпечення або зміни параметрів, він надсилає повідомлення до служби безпеки, щоб відобразити діалогове вікно введення пароля адміністратора, де користувач може ввести ім’я та пароль.
Security.framework керує ідентифікацією користувача (автентифікацією) і надає доступ до ресурсів, захищає дані на диску і в мережевих з’єднаннях, а також перевіряє правильність коду перед його запуском.
System Configuration.framework керує системними налаштуваннями і гарантує, що обмежені налаштування можуть бути змінені лише за наявності відповідного дозволу.
Service Management.framework дозволяє програмам керувати агентами запуску, демонами запуску та елементами входу.
Endpoint Security.framework дозволяє розробникам писати власні розширення системи, які підвищують безпеку.
Криптографічні сервіси надають стандартні криптографічні API, керують ключами, сертифікатами та паролями, а також генерують випадкові числа та хеші.
Служби підписання коду надають послуги з підписання та перевірки створеного програмного забезпечення, щоб переконатися, що воно дійсне і не було скомпрометоване.
В’язка ключів (Keychain Services) управляє системними ключами, сертифікатами та ідентифікаторами.
Hardened Runtime (разом з SIP) захищає macOS від ін’єкцій коду, підміни пам’яті та викрадення динамічних бібліотек. IDE Xcode від Apple включає в себе налаштування Hardened Runtime, включаючи дозвіл або заборону коду Just-In-Time (JIT), використання беззнакової пам’яті та змінних середовища динамічного компонувальника (DYLD).
Зміна параметрів середовища перед запуском шкідливого програмного забезпечення – це один із способів впровадження шкідливого коду в запущені програми.
Всі ці компоненти працюють разом, щоб забезпечити максимальну безпеку програмного забезпечення macOS.
Концепція безпеки Zero Trust означає, що весь привілейований доступ до програмного забезпечення обмежений, якщо тільки привілейований користувач не надасть явного дозволу на певну безпечну дію. За замовчуванням нульова довіра означає, що шкідливе програмне забезпечення не може запуститися без спеціального дозволу.
Ви можете побачити, які демони наразі запущено на вашому комп’ютері Mac за допомогою утиліти Activity Monitor або за допомогою команди top у Terminal. Щоб скористатися командою top, введіть
top і натисніть клавішу Return.
Ви побачите всі запущені процеси, включно з демонами, ідентифікаторами процесів (PID), часом виконання, завантаженням процесора, портами тощо.
Шкідливе програмне забезпечення на комп’ютерах Mac
Вірусне програмне забезпечення можна визначити як шкідливе програмне забезпечення, яке може зламати або заразити комп’ютер, мережу або інший пристрій, щоб вивести його з ладу, пошкодити або викрасти і передати несанкціоновані дані через мережу.
Типи шкідливого програмного забезпечення включають (але не обмежуються ними) віруси, троянські програми, шкідливі програми або фреймворки, драйвери і навіть мікропрограми. Мережеві атаки також можливі шляхом впровадження шкідливого програмного забезпечення в мережевий код або підслуховування мережевих комунікацій.
Програми-вимагачі – це шкідливе програмне забезпечення, яке викрадає комерційну таємницю компанії або дані клієнтів, а потім дозволяє зловмисникам вимагати від організації плату за невикористання або оприлюднення викрадених даних.
Віруси – це невеликі фрагменти коду, які можуть бути встановлені та запущені віддалено на локальному комп’ютері користувача і непомітно завдавати шкоди.
Віруси можуть пошкоджувати або змінювати код програм, драйвери, файли, бази даних або системне програмне забезпечення для виконання певних шкідливих дій. Це може включати стирання/пошкодження даних або модифікацію програмного забезпечення для виконання певних зловмисних дій.
Віруси можуть бути тихими, невидимими та крихітними – і часто залишаються непоміченими, поки не стає занадто пізно. Оскільки віруси можуть бути встановлені майже будь-де, їх важко зупинити, а ще важче позбутися, якщо вони вже заразили комп’ютер чи пристрій.
У минулому було відомо, що віруси навіть заражали мікропрограму таких пристроїв, як накопичувачі або мережеві маршрутизатори, роблячи їх назавжди пошкодженими і непридатними для використання.
Троянським конем зазвичай вважається програма, яка при запуску завдає шкоди збереженим даним або іншому встановленому програмному забезпеченню і змушує його виконувати певні шкідливі дії. Одним із поширених векторів атаки троянських коней є непомітна заміна програмних фреймворків або системних компонентів шкідливою версією-самозванцем, яку потім мимоволі запускають пов’язані з нею програми.
Троянські програми змушують звичайні програми не знати, що при виклику зламаних API фреймворку самозванець завдасть шкоди. Троянські коні часто бувають у вигляді окремих програм або інсталяторів, або фреймворків і пов’язаних бібліотек.
Драйвери пристроїв також можуть бути встановлені для запуску шкідливого коду під час використання певного пристрою. Особливо небезпечними є мережеві драйвери шкідливих програм, оскільки вони можуть довільно передавати дані через мережу, які після відправлення неможливо відновити або «не побачити».
Шкідливе програмне забезпечення заражає або замінює наявне програмне забезпечення в зовнішніх пристроях, що призводить до збоїв у нормальній роботі або при надсиланні на пристрій певних стандартних команд. Шкідливе програмне забезпечення для пристроїв зберігання даних є, мабуть, найпоширенішим, оскільки його можна легко встановити за допомогою команд прошивки пристрою, а потім викликати стандартні команди вводу/виводу з диска, що спричиняє втрату або пошкодження даних.
Мережеві атаки відбуваються у формі впровадження шкідливого коду у веб-сторінки або команди баз даних, зазвичай шляхом додавання додаткового коду в кінці стандартних команд і даних.
Наприклад, шкідливе програмне забезпечення, що викликає переповнення буфера, додає невелику кількість шкідливого коду в кінець URL-адреси, веб-сторінки, скрипта або мережевого пакета, який при отриманні та виконанні на клієнтському комп’ютері завдає шкоди.
Атаки на переповнення буфера є одними з найпоширеніших веб-атак. Їх важко виявити, оскільки більшість мережевого коду і веб-сторінок виконуються автоматично і поза межами більшості моделей безпеки програмного забезпечення.
Більшість веб-браузерів тепер містять налаштування для обмеження того, яке програмне забезпечення можна завантажувати та автоматично запускати у вікнах.
Java-аплети особливо відомі тим, що дозволяють завантажувати шкідливе програмне забезпечення.
Інші типи мережевих атак включають самозванців, «людину посередині», крадіжку облікових даних, фішинг, підміну електронної пошти та розподілену відмову в обслуговуванні (DDoS), коли віддалені комп’ютери переповнюють сервери таким обсягом даних, що вони перестають працювати.
Атаки соціальної інженерії – це оманлива тактика, коли зловмисники переконують жертв у своїй легітимності, щоб отримати доступ до їхньої захищеної інформації, або спонукають їх до певних дій, які можуть їм зашкодити. Соціальні інженери також можуть намагатися маніпулювати жертвами, щоб змусити їх несвідомо вчиняти злочини, щоб у випадку, якщо їх спіймають, вони могли звинуватити когось іншого.
Соціальна інженерія, зокрема, використовується у великій і майже невідомій сфері промислового шпигунства (шпіонажу).
Що ви можете зробити
Завдяки добре продуманій моделі безпеки macOS та привілеям UNIX, Mac є дуже безпечною системою. Тим не менш, злами можуть траплятися і трапляються.
Через вимкнений користувач root та обмежені привілеї, з якими працює більшість програм на Mac, зловмиснику важко змусити macOS запустити шкідливий код з підвищеними привілеями. Підписані та захищені допоміжні інструменти роблять ці спроби ще складнішими – і гарантують, що більшість шкідливих програм не зможуть зависнути достатньо довго, щоб завдати серйозної шкоди.
Під пильним наглядом захищених і запущених програм обманом змусити програму для Mac працювати з повними правами без пароля адміністратора досить складно. Також важко перемогти саму програму secured, оскільки вона може працювати лише від імені певного користувача з підвищеними привілеями, контрольованого ОС, а без неї інші безпечні програми не зможуть запуститися.
Apple швидко видаляє більшість шкідливих програм зі свого магазину додатків Доки увімкнено SIP, програми від неавторизованих зареєстрованих розробників Apple не можна запускати без попередження користувача.
Ви також можете запускати різні «чистіші» програми для сканування комп’ютера Mac і пристроїв зберігання даних на наявність шкідливого програмного забезпечення. Але будьте обережні – навіть «чисті» програми в минулому маскувалися під зловмисне програмне забезпечення!
Періодична перевірка на віруси та видалення підозрілих програм з вашого Mac може допомогти зменшити ризик. Ще одна хороша стратегія – просто звести до мінімуму кількість програм, які ви встановлюєте, таким чином звузивши поле для атаки.
Можливо, ви захочете встановити маловикористовуване програмне забезпечення на один зовнішній диск, а потім під’єднувати його лише тоді, коли вам потрібно отримати доступ до нього.
Також варто звести до мінімуму системні розширення, скрипти, сторонні шрифти, драйвери та розширення ядра – це також зменшить навантаження на фонові завдання.
Ви можете встановити найвищий рівень безпеки вашого веб-браузера та увімкнути блокування підозрілих сайтів за замовчуванням. Це допоможе зменшити ймовірність того, що мережева атака зі шкідливого сайту може завдати шкоди вашому Mac.
У деяких браузерах є налаштування, які блокують усі завантаження веб-аплетів, щоб захиститися від небезпечних завантажень троянських коней.
Також переконайтеся, що всі паролі WiFi і точки доступу у ваших мережах безпечні – і не допускайте анонімних входів. Деякі мережеві налаштування Mac дозволяють вимагати пароль адміністратора для зміни налаштувань.
Не забудьте обмежити права адміністратора на комп’ютері Mac – надавайте їх лише тим користувачам, яким вони дійсно потрібні, і лише на необхідний період часу. За замовчуванням більшість користувачів на вашому комп’ютері Mac не повинні мати права адміністратора.
Можливо, ви також захочете вимкнути права гостьових користувачів. Увімкнення гостьових користувачів дозволить будь-якому віддаленому користувачеві підключатися до вашого комп’ютера Mac без пароля.
Також вимкніть опції «Віддалене керування», «Віддалений вхід» і «Віддалений сценарій програм» у розділі «Системні налаштування->Спільний доступ», якщо вони вам не потрібні.
Gatekeeper і захист під час виконання
Якщо ви завантажуєте та запускаєте програмне забезпечення для Mac не з App Store, а з авторизованого ідентифікатора розробника, macOS попередить вас і запитає, чи ви впевнені, що хочете його запустити. Це здійснюється за допомогою частини macOS, яка називається Gatekeeper.
Якщо ви впевнені, що хочете запустити програму, ви можете натиснути «Дозволити» у вікні попередження Finder, що дозволить запустити програму. Ця проста перевірка безпеки дає вам додатковий шанс перевірити програму, перш ніж вона запуститься наосліп за першим подвійним клацанням.
Обмеження програм лише програмами з App Store у Системних налаштуваннях означає, що ви можете інсталювати та запускати на своєму Mac лише програми з App Store. Це запобігатиме запуску всіх можливих програм сторонніх розробників, завантажених не з App Store, але в результаті ви будете більш обмежені у виборі програмного забезпечення.
Загальні відомості та історичні відомості про роботу демонів і агентів на комп’ютерах Mac наведено в статті TN2083
Демони та агенти.
Також обов’язково прочитайте Посібник з безпеки платформи Apple та загальну сторінку безпеки Apple.
Apple доклала чимало зусиль, щоб створити безпечну macOS – і в більшості випадків вам не доведеться турбуватися про безпеку вашого Mac. Але пам’ятайте про все вищесказане під час використання Mac, щоб звести до мінімуму ймовірність ураження шкідливим програмним забезпеченням.
Оригінал статті можна переглянути на appleisider
Якщо ви хочете дізнатися про захист пристроїв в корпоративній сфері та про такі інструменти як ABM та MDM – заповніть форму нижче , будемо раді надати інформацію.