Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
12
Добавлен:
20.04.2024
Размер:
20.99 Mб
Скачать

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

ХАКЕР.PROBUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

ПримеркумулятивнойзаплаткидляRedHat,исправляющей

Проникновениевядро

ошибкувподсистемеSCTP

 

 

 

 

Расплатойзакорректностьстановитсярезко

ютобстоятельстваатаки,позволяющиенайти

Издрайвера(или,используятерминологию

возросшаясложностьтехникимодификации,а

дырусамостоятельно.

 

UNIX-подобныхсистем,«загружаемогомоду-

такженекотороезамедлениеработысистемы,

 

 

ля»),работающегонанулевомкольце,память

поэтомукhot-patch'унасерверахследуетпри-

Техникагорячеймодификацииядра

ядразащищенаотнепреднамеренноймоди-

бегатьлишьвтехслучаях,когдаперезагрузка

ВоперационныхсистемахсемействаLinux

фикации,однакоэтузащитулегкоотключить.

невозможнаиликрайненежелательна.

иNTядропроецируетсянаединое4 гига-

Исключениесоставляют64 разрядныеверсии

 

байтноеадресноепространство.ВLinux

XPиВисты,вкоторыевстроенанеотключае-

Техникапоискаразличий

ядрозанимает1Гб,располагаясьпоадресам

маязащитаотумышленноймодификациипод

Длясоздания«горячей»заплаткинеобходи-

C000000h—FFFFFFFFh.ВNT/W2K/XPядропо

названиемPatchGuard,техникаобходакоторой

моиметьdiff-файл,показывающий,каким

умолчаниюотъедает2Гб,занимаястаршую

описанамыщъх'омвстатье«Взломpatch-guard»

образомбылазаткнутадыра,послечегонам

половинуадресногопространства(8000000h

(http://nezumi.org.ru/patch-guard-hack.zip).

остаетсятолькоперевестиисправленияна

—FFFFFFFFh),ноеслиуказатьключ/3GBв

ВNT/W2K/XP/Виста-x86существуетдваспосо-

языкассемблера,модифицируяядронепос-

файлеboot.ini(поддерживаемый,начиная

баотключениязащитыотнепреднамеренной

редственновоперативнойпамяти.

сWindows2000AdvancedServer/Datacenter

модификацииизнулевогокольца:статичес-

Ксожалению,раздобытьdiff-файлудается

Server),тоядроужметсядо1Гб.ЯдроFreeBSD,

кийидинамический.Статическийсводится

далеконевсегда.Зачастуюразработчики

вплотьдоверсии3.х,занималовсего256Мб,

ксозданиюпараметраEnforceWriteProtection

распространяюткумулятивныеобновления,

но,начинаясверсии4.x,разрослосьдо1Гб,

типаREG_DWORDсозначением0x0в

включающиевсебямножествоисправлений,

оккупируярегионC000000h—FFFFFFFFh.

HKLM\SYSTEM\CurrentControlSet\Control\

неимеющихкдыреникакогоотношенияи

Памятьядрадоступнасприкладногоуровняче-

SessionManager\MemoryManagement,адина-

модифицирующихвнутренниеструктуры

резпсевдоустройство\Device\PhysicalMemory

мическийосуществляетсясбросомWP-битав

ядра,врезультатечего«горячая»модификация

(NT/W2K/XP)и/dev/kmem(Linux/BSD).

управляющемрегистреCR0,которыйрасшиф-

кодавлечетзасобойнеобходимостьпере-

ВраннихверсияхNTпсевдоустройство

ровываетсякакWriteProtection.Повторная

стройкиданных,скоторымиработаетядро.

PhysicalMemoryбылооткрытодлячтения/

установкабитавключаетзащиту.

Аэтоуженереально,особенносучетомтого,

записилюбомупользователюизгруппы«Адми-

Аналогичнымспособомможноотключитьи

чтообработкаданныхнеатомарнаивмомент

нистраторы»,однако,начинаясWindows2003

защитуядравUNIX-подобныхсистемах.Сброс

наложениязаплаткистарыеданныемогут

ServerSP1,кнемунеможетполучитьдоступ

WP-битадействуетнааппаратномуровне,

находитьсянаразличныхстадияхобработки,

дажеSystem.

 

открываявсеaccessibly-станицыдлямодифи-

будучизагруженнымивлокальныеперемен-

UNIX-подобные системы тоже закрывают

кациинезависимооттого,разрешенавних

ныеирегистры.

доступ к kmem, и недалек тот день, когда

записьилинет.Естественно,текущийуровень

Ачтоделать,еслиисходныетекстынедоступны

из большинства дистрибутивов оно будет

привилегий(CPL)недолженпревышатьCPL

(как,например,вслучаеWindows)иливних

полностью изъято. И хотя псевдоустройс-

модифицируемойстраницы,иначепроцессор

неудаетсяразобраться?!Тогданеобходимо

тво /dev/mem (физическая память до

сгенерируетисключениятипа«ошибкадо-

прошвырнутьсяпоsecurity-сайтам,раскурить

линейной трансляции) по-прежнему в

ступа»(тоестьсприкладногоуровняядровсе

имеющиесяэксплойты,вобщем,разобраться,

строю и отказаться от него никак не полу-

равноостаетсянедоступно).

гдепрячетсяуязвимостьикакееустранить.

чается (поскольку его используют многие

СбросWP-битаимеетглобальноевоздействие,

Достаточночастопервооткрывателидырыне

приложения, те же X'ы, например), для

затрагивающеенетолькоядро,ноиприклад-

толькосообщаютпараметрывектораатаки,

модификации ядра оно не годится, посколь-

ныепроцессы,поэтомуотключатьзащитуна

ноиприводятдизассемблерныелистинги

ку не обеспечивает атомарности, а значит,

долгоевремякрайненежелательно.Некоторые

двоичныхмодулей(илиреконструированный

наложение заплатки может привести к

программы(особеннопротекторыиспол-

псевдокод)суказаниемошибок,либоописыва-

краху системы.

 

няемыхфайловинекоторыезащиты)явно

xàêåð 06 /102/ 07

/ 139

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

w Click

to BUY

 

>>

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

ХАКЕР.PRO

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

i

ВLinuxиxBSD

существуетвозможностьскомпилироватьмонолитное ядробезподдержки загружаемыхмодулей,чтоблаготворно сказываетсяна безопасности,нозатрудняетналожение «горячих»заплаток. Однакоеслипсевдоустройство/dev/mem остаетсядоступным (ачащевсегодела обстоятименнотак), мыможемнайти впамятитаблицу

системныхвызовов ивнедритьвядро свойсобственный код,работающийна нулевомкольцеи накладывающийзаплаткупоописанной мыщъх’омметодике.

DVD

Примерреализа- цииKLD-модуля

(DynamicKernel Linker)дляFreeBSD,

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

закладываютсянагенерациюисключения,возникающего припопыткезаписивReadOnly-страницу,ипослесброса WP-битаперестаютработать.

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

Проблемакогерентностиипутиеерешения

Итак,теперьмыможеммодифицироватьядро,накладывая «горячие»заплаткиилиперехватываясистемныефункции,внедряявихначалокомандупереходанасвоетело. Большинстворуткитовименнотакипоступает,забывотом, чтоподопытныйкодможетисполнятьсяодновременнос егомодификацией,приводяккрахусистемы.Причемэта «одновременность»довольноотносительная.Какизвестно, наоднопроцессорныхмашинахпотокивыполняются последовательно,анепараллельно,ииллюзия«одновременности»создаетсялишьзасчетбыстрогопереключения междуними.

Допустим,потокАбылпрерванприисполнениифункции foo,послечегопланировщикпередалуправлениепотокуB, выполняющемуфункциюbar.Вопрос:чтопроизойдет,если мымодифицируемсодержимоеfoo?Очевидно,когдапоток Авновьполучитуправление,онокажетсявсовершенно другомокружении,возможно,дажепытаясьпродолжить выполнениессерединыновоймашиннойкоманды! Причемнетникакойвозможностиузнать,находитсяэтот участоккодаподвыполнениемилинет!Тоестькакэтонет?! Оченьдажеесть—простопросматриваемконтекстывсех потоков(процессов,отложенныхфункций),принеобходимостидожидаясьмомента,когдаобозначенныйкодвыйдет из-подуправления,послечегоправимего.Вотивсе!Прос- то,элегантно,но,увы,неработоспособно.

Во-первых,добратьсядоконтекстовпроцессов/потоков/от- ложенныхфункцийводномгновениеневозможно!Поток, анализирующийконтекстыдругихпотоков,исполняется параллельносними,ипокамычитаемконтексточередного потока,предыдущиеужемоглиизмениться.Теоретически возможно«замораживать»всепотокинавремямодификации(предварительнодождавшись,покаонипокинут пределымодифицируемогокода),апотом«размораживать» ихобратно,однакоэтоттрюкимеетдовольноограниченнуюобластьприменения.Вчастности,оннеработаетс обработчикамиаппаратныхпрерываний,блокирование которыхкрайненежелательноилижевовсенедопустимо. Во-вторых,всеэтослишкомсистемно-зависимо,аковы- рятьсявовнутренних(изачастуюнедокументированных) структурахоси—тоскливоеибесперспективноедело. Существуетнесколькоуниверсальныхрешенийэтойпроблемы.Вот,например,одноизних:внедряемвначаломодифицируемойфункциикомандуINT03h,соответствующую однобайтовомуопкодуCCh,итогдаприеевызовепроцессор будетгенерироватьотладочноеисключение,перехватываемоенашимобработчиком,передающимуправлениена

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

либооригинальнуюкоманду,либоINT03h.Промежуточное состояниеунегопопростуотсутствует.

Достоинствоэтогорешениявтом,чтоононетребует анализаассемблерногокодаисходнойфункции.Мыпросто пишемINT03h—ивсе!Недостатки:а)примодификации болеечемоднойфункцииобработчикдолженанализироватьадресисключения,чтобыопределить,кудапередать управление;б)этоплохоработаетсотладчиками(де-факто INT03hпредставляетсобойпрограммнуюточкуостанова);в) частовызываемыефункциипритакойметодикеперехватабудутзаметнотормозить,снижаяобщуюпроизводительность. Болеесложное,новместестемиболее«технологическое» решениезаключаетсявзаписикомандыjmpneartarget поверхмашиннойкомандыравнойилибольшейдлины,где target—адресмодифицируемойфункции,которойпереда- етсяуправление.

