ПЕРЕЛІК ДИСЦИПЛІН:
  • Адміністративне право
  • Арбітражний процес
  • Архітектура
  • Астрологія
  • Астрономія
  • Банківська справа
  • Безпека життєдіяльності
  • Біографії
  • Біологія
  • Біологія і хімія
  • Ботаніка та сільське гос-во
  • Бухгалтерський облік і аудит
  • Валютні відносини
  • Ветеринарія
  • Військова кафедра
  • Географія
  • Геодезія
  • Геологія
  • Етика
  • Держава і право
  • Цивільне право і процес
  • Діловодство
  • Гроші та кредит
  • Природничі науки
  • Журналістика
  • Екологія
  • Видавнича справа та поліграфія
  • Інвестиції
  • Іноземна мова
  • Інформатика
  • Інформатика, програмування
  • Юрист по наследству
  • Історичні особистості
  • Історія
  • Історія техніки
  • Кибернетика
  • Комунікації і зв'язок
  • Комп'ютерні науки
  • Косметологія
  • Короткий зміст творів
  • Криміналістика
  • Кримінологія
  • Криптология
  • Кулінарія
  • Культура і мистецтво
  • Культурологія
  • Російська література
  • Література і російська мова
  • Логіка
  • Логістика
  • Маркетинг
  • Математика
  • Медицина, здоров'я
  • Медичні науки
  • Міжнародне публічне право
  • Міжнародне приватне право
  • Міжнародні відносини
  • Менеджмент
  • Металургія
  • Москвоведение
  • Мовознавство
  • Музика
  • Муніципальне право
  • Податки, оподаткування
  •  
    Бесплатные рефераты
     

     

     

     

     

     

         
     
    JAVA-мидлети
         

     

    Інформатика, програмування

    JAVA-мидлети

    Кріс Касперски

    Будьте пильні

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

    За останні декілька років мобільні телефони різко «порозумнішали». Спочатку вони обзавелися швидкими процесорами і ємною енергонезалежній пам'яттю, потім у них з'явилися вбудовані фото-та відеокамери і протоколи, орієнтовані на передачу великих об'ємів даних через Інтернет. Фактично телефон перетворився в мініатюрний комп'ютер, а комп'ютера, як відомо, потрібні програми. Ігри, записні книжки, органайзери, платіжні системи, картографічні програми, засоби навігації ... А слідом за програмами підтяглися віруси, черв'яки і троянські коні.

    Чого побоюватися

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

    Фото зняті вбудованою камерою, - це справжнє джерело інформації. Дуже часто стільниковий телефон використовується для оперативної зйомки цікавих подій або технологічних процесів, не призначених для сторонніх очей. Наявність високошвидкісних мережевих протоколів дозволяє мідлетам приховано передавати вміст пам'яті телефону на який-небудь анонімний ftp/smtp-сервер або на інший стільниковий телефон.

    Нарешті, апарат може бути «поневолений» спамерів, адресатів та SMS-повідомлення або навіть звичайні листи через протокол GPRS. І не так важливо, що GPRS повільний. Адже трафік все одно не свій, а система захисту в стільникових телефонах на порядок слабкіше, ніж в персональних комп'ютерах. Ви бачили мобільний телефон з антивірусом? А латочки коли останній раз встановлювали? І брандмауера, треба вважати, теж немає. Одна надія на вбудовану систему безпеки.

    Звідки ноги ростуть

    Для початку кілька пояснень, що стосуються використовуваної термінології. Скорочення J2ME розшифровується як «Java 2 Platform Micro Edition», тобто Java-платформа версії 2-спеціальна редакція для мікропристроїв. CLDC, у свою чергу, означає «Connected Limited Device Configuration» - конфігурації комунікаційних пристроїв з обмеженими ресурсами, іншими словами, Java для мобільних телефонів, КПК і смартфонів.

    J2ME-пpілoжeніe, зване мідлетом (від англійського midlet), починає свій життєвий шлях з предверіфікатора (preverifier), що аналізує байт-код на предмет виявлення підставних речей. Перевірений байт-код передається в MIDP (Mobile Information Device Profile-профіль для мобільного пристрою з інформаційними функціями), в сферу компетенції якого входять наступні функції:

    1. Життєвий цикл мідлета (інсталяція, видалення, оновлення, запуск, зупинка, пауза, відновлення роботи);

    2. Безпека та авторизація доступу до захищених функцій (наприклад, комунікаційним);

    3. Графічний інтерфейс (у тому числі низькорівневий, придатний для програмування ігор);

    4. Введення команд користувача (наприклад, за допомогою клавіатури).

    Для абстрагування від конкретного обладнання MIDP звертається до CLDC-Бібліо-набряку, експортує всі життєво важливі функції (до речі кажучи, CLDC версії 1.0 НЕ підтримувала плаваючої арифметики і її доводилося емулювати безпосередньо самому мідлета). Байт-код, включаючи код бібліотеки CLDC, виконується на віртуальної Java-машини, що позначається абревіатурою KVM (K-Virtual Machine). А сама віртуальна машина спирається на API-функції операційної системи (Operating System), «натягнутої» поверх апаратного забезпечення (Hardware). Для збільшення продуктивності Java-машина оптимізує код (Java Code Compact, скорочено JCC), застосовуючи цілком традиційні алгоритми оптимізації, загальні для всіх мов. Власного назви отримувала лише одна технологія-ROMizing ( «Ромізація»), що забезпечує упереджувальну предзагрузку і зв'язування (prelink) класів, що уповільнює завантаження, але збільшує продуктивність мідлета під час його виконання.

    Розсилання SMS

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

    Відоме вислів: захист, як стовп,-її важко перестрибнути, але легко обійти. Хакерській групі «The Phenoelit Hackers group» вдалося знайти пролом в обороні Siemens S55. Вивести запит на підтвердження ( «allow SMS15142467980-Уеs/Nо») конструктори вивели, а от заблокувати дисплей забули, в результаті чого мидлети отримали можливість перезаписати оригінальний текст, замінивши її яких-небудь нешкідливим питанням у стилі «Wanna Play?» Користувач натискає «Yes» та SMS-повідомлення приховано йде адресату. Перевірка інших телефонів показала, що дана уразливість впливає на весь модельний ряд, поширюючись не тільки на SMS, але і на інші запити на підтвердження. У телефонів Motorola V600 і Nokia 3600 в цьому відношенні все нормально, оскільки вони блокують дисплей перед висновком будь-яких запитів на підтвердження.

    Фрагмент Java-коду, що забезпечує захист запиту на підтвердження відправлення SMS

    Void PermissioriDialog (...)// запит на підтвердження відправлення SMS

    Permi ssionForm.setCommandListener (this);

    // блокування дисплея від змін

    displayManager.preemptDisplay (token, this, form, true);

    private void SetAnswer (...)//

    відправка SMS

    // зняття блокування з дисплея displayManager.donePreempting (preemp tToken); notifyO;

    Сховища

    Коли мідлета потрібно зберегти будь-які дані в незалежній пам'яті, то він це робить не прямо, а через спеціальний інтерфейс, що забезпечує управління сховищами (Record Stores). Кожен мідлет може мати одне або більше сховищ, а починаючи з MIDP 2.0 з'явилася підтримка поділюваних сховищ, до яких можуть звертатися одразу кілька мідлетів. Фізично сховища являють собою групи записів (Record), а записи є не що інше як звичайні масиви байтів. Доступ до сховищ здійснюється по унікальному імені, що складається з імен виробника (Vendor Name), мідлета (MIDIet Suite Name) та запису (Record Store Name). Записи, що належать різним мідлетам, можуть мати однакові імена (також, як різні каталоги можуть містити однойменні файли).

    сховищами завідує система управління записами (Record Management System, RMS), гарантує, що дані одного мідлета не потраплять до решти без його згоди. Програмісти, впевнені у непогрішності захисту, часто-густо поміщають в сховища секретні дані.

    В Насправді більшість виробників реалізують RMS-системи на мові Java, надаючи високорівневі API-функції (High level MIDP API), викликаються мідлети і виконують всі необхідні перевірки. Однак, якщо спуститися на одну сходинку всередину, ми виявимо низькорівневі API-функції (Low level API), також доступні мідлетам і дозволяють звертатися до будь-якого сховища без перевірок взагалі (в першу чергу слід звернути увагу на клас RecordStoreFile, назва якого говорить за себе).

    Причому сховища зазвичай розміщуються в одному з файлів і доступні для перегляду через штатний провідник або функції файлового введення/виводу. Теоретично, сховища повинні бути зашифровані, щоб ніякої мідлет не зміг дістатися до них через файлову систему, але в деяких телефонах вони зберігаються у відкритому вигляді. У Зокрема, на Nokia 3650 сховища зосереджені у файлі rms.db, що знаходиться в поточному каталозі мідлета (тобто лежать там же, де і Jad/Jar-файли), що робить іхлегкой жертвою для атаки.

    Висновок

    Ми розглянули тільки дві уразливості мобільних пристроїв, насправді їх більше. Але не поспішайте викидати свій телефон на смітник, якщо в ньому виявлено дефект. Де гарантія, що інший апарат виявиться краще? Більш надійний вихід-викачувати мидлети лише з надійних джерел. Це не захистить від атак на 100%, але істотно знизить їхню ймовірність.

    Список літератури

    IT спец № 07 ЛИПЕНЬ 2007

         
     
         
    Реферат Банк
     
    Рефераты
     
    Бесплатные рефераты
     

     

     

     

     

     

     

     
     
     
      Все права защищены. Reff.net.ua - українські реферати ! DMCA.com Protection Status