Як визначити, що робить програма і чи містить вона зловмисне програмне забезпечення?


1

Як ми можемо знати про iOS і OS X, що дійсно робить програма?

На OS X ви завжди можете зробити наступне: клацніть правою кнопкою миші на .app і "show package". Contents -> MacOS і двічі клацніть виконуваний файл Unix. Термінал відкривається і якимось чином розповідає, що робить додаток.

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

Моє питання зараз, як ви могли б сказати, що додаток робить на IOS? Як визначити, чи містить він шкідливе програмне забезпечення або щось інше шкідливе.

І чи є інший спосіб розповісти, які програми роблять на OS X, ніж запускати виконуваний файл Unix, розташований у пакеті програми?


Якщо це питання; ви можете виявити або заблокувати, якщо програма надсилає ваші відомості до невідповідної служби / сервісу / хакера ... obdev.at/products/littlesnitch/index.html
StrawHara

1
Що ви маєте на увазі "Термінал відкривається і якимось чином розповідає, що робить додаток". Коли я роблю це, я просто отримую випадкове виведення з програми. Не обов'язково те, що це "робить" або мета.
Steve Moser

При перенесенні програм з вином на OS X, він повідомляє мені, які .dlls відсутні або що-небудь, які рамки він звертається.
user148013

Ви в основному запитали, як замінити всю антивірусну промисловість кількома клацаннями миші. Ви не можете. І ні, запуск виконуваного файлу в Terminal не говорить вам, що робить програма.
hamstergene

Відповіді:


3

Коротка відповідь: ви не можете знати

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


Так що ви можете зробити зі скомпільованим додатком? Завантажте його в Xcode і відстежуйте / виводить? Думка налагодження тільки для не скомпільований код?
user148013

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

1

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

Я не впевнений у перевірці інших програм на наявність шкідливого програмного забезпечення, але компанія Apple розіслала листа з інформацією про те, як перевірити, чи містить ваша версія Xcode шкідливе програмне забезпечення. Вони рекомендують завжди завантажувати його з Mac App Store або їхнього веб-сайту розробника. Якщо ви повинні встановити його з іншого місця (диск USB), виконайте такі дії.

Щоб перевірити ідентичність вашої копії Xcode, виконайте таку команду   в терміналі в системі з включеним Gatekeeper:

spctl --assess --verbose /Applications/Xcode.app

де / Applications / - каталог, де встановлено Xcode. Це   Інструмент виконує ті самі перевірки, які використовує Gatekeeper для перевірки   підпису кодів додатків. Інструмент може займати до декількох   хвилин для завершення оцінки для Xcode.

Інструмент повинен повернути наступний результат для версії Xcode   завантажено з Mac App Store:

/Applications/Xcode.app: accepted source=Mac App Store

і для версії, завантаженої з веб-сайту Apple Developer, на   Результат повинен також читатися

/Applications/Xcode.app: accepted source=Apple

або

/Applications/Xcode.app: accepted source=Apple System

Будь-який результат, крім "прийнятого" або будь-якого іншого джерела, окрім. Mac App   «Магазин», «Система Apple» або «Apple» вказує, що програма   підпис не дійсний для Xcode. Ви повинні завантажити чисту копію   Xcode і перекомпілюйте свої програми, перш ніж надсилати їх на розгляд.


1

На iOS

Проблема з Xcode Ghost - це спілкування з іншим сервером. Таким чином, можна було б розпізнати це з'єднання, якщо ви налаштуєте проксі, як запитано в це питання тут і використовуйте Wireshark, щоб побачити з'єднання. Для HTTP-підключення також Чарльз повинні працювати. Ви також можете бачити в Xcode в диспетчері пристроїв консоль-журнал, який тісно співпадає з виходом терміналу Mac App. Але розробники можуть приховувати інформацію, їм не потрібно друкувати кожну процедуру в терміналі / консолі.

На OS X

Є ще декілька способів виявлення трафіку TCP / IP, вручну за допомогою WireShare або використання деяких програм, таких як ( LitteSnitch , Руки геть , Приватні очі ). HandsOff - це єдина програма, яка також відстежує читання / запису файлів і багато іншого.

Висновок

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


@ user3439894 Чи є підстави для написання "розробника" з великої літери?
idmean
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.