Проблемаатомарностиипутиеерешения

Записькомандыjmpneartargetдолжнапредставлять атомарнуюоперацию,выполняемуюцеликомзаодинраз.В противномслучаеможетсложитьсяситуация,прикоторой процессорпопытаетсявыполнить«недописанную»команду совсемивытекающимиотсюдапоследствиями,ноинструкциявидаmov[mem],reg8/16/32непозволяетзаписывать болеечетырехбайт,апотомусовершеннонепригоднадля решенияпоставленнойзадачи.

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

Ксчастью,начинаяспервопней,влексиконепроцессоров существуетзамечательнаякомандаCMPXCHG8B,поддерживающаяпрефикс«LOCK»изаписывающаяодним махомцелых8байт!Длявнедрения5 байтовойинструкции jmpneartargetэтогоболеечемдостаточно.Естественно, чтобынезатеретьоставшиеся3байта,сначаламыдолжны прочитать8байтизпамяти,наложитьнанихjmpneartarget изаписатьполученнуюсмесьобратно.Воттутнекоторые спрашивают:зачемэтоделать,ведьjmp—этобезуслов- ныйпереходинаходящиесязанимкомандыникогдане получатуправления7Азатем,чтонаходящиесязаним командымоглиполучитьуправлениеещедомодификации. Примечание:некоторыетрансляторынеподдерживают инструкциюCMPXCHG8B,ивэтомслучаеееможнозадать

/ 140

xàêåð 06 /102/ 07

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

ХАКЕР

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

.PROBUY

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

АдресноепространствоNT/W2K/XPвконфигурациипоумолчанию

черездирективуDBили_emitвбайтовомвиде

0FhC7h0Eh.

Готовыйпримерреализациивнедренияjmp neartargetпосредствомCMPXCHG8Bприведен ниже:

Внедрениеjmpneartargetпо средствомкомандыCMPXCHG8B;

врегистреEAXпередаетсяадресза- писиjmp,аврегистреEBX—target

;сохраняем адрес модифицируемой команды

PUSH EAX

;sizeof(jmp near target)

ADD EAX, 5

;вычисление операнда команды jmp near target

SUB EBX, EAX

