Вопрос

Я разговаривал с коллегой, который работает над приложением и рамками избирательного участка. Он задавал технические вопросы, и я предположил, что он открыл заявку, чтобы получить больше качественных мнений от разработчиков, которые заинтересованы в этой проблеме и хотят дать ей тяжелую.

У него другая точка зрения, которая, я думаю, все еще является действительной, поэтому я хочу открыть этот вопрос для обсуждения здесь. Он говорит, что считает, что что -то вроде избирательной системы должно нет Будьте открыты, потому что это уменьшит свою безопасность и достоверность, поскольку люди раскрывают лазейки, через которые они могут обмануть. Не могу сказать, что я совершенно не согласен. Я вижу там несколько обоснованную точку зрения, но я всегда верил, что решения группы людей почти всегда лучше, чем решение, которое, подумав один человек, спрашивающий небольшое количество коллег, независимо от того, насколько умный этот человек. Опять же, я готов признать, что, возможно, некоторые типы приложений разные.

У кого -нибудь есть спор в его пользу? Я бы очень хотел представить ваши ответы на него.

Это было полезно?

Решение

Вы предполагаю, вы говорите о опросах на веб -сайтах? «Какой твой любимый язык, с#, java или cobol?» Тип опросов? Если так, то это интересный.

Обычно я согласен с ответом Саймона, что, если открытие источника раскрывает лазейки, с самого начала он никогда не был в безопасности.

Однако, для такого рода приложения. Скорее всего, нет, оно не было Вставьте с самого начала, и нельзя легко сделать. Проблема в том, что я держу пари, что у вас есть требование, чтобы люди могли просто прийти на веб -сайт и голосовать в опросе, регистрация не требуется. И ты также Имейте несовместимое требование, чтобы люди могли проголосовать только один раз.

Итак, что бы вы ни делали .. есть лазейка. Проверка IP -адреса? Посетитель, который хочет обмануть, знает, чтобы использовать прокси. Печенье? Посетитель, который хочет обмануть, знает, чтобы очистить его куки. Открытие источника делает тривиальным видеть, как обмануть.

Но, сказав это ... это все равно тривиально. Не требуется очень много времени, чтобы попробовать альтернативы и посмотреть, какая из них позволяет несколько голосов. Просто невозможно сделать такой анонимный опрос безопасным, так что вы можете также открыть его и, по крайней мере, получить глазные яблоки, обнаруживая ошибки!

Другие советы

Фактически, Быть открытым исходным кодом поможет вам быть более безопасным.

Я лично считаю, что, когда программа начиналась как закрытый исходный код, а затем сначала сделан с открытым исходным кодом, она часто начинается менее безопасной для любых пользователей (посредством воздействия уязвимостей), и со временем (скажем, несколько лет) у нее может быть много более безопасная, чем закрытая программа. Если программа началась как программное обеспечение с открытым исходным кодом, публичное контроль с большей вероятностью улучшит свою безопасность, прежде чем она будет готова к использованию значительным количеством пользователей, но в этом утверждении есть несколько предостережений (это не правило IronClad). Просто создание программы с открытым исходным кодом не вдруг делает программу безопасной, и только потому, что программа является открытым исходным кодом не гарантирует безопасность:

  • Во -первых, люди должны фактически просмотреть код. Это один из ключевых моментов дебатов - действительно ли люди просмотрите код в проекте с открытым исходным кодом? Все виды факторов могут уменьшить объем обзора: быть нишевым или редко используемым продуктом (где есть несколько потенциальных рецензентов), наличие мало разработчиков и использование редко используемого компьютерного языка. Очевидно, что программа, в которой есть единого разработчика и никаких других участников, не имеет такого рода обзора. С другой стороны, программа, в которой есть основной автор и многие другие люди, которые иногда изучают код и внесены вклад, предполагает, что есть и другие, рассматривающие код (по крайней мере, для создания вкладов). В целом, если есть больше рецензентов, в целом существует более высокая вероятность того, что кто -то определит недостаток - это основа теории «много глазных яблок». Обратите внимание, что, например, проект OpenBSD непрерывно рассматривает программы на наличие недостатков безопасности, поэтому компоненты в ее внутренних частях, безусловно, прошли длительный обзор. Поскольку дискуссии OSS/FS часто проводится публично, этот уровень проверки является тем, что потенциальные пользователи могут судить сами.
     
    Одним из факторов, который может особенно снизить вероятность обзора, на самом деле не является открытым исходным кодом. Некоторые поставщики любят представлять свои программы «раскрытого источника» (также называемые «доступным источником») как открытый исходный код, но, поскольку владелец программы имеет обширные эксклюзивные права, у других будет гораздо меньше стимулов на работу «бесплатно» для владельца на код. Даже лицензии с открытым исходным кодом, которые имеют необычайно асимметричные права (такие как MPL), имеют эту проблему. В конце концов, люди с меньшей вероятностью будут добровольно участвовать, если кто -то еще будет иметь права на свои результаты, которых у них нет (как говорит Брюс Пресс: «Кто хочет быть чьим -то неоплачиваемым сотрудником?»). В частности, поскольку рецензенты с наиболее стимулом, как правило, являются людьми, пытающимися изменить программу, это препятствие для участия уменьшает количество «глазных яблок». Элиас Леви совершил эту ошибку в своей статье о безопасности с открытым исходным кодом; Его примеры программного обеспечения, которое было разбито (например, перчатка Тис), в то время не были открытым исходным кодом.

  • Во -вторых, по крайней мере, некоторые люди, разрабатывающие и просмотр кода, должны знать, как написать безопасные программы. Надеемся, что существование этой книги поможет. Ясно, что не имеет значения, есть ли «много глазных яблок», если ни один из глазных яблок не знает, что искать. Обратите внимание, что для всех нет необходимости знать, как писать безопасные программы, если те, кто знает, как изучает изменения кода.

  • В -третьих, после того, как обнаружили эти проблемы быстро исправить, а их исправления распределяются. Системы с открытым исходным кодом, как правило, быстро решают проблемы, но распределение не всегда плавное. Например, разработчики OpenBSD отлично справляются с просмотром кода на предмет недостатков безопасности, но они не всегда сообщают о выявленных проблемах обратно к первоначальному разработчику. Таким образом, вполне возможно, что в одной системе была фиксированная версия, но не ущерб остается в другой. Я полагаю, что эта проблема уменьшается с течением времени, поскольку никто не «вниз по течению» не любит многократно решать ту же проблему. Конечно, обеспечение того, чтобы исправления безопасности фактически были установлены в системах конечных пользователей, является проблемой как для программного обеспечения с открытым исходным кодом, так и для закрытого исходного кода.

Еще одно преимущество открытого исходного кода заключается в том, что, если вы найдете проблему, вы можете исправить ее немедленно. Это действительно не имеет ни одного аналога в закрытом исходном коде.

Короче говоря, влияние на безопасность программного обеспечения с открытым исходным кодом по -прежнему остается основной дебатом в сообществе безопасности, хотя большое количество известных экспертов считает, что у него есть большой потенциал, чтобы быть более безопасным.

Посмотрите на Linux ...

Аргумент о том, что открытый исходный код "снизит его безопасность и достоверность, поскольку люди раскрывают лазейки", полностью недействителен. Безопасный продукт не должен иметь лазейки, поэтому, когда он сделан с открытым исходным кодом, не должно быть никаких лазейков.

Если у вашего продукта есть лазейки, которые будут раскрыты, сделав его открытым исходным кодом, который не является безопасностью, это просто скрывает ваше отсутствие безопасности за вашим компилятором. Вы можете уйти с рук на некоторое время, но в конце концов кто -то собирается изменить ваш код и найти одну из этих лазейков (о которых вы, возможно, даже не знали)

Я бы доверял продукту безопасности с открытым исходным кодом гораздо больше, чем я бы доверял закрытому исходному костюму.

Эксперт по безопасности Брюс Шнайер прекрасно подводит итог:

Если я возьму письмо, заблокируйте его в сейфе, скрыть сейф где -то в Нью -Йорке, а затем скажите вам прочитать письмо, это не безопасность. Это безвестность. С другой стороны, если я возьму письмо и заблокирую ее в сейф, а затем дам вам сейф вместе с спецификациями проектирования сейфа и сотней идентичных сейфов с их комбинациями, чтобы вы и лучшие защитники мира могли изучать Механизм блокировки - и вы все еще не можете открыть сейф и прочитать письмо - это безопасность.

Брюс Шнайер - прикладная криптография

Прочитать Унизирует ли Overflow Stack Stack Sourcing Oreflow наша бизнес -модель? - Хотя переполнение стека - это не то же самое, что ваша структура опроса, это должно дать вам большее понимание взглядов многих других людей.

Пара мыслей, которые произошли мне, я не знаю ответа на себя ...

  1. То, что кто -то представляет код в проект, он может быть недостаточно хорош/принят/использован. Открытый исходный код не делает код лучше.
  2. Точно так же я не знаю, каково среднее значение для разработчиков, помогающих с кодом. Не может быть орды разработчиков, способствующих источнику? (Хотя вам нужно только 1 или 2, чтобы иметь существенное значение).
  3. Я полагаю, что нет ничего, что не мешает вам открыть рамки, но вы запускаете индивидуальную версию для своего бизнеса, в которой встроены другие функции/безопасность.
  4. Может ли ваш бизнес оставаться анонимным/не рекламировать, что он стоит за рамки? А где фреймворк установлена/вживую - замаскируйте, что это конкретная структура? (Рассмотрим WordPress и то, как одна из рекомендаций по безопасности - скрыть метатеги с надписью «Версия 2.3» WordPress).
  5. Вам также необходимо поговорить со своим боссом/юридическим департаментом, потому что ваш трудовой договор может сказать что-то, что интеллектуальная собственность всего, что вы создаете на работе, принадлежат вашему работодателю, и открытый кодекс, возникший в компании Посадить вас в горячую воду.
Лицензировано под: CC-BY-SA с атрибуция
scroll top