Этика сообщества

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

Что такое этичный хакинг и кто такие White & Grey & Black Hats?

  • White Hat - это специалист по информационной безопасности, хакер, занимающийся защитой компьютерных систем, который выявляет проблемы безопасности в роли атакующего. Как правило, проводит свои исследования с согласия или по заказу владельцев системы.
  • Grey Hat - это хакер, изучающий компьютерные системы без цели нанести вред, а чаще всего наоборот, добивающийся повышения безопасности систем, приватности пользователей, а также, например, с целью получить новые знания и навыки. В своей деятельности Grey Hats могут нарушать законы. Обычно это происходит, потому что существует большое количество несправедливых законов, ограничивающих свободу исследования, изучения и использования компьютерных систем в пользу корпораций.
  • Black Hat - это хакер, атакующий компьютерные системы с целью нанесения урона и получения выгоды.

Следует иметь в виду, что эта классификация не очень полная и четкая.

Наше сообщество поддерживает практики White и Grey Hat. Под этичным хакингом мы понимаем тот, который согласуется с (высокими) моральными нормами сообщества.

Что такое этичное программирование?

Очень часто корпорации создают программы, поврежденные специально (англ. defective by design) и подвергающие риску безопасность и приватность пользователей (например, цифровые наручники, DRM; сбор сведений о пользователях) с целью повысить доход корпораций, а также получить контроль над пользователями. Один из вариантов, через “vendor lock-in” или “data lock-in” (например, в “облаке” без возможности экспорта) и т.д. Эти же корпорации несправедливо обращаются с разработчиками программ: отчуждают их от результатов труда, относятся к ним как к ресурсу, мешая свободе творчества через ограничение свободы программ.

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

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

Наше сообщество поддерживает этичное программирование. Мы помогаем развивать понимание того, какие требования заказчика – приемлемы и этичны, а какие - нет. С повышением общего уровня такого понимания, всё чаще заказчикам и корпорациям будут предлагаться лишь варианты этичных решений. В случае же неэтичных требований корпорациям придется преодолевать сопротивление и терять репутацию как среди работников, так и среди пользователей. Чем сильнее сопротивление, тем больше будет компаний, для которых проще взять этичное решение, ставшее стандартом де-факто, вместо попыток получить неэтичное, но более выгодное решение (без учёта потерь от такого выбора!).

Свободное ПО, Free Software

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

  • Право выполнять программу как вам угодно в любых целях (свобода #0).
  • Право изучать и модифицировать программу так, чтобы она выполняла ваши вычисления, как вы пожелаете. Это предполагает доступ к исходному коду. (свобода #1).
  • Право передавать копии, чтобы помочь своему ближнему (свобода #2).
  • Право передавать копии своих измененных версий другим. Например, чтобы дать всему сообществу возможность получать пользу от ваших изменений. Это предполагает доступ к исходному коду. (свобода #3).

Наше сообщество поддерживает движение за свободу программ, FSF. Соответствие критериям свободного ПО является очень важным для любой информационной системы, которая разрабатывается с учетом требований безопасности и приватности пользователей. Закрытость программ не повышает их безопасность, напротив – сообщество не может провести независимый аудит исходного кода на отсутствие “закладок” и уязвимостей, не может внести исправления. Если же безопасность программы обеспечена сокрытием алгоритмов (англ. security through obscurity), то рано или поздно алгоритмы будут выявлены и полученные знания использованы атакующими; таким образом, критерием безопасной системы должно быть явное отстутствие известных ошибок и уязвимостей, а не сокрытие исходного кода.

Дополнительно стоит сказать о протоколах обмена данными и сервисах: использование закрытых (проприетарных) реализаций и закрытой модели разработки протоколов и сервисов наносит дополнительный вред – пользователь не только сам принуждается к использованию несвободной программы, но и вынуждает своих собеседников использовать тот же закрытый протокол или сервис. Как правило, это приводит к жесткой привязке пользователей к владельцам протокола или сервиса (англ. vendor lock-in).

Подробнее про свободное ПО можно почитать на сайте проекта GNU.