;ESI — адрес модифицируемой команды

POP ESI

;обнуляем EDX:EAX

XOR EAX, EAX

XOR EDX, EDX

;читаем 8 байт из [ESI] CMPXCHG8B [ESI]

;заносим в стек 4 старших прочитанных байта

PUSH EDX

;оставляем из них 3

INC ESP

;накладываем операнд команды jmp near target

PUSH EBX

;накладываем опкод команды jmp near target

PUSH 0E9000000h

;удаляем 3 нуля

ADD ESP, 3

;подготавливаем регистры к вы-

полнению CMPXCHG8B POP EBX

POP ECX

;записываем 8 байт в [ESI], бло-

кируя шину

LOCK CMPXCHG8B [ESI]

Советыирецептыпоналожениюзаплатки

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

Приэтоммынаталкиваетсянаследующиепроблемы:а)еслифункцияобращаетсякглобальнымпеременным,томыдолжныподставить адресапеременныхоригинальнойфункции, иначеповедениесистемыстанетнепредсказуемым;б)адреса«внутренних»функцийядра, вызываемыеэтойфункцией,такженеобходимо подставлятьвручную;в)мынеможемприказатькомпиляторуисключитьужевыполненные команды,поэтомупреждечемпередавать управлениеоткомпилированнойфункции, следуетвыполнитьоткат,повесивнаjmpnear targetпромежуточныйобработчик,которыйв данномслучаебудетвыглядетьтак:

УпрощеннаяархитектураNT/W2K/XP

POP EBP

POP ESI

POP EDI

POP EBP

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

СWindowsвэтомпланесложнее.Исходных текстовнет,ивставитьисправленнуюфункциювдрайвернеполучится.Здесьестьдва пути:дизассемблироватьядроипереписать коднаСи(трудоемко,затонадежно)илиже скопироватьфункциюпрямовдвоичномвиде, корректируяссылкинафункции,вызываемые поотносительнымадресам.Посколькуадрес загрузкидрайверанапереднеизвестен,коррекциюприходитсяосуществлятьналету.Заносим адресамашинныхкомандcalltarget/jmptarget вспециальныймассив,хранящийсявдрайвере, авпроцедуреинициализацииобрабатываем всеэлементы,добавляякнепосредственному операндубазовыйадресзагрузки,незабыв предварительноотключитьзащитуотзаписи, посколькупоумолчаниюкодоваясекция доступнатольконачтение.

Заключение

Заштопатьядрооперационнойсистемыбезпе- резагрузки—оченьсложно,новполнереально. Конечно,далеконевсякомуадминистратору этопосилам,однакофирмы,занимающиеся поддержкой,могутвыпускатьнеофициальные «горячие»заплатки,расхватываемые,словно пирожки!Ведьэтонепростоактуальная,а суперактуальнаятема,вкоторойзаинтересованымиллионыпользователей,такчтонасчет спросаможнонесомневаться..z

xàêåð 06 /102/ 07

/ 141

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

ХАКЕР.PRo

 

 

 

>>to BUY

 

w Click

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

крис кАсперски

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

Бесшумныйсервер своимируками

решаеМ ПроблеМу снижения шуМа на доМашнеМ серВере

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

Введение,иличтотамгрохочетвнутри

догрохочущего,новысокопроизводительного.

работающиевкруглосуточномрежиме,настоя-

Преждечемборотьсясшумом,нужновыявить

Поумолчаниюобычновыбираетсяпромежу-

тельнорекомендуетсяохлаждать.Естественно,

егоосновныеисточники,перечисленныениже

точныйкомпромиссныйвариант,который

чембольшевентиляторов—тембольшешума.

впорядкеубываниясвоейактивности.Естест-

легкоизменить,скачавссайтапроизводителя

Поэтомузакрепляемвинчестерыводной

венно,этотпорядоквесьмаусловенизависит

специальнуюутилиту(увсехпроизводителей

стойке,обдуваемойбольшимтихоходным

отмножестваобстоятельств,скоторымимы

онаразная).

вентиляторомскривыми(анерубленными)

разберемсячутьпозже,асейчаспростососта-

Несколькодисков,установленныхводну

лопастями,нагнетающимивоздухвнутрь

вимприблизительныйсписок,чтобыочертить

стойку,могутвходитьврезонанс,излучая

корпусаПК.Естественно,налицевойстенке

фронтработ:

целыйспектрзвуковвсехчастот.Обычноэто

должнабытьпредусмотренарешетка,аеслиее

•жесткиедиски;

низкочастотныйгул,реже—инфразвуковые

нет,тодлявозможностиподсосавоздухавенти-

•вентиляторнапроцессорномрадиаторе;

колебания,невоспринимаемыечеловеческим

ляторследуетотодвинутьоткорпусахотябына

•вентиляторынавидеокарте,чипсетеит.д.;

ухом,новызывающиебыструюутомляемость,

3–5см.Подшипникискольжения(состоящие

•вентиляторнаблокепитанияипрочиевенти-

чувствотревогиипрочийдискомфорт.В

изпростойвтулки)работаютнамноготише

ляторывнутрикорпусаПК.

нормальнойстойкедолжныиспользовать-

шарикоподшипников,хотяимеютнамного

 

сярезиновыепрокладки,недопускающие

меньшийресурс.Постепенновтулкадефор-

жесткиедиски

прямогоконтактастойкискорпусомжесткого

мируется,ивентиляторначинаеттарахтеть,

Спереходомнагидродинамическиеподшип-

диска.Некоторыепроизводителииспользуют

какгусеничныйэкскаватор.Смазкаподшип-

ники(FluidDynamicBearing—FDB)жесткие

пружинныеилирезиновыерастяжки,что

никаверетенныммасломнанекотороевремя

дискипересталибытьсамымшумнымком-

уменьшаетшумигарантированнопредотвра-

решаетпроблему,ноприлипающаякнейпыль

понентомПК,иединственнымгрохочущим

щаетрезонанс,новместесэтимисокращает

служитхорошимабразивом,врезультатечего

элементомосталасьсервосистема(онажесис-

срокслужбыжесткогодиска,рассчитанногона

износрезковозрастает,ивентиляторначинает

темапозиционированиямагнитнойголовки).

жесткиймонтаж,анена«болтанку».

тарахтетьвновь,требуязамены.

Нопроизводителиактивноработаютвэтом

Каквариант—можноустановитьодин

Кстатиговоря,известнонесколькослучаев,

направлении,ибольшинствосовременных

жесткийдисквтрехдюймовыйотсек,адругой

когдапринудительноеохлаждениежестких

винчестеровпредусматриваетнесколькоре-

—впятидюймовый,ноприэтомвозникает

дисковнетольконеувеличивалосроких

жимовработы:оттормозного,нобесшумного

проблемасохлаждением,ажесткиедиски,

службы,ноиприводилокдовольнобыстрым

/ 142

xÀêåð 06 /102/ 07

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

>>

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

-

 

 

 

 

d

 

 

F

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

r

P

 

 

 

 

NOW!

o

 

 

 

 

 

 

ХАКЕР.PROBUY

 

 

 

 

 

 

 

w Click

to

 

 

 

 

m

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

o

 

 

.

 

 

 

 

.c

 

 

 

p

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

BarracudaотSeagate—нетолькотихая,ноещеи

ПассивныйрадиаторотZalman

самаянадежнаямодельизвсех

 

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

Процессор

Начинаяспроцессоров80486,нарадиаторах сталипоявлятьсявентиляторы,анаPentium'ах этоявлениеприобреломассовыйхарактер. Современныепроцессорывыделяютогромное количествотепла,дляэффективногоотвода которогоиспользуютсявысокоскоростные вентиляторы,прокачивающиемножествокубическихсантиметроввоздуха,что,

естественно,сопровождаетсяшумом.Новедь домашнемусерверунетребуетсямощный процессор!Самыйрадикальныйметодборьбы сшумом—перевестипроцессорнапассивное охлаждение,тоестьубратьвентилятор.

ВсвоевремяфирмаCyrixвыпустиланесколько удачныхпроцессоров,вспецификациикоторыхпассивноеохлаждениедекларировалось явно.Ихотяонинемоглипохвастатьсяособой производительностью,длянормальнойработы офисныхприложенийихвполнехватало.Но конкурироватьсIntel/AMDфирмеCyrixоказалосьнепосилам,ионапродаласвойбизнес компанииVIA(www.via.com.tw/en/products/ processors).Атаслегкапересмотреласпецификациииприкрутилаактивноеохлаждение, котороепроцессорамсемействаС3(другие мыщъхнетестировал)совершенноникчему.

