From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 31 Dec 2003 19:07:35 +0300 From: =?koi8-r?B?5MXOydMg883J0s7P1w==?= To: community@altlinux.ru Message-ID: <20031231160735.GG6834@localhost.localdomain> References: <15712668536.20031223124009@galaktika.by> <200312231521.31748.iscander@mercuri.mk.ua> <1422672511.20031223152652@galaktika.by> <200312231611.20699.iscander@mercuri.mk.ua> Mime-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <200312231611.20699.iscander@mercuri.mk.ua> Subject: [Comm] =?koi8-r?b?4sXaz9DB087P09TY?= UNIX X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.3 Precedence: list Reply-To: community@altlinux.ru List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 31 Dec 2003 17:41:05 -0000 Archived-At: List-Archive: List-Post: On Tue, Dec 23, 2003 at 04:11:20PM +0200, Alexandr R. Ogurtzoff wrote: > Батенька! Пока про таоке только в "левой" операционнке пугать можно... Вирусы > под Linux пытаються создавать в лабораторных условиях, но вероятно из за его > быстрого развития вряд ли даже они получат распространение или шансы на > жизнь...Искрене надеюсь Кстати зря. С учётом частоты с которой находят новые дырки в софте -- эта проблема будет и в линуксе. Причём, благодаря его же гибкости, она будет гораздо масштабнее и серьёзнее чем с виндами. Слава Линусу, что в 2.6 уже есть LSM, можно хоть как-то минимизировать ущерб (в отличии от винды при заражении будет нарушаться работоспособность отдельного сервиса, а не всего сервера, и будет меньше возможностей использовать взломаный сервер для атак на другие сервисы). Проблемы с безопасностью будут до тех пор, пока будет использоваться в критичных приложениях язык, в котором: 1. Нет типов данных "строка" и "последовательность байтов фиксированого размера", с автоматической проверкой на выход за границы. 2. Нет типов данных с constraint'ами при присваивании и любых операциях над ними. 3. Проверка результата и кода ошибки _каждой_ вызываемой функции такой геморрой, что ожидать честную реализацию от программистов глупо (решается, например, механизмом исключений) 4. (в дополнение к предыдущему) механизм исключений может быть полезен только в том случае, когда большинство объектов корректно прекращают своё существовании при потере необходимости в них. Файловые дескрипторы должны закрываться при исчезновении последней переменной их содержащей, то же и с многими другими _объектами_ ОС. 5. Освобождение памяти точно так же должно происходить автоматически, это _необходимо_. Иначе утечки памяти будем всю жизнь ловить (и механизм исключений, опять же, не сможет быть реализован). 6. Язык, в котором есть тип данных "указатель" -- не пригоден для написания прикладного ПО. Место ему в системных библиотеках и всяких ядрах (да и то спорно). Какие у нас самые распространённые ошибки? buffer owerflow? Двойные освобождения памяти, или запись в уже освобождённую память? БОльшая часть ошибок связано с тем, что в C нету типа данных "строка", и следующими отсюда проблемами. Так что нас ещё ждёт много радости. Как программист я сейчас не вижу столь же универсального языка как C++. Как системный администратор я ненавижу C, C++ и весь софт на них написаный. А реальной замены им я сейчас не вижу совсем. -- С уважением, Денис http://freesource.info