5 ознак поганого веб додатку

19:50 05.01.2007

Як писав деякий час тому Джеремія Гроссман в записі Top 5 signs you’ve selected a bad web application package (коментуючи повідомлення Роберта Аугера), існує список TOP5 ознак, що ви вибрали поганий веб додаток (в список експерти з безпеки додали найбільш поширені ознаки, які актуальні в наш час).

Ось п’ятірка ознак:

5. Суть процеса виправлення помилок в программі (тобто встановлення патчів) на думку виробника продукту полягає в тому, щоб відрегувати рядок X, замінівши його новим кодом.
4. Загальна кількість скачуваннь програми менша ніж її вік.
3. Власний веб додаток не використовується на сайті віробника.
2. В файлі readme вказано, що вам необхідно встановити права (chmod) 777 на деякий файл чи на директорію, щоб вони працювали.
1. Якщо в назві програми присутє слово ‘nuke’, то ви явно не в собі.

До речі, я й досі періодично ще практикую п.5 :-) (з ручною заміною коду, зокрема в рекомендаціях про виправлення уразливостей), для веб програм це прийнятна річ.


4 відповідей на “5 ознак поганого веб додатку”

  1. trovich каже:

    Цікаво, а що вони пропонують робити у випадку №5? Змінювати логіку сегменту чи що?

  2. MustLive каже:

    trovich, я сам звернув увагу на цей 5 пункт, про що я вже писав. Сам ним не задоволений, тому що використовую дану методику, і в якійсь мірі вона зручна (і виправдена).

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

    Це звісно варіант, але більш складний, ніж просто написати керівництво, що треба такий-то рядок змінити в такому-то файлі. Що проще і швидше зробити, але комусь буде патчити не так зручно. Але ж можна і по іншому зробити: випустити пакет з новими версіями файлів (виправлених) і розписати, що куди оновити (але не паритися розробкою патча ехе-шніка), подібний метод я сам використовую в моєму Security Pack. Або навіть просто випустити оновлену версію всього веб додатка (де вже виправлені помилки). Що зараз багато веб розробників і практикує.

  3. trovich каже:

    Звісно, змушувати власноруч користувачів правити код - ідіотизм. Але, як мені здалося, вони наголошують не не тому. Щось типу “якщо вже тут є дірка, то будуть й інші, тому треба переробити весь сегмент/модуль”. Напевне я накручую :)

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

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

  4. MustLive каже:

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

    Хоча хто його знає, що вони там мали на увазі :D . Бо я лише переклав, так як я це зрозумів (в оригіналі) і як я розумію саму суть кожного пункту. Що там вони хотіли сказати, їм відніше. На сайтах двох секюріті експертів був опублікований цей список і жодних коментарів по пунктам вони не давали, мовляв Джеремія погодився з Робертом (вони один одного зрозуміли :-) ).

    І ця проблема з патчами потихеньку вирішуєтсья - як у випадку інсталяторів. Бо вже давно існує думка, що треба зробити номальні інсталятори для веб систем. Так от, вже декілька років як випускаються веб системи (тіж CMS) з нормальними інсталяторами, зокрема той же WordPress. І щодо патчів, то в тому ж WP поставляється скрипт для патчінгу БД (при переході між різними версіями, якщо відбулися зміні в стуктурі бази). Тому і в цьому напрямку вже йдуть роботи.

Leave a Reply

You must be logged in to post a comment.