Вжаркомклиматеместообитаниямыщъх'а(до 42°С)намассивноммедномрадиаторетемпературапроцессора,работающегоподуправлениемWindows2000,никогданепревышала55°С, оставляядостаточныйзапаспрочности.

ТожесамоеотноситсяикPentium-III733MHz (Coppermine).Правдаболеебыстрыемодели ужеприходитсятормозить,уменьшаятактовуючастотуинапряжениепитания.Снижать питающеенапряжениебезуменьшения тактовойчастотынельзя,посколькучемниже разностьпотенциалов,теммедленнеевыполняютсяпереходныепроцессы,иэлектронные ключипростонеуспеваютпереключитьсяза отведенныйимтакт.

Вкрайнемслучае(еслитемпературакристалла все-такиприближаетсякопасномууровню) можнопоблизостиотрадиаторазакрепитьтихоходныйвентиляторсбольшимилопастями. Авотводяноеохлаждениеиспользоватьнерекомендуется.Инетолькопотому,чтосуществуетугроза утечкиохлаждающейжидкости(какправило, воды),ведущейкотказуэлектроники,авнекоторых случаяхдажеклокальнымвозгораниямипожарам. Помпадалеконебесшумна,ктомужедостаточно частовыходитизстроя,чтоопять-такиприводитк перегревуивыходусервераизрабочегосостояния. Zalmanимеетвсвоемассортиментенесколько моделейпассивныхрадиаторов,пригодных дажедляохлажденияPentium4иоснованных накипениижидкостивгерметичнозапаянных трубочках.Однакоихстоимостьдовольно велика,даисмысластроитьдомашнийсервер набазеPenium4нетникакого.Лучшеиспользоватьтехнику,оставшуюсяпослеапгрейда своейосновнойсистемы.

Северныймост,видеокарта ивсе-все-всеостальные

Материнскаяплатасактивнымохлаждением северногомоста(равнокакивидеокартасза- крепленнымнанейвентилятором)—этоужас (тольконетихий,авесьмагромкий),ипотому онаидетлесом.Северныймост,конечно,очень горячееместо,новсежененастолько,чтобык немуприкреплятьвентилятор.Авидеокарта серверуивовсененужна(покрайнеймере,3D- устроитель—этоявноеизлишество).

Авототинтегрированноговидеолучшевсе-таки воздержаться.Дажепривыключенноммониторе такаявидюхапродолжаетработать,греясеверный мост(которыйибезтогоперегружен)изавешивая еговжаркуюпогодупризагрузкеWindows.Проблемарешаетсялибоустановкойболеемощного радиатора(зачастуюсактивнымохлаждением), либовыключениеминтегрированноговидеов BIOS'еипереходомнанормальнуюкарту.

Блокпитания

Родныевентиляторыблоковпитанияобычно производятдостаточномногошума,имеют рубленыелопастиивысокиеобороты.Ладно, покупаемблокпитаниясзапасомпомощ-

ности,устанавливаемвнеговентиляторс выгнутымиаэродинамическимилопастями

иснижаемоборотыдоминимума(отом, какэтосделать,рассказываетсявоврезке).

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

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

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

Корпус

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

xàêåð 06 /102/ 07

/ 143

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

w Click

to BUY

 

>>

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

ХАКЕР.PRO

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

 

 

VIAC3(бывшийCyrixC3Ezra)—одинизнемногихпроцессоров,

 

 

 

 

ТемператураPentiumIII733,установленноговнутримыщъх’иного

серверанамедныйрадиаторспассивнымохлаждением

способныхработатьспассивнымохлаждением

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

Боковыестенкитакжелучшепосадитьна болты,недаваяимвозможностиболтаться,а самкорпусоклеитьизнутригофрированным картоном(оставляяоткрытымилишьвентиляционныеотверстия),илидругимшумопоглощающимматериалом,которыйможноприобрести,например,вавтомагазине.Конечно,это существенноснизиттеплоотдачу,увеличивая температурувнутрикорпуса,нодлябольших корпусовэтонепроблема.Избытоксвободногопространстванепозволяеттемпературе приближатьсякопаснойотметке.Впрочем,все решаетэксперимент.Современныематеринскиеплатыснабженыкакминимумоднимили двумятермодатчиками,позволяющимивести круглосуточныймониторинг.

