Page 87 - 4636
P. 87

захисту. На жаль, безпека означає постійну битву, яку в деякому сенсі неможливо виграти. Постійний
        нагляд,  удосконалення  системи  та  швидке  реагування  на  будь-які  проблеми  -  ціна,  яку  доводиться
        платити за безперебійну роботу веб-додатків.
              Наш базовий підхід. Щоб отримати найбільш повне рішення безпеки за розумних витрат зусиль
        і часу, ми опишемо подвійний підхід до безпеки. Перша частина відповідає вже розглянутим тезам:
        планування захисту програми і проектування вбудованих засобів, які будуть забезпечувати цей захист.
        Якщо  б  ми  любили  на всі  навішувати  ярлики,  то могли  б  назвати  це  падаючим  підходом.  А  друга
        частина нашої стратегії називається підйомним підходом. Тут ми розглянемо всі окремі компоненти
        програми - сервер баз даних, веб-сервер і мережу, в якій він перебуває. Ми намагаємося забезпечити
        не тільки безпеку нашої взаємодії з цими компонентами, але і безпеку їх установки та налаштування.
        Більшість  продуктів  за  замовчуванням  інсталюються  з  конфігураціями,  відкритими  для  можливих
        атак, і потрібно добре знати, де є ці дірки і як їх ліквідувати.

              4.2 Можливі загрози

              Ми вже ознайомилися з низкою загроз безпеки нашої програми електронної комерції. У даній
        лекції  ми  розглянемо  деякі  з  цих  загроз  і  дізнаємося,  як  змінити  наше  перебування  в  середовищі,
        враховуючи ці загрози.
              Доступ до секретних даних або їх зміна. Один з аспектів нашої роботи як проектувальників і
        програмістів веб-додатків - забезпечення збереження всіх даних, які користувач довіряє нам, а також
        даних, одержаних з інших підрозділів. При виведенні такої інформації у веб-додатку потрібно зробити
        так, щоб користувач бачив тільки ту інформацію, яку йому дозволено бачити, і не бачив інформацію,
        призначену для інших користувачів. Припустимо, що ми пишемо користувальницький інтерфейс для
        системи торгівлі в пайових фондах. Люди, які можуть отримати доступ до наших таблиць з рахунками,
        повинні мати можливість отримувати за особистим ідентифікаційними номерами (у США це номери
        карток  соціального  страхування  –  Social  Security  Numbers,  або  SSN)  індивідуальну  інформацію  -
        наприклад, які цінні папери є у них в наявності та на яку суму, а в деяких випадках: - інформацію про
        банківський рахунок.
              Навіть висновок таблиці з іменами та адресами представляє собою серйозне порушення безпеки.
        Клієнти  дуже  цінують  свою  конфіденційність,  а  довгий  список  імен  і  адрес,  плюс  якась  додаткова
        інформація  (“всі  десять  тисяч  людей,  перерахованих  у  цьому  списку,  люблять  робити  покупки  в
        онлайнових тютюнових лавках”) може виявитися цінним придбанням для маркетингових фірм, які не
        завжди дотримуються правил пристойності. Звичайно, ще гірше, ніж просто доступ до даних, варіант,
        коли  хтось  зможе  змінювати  ці  дані.  Щасливий  клієнт  банку  може  виявити,  що  його  рахунок
        “потовстів” на кілька сотень зайвих доларів, або може виявитися змінененою адреса доставки товарів
        клієнту, що також принесе комусь задоволення (швидше за все, тому, хто змінив адресу), адже він
        отримає купу посилок, сплачених  кимось іншим.
              Зникнення або знищення даних. Анітрохи не краща і ситуація, в якій виявляється видалення
        або знищення частини даних. Якщо хтось зможе знищити таблиці в базі даних, то підприємство може
        зазнати непоправної шкоди. Якщо це підприємство - Інтернет-банк, який виводить  інформацію про
        банківські рахунки, і раптом зникне вся інформація хоча б про один рахунок, то такий банк не можна
        назвати хорошим. А якщо буде видалена ціла таблиця користувачів, то доведеться витратити багато
        часу  на  відновлення  баз  даних  та  встановлення,  скільки  грошей  на  якому  рахунку  знаходиться.
        Важливо  розуміти,  що  зникнення  або  знищення  даних  зовсім  не  обов'язково  відбувається  за
        навмисного або випадкового неправильного використання системи. Якщо згорить будинок, в якому
        розміщені ваші сервери з  усіма жорсткими дисками, то буде втрачено великі обсяги даних, так що
        краще мати адекватні плани резервного копіювання і аварійного відновлення.
              Відмова в обслуговуванні. Вже говорили про атаки відмови в обслуговуванні (DoS) та їх більш
        суворі різновиди - розподілених атаках відмови в обслуговуванні (DDoS) - як про потенційно руйнівні
                                                            84
   82   83   84   85   86   87   88   89   90   91   92