Як велика компанія робить помилки новичка, які залишають дірки в безпеці? [зачинено]


15

Sony нещодавно зламали ін'єкцію SQL, а паролі користувача зберігалися у простому тексті. Це помилки новобранця. Як у такій великій компанії, як проходить цей контроль якості? Як вони не мають кращих команд, ніж знати краще за це?

Самий розмір компанії, яку зламали, робить це різним. Це впливає на всіх нас, бо ми можемо одного разу опинитися в команді, яка відповідає за щось подібне, і тоді ми дістаємо сокиру. Отже, які фактори призводять до цього, і як ми їх запобігаємо?


На це запитання не було запропоновано конструктивних відповідей, заснованих на фактах та посиланнях: це перелік різних міркувань щодо того, наскільки хитра компанія Sony. Див. Пов’язану бічну панель запитань для кількох питань щодо кроків щодо розробки ін'єкцій SQL, якості та безпеки. (Вибачте за те, щоб закрити підрахунок голосів: було 3 "не конструктивних" закритих голосу, коли я випадково закрив його з неправильної причини)

Коментатори : коментарі призначені для пошуку роз'яснень, а не для розширеного обговорення. Якщо ви хочете обговорити це питання з іншими, скористайтеся чатом . Див . FAQ для отримання додаткової інформації.

4
@ Марк Од, він отримав кілька дивно конструктивних відповідей, які, ймовірно, дуже близькі до позначки. З цього приводу, краще питання буде: "чому не існує законодавства, яке б покарало таку необачну поведінку в такій великій корпорації?"
Конрад Рудольф

3
Досить дивно, що це питання знову закрилося. Драконівський. Знову.
Річард

Відповіді:


24

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


3
Я думаю, що ти вдарив цвях по голові бюрократією, але є й інші проблеми, що випливають із цього. Якщо у вас є розумний розробник, який помічає значну проблему, потрібен акт Божого, щоб отримати дозвіл на роботу над виправленням, перевірити його та перенести його на виробництво. Все, що потрібно - це одна людина в бюрократії подумати, що ризик внесення змін (затримки в інших проектах, виробничі помилки тощо) перевищує ризик не внести зміни (хто може зламати компанію такої великої?).
Майо

18

Через те, що програмістам не сказали тестувати на це, а руйнівна корпоративна культура не дала їм достатньо свободи, щоб вони почали відчувати професійну етику і вимагали ще декількох тижнів перевірити на вразливість безпеки. Або наполягати, щоб вони були захищені з самого початку.

Тому що начальник не хотів витратити пару додаткових тижнів на тестування на питання безпеки з будь-якої причини. Додатковий бонус наприкінці року. З'являється Джонсон з наступного відділу. Хвастощі. Обов’язок перед компанією. Лінь. Недовіра до порад підкресливших.

Тому що великий бос вимагав більше прибутку і просував Джонсона над Бобом, тому що його номери виглядали краще на відміну від вимагати кращого продукту. Оскільки якість та безпека є складними значеннями для відображення в електронній таблиці. Тому що корпорації існують, щоб заробляти гроші.

Такі речі є систематичною проблемою. Це зводиться до "тому що вони дурні".

Програмісти редагування можуть уникнути того, щоб стати жертвою козла, помітивши недолік, передавши питання своєму начальнику. Він або зробить правильно, і складе план, щоб виправити це, або скаже, що це ігноруйте. Якщо він не виправить це, зробіть це офіційним, запитайте про це електронною поштою. Використовуйте ключові слова, що стосуються проблеми, наприклад "вразливість", "ін'єкція", "порушення безпеки" в цьому випадку. Майте на увазі, що пошук по електронній пошті підійде.

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


3
Моє голосування за вас як генерального директора компанії !!!
Wajih

3
@Cheshire Це було не "здоровим глуздом", коли це було зроблено вперше. Люди не властиві безпеці; вони повинні вчитися і постійно нагадувати, що там є злі ривки, які існують лише для того, щоб захопити ваші дані.
Майкл Тодд

3
@Michael Todd: Але це вже не 1996 рік. Це є здоровим глуздом зараз, і немає ніякого виправдання за це.
Річард

1
@ Чешир Погодився. І розвиватися з урахуванням безпеки набагато краще, ніж потім перевірити її.
Філіп

1
@Richard DesLonde: Якби це був здоровий глузд, я думаю, що я бачив би менше людей, які говорять про це правильно.
Девід Торнлі

12

Чим більша корпорація, тим далі приймають рішення відповідальність за будь-яку реальність.

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


4
+1 для сторонніх. Я не думав про це. Коли ви знаходитесь в офшорному напрямку, розробники розробляють саме те , що ви вказали, запитань не задавали, тому, можливо, безпеки не було в специфікації.
Річард

1
@Richard DesLonde: Я бачу, що ти оптиміст.
Девід Торнлі

@David Thornley: Ні, просто досвідчений. :-)
Річард

2
@Richard DesLonde: І всі твої офшорні проекти виконували все те, що сказала специфікація? Непогано.
Девід Торнлі

1
@David Thornley: LOL Абсолютно ні. Це не було наголосом. Ви, безумовно, праві, це було занадто оптимістично. :-)
richard

4

Як хто робить помилки? Через лінь, відсутність знань, недостатній досвід, доцільність, відсутність процесу тощо. Як ми запобігаємо помилкам? Завдяки старанності, досвіду, гарантіям тощо. Ця ситуація категорично не відрізняється від тисяч дрібних помилок, які робить кожен програміст; це лише різний масштаб.

Що ми можемо навчитися з цього? Не багато.


Я думаю, що це інакше. Sony заробляє мільярди доларів, але вони не можуть зрозуміти ці основні речі? У цьому щось серйозно не так. І це не тільки Sony. Нещодавно багато великих компаній були взломані ін'єкцією SQL.
Річард

1
Ні, це насправді не відрізняється. Рішення приймають люди, а не компанії.
Рейн Генріхс

@Richard: У них завжди були погані показники безпеки. Це та сама компанія, яка винайшла руткіт Sony, пам’ятаєте?
Мейсон Уілер

2

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

Одним із загальних знаменників у кожній з цих компаній було нетехнічне управління. Менеджери проектів, ІТ-менеджери та Менеджери продуктів, в основному всі, хто говорить, в чому працює команда розробників, - це все нетехнічно і не розуміють важливості створення високоякісного, безпечного коду. Це те, що я шукаю, коли зараз беру інтерв’ю з компаніями. Хто тримає правління притулку, ув'язнених чи лікарів?

Я не був би здивований, якби щось подібне, ускладнене глибокою бюрократією, сприяло чинникам Sony та інших питань безпеки компанії.


0

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

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