Веб-приложение с открытым исходным кодом более подвержено взлому?

В недавнем интервью меня спросили:

Веб-приложение с открытым исходным кодом (скажем, построенное на Struts / Spring) более подвержено взлому, поскольку любой может получить доступ к исходному коду и изменить его. Как это предотвратить?

Мой ответ был:

Исходный код Java недоступен напрямую. Он компилируется в файлы классов, которые затем объединяются в файл war и размещаются в защищенном контейнере, таком как сервер приложений Weblogic. Как это предотвратить?

Мой ответ был:

Исходный код Java недоступен напрямую. Он компилируется в файлы классов, которые затем объединяются в файл war и размещаются в защищенном контейнере, таком как сервер приложений Weblogic. Как это предотвратить?

Мой ответ был:

Исходный код Java недоступен напрямую. Он компилируется в файлы классов, которые затем объединяются в файл war и размещаются в защищенном контейнере, таком как сервер приложений Weblogic. Сервер приложений находится за корпоративным брандмауэром и недоступен напрямую.

В то время - я не упомянул ничего о внедрении XSS и SQL, которое может повлиять на веб-приложение на основе COTS, аналогичное веб-приложению с открытым исходным кодом.

Мои вопросы:

a) Является ли мой ответ на вопрос правильным?

b) Какие дополнительные пункты я могу добавить к ответу?

Заранее спасибо.

РЕДАКТИРОВАТЬ:

Пока я перевариваю ваш Ответы - позвольте мне также отметить, что вопрос был также направлен на такие фреймворки, как Liferay и Apache OFBiz.

7
задан newtoallthis 23 August 2010 в 06:30
поделиться

4 ответа

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


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

16
ответ дан 6 December 2019 в 07:24
поделиться

a) Правильный ли мой ответ на вопрос?

Часть о том, что источник недоступен (чтобы изменить его), потому что он скомпилирован и развернут там, где его нельзя коснуться не лучший ответ. То же самое относится к программному обеспечению без открытого исходного кода. Дело, которое было сделано против стека с открытым исходным кодом, заключается в том, что исходный код доступен для чтения, что упростит поиск уязвимостей, которые могут быть использованы против установленного приложения (скомпилированного или нет).

Дело в том, что брандмауэр хорош (хотя он также не касается открытости или закрытости программного обеспечения).

б) Какие дополнительные моменты я могу добавить к ответу?

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

, поскольку любой может получить доступ к исходному коду и изменить его.

Вы уверены, что они так сказали? Измени это? Не «изучать»?

Я не понимаю, как можно просто изменить исходный код Struts ...

5
ответ дан 6 December 2019 в 07:24
поделиться

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

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

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

2
ответ дан 6 December 2019 в 07:24
поделиться

а) Да. Открытый исходный код не означает открытые двоичные файлы :) Предложение «кто угодно может изменить исходный код» просто неверно (вы можете изменить свою копию кода, но не можете редактировать код Apache Struts)

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

1
ответ дан 6 December 2019 в 07:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: