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





НазваниеРазработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии
страница10/10
Дата публикации01.08.2013
Размер1.43 Mb.
ТипАвтореферат
100-bal.ru > Информатика > Автореферат
1   2   3   4   5   6   7   8   9   10

A.3. Исходные коды программ стегоанализа

Исходные коды файлов программы стегоанализа текстовых файлов, полученных с помощью Texto.

StegFind.cpp

#include
float Global[2*13];

float x1,x2;

float Diff[11];
int getfilesize(char * path[])

{int i=-1;

FILE * f;

f=fopen(path,"rb"); if (f==NULL){printf("Path not found\n");return -1;}
fseek(f,0,SEEK_END);

i=ftell(f);

fclose(f);

return i;

}

void concat(char *dest, char *src)

{int i=0,j=strlen(dest);

while(src[i]!='\0')

{

dest[j]=src[i];

i++;j++;

}

dest[j]='\0';

}

void inttostr(char * str,int x )

{int i=0;

char s[80];

while(x!=0)

{

s[i]=(x%10)+'0';

x=(x/10);

i++;

}s[i]='\0';

for(i=0;i
{

str[i]=s[strlen(s)-i-1];

} str[i]='\0';

}

void prepare1()

{

int i,filesize;

FILE * f;

char cmd[80],cmd1[80];

char filename[20],tmp[13][50];

float x;
strcpy(tmp[1],"temp/n.txt");

strcpy(tmp[2],"temp/n.tar");

strcpy(tmp[3],"temp/nx.txt");

strcpy(tmp[4],"temp/nx.tar");
strcpy(tmp[5],"temp/t.txt");

strcpy(tmp[6],"temp/t.tar");

strcpy(tmp[7],"temp/tx.txt");

strcpy(tmp[8],"temp/tx.tar");
strcpy(tmp[9],"temp/p.txt");

strcpy(tmp[10],"temp/p.tar");

strcpy(tmp[11],"temp/px.txt");

strcpy(tmp[12],"temp/px.tar");
Global[1]=getfilesize(tmp[1]);

Global[2]=getfilesize(tmp[2]);

Global[3]=getfilesize(tmp[3]);

Global[4]=getfilesize(tmp[4]);
Global[5]=getfilesize(tmp[5]);

Global[6]=getfilesize(tmp[6]);

Global[7]=getfilesize(tmp[7]);

Global[8]=getfilesize(tmp[8]);
Global[9]=getfilesize(tmp[9]);

Global[10]=getfilesize(tmp[10]);

Global[11]=getfilesize(tmp[11]);

Global[12]=getfilesize(tmp[12]);
x1=(100.0*Global[2]/Global[1]-100.0*Global[4]/Global[3]);

x2=(100.0*Global[6]/Global[5]-100.0*Global[8]/Global[7]);

x3=(100.0*Global[10]/Global[9]-100.0*Global[12]/Global[11]);

if ((x1>0.9)||(x2<1)){printf("Simple\n");}else{printf("Texto\n");}

}

int main(int argc,char * argv[])

{

prepare1();

return 0;

}

Исходные коды программы стегоанализа исполняемого файла.

Analyse.exe (анализирует последние 80 байт файла, содержащего только секцию кода)

const

Granitza=56;analyze_size=80;

type
{ TMyApplication }
TMyApplication = class(TCustomApplication)
protected

procedure DoRun; override;

public

constructor Create(TheOwner: TComponent); override;

destructor Destroy; override;

procedure WriteHelp; virtual;

end;
Fbyte= file of byte;

Pvertex=^Tvertex;

Tvertex =record

l,r:Pvertex;

data:byte;

friq:integer;

tip:integer;

end;
var

path:string;

path1:string;

friq:array [0..255] of longint;

fsize:integertree:array [0..255] of integer;

elem:array [0..255] of pvertex;

tree_n:integeradds:widestring;

s:array[0..255] of widestring

{ TMyApplication }

procedure sort;forward;

procedure prepare;

var

i:integer;

begin

for i:=0 to 255 do

begin

friq[i]:=0;

tree[i]:=0;

new(elem[i]);

elem[i]^.l:=nil;

elem[i]^.r:=nil;

elem[i]^.data:=i;

elem[i]^.friq:=0;

elem[i]^.tip:=1;

s[i]:='';

end;tree_n:=0;

adds:='';

end;

procedure readdata;

var f:file of byte;

b:byte;

begin

assignfile(f,path);

reset(f);

while not eof(f) do

begin

read(f,b);

inc(elem[b]^.friq);

end;

closefile(f);

end;

function strtobin(x:string):byte;

var b:byte;i:integer;

begin

b:=0;

for i:=1 to 8 do

begin

b:=(b shl 1 )+ord(x[i])-ord('0');

end;

strtobin:=b;

end;

procedure addinfile(b:byte;var f1:Fbyte;ends:boolean);

var tmp:widestring;

i:integer;

begin

if ends then

begin

for i:=length(adds) to 8 do

adds:=adds+'0';

write(f1,strtobin(adds));

exit;

end;

adds:=adds+s[b];

while length(adds)>=8 do

begin

tmp:=adds;

delete(tmp,9,length(tmp));

write(f1,strtobin(tmp));

delete(adds,1,8);

end;

end;

procedure writedata;

var f,f1:file of byte;

b:byte;

begin

assignfile(f1,path1);rewrite(f1);

assignfile(f,path);

reset(f);

while not eof(f) do

begin

read(f,b);

addinfile(b,f1,false);

end;

addinfile(0,f1,true);

closefile(f);closefile(f1);

end;

procedure sort;

var i:integer;

tmp:pvertex;

p,q:Tvertex;

f:boolean;

begin

f:=true;

while f do

begin

f:=false;

for i:=0 to tree_n-2 do

begin

if elem[i]^.friq
begin

tmp:=elem[i];

elem[i]:=elem[i+1];

elem[i+1]:=tmp;

f:=true;

end;

end;

end;


end;

procedure getcode(V:pvertex;ss:widestring);

var p:tvertex;

begin

p:=v^;

if V^.tip=0 then

begin

getcode(v^.l,ss+'0');

getcode(v^.r,ss+'1');

end else

s[v^.data]:=ss;

end;

procedure buildtree;

var i:integer;

tmp:Pvertex;

begin

tree_n:=255;

sort;

i:=tree_n-1;

while i>0 do

begin

sort;

new(tmp);tmp^.tip:=0;//tmp^.data:=-1;

tmp^.friq:=elem[i-1]^.friq+elem[i]^.friq;

tmp^.l:=elem[i-1];

tmp^.r:=elem[i]; elem[i-1]:=tmp;

dec(i);

end;

getcode(elem[i],'');

end;

procedure TMyApplication.DoRun;

var f,f1:file of byte;

b:byte;

size:integer;

Si: TStartupInfo;

begin

if paramcount<>1 then halt;

path:= paramstr(1);

assignfile(f,path); //будем копировать последние 80 байт в специальную папку для анализа

assignfile(f1,'out\0.cut');

reset(f);

seek(f,filesize(f)-analyze_size);

rewrite(f1);

while not eof(f) do

begin

read(f,b);

write(f1,b);

end;

closefile(f1);

closefile(f);

// отрезали 80 байт , теперь будем сжимать

path:='out\0.cut';

path1:='out\0.cut.bz2';

prepare;

readdata;

buildtree;

writedata;

// внедрено ?

assignfile(f,path1);

reset(f);size:=filesize(f);closefile(f);

if size>granitza then writeln('1') else writeln('0');

Terminate; {внедрено} {пусто}

end;
Peanalyse.exe (извлекает секцию кода из файла формата PE)
Tpefile=class

f:file of byte;

o_pe:integer;

DD:dword;

start_offs,size:integer;

name:string;

procedure Open(s:string);

procedure close;

procedure readB;

procedure readW;

procedure readD;

procedure readO;

procedure gotooff;

procedure Crop;

end;

var

Form1: TForm1;

count:integer;
implementation
{ TForm1 }

procedure Tpefile.open(s:string);

begin

//form1.caption:=s;

//application.ProcessMessages;

assignfile(self.f,s);

reset(self.f);

end;

procedure Tpefile.close;

begin

closefile(self.f);

end;

procedure Tpefile.readB;

var b:byte;

begin

read(f,b);

DD:=b;

end;

procedure Tpefile.readw;

var a,b:byte;

begin

dd:=0;

if eof(f) then exit;

read(f,a); read(f,b);

DD:=a+b*$100;

end;

procedure Tpefile.readd;

var a,b,c,d:byte;

begin

read(f,a); read(f,b);read(f,c); read(f,d);

self.DD:=a+b*$100+c*$10000+d*$1000000;

end;

procedure Tpefile.reado;
var a:byte;

i:integer;

s:string;

begin

s:='';

for i:=1 to 8 do

begin

read(f,a);

s:=s+chr(a);

end;

self.name:=s;

end;

procedure Tpefile.gotooff;

begin

seek(self.f,self.dd);

end;

procedure Tpefile.crop;

var f1:file of byte;

pos,i:integer;

b:byte;

begin

assignfile(f1,'g:\b\'+inttostr(count));rewrite(f1);

self.DD:=self.start_offs;

self.gotooff;

for i:=1 to self.size do

begin

self.readb;

b:=byte(self.DD and 255);

if b<>0 then pos:=i;

write(f1,b);

end;

seek(f1,pos);truncate(f1);

closefile(f1);

end;

procedure analyse(s:string);

var p:Tpefile;

pe_offs,header_offs,total_offs:integer;

begin

p:=Tpefile.Create;

p.Open(s);

p.dd:=$3c;

p.gotooff;

p.readw;

pe_offs:=p.dd;

p.gotooff;

p.readw;

if p.dd<>$4550 then

begin

form1.ListBox1.Items.Add(s+' Error: PE header not found');

p.close;

p.Free;

exit;

end;
p.dd:=pe_offs+$54;

p.gotooff;

p.readd;

total_offs:=p.dd;

header_offs:=pe_offs+$f8;

repeat

p.dd:=header_offs;

p.gotooff;

p.reado; form1.ListBox1.Items.Add(p.name);

p.dd:=header_offs+$24;

p.gotooff;

p.readD;

//form1.ListBox1.Items.Add(inttohex(p.DD,8));

if (p.dd = $60000020) then

begin

p.dd:=header_offs+$10;

p.gotooff;

p.readD; p.size:=p.dd;

//form1.ListBox1.Items.Add('size '+inttohex(p.DD,8)); // size of code

p.readD; p.start_offs:=p.dd;

//form1.ListBox1.Items.Add('offset '+inttohex(p.DD,8));// offset to code

form1.ListBox1.Items.Add(s+' Ok '+inttostr(count));

p.Crop;

break;

end;

header_offs:=header_offs+$28;

until header_offs
p.close;

p.Free;

end;

procedure TForm1.Button2Click(Sender: TObject);

var f:textfile;

s:string;

begin

assignfile(f,'g:\a\1.lst');

reset(f);

count:=0;

while not eof(f) do

begin

readln(f,s);

if fileexists(s) then

analyse(s);

form1.ListBox1.ItemIndex:=form1.ListBox1.Items.Count-1;

application.ProcessMessages;

inc(count);
end;

closefile(f);

form1.Caption:='Ok';

end;



1 исходные коды на языке ассемблера.

2 Здесь символ пробела обозначается как “_”.

3 Для краткости, будем обозначать любые естественные тексты  Simple.

4 Содержимое специальных контейнеров будет приведено в приложении A.1

5 Как правило, сообщение в открытом виде не передается.

6 Появление различных серии бит равновероятно и между их появлениями отсутствуют закономерности.

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

8 Под случайностью понимается степень близости к равномерному распределению.

9 Здесь используется линейный конгруэнтный генератор случайных чисел.

10 Случай, когда в качестве внедренного сообщения выступает естественный текст, не рассматривается по причине неактуальности.

11 Portable Executable – формат исполняемых файлов (программ) используется в операционных системах семейства Windows.

12 О выборе величины подробнее будет написано в разделе 3.2.3.

13 В разделах 3.2.2 и 3.2.3 была использована другая выборка

14 В дальнейшем будет установлено, что следует анализировать только часть секции кода программы.

15 Распределение будет представлено в приложении A.2.

16 Любое изменение в программе должно разрушать водяной знак.

17 Процессоры ARM доминируют на рынке мобильной и повседневной электроники, и составляют аппаратную платформу для мобильных устройств Nokia, Sony Ericsson и др.

18 Размер файлов без учета комментариев в исходном коде программы
1   2   3   4   5   6   7   8   9   10

Похожие:

Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconРоссийской федерации
Курс призван дать понимание принципов построения и функционирования сети Интернет, а также базирующихся на ней информационных технологий....
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconАналитический доклад Совету глав правительств СНГ о текущем состоянии,...
В настоящее время эффективное информационное взаимодействие невозможно представить без использования информационных технологий, телекоммуникационных...
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconInformation technology. Security techniques. Methodology for it security evaluation
Информационная технология. Методы и средства обеспечения безопасности. Методология оценки безопасности информационных технологий
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconВыпускная работа по «Основам информационных технологий»
На современном этапе ни одни исследования в науке невозможно представить без использования информационных технологий. Данный реферат...
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconОсновные направления внедрения средств информационных и коммуникационных...
Зация образования – это процесс обеспечения сферы образования методологией и практикой разработки и оптимального использования современных...
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconДоклад по теме: «Внедрение технологий глонасс в интересах обеспечения...
«Внедрение технологий глонасс в интересах обеспечения безопасности граждан и социально-экономического развития Костромской области....
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconПрименение информационных технологий на уроках английского языка...
Возможности использования информационно-коммуникативных технологий в обучении английскому языку 17
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconМетодические рекомендации по организации месячникамедиабезопасности...
Мешиона от 24. 10. 13 №397-у «О проведении Интрнет-уроков «Имею право знать!», в целях обеспечения информационной безопасности обучающихся,...
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconИсследование и разработка методов и средств обеспечения информационной...
Работа выполнена на кафедре прикладной информатики Московского государственного университета геодезии и картографии (миигаиК)
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconПрименение информационных технологий на уроках истории и обществоведения...
Возможности использования информационно-коммуникативных технологий в обучении истории 17
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconПрограмма по формированию навыков безопасного поведения на дорогах...
Изучение и разработка новых методов подготовки к егэ в 11 классе с учетом использования современных технологий
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconПрограмма по формированию навыков безопасного поведения на дорогах...
Изучение и разработка новых методов подготовки к егэ в 11 классе с учетом использования современных технологий
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconЭффективность использования информационных технологий в исследованиях...
Специальность 23. 00. 01 – теория и философия политики, история и методология политической науки
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconРабочая программа учебной дисциплины «Информационные системы в экономике»
Сформировать у студентов знаний и навыков в области использования информационных технологий и информационных систем для решения экономических...
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconМетодические рекомендации по государственной регистрации и учету...
«Центр информационных технологий и систем органов исполнительной власти» (далее – фгну цитиС) в целях формирования национального...
Разработка методов обеспечения безопасности использования информационных технологий, базирующихся на идеях стеганографии iconПриходько Юлия Алексеевна Приложение №2 Белгородский региональный...
Необходимость внедрения новых информационных технологий в процесс обучения математики


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск