Процена сличности процедура у бинарном коду
Estimation of procedure similarity in binary code
Author
Стојановић, Саша Д.Mentor
Milutinović, Veljko
Committee members
Radivojević, Zaharije
Mitić, Nenad

Bojić, Dragan

Cvetanović, Miloš

Metadata
Show full item recordAbstract
У овом раду предложен је приступ за убрзавање откривања употребе
софтверске библиотеке која је доступна у облику изворног кода и која је
бесправно уграђена у бинарни код. Претпоставка је да су из бинарног кода
одстрањене све додатне информације које би могле помоћи приликом
откривања употребе софтверске библиотеке, што је чест случај у наменским
уређајима. Стога је у раду коришћена ARM архитектура која је једна од
најзаступљенијих у наменским уређајима.
Приступ је заснован на софтверским метрикама и састоји се од две
фазе. У првој фази рачуна се сличност између бинарног облика тражене
процедуре (процедура из библиотеке) и сваке од процедура бинарног кода за
који се сумња да користи библиотеку. У другој фази се рангирају процедуре
из посматраног бинарног кода у складу са израчунатом сличношћу према
траженој процедури. На крају се издваја првих N процедура и даље анализира
ручно, при чему експерт бира вредност N у складу са расположивим
временом и важношћу откривања неовлашћене употребе ...библиотеке.
Одређивање сличности између две бинарне процедуре почиње
прикупљањем вредности софтверских метрика. У раду је предложено укупно
19 различитих софтверских метрика. Вредности софтверских метрика...
This work proposes an approach to accelerate the discovery of a case when
a software library, available in the source code, is used in a binary code without an
appropriate permission. It is assumed that the binary code does not contain any
additional information that could help in detecting the use of the software library,
which is often the case in embedded devices. This study uses ARM architecture
which is one of the most commonly found architectures in embedded devices.
Approach is based on software metrics and consists of two phases. The first
phase calculates similarity between the searched binary procedure originating
from the library, and each of the procedures found in the binary code that is
suspected to use the library. In the second phase of the proposed approach, the
procedures from the binary code are ranked in accordance with the similarity to
the searched procedure. After sorting, expert conducts manual analysis of the top
N procedures, where N is selected in accordance ...with the available time of expert
and the importance of detecting that the library is used.
In order to determine similarity between the two binary procedures, values
of the proposed software metrics are collected. The paper proposes a total of 19
different software metrics. The values of software metrics are compared with one
out of the three proposed comparators, thus obtaining partial similarity measures...