Некоторыепредпочитаютоборачиватькорпус пенопластомснаружи,ноэтоплохаяидея, посколькуприоклеиваниикорпусагофрированнымкартономизнутримыгасимзвуковыеволныдотого,каконидойдутдостенок, резонирующихвтактсшумомимногократно усиливающихегоуровень,откоторогоне спасаетдажерасположенныйсверхупенопласт.Впрочем,учитывая,чточастьисточниковшумаприкрученаккорпусуипередает колебаниянепосредственночерезметалл, минуявоздушнуюсреду(инашкартон),дополнительныйуровеньзащитыввидепенопласта отнюдьнепомешает.Главное—помнитьпро вентиляционныеотверстия,отступаяотних хотябынанесколькосантиметров,поскольку черезузкуюпенопластовую«шахту»,вырезаннуюпоразмеруотверстий,воздухциркулирует сбольшойнеохотой.

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

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

Заключение

ПроблемойсниженияшумамыщъхвпервыеозаботилсяприпереходесPentiumIIна

PentiumIII.Посадивкристаллнакрутой(потем временам)радиаторGoldenOrb,мыщъхбыл буквальноошеломлен,нонескоростьюработы,агромкостьюшумаивибрациейкорпуса. Смутнопредставляясебевозможностьтворческойработывтакихусловиях,мыщъхначал экспериментироватьсрадиаторамиразных фирми,увидевdatasheetнапроцессорCyrixC3 Ezra,сразужепрониксякнемулюбовью.

Воттак,снижаяшумностькомпонентоводного задругим,мыщъхдобилсятого,чтокомпьютер (дажесоткрытойкрышкой)пересталбыть слышенвообще!z

Какзатормозитьвентилятор

Зависимостьуровняшумаотчастотыоборотовоченьсложная(и ктомужесвязанасконструктивнымиособенностямиконкретной

моделивентилятора),ноизсамыхобщихсоображенийпонятно:чем нижеобороты,темменьшеесопротивлениеоказываетвоздушный поток,нижебиениянесбалансированнойкрыльчаткиит.д.При частотепорядка1000оборотоввминутубольшинствовентилято- ровпрактическинешумит,ноужепри2000—3000оборотовшум становитсябуквальноневыносимым,чтонеудивительно,поскольку объемперекачиваемоговоздухапропорционаленчастотеоборотов, ашум—частотевпятойстепени.Следовательно,частотуоборотов нужноснижать.Акак?

Большинствосовременныхматеринскихплатснабженофункцией SmartFanControl,позволяющейизменятьчастотувращениявентиляторавзависимостиоттемпературыспециальногодатчика.Некоторыеплаты(как,например,Epoc)имеютвнешнийдатчик(termostick) исвободноегнездоSmartFanControl,вкотороеможноподключить вентиляторотблокапитания.

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

обратной характеристикой. Холодный термистор имеет небольшое сопротивление, и потому вентилятор запускается на ура. Затем, по мере нагрева процессора, сопротивление термистора возрастет до нескольких килоом и он уже не оказывает на резистор практически никого шунтирующего воздействия. Правда при кратковременном выключении компьютера (когда радиатор процессора еще не успел остыть) сопротивление термистора по-прежнему велико и вентилятор имеет шанс не запуститься. Однако для серверов эта проблема неактуальна, поскольку их выключают редко, а от бросков по питанию защищает UPS.

/ 144

xàêåð 06 /102/ 07

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

o

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

NOW!

r

 

 

 

 

NOW!

r

 

 

 

 

 

BUY

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

i

 

 

F

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

t

 

 

 

 

 

 

 

 

 

t

 

P

D

 

 

 

 

 

 

 

 

o

P

D

 

 

 

 

 

 

 

 

o

 

 

 

 

NOW!

r

 

 

 

 

NOW!

r

 

 

 

 

 

BUY

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

w

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

97)АПРЕЛЬ06( x

2007

 

 

 

 

hang

e

 

 

 

 

 

 

 

C

 

E

 

 

 

 

X

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

m

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

102

Соседние файлы в папке журнал хакер