книги хакеры / журнал хакер / 146_Optimized
.pdf
|
|
|
|
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 |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Ограничение возможностей демона named с помощью systrace
Чащевсегопользователибеспокоятсязасохранность своихданных, поэтомумногимизнихстановитсявсе равно, какуюименноинформациютроянсможетотослать
винтернетиликкакойбот-сетиподключитьмашину. Напервыйвзглядкажется, чтозащититьконфиденциальныеданныепросто. Дляэтогоможноиспользовать дополнительнуюучетнуюзапись, выступающуювроли карантина: создаемпользователя(которыйнесостоитни
вкакихсистемныхгруппах) изапускаемкомандуотего имениспомощьюsudo. Работаясправамиэтогопользователя, программанесможетпрочитатьилимодифицироватьтвоифайлыпаролей, ключейитакдалее, несможет прописатьсявавтозагрузкуKDE илиGNOME. Аесли установитьправильныеправадоступанафайлысвоего основногопользователя(600, например), тоисодержимое всехобычныхфайловокажетсявсохранности.
Ксожалению, такой«псевдокарантин» неспасетсистему отсерьезнойзаразы, способнойиспользоватьлокальные уязвимостииархитектурныенедостаткиLinux, поэтому придетсяограничиватьпрограммунетольковвозможностипросматриватьлокальныефайлыпользователей, ноилишатьеедругихресурсов(скажем, сетевогообмена данными, возможностизапускадругихприложенийили работыслокальнымисервисами). Нообовсемпопорядку.
Режемвсе
Хорошая, эффективнаясистемаизоляцииприложений должнабытьпостроенанамногоуровневойоснове, котораямоглабыпредотвратитькомпрометациюсистемыв случаевыходаприложениязаграницуодногоизуровней. Так, например, запустивприложение, подозреваемое вхищенииличнойинформации, подименемнепривилегированногопользователя, мысоздадимлишьодин
уровеньзащиты, и, еслизловреднайдетспособполучить правадругогопользователявсистеме, тоонлегкопрочтет всееговажныеданныеиотправитихзлоумышленнику любымиздоступныхспособов. Ноеслимысоздадим
второйуровеньзащитыввидезапретанаиспользование определенныхсетевыхпротоколовиливообщеотключимвсесетевыевозможностиприложения— кражине произойдет(если, конечно, программанесможетобойти иэтотзапрет). Проблематольковтом, чтовядреLinux нетуниверсальногоспособаограниченияприложенийв доступекресурсам.
Всвоевремяпредпринималосьмножествопопыток созданиятакихуниверсальныхмеханизмовипродвиженияихвядро, новрезультатепользователиполучилине универсальность, аразбростехнологий. Такчтосегодня Linux насчитываеткакминимумчетыре«карантинные системы»:
1.Хостовыесистемыобнаружениявторжений(HIDS), такие какSELinux иAppArmor, позволяюточеньтонкоконтролироватьпотребностиприложенийвресурсах, ноони слишкомсложнывиспользованиирядовымиюзерами. ЭтоучлиДэнУэлшиЭрикПэрис, создавшиеутилиту sandbox, котораяиспользуетужеподготовленныежесткие политикидлязапускаприложенийвпесочнице.
2.Системныйвызовptrace позволяетотслеживатьто, какимисистемнымивызовамипользуетсяприложение, перехватыватьихиблокироватьвслучаенеобходимости. Этонаиболеепопулярныйиединственныйполностью кроссплатформенныйспособограничения, используемый втакихутилитах, какplash, sydbox иsystrace, ноунегоесть минус— излишняямедлительность.
3.Пространстваимен. ОперационнаясистемаPlan 9 оставиласвойотпечатоквLinux нетольковвидевиртуальной файловойсистемыprocfs икодировкиUTF-8, ноиввиде системноговызоваclone() итакназываемыхпространств имен. ЛюбойпроцессLinux, начинаясядра2.4.19, может создатьподпроцессссовершенноинымпредставлениемфайловойсистемы. Если, например, родительи всеостальныепроцессывидятфайловуюсистемукак содержимоераздела/dev/sda1, смонтированногоккорню,
плюс/dev/sda5, смонтированногок/home, иprocfs к/proc,
INFO |
info
•Для тестовых запусков приложений, требующих права суперпользователя, можно использовать утилиту fakeroot,
позволяющую создать иллюзию того, что программа запущена пользователем
root (становится возможным изменить любой файл системы).
•QubesOS (qubesos.org) — Linux-
дистрибутив, полностью построенный на идее изоляции процессов друг от друга с помощью виртуализации.
•Утилиту sandbox,
основанную на SELinux, легко заставить примонтировать выбранные каталоги к каталогам / home/$USER и /tmp.
Для этого есть опции
'-H' и '-T': «sandbox -H ~/fakehome -T ~/ faketmp vi».
XÀÊÅÐ 03 /146/ 2011 |
089 |
|
|
|
|
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 |
|
|
|
|
UNIXOID
|
|
|
|
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 |
|
|
|
|
Sandbox от Стефана Грабера полностью изолирует приложение от основной системы
топотомокможетвидетьвместоэтого/dev/sda2, смонтированныйк корню, плюс/dev/sda7, смонтированныйк/root, ипустойкаталог/proc. Причемто, какбудетвыглядетьфайловаясистемадляпотомка, полностьюопределяетродитель. Механизмпространствименпозволяет поместитьпроцессвсвойобособленныйфайловыймирок, которыйне будетвиденвсемостальнымпроцессам. Вядрахветки2.6 кфайловому пространствуименбылидобавленыпространстваименпроцессов, сетииIPC. ТакчтотеперьпроцессможетвидетьнетолькодругуюФС, ноидругойнаборсистемныхпроцессов, сетевыеинтерфейсы(ссобственныминастройкамимаршрутизацииифайрвола) иочередиIPC. НапространствахименоснованасистемаLXC ипростой, ноудобный скрипт, написанныйСтефаномГрабером(stgraber.org).
4.Режимseccomp позволяетполностьюзаперетьприложениевсамом себе, такчтоприпопыткеиспользоватьлюбойсистемныйвызов, кромеexit(), атакжеread() иwrite() вотношенииужеоткрытыхфайловых дескрипторов, онобудетуничтожено. Длянасвтакомжесткомограничениинетничегополезного, ноононеобходимодляработынекоторых клиентовGRID (которыепредставляютсобойнебольшиепрограммы, получающиеданныенавходипосылающиерезультатихобработкина выход), атакжедляизоляцииплагиновивкладоквбраузереGoogle Chrome.
Кромеспособностисоздаватьмногоуровневыесистемыизоляции, хорошаяпесочницадолжнауметьопределять, какиедействиядолжны бытьразрешеныприложениюпоумолчанию. Любойшкольникпонимает, чтобылобыглупозапрещатьweb-браузерусоздаватьсетевые соединенияивтожевремяразрешитьемувыполнятьсистемный вызовexec() иличитатьфайл/etc/passwd, нокакобъяснитьэто программе, реализующейпесочницу? Существуетчетыревозможных варианта:
1.Возложитьработупосоставлениюправилнаплечипользователя, какэтоделаютSELinux иAppArmor. Этосамыйэффективныйигибкий вариант, укоторогоестьвсегоодинсерьезныйнедостаток— сложность. Дажематерыесисадминысчитаютпроцесссоставленияправил SELinux нелегкимзанятием, чтоужговоритьотех, ктопросторешил запуститьбраузервпесочнице.
2.Мета-правила. Позволитьпользователюсамомусоставлятьправила, облегчивзадачуспомощьюупрощенияигруппировкиправил. Например, вместомассыразныхправилтипа«разрешитьоткрывать TCP-соединениякпортутакому-тотакого-тохоста» сделатьоднобольшоеправило«разрешитьсетевойдоступ». Гибкостьибезопасность системыснизятся, затоудобствоиспользованиярезковозрастет. В SELinux такоевозможно.
3.Самообучение. Вовремяпервыхнесколькихзапусковприложения песочницаанализируетпотребностипрограммывресурсахисама составляетправила. Этоудобнонасервере, администраторкоторого беспокоитсяобезопасностисвоихсетевыхсервисов, однаковтом случае, когдамыизначальнонеможемдоверятьприложению, этот вариантнеподходит.
4.Сигнализироватьпользователюкаждыйраз, когдаприложение пытаетсязадействоватьресурсыОС. Этотварианточеньпохожнатот, которыйиспользуютмногиефайрволыWindows, выводящиеокнос вопросом«Разрешить/Запретить» приинициализацииновогосетевогосоединения. Разумныйвариант, который, темнеменее, требует отпользователядостаточноглубокихзнанийвобластиархитектуры операционныхсистем.
Теперь, когдамыразобралисьстем, чтодолжнауметьикакфункционироватьхорошаяпесочница, посмотримнато, чтонаммогут предложитьпрограммисты. Вследующихтрехразделахмыизучим триразныереализациипесочницдляприложений: утилитуsandbox, использующуювозможностиSELinux дляпомещенияприложенийв карантин; systrace, опирающийсянасистемныйвызовptrace; ипрос- тойpython-скрипт, использующийпространстваимен.
Sandbox—SELinuxсчеловеческим лицом
Sandbox — этоутилита, созданнаядляоблегчениязапусканепроверенныхприложенийвпесочницеSELinux смаксимальнымуровнем изоляции. Вотличиеот«голого» SELinux, утилитанетребуеткакойбы тонибылопервоначальнойнастройкииможетбытьиспользованаабсолютнолюбымпользователем, независимоотегоуровняподготовки. Функциональностьприложения, запущенногоподуправлением sandbox, оказываетсясильноограниченной. Вчастности, программа несможетоткрытьилисоздатьниодинфайл; доступксетевымфункциямОСбудетполностьюотрезан; несколькопрограмм, запущенных подуправлениемsandbox, несмогутвоздействоватьдругнадруга. В тожевремяпрограммасможетподгружатьбиблиотеки, работатьсуже открытымифайловымидескрипторами, писатьвтекущийтерминал иполучатьдоступквременномухранилищуданных, расположенномувоперативнойпамяти. Благодарястольжесткимограничениям, sandbox оказываетсяпочтибесполезнымпризапускепростыхконсольныхутилит. Все, чтоможносделать, этопростозаставитьнепрове- реннуюкомандуобработатькакие-либоданные. Например:
$ cat /etc/passwd | sandbox cut -d: -f1 > /tmp/users
Утилитаcut, запущеннаявнутрипесочницы, сможетполучитьдоступ кстандартнымвходнымивыходнымпотокам, апотомуспокойно
Начинаяещесверсии2.2,ядроLinuxреализуетмеханизмподназваниемcapabilities,позволяющийнаделятьприложенияполномочиями суперпользователятолькодлявыполнениястрогоопределенных функций(например,приложениеможетвыполнятьперезагрузку системы,нонеспособнополучитьдоступкдругимвозможностям суперпользователя).
090 |
XÀÊÅÐ 03 /146/ 2011 |
|
|
|
|
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 |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Отвечать на вопросы systrace — довольно скучное занятие
Графический интерфейс утилиты sandbox, основанной на идее пространств имен
обработаетпредставленныеейданные(содержимое/etc/passwd) и благополучнозапишетихфайл/tmp/users благодаряперенаправлениювыходногопотока(онобудетосуществленоужезапределами песочницы). Еслижемыпопытаемсяоткрытьфайл/etc/passwd, находясьвнутрипесочницы, ничегонеполучится:
$ sandbox cut -d: -f1 /etc/passwd > /tmp/users /bin/cut: /etc/passwd: Permission denied
Какие-тоболеесерьезныезапросыприложениятакжебудутоткло- нены. Иэтомоглобысвестиполезностьsandbox кнулю, еслибыонне былоснованнаSELinux. Деловтом, чтополитикужесткогоограничения, применяемуюутилитой, можноизменитьипривестикнужному намвиду(политиканоситимяsandbox_t, иееможноотредактировать спомощьюпростойграфическойутилитыsystem-config-selinux, входящейвсоставдистрибутиваFedora). Болеетого, sandbox можно заставитьиспользоватьсовершеннодругуюполитику, простоуказав ееимявкачествеаргументаопции'-t'. Ноэтоужедлятех, кторазбира-
етсявSELinux.
Совсеминачеобстоитделосграфическимиприложениями, которыеsandbox такжеумеетвполнебезопаснозапускатьвнутри песочницы. Дляэтогопредусмотренфлаг'-X', использованиекоторогоприводиткнесколькимкореннымизменениямвповедении утилиты. Во-первых, происходитзапускX-сервераXephyr, кото- рыйработаетвнутриужесуществующейX-сессииииспользуется вкачествеизоляторазапускаемоговпесочницеприложенияот корневогоX-сервера. ВнутриXephyr происходитзапускменеджера
оконMatchbox, которыйрастягиваетокноприложениянавесьэкран («экран» тольковрамкахXephyr, которыйсамработаетвнутриокна корневогоX-сервера). Чтобыприложениесмоглополучитьдоступк домашнемукаталогуикаталогу/tmp, нонесмоглопрочитатьхранящиесявнихфайлыинавредить, предпринимаетсясериязащитных действий:
1.ВрамкахрандомновыбранногоконтекстаSELinux создаютсядва пустыхкаталогав$HOMEDIR и/tmp.
2.ПроисходитзапускSETUID-утилиты/usr/sbin/seunshare, вкачестве аргументовкоторойпередаютсяименасозданныхкаталогов, ID контекстаSELinux иимязапускаемойпрограммы.
3.Утилитаseunshare используетпространстваимен(тесамые, окоторыхмыговориливыше) длямонтированияпустыхкаталоговповерх настоящихкаталогов$HOMEDIR и/tmp.
4.Вновомфайловомпространствеименпроисходитзапускпрограммы, котораятеперьможетобращатьсятолькоквиртуальномуX-серве- руиработатьс«ненастоящими» каталогами/home и/tmp.
Длязапускаграфическихприложенийиспользуетсянесколькоиная политикаSELinux: sandbox_file_t, котораяоткрываетвозможность работысфайламидомашнегокаталогаикаталога/tmp, хотявовсем остальномприложениеостаетсясильноограниченнымвфункциональности. Еслижеприложениедолжнополучитьдоступксетевым возможностям, егоследуетзапускать, указаввкачествеполитики sandbox_web_t (возможностьиспользоватьпротоколHTTP) или sandbox_net_t (полныйдоступксетевымвозможностям):
$ sandbox -X -t sandbox_web_t firefox google.com
УтилитаужевключенавсоставSElinux иможетбытьполученапутем установкипакетаselinux-policy версиинениже3.6.12 ипакета policycoreutils версиинениже2.0.62.
XÀÊÅÐ 03 /146/ 2011 |
091 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|||
|
F |
|
|
|
|
|
|
t |
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
|
o |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
UNIXOID |
|||
|
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|||
|
|
|
|
-xcha |
|
|
|
|
|
SYSTRACE/SYSJAILSMPEXPLOIT
|
|
|
|
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 |
|
|
|
|
О том, как ломать OpenBSD/NetBSD-реализацию systrace, Роберт Ватсон рассказал еще в 2007 году
Systrace—обучаемаяпесочница
Несмотрянато, чтоглавнымбэкэндомкsystrace являетсяреали-
зациямеханизма«system call interposition», доступнаявNetBSD
иOpenBSD, атакжеввидепатчавLinux, онвполненормально работаетсptrace-бэкэндом(которыйхотьитормозит, нополностьюкроссплатформенныйинестрадаетотуязвимостей) иможет предложитьпользователямнесколькоуникальныххарактеристик, недоступныхвдругихсистемах.
Главноеотличиеsystrace отмножествааналогов(втомчисле sandbox) заключаетсяввозможностиконтролируемогопользователемсамообучения, когдаутилитанапрямуюспрашиваетюзера онеобходимостизапретаилиразрешенияопределенныхтипов системныхвызовов. Этопозволяеточеньгибкоконтролировать процессисполненияпрограммыидаватьейтолькото, чтореально нужно. Крометого, этоотличныйинструментисследователя, которыйпрощеинагляднеестандартногоstrace.
ВбольшинстведистрибутивовLinux systrace нет, ноонпоумолчанию включенвOpenBSD, атакжеоченьпроствустановкеизисходников:
$ sudo apt-get install build-essential \ libevent-1.4-2 libevent-dev
$ wget http://www.provos.org/uploads/systrace-1.6g.tar.gz $ tar -xzf systrace-1.6g.tar.gz
$ ./configure --prefix=/usr/local && make $ sudo make install
Запускатьприложенияподуправлениемsystrace просто. Достаточно указатьимяпрограммывкачествеаргумента:
$ systrace ls
Поумолчаниюутилитапытаетсязадействоватьвозможностиграфическойпрограммыxsystrace длявыводавопросовнаэкран. Однако xsystrace невходитвстандартнуюпоставкуsystrace, поэтомупридется принудительнозаставитьутилитуиспользоватьтекстовыйрежим:
$ systrace -t ls
Теперь при каждой попытке выполнить системный вызов подопытная программа будет остановлена, а на экран выведен вопрос о том, стоит ли его запрещать. Ответом может быть достаточно сложное условное выражение, учитывающее аргументы системного вызова, но для простоты можно использовать слова «permit» (разрешить) и «deny» (запретить).
Понятно, что даже самые простые программы в течение цикла своей работы могут выполнить десятки и сотни системных вызовов, и будет очень сложно вручную фильтровать их все.
Поэтому в systrace предусмотрен режим «полного доверия», когда программа запускается с разрешением всего и генерирует файл правил, который затем можно отредактировать, запретив опасные системные вызовы — такие, например, как exec().
Чтобы запустить systrace в этом режиме, достаточно указать флаг
'-A':
$ systrace -A ls
Файлправилможнонайтивкаталоге~/.systrace:
$ ls -l /home/j1m/.systrace/
-rw------- |
1 j1m j1m 631 2011-01-04 12:24 bin_ls |
Однаконадопонимать, что«режимдоверия» придумандлятого, чтобы защититьпрограммыотвозможныхатак, идлязапускаподозрительногокодаоннеподходит, вэтомслучаепридетсясамостоятельно запрещатьилиразрешатьсистемныевызовыпомеревыполнения программы.
Пространстваименилиsandbox-2
Sandbox, написанныйСтефаномГрабером, — этокрохотнаяутилита команднойстроки, котораяиспользуетпространстваимен, чтобызаперетьподопытноеприложениевпесочнице. Онавыгодноотличает-
092 |
XÀÊÅÐ 03 /146/ 2011 |
|
|
|
|
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 |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Автоматически сгенерированный файл правил systrace
сяотвсехсвоиханалоговтем, чтовместозапретовиспользуетметод виртуализацииресурсов, помещаяпрограммувизолированную средуисполнения, котораянесоприкасаетсясосновнойсистемой. Возможно, этонесамыйбезопасныйметод, ноонвесьмаспособствуетудобствуиспользованияутилиты, котороесводитсяпросток запускуподопытнойпрограммыбезнеобходимостиделатьправки правилвтомслучае, еслипрограммепотребуетсякакой-тодополни- тельныйресурс.
Всущности, утилитавыполняетвсегопятьпростыхдействий:
1.Создает новый пустой каталог (назовем его $NEWROOT) и монтирует к нему корневой каталог системы в режиме copy-on-write (для этого используется оверлейная файловая система aufs).
2.Монтируеткаталог/home к$NEWROOT/home.
3.Создаетновоепространствоимендлявсехвозможныхресурсов.
4.Подключаетprocfs ккаталогу$NEWROOT/proc.
5.Делаетchroot вкаталог$NEWROOT изапускаетприложение.
Врезультатепрограммаоказываетсявдовольноинтереснойсреде, котораявнешнепохожанасредуобычнойсистемы, ноотличается отнеетем, чтомодификациялюбогофайла, заисключениемфайловкаталога/home (хотяэтонастраивается), будетвиднатолько самомуприложению. ДругиепроцессыиканалыкоммуникацииIPC небудутвидныизпесочницы, азначит, несмогутбытьэксплуатированы. Программасможетизменитьсетевыенастройкипесочни-
XÀÊÅÐ 03 /146/ 2011
цы, ноэтиизменениятакженеотразятсянаосновнойсистеме. Утилитаневключенаниводиндистрибутив, поэтомуеепридется получатьикомпилироватьсамостоятельно:
$ sudo apt-get install bzr
$ bzr branch lp:~stgraber/+junk/sandbox $ cd sandbox; make
$ sudo make install
Послеэтогозапускаемграфическийинтерфейсsandbox-gui, спомощьюкоторогоможноизменитьнекоторыенастройкипесочницы (поддержкасети, подключениереальныхкаталогов/home и/tmp) и запуститьприложение. Программатребуетправасуперпользователя, поэтомупридетсяввестисвойпароль.
Выводы
Несмотря на отсутствие единого стандартного интерфейса для ограничения приложений в возможностях, Linux обладает всем необходимым для безопасного запуска приложений в карантине. Описанные в статье инструменты — лишь малая часть того, что было создано за многие годы, так что если тебе не приглянулась ни одна из систем, всегда можно найти достойную альтернативу.
z
093
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|
|
||||
|
F |
|
|
|
|
|
|
t |
|
|
|
|
|
|||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
r |
|
|
|
||||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
w Click |
to |
BUY |
|
|
|
|
|
|
|
|
UNIXOID |
|
||||
|
|
|
|
|
|
|
m |
|
iv ivinside.blogspot.com |
|||||||
|
|
|
|
|
|
|
|
|
||||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
|
|
|
|
|
. |
|
|
|
|
|
.c |
|
|
|
|
|
||||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
|
|
|
|
|
|
df |
|
|
n |
e |
|
|
|
|
|
||||
|
|
|
|
-xcha |
|
|
|
|
|
|
|
|
|
|
Веб-серфинг вшапке-невидимке
LiberteLinux:ОСдлянастоящегоанонимуса
|
|
|
|
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 |
|
|
|
|
В анонимной работе в интернете уже давно заинтересованы не только господа в черных шляпах: нередки случаи, когда обычных пользователей привлекали к ответственности всего лишь за нелестный комментарий или запись в блоге. Спрос рождает предложение, так что сегодня речь пойдет об инструменте достижения анонимности Liberte Linux.
ЗапилимнеLiberteна флешку
Liberte Linux относитсяксемейству LiveUSB-дистрибутивов, тоестьдистрибутивов, которыеживутнафлешкахипрочих съемныхносителях. Этовесьмаудобновтех случаях, когдатребуетсябыстроразвернуть средудля(анонимной) работынапостороннемкомпьютере, будьтодесктоп, ноутбук илинетбукбезоптическогопривода. Среди ключевыхособенностейдистрибутива, отличающихегоотаналогичныхрешений, стоитотметитьследующие:
•повышеннаябезопасностьсистемы(таккак воснове— Hardened Gentoo Linux);
•простотаиспользования;
•нетребовательностьксистемнымресурсам;
•весьсетевойтрафикидетчерезTor;
•возможностьобщатьсясдругимианонимусамичерезскрытыесервисыTor (опция
доступнаполностьювверсии2011.1);
• шифрованиевсейпользовательской информации.
Несмотрянато, чтодистрибутивоснованна Gentoo, компилироватьядроисофтнепотребуется, аеслиприспичитсобратьизисходников, тоэтотпроцессмаксимальноавтоматизирован. Образ, которыйможнозаписатьна флешкуилиSD-карту, ужесодержитвсебе всенужноедляработы. ВсоставдистрибутивавходиттольколегковесноеПО, основанноенаGTK; минималистичныйибыстрыйменеджероконOpenbox; модульныйX-сервер
сTrueType шрифтами. Поддерживаютсявсе unicode-локалиираскладкиклавиатур, атакжеимеетсяподдержкавиртуальнойэкраннойклавиатуры. Всеприложениясобраны
сиспользованиеминструментариясборки проектаHardened Gentoo, которыйвключает такиепатчи, какSSP (защитаотпереполне-
ниястекаибуфера) иASLR (рандомизация распределенияпамяти). Весьнеобходимый дляработысофтестьвналичии:
•Midori 0.2.8 — легковесныйбраузер, основанныйнадвижкеWebKit итулкитеGTK;
•Claws Mail 3.7.6 — быстрыйилегкий клиентэлектроннойпочтысграфическим интерфейсом, полностьюподдерживающий шифрованиеGnuPG;
•Sakura 2.3.8 — эмулятортерминала, основанныйнаVTE;
•Audacious 2.4.0 — аудиопроигрывательс поддержкойвсехраспространенныхформа-
тов(mp3, ogg, flac, ape);
•GNOME Mplayer 0.9.9.2 — стандартныйдля окруженияGNOME проигрывательвидеофайлов, фронтэнддляmplayer наGTK;
•PCManFM 0.9.7 — файловыйменеджер
сграфическиминтерфейсом(Midnight Commander такжевтвоемраспоряжении);
094 |
XÀÊÅÐ 03 /146/ 2011 |
|
|
|
|
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 |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-x cha |
|
|
|
|
Если тебя занесет в страны, выделенные черным — не забудь прихватить с собой флешку с Liberte Linux: в них интернет-цензура наиболее жесткая
•Evince 2.30.3 — просмотрщикдокументовpdf (сподде-
ржкойDjVu);
•Abiword 2.8.6, Gnumeric 1.10.6 — офисныеприложенияс поддержкойформатовMicrosoft Word иExcel.
Дляустановкидистрибутиванампотребуетсяархивс образомиустановочнымискриптами(можноскачатьс официальногосайтаdee.su/liberte, либовзятьнаприлагаемомкжурналудиске), атакжефлешкаемкостьюне менее256 Мб. Дистрибутивнетребователеннетолько ксвободномуместу, ноикдругимаппаратнымчастям. Заявляется, чтоонбудетработатьнакомпахсоперативнойпамятью128 МбипроцессорамивплотьдоPentium Pro.
РассмотримустановкуизLinux:
1.Создаемточкумонтированиядляфлешки: mkdir /
media/usbstick.
2.Монтируемфлешку: mount /dev/sdb1 /media/
usbstick.
3.Распаковываемархиввкорневуюдиректориюфлешки:
unzip liberte-2010.1.zip -d /media/usbstick.
4.Копируемустановочныйскриптналокальныйдиск: cp /media/usbstick/liberte/setup.sh /tmp/
setup.sh.
5.Делаемегоисполняемым: chmod +x /tmp/setup. sh.
6.Размонтируемфлешку: umount /dev/sdb1.
7.Запускаемскриптустановки: /tmp/setup.sh
Такжедляустановкипонадобитсяутилитаsyslinux версии 4.02, котораявбольшинствеслучаевустанавливается черезштатныйменеджерпакетовтвоегодистрибутива. ЯиспользуюArch Linux, гденамоментнаписаниястатьи быладоступнаsyslinux 4.03 — из-заэтогопришлосьне- многоотредактироватьпервыестрочкивскрипте:
$ head -n5 setup.sh
#!/bin/sh -e
#Установленная версия syslinux sysver=4.03
#Путь к mbr.bin (можно узнать командой «find / -name mbr.bin») sysmbr=/usr/lib/syslinux/mbr.bin
УстановкаизWindows болеепрозаична, нужнолишь распаковатьсодержимоеархиванафлешкуизапустить скриптsetup.bat справамиадминистратора. Таккак утилитаsyslinux идетвнутриархива, тоничегодополнительноустанавливатьненужно.
It'seasytouse!
Теперь, указаввBIOS'еприоритетнуюзагрузкусосъемныхносителей, можноувидетьокнозагрузчикаLiberte,
Строгие правила брандмауэра в действии
гдетребуетсявыбратьодиниздвухрежимовзагрузки— графическийиликонсольный. Графическийиспользуетсявбольшинствеслучаев, аконсольныйполезентем, что черезнегоможнополучитьрутовыйдоступ, переключившисьнавторойвиртуальныйтерминал(Alt+F2). Правда, следуетучесть, чтопоследвухминутбездействиярутовая консольделаетавтологаут. Тамжеможноразблокировать учетнуюзаписьрутакомандой«usermod -U root» иизменитьпарольпоумолчаниюспомощьюутилитыpasswd.
Воспользовавшисьsudo, мыограничимсвоидействия всеголишьнесколькимикомандами, поэтомузапускпод рутоминогдаможетбытьвполнеоправдан.
Liberte Linux нетолькодаетвозможностьанонимногодоступакСети, ноихранитвсепользовательские данныеввиртуальномзашифрованномразделеOTFE с применениемстойкогоалгоритмашифрованияAES-256 врежимеXTS. Этотразделввидефайланаходитсяна флешкеиимеетдинамическийразмер, которыйможно изменятькомандойotfe-resize. Настройкипараметров зашифрованногоразделамогутгибкоизменятьсяпод нуждыпользователяспомощьюконфига, представленногониже.
$ cat /etc/conf.d/liberte
#Параметры зашифрованного хранилища OTFEFILE=/otfe/liberte.vol OTFELABEL="Liberte OTFE"
#Размер хранилища, указывается как часть от общего свободного места на носителе (A/B) OTFESIZE=1/4
#Используемые алгоритм и режим шифрования, размер ключа шифрования и алгоритм хеширования OTFECIPHER=aes-xts-plain
OTFEKEYSIZE=256
OTFEHASH=sha256
#Имя раздела LVM
#(используется утилитой otfe-resize) OTFEVOLUME=otfe
Вслучаеобостренияпараноидальныхсимптомовможно зашифровыватьотдельныефайлыспомощьюGnuPG или GPA, которыевходятвсоставдистрибутива.
Вовремяпервойзагрузкинаспопросятуказатьпароль длязашифрованноговиртуальногоразделаOTFE. При каждойпоследующейзагрузкеегонужнобудетвспоминатьивводить, иначесистеманезагрузится.
ДлядоступавсетьиспользуетсябраузерMidori суже
DVD |
dvd
Надиске, прилагаемомкжурналу, лежит готовыйобразLiberte Linux иустановочные скриптыподLinux и Windows.
INFO |
info
•В разделе Install на сайте проекта Liberte Linux можно найти ссылку на торрент с образом VirtualBox
дистрибутива.
•Некоторые
старые компьютеры поддерживают загрузку только с FAT(16) разделов USB-устройств.
XÀÊÅÐ 03 /146/ 2011 |
095 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|||
|
|
X |
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
||
|
F |
|
|
|
|
|
|
t |
|
|
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
r |
||
P |
|
|
|
|
|
NOW! |
o |
|||
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
UNIXOID |
|||
w Click |
to |
|
|
|
|
|||||
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
|||||
w |
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
||
|
|
p |
|
|
|
|
g |
|
|
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
-xcha |
|
|
|
|
Основное splash-лого дистрибутива как бы намекает
настроеннымTor. Примечательно, чтовесьразрешенныйтрафик идетчерезTor, чтоисключаетнепредвиденныеутечкиинформации (например, открытыезапросыкDNS-серверу, несмотрянапрокси, илизапросыкDHCP-серверу, содержащиереальноеимяхоста), а остальнойтрафикпростоблокируетсябрандмауэром. Вэтомможно убедиться, набрав«iptables -L» подрутом. Пакетныйфильтрпоумолчаниюнастроеннаблокированиевсехвходящихиисходящихпакетов заисключениемтрафикаDHCP, DNS, NTP иTor, причемпередаваемыепоDHCP параметрымаксимальноурезаны, апередачаимени хоста, ARP иIPv4LL (IPv4 Link-Local Addresses) — блокируется.
ДляобеспеченияприватностивWi-Fi сетяхMAC-адресбеспро- водногоинтерфейсагенерируетсяслучайнымобразомспомощью утилитыmac-randomize. Таккакдлярегистрациинанекоторыхточкахдоступанеобходимпрямойвходбраузером, вLiberte предусмотренавозможностьотдельногозапускабраузераотобособленного пользователя, которыйимеетдоступтолькокDNS ипортамтиповых сервисовweb-регистрации. Стоитотметитьинтересныймоментпри работесдистрибутивом: есливнезапнонаступилшухер, томожно простовыдернутьфлешкуизпорта(исъесть), акомпьютерчерез несколькосекундвыключитсясам.
Сборкаизисходников
Liberte можнолегкособратьизисходников. ДляэтогоподойдетлюбойLinux дистрибутив, необязательнобытьпользователемGentoo. Вовремясборкиоказалось, чтоуменянеустановленпакетrsync, поэтомупришлосьдоустановитьегоизановозапуститьпроцесс. Для успешнойсборкитакженеобходимпакетSquashFS Tools 4.1. Вся процедуразанимаетнесколькочасовнаболее-менеесовременном процессореитребуетоколо4 Гбсвободногоместанахарде.
Privatix Live-System
Разработкасуровыхнемецкиханонимусов.Этасистемаоснованана DebianиможетбытьустановленакакнаCD-,такинаUSB-устройства. ПричемустановканаUSBпроисходиттолькоиззагруженногоLiveCD.В дистрибутивеприсутствуетудобнаяграфическаяутилитадляшиф- рованиясъемныхносителей—UsbCryptFormat,атакжеутилитадля простогорезервногокопированиязашифрованныхданныхCryptBackup внесколькокликов.СерфингвебаздесьпроисходитчерезFirefoxи Torbutton.Системавесьматребовательнаксвободномуместу—для установкитребуетсякакминимум3Гб.
|
|
|
|
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 |
|
|
|
|
Liberte Linux
ПростыеамериканцычтутВторуюпоправкукКонституции,согласно которойсамыйобычныйгражданинможетпротивостоятьнаглопопирающемуегоправагосударству,зажавкупленнуювкредитавтомати- ческуювинтовкуM-16воднойрукеигамбургервдругой.Вмиресетей
идвоичныхкодовнеравнаярасстановкасилвэтоймилойинаивной фантазиивнезапноменяется—дажеесливездесущемуокуэлектрон- нойразведкипротивостоитпростойанонимусвтапочках,сжимающий флешкуссовременнымисредствамишифрованияводнойладошкеи журнал«Хакер»вдругой.ИменнопоэтомуLiberteLinuxставитсвоей цельюдатьюзерамвозможностьскрытоибезопаснообщатьсямежду собойвлюбоевремяивлюбомместе,гдеестькомпьютерсвыходомв Сеть.Даннаяфункциональность,являющаясяосновнойдлядистрибутива,реализованавверсии2011.1,которая,видимо,выйдеткмоменту публикациистатьи.
Наскриншотевидно,чтообменсообщениямивновойверсиипроисходитчерезпривычныйинтерфейспрограммыдляотправкипочты
—вданномслучае,Claws-Mail.Дляанонимусов,предпочитающих удобствообщенияпотаканиюпаранойе,врелизвключенытакжеIRC- клиентXChatиIM-клиентPidgin—снастройками,ориентированными наприватностьобщения.Такжевключеныпростыесредствасоздания mp4-видеороликовиаудиоклиповвформатеSpeexспомощьювеб- камерыимикрофона.
Конечно,свизуальнойточкизренияLiberteуступаетболеенавороченнымдистрибутивам,вкоторыхможновключатьтакиесвистелки,как Compiz.НоглавныйупорприразработкеLiberteделаетсянакачество
инадежностьработы,атакженетребовательностьдистрибутивакжелезу.Анонимус,знай:отебезаботятся,длятебяделаютсамоелучшее, бесплатноибезСМС.
MaximKammerer<mk@dee.su>,автордистрибутива.
Liberte Linux 2011.1
DemocraKey LiveCD
ДистрибутивбылразработанвответнаужесточениецензурывинтернетеправительствамиКитаяиСША.Весьмаинтересныйпроект,который нацеленнестольконаанонимность,скольконасохранностьперсональныхифинансовыхданных.Авторэтогопроектадажепредлагаетприобрестиужеготовуюфлешкусэтимдистрибутивомирадоватьсяжизни,а такженамекаетнато,чтобывсезаинтересованныебыстреепокупали егоизделие,покаоноещелегальнонатерриторииСША.Кромевсего прочего,всоставдистрибутивавходитантивирусныйсканер,который можетпомочьизлечитьинфицированнуювинду,расположеннуюпо соседству.Средистандартногоарсеналаанонимуса:анонимныйвебсерфингчерезTor,шифрованиепочтыитрафикаклиентамгновенных сообщений(Pigdin+OTR).
096 |
XÀÊÅÐ 03 /146/ 2011 |
|
|
|
|
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 |
|||
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
BUY |
|
|
|||
|
|
|
|
|
to |
|
|
|
|
|
|
w Click |
|
|
|
|
|
m |
|||||
|
|
|
|
|
|
||||||
w |
|
|
|
|
|
|
|
|
|
|
|
|
w |
|
|
|
|
|
|
|
|
o |
|
|
. |
|
|
|
|
|
.c |
|
|||
|
|
p |
|
|
|
|
g |
|
|
||
|
|
|
|
df |
|
|
n |
e |
|
||
|
|
|
|
|
-x cha |
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Поздравляем! Твой браузер уже сконфигурирован |
Локаль дистрибутива легко поддается изменению (по |
|
умолчанию — английская) |
Процесссборкивыглядитследующимобразом:
1.Скачиваемисходники(рекомендуетсяскачиватьиз svn, тогдавероятностьвозникновенияпроблемпри сборкеменьше):
svn co https://liberte.svn.sourceforge.net/
svnroot/liberte/trunk/liberte liberte
2.Запускаемсборкувпапке/tmp/livecd:
liberte-2010.1-src/build /tmp/livecd
Еслипокакой-топричиненевозможноскачатьисходни- киизsvn, тоихможновзятьссервераsourceforge.net:
$ wget https://downloads.sourceforge.net/ project/liberte/2010.1/liberte-2010.1-src. tar.bz2
$ tar xjf liberte-2010.1-src.tar.bz2 $ mv liberte-201X.Y-src liberte
Вскриптеbuild поддерживаетсяпараметрfresh, который используетсядляновойсборкидистрибутива.
НаосновеисходниковLiberte Linux можнособратьсобс- твенныйLiveUSB-дистрибутив. Списокпакетовнаходится вфайлеsrc/var/lib/portage/world — приверженцыболее
«человечных» окруженийрабочегостола(или, наоборот, болеесуровыхтайловыхменеджеровокон) могутуста-
The (Amnesic) Incognito Live
System
ЭтотпроектсталпреемникомдистрибутиваIncognito LiveCDпослетого,какавторобъявилобокончанииразработки.Но,вотличиеотIncognitoLiveCD,этотдистрибутив можетбытьзаписанкакнаCD-диск,такинафлешку. Создателигарантируют,что,во-первых,всесоединенияс СетьюпринудительнопроисходятчерезTor,аво-вторых, приработенеостаетсяникакихследовналокальных носителях.
Вкачествеокружениярабочегостолаиспользуется GNOME,авкомплектеидетнесметноеколичество
GTK-программ(Firefox,OpenOffice,Pigdinсплагином длябезопаснойпередачисообщенийOTRитакдалее)— всегооколо2Гбсофта!Благодарятому,чтосистемараспространяетсявтомчислеикакобразiso,еелегкоможно запуститьнавиртуальноймашинетипаVirtualBox.
новитьихтуда, атакжеизменитьнаборинтересующего софта. Потребуетсяпростодобавитьвконфигстрочкус нужнымназванием. Точноеназваниеприложенийможно подсмотретьвдеревепортежейпоадресуgentoo-portage. com/browse. Всепользовательскиенастройкинаходятся в/home/anon/ и, чтобылишнийразнемучитьсясихдопиливанием, можнопростоскопироватьнужныеконфигурационныефайлыизсвоейдомашнейдиректории(если, конечно, тыявляешьсясчастливымпользователемлинукса). Системныенастройки, какиполагается, находятсяв/etc.
Естькудастремиться
Tor позволяетклиентамисерверампредоставлятьскрытые сервисы. Тоестьможнозапуститьвеб-сервер, SSH-сервер итакдалее, нераскрываясвойIP-адреспользователям.
И, посколькуприэтомнеиспользуетсяникакойпубличныйадрес, можнозапуститьскрытыйсервис, находясьза файерволом. Позадумкеавтора, впроцессепервойзагрузкинаосновеслепкасертификатаисервисногоключасети Tor будетгенерироватьсяуникальныйe-mail пользователя, которыйвпоследующемможнобудетиспользоватьдля связисдругимипользователямидистрибутиваLiberte черезскрытыесервисыTor. Втекущемрелизе(2010.1 на моментнаписаниястатьи) даннаявозможностьпокане доведенадокондиции, хотяоназаявленакакключевая. ВLiberte Linux поканетподдержкинабирающейпопулярностьсетиI2P (такжеизвестнойподназванием«Проект НевидимыйИнтернет») — анонимной, самоорганизующейсяраспределеннойсети, котораяиспользуетмодифицированныйDHT Kademlia, ноотличаетсятем, чтохранитвсебе хешированныеадресаузловсети, зашифрованныеAES IP-адреса, атакжепубличныеключишифрования, причем соединенияпоNetwork database тожезашифрованы. Автордистрибутиваоткрытдляновыхидей. Еслиутебя естьпредложенияпоразвитиюпроекта, тоихможно отсылатьнаадресmk@dee.su.
Заключение
Тенденциякужесточениюинтернет-цензурывближай- шиегодыбудетсохраняться, поэтомуготовымкэтому надобытьужесейчас. НесмотрянамоенеприятиеполитикиMS вцелом, соднимвысказываниемБиллаГейтса всежехочетсясогласиться: свободасловавСетирано илипозднопобедит… z
WARNING |
warning
Не стоит забывать, что анонимность, как и все в нашем мире, не бывает абсолютной. Поэтому ответственность за совершенные действия рано или поздно может придти!
HTTP://WWW
links
•dee.su/liberte —
сайт проекта Liberte Linux;
•amnesia.boum.org —
сайт проекта T(A)ILS;
•mandalka.name/ privatix — сайт проекта Privatix LiveSystem;
•sourceforge.net/ projects/democrakey
— страничка проекта
DemokraKey;
•i2p2.de/in-
tro_ru.html — сайт проекта «Невидимый Интернет»;
XÀÊÅÐ 03 /146/ 2011 |
097 |
|
|
|
|
hang |
e |
|
|
|
|
|
|
|
|
|
|
|
C |
|
E |
|
|
|
|
|
|||
|
|
X |
|
|
|
|
|
|
|
|
|||
|
- |
|
|
|
|
|
d |
|
|
|
|||
|
F |
|
|
|
|
|
|
t |
|
|
|
||
|
D |
|
|
|
|
|
|
|
i |
|
|
|
|
|
|
|
|
|
|
|
|
|
r |
|
|
||
P |
|
|
|
|
|
NOW! |
|
o |
|
|
|||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
BUY |
|
|
|
|
|
|||
w Click |
to |
|
|
|
|
|
|
CODING |
|
||||
|
|
|
|
|
|
m |
Александр Эккерт stannic.man@gmail.com |
||||||
|
|
|
|
|
|
|
|||||||
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 |
|
|
|
|
RETURN-ORIENTED ROOTKITSНАСТУПАЮТ!
ПроблемыОС’ейнанынешнемэтапе строительствагражданскогообщества
У разработчиков современных операционных систем появилась постоянная головная боль. Как защитить ядро системы от бездумных действий юзера, которому невдомек, что любая запускаемая в системе программа несет в себе потенциальную опасность и может лихо скомпрометировать всю имеющуюся систему защиты?
Механизмы защиты целостности ядра
Одна из концепций, которая позволяет поддерживать механизм защиты ядра, называется «монитор обращений». Монитор контролирует и разграничивает доступ к ресурсам системы. В последнее время появилось несколько механизмов, позволяющих обеспечить целост-
ность и защиту ядра от посягательств извне. Основная идея, лежащая в основе таких механизмов, заключается в том, что ядро должно быть защищено от инжекта кода руткитами из пользовательского режима. Одна из самых распространенных идей, которые были реализованы в этом направлении, — это цифровая подпись модулей ядра (хоть она раньше и была неоднократно скомпрометирована). Если
098 |
XÀÊÅÐ 03 /146/ 2011 |