У якая склалася эканамічнай сітуацыі мы абвыклі чуць, як чарговы банк скарачае сваіх супрацоўнікаў і звяртаецца ў аўтсорсінгавыя кампаніі для распрацоўкі праграмнага забеспячэння.
Асноўнае пытанне, узмацняе гэтая практыка рызыка атрымання тайминговой бомбы, прашытых уліковых запісаў або проста бекдоров, утоеных уласнымі распрацоўнікамі.
Цікавы фрагмент кода, выяўлены Янкам Сватчером (Vanja Svajcer) з Sophos пацвярджае нашы асцярогі.
Паколькі да канца невядома (адсутнічаюць доказы), як гэты код патрапіў у банкамат, мы можам выказаць здагадку, што гэта зрабіў чалавек, дасведчаны архітэктуру і мелы фізічны доступ да апаратнага і праграмнага забеспячэння Diebold ATM. Прывілеяваны інсайдэр, які альбо жадаў забяспечыць страхоўку на «чорны дзень», маючы неабмежаваны доступ да гатоўкі, альбо планаваў правесці маштабны размеркаваны напад на слоікі.
У любым выпадку, бекдор старанна хавае сябе на сістэме. Чаму? Хутчэй за ўсё, для таго, каб заставацца незаўважаным падчас аўдытарскіх праверак. Бекдор складаецца з «дроппера» і пакінутага кампанента. Калі на сістэме выкарыстоўваецца файлавая сістэма NTFS, дроппер створыць 2 альтэрнатыўных струменя дадзеных: У адваротным выпадку, створыць 2 файла: Гэтыя файлы ствараюцца з гэтых дзід файлаў, калі яны выяўленыя на сістэме: Затым, дроппер падае сабе прывілеі ўзроўня SeDebugPrivilege і робіць 50 спроб завяршыць працэс lsass.exe. Бекдор усталёўвае сябе наступным чынам: Нарэшце, дроппер укараняе і запускае выдаленую нітку падчас explorer.exe, якая пералічвае і выдаляе ўсё Windows Prefetch файлы. Пасля актывацыі, бібліятэка ўкараняе 2 ніткі: адна будзе ўкаранёная ў працэс mu.exe, іншая – у працэс SpiService.exe - асноўную службу ("Diebold XFS Service") прапрыетарнага ПА, які працуе на банкаматах Diebold. Гэтыя ніткі будуць адказныя за ўнутранае паведамленне з драйверам Diebold праз імянны канал "\.pipelsndbd".
Іншая нітка пачне периодичный выклік (раз у секунду) API SQReceiveFromServer(), экспартуемага sharedq.dll. Змесціва буфера, запоўненае гэтай функцыяй, будзе правярацца на наяўнасць тэгаў "TCS," і "HST,".
Калі значэнні, паказаныя ў тэгах, падзяляюцца знакам ";", нітка іх выме і запіша ў часопіс у файл %windir%greenstone.bmp:redstone.bmp на NTFS сістэме або ў файл %windir% У выпадку, калі працэс апрацоўкі транзакцыі выяўляе вызначаныя дадзеныя, меркавана ўнікальныя для атакаванага банкамата, бекдор пяройдзе ў графічны рэжым, які падасць атакаваламу поўны доступ да бекдору. У гэтым выпадку на дысплеі банкамата будзе адлюстравана дыялогавае акно з надпісам "Agent" і запрашэннем "Enter command:", і драйверу Diebold будуць перададзеныя каманды на актывацыю клавіятуры і чытанне ўваходных дадзеных праз паслядоўнасць каманд, прадстаўленых DbdDevExecute() API, экспартуемых DbdDevAPI.dll. напрыклад, драйвер атрымае наступныя каманды: Затым, атакавалы падае адну з 10 магчымых каманд шляхам уводу нумара на клавіятуры. Кожная каманда інструктуе бекдор для выканання вызначаных дзеянняў.
Напрыклад, каманда «2» праінструктуе бекдор прачытаць версію ўсталяванага ПА Diebold з ключоў рэестру: Затым гэтая каманда прачытае змесціва часавых файлаў redstone.bmp і bluestone.bmp і апрацуе дэталі транзакцый з гэтых файлаў. Нарэшце, будзе адлюстравана апавяшчэнне з сабранай статыстыкай у наступным выглядзе: Каманда 6 праінструктуе бекдор аднавіць "Key A" і "Key B" з файла redstone.bmp, які будзе раздрукаваны на чэку. Каманда 7 згенеруе выпадковы лік і затым згенеруе на яго аснове пароль. Затым будзе адлюстравана дыялогавае акно "Autorization" (арфаграфія захаваная): Будзе прадстаўлена 3 спробы для ўводу карэктнага пароля. У выпадку 1-4 будуць выкананыя каманды AFD_DISPENCE, AFD_PRESENT і AFD_RESTORE, якія праінструктуюць Advanced Function Dispenser (AFD) модуль выключыць касеты з гатоўкай з банкамата. З такім узроўнем вытанчанасці, улічваючы наяўнасць траянскага прыкладання ў яго класічнай форме ўсярэдзіне банкамата, нават такія паранаідальныя прыёмы не выратуюць вас ад крадзяжу:
%windir%greenstone.bmp:redstone.bmp
%windir%greenstone.bmp:bluestone.bmp
%windir%
edstone.bmp
%windir%luestone.bmp
%windir% rl2
%windir%kl
edstone.bmp на іншай файлавай сістэме.
Бо тэг "TCS," азначае транзакцыі, а тэг "HST," гісторыю, бекдор здольны збіраць дадзеныя аб карыстачах і транзакцыях у вышэйзгаданым файле.
EPP4_ENCODE_DECODE, EPP4_ENABLE_KEYBOARD_READ.
HKLMSOFTWAREDieboldAgilis 91x Core
HKLMSOFTWAREDieboldAgilis 91x
Agilis [version number]
Agent [version number]
Transactions [number]
Cards [number]
KEYs [number]
Каманда 8 дазволіць атакаваламу адлюстраваць унутраныя лічыльнікі ў дыялогавым акне (гэта можа патэнцыйна паведаміць аб колькасці гатоўкі ў банкамаце).
Request Code: [random number]
Enter Responce:
Калі пароль карэктны, будзе адлюстравана дыялогавае акно "Enter Command" (арфаграфія захаваная)
1..4 - dispense cassete
9 - Uninstall
0 - Exit