Steganografia w dokumentach MS Office i stronach ASP

Download Report

Transcript Steganografia w dokumentach MS Office i stronach ASP

Steganografia w
dokumentach MS Office i
stronach ASP
Magdalena Pejas
Plan prezentacji







Wstęp
Co to jest steganografia
Co dają skrypty VBS i JavaScript
Jak są zbudowane dokumenty MS Office
Jak tworzone są strony ASP
Wydajność ukrytych kanałów
informacyjnych
Wnioski
Cel prezentacji



Przedstawienie możliwości skryptów
VBS i ASP
Pokazanie dostępu do struktury
dokumentów MS Office i stron ASP
Oszacowanie pojemności
steganograficznej dokumentów
Co to jest steganografia



Ukrycie nie tylko zawartości ale też i
samego faktu ukrycia informacji
Pojęcia: funkcja, klucz, dane,
pojemność steganograficzna
Steganoanaliza to próba wykrycia i
odczytania ukrytych informacji
Idea ukrywania informacji
00101100100010000100
m
Fsteg(m,c,k)
s
c
Dowolny tekst z różnie
sformatowanymi wyrazami i
podwójnymi spacjami.
Dowolny tekst z różnie
sformatowanymi wyrazami i
podwójnymi spacjami.
Dowolny tekst z różnie
sformatowanymi wyrazami i
podwójnymi spacjami.
Kształty
Skrypty VBS i JavaScript




Łatwość implementacji
Nauka składni na makrach
Swobodny dostęp do plików i
obiektów w dokumentach
Dynamiczne tworzenie zawartości
dokumentów
Przepływ danych
Word
Outlook
Excel
Internet
Access
PowerPoint
Struktura dokumentów MS Office







Akapity
Tabele
Ramki
Kształty (owale, prostokąty)
Komórki
Zbiór rekordów
Poczta E-mail
Skrypty VBS




Czytanie zawartości dokumentów
Przeglądanie poczty
Formatowanie tekstów i obiektów
Generowanie dokumentów
wynikowych
Otwieranie aplikacji
Set objOutlook = CreateObject("Outlook.Application")
objOutlook.Visible = False
Set objWord = CreateObject("Word.Application")
objWord.Visible = False
Set objPPT = CreateObject("PowerPoint.Application")
objPPT.Visible = False
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objAccess = CreateObject(„Access.Application")
objAccess.Visible = False
objOutlook.Quit
objWord.Quit
objPPT.Quit
objExcel.Quit
objAccess.Quit
Otwieranie dokumentów
Set
Set
Set
Set
objDocument = objWord.Documents.Open(„file.doc”)
objWorkBook = objExcel.Workbooks.Open(„file.xls”)
objPresentation = objPPT.Presentations.Open(„file.ppt”)
objDataBase = objAccess.OpenCurrentDatabase(„file.mdb”)
…………………………
objDocument.SaveAs(strPath1)
objWorkBook.SaveAs(strPath1)
objPresentation.SaveAs(strPath1)
…………………………
objDocument.Close
objWorkBook.Close
objPresentation.Close
Dostęp do obiektów
Set colParagraphs = objDocument.Paragraphs
iParagraphs=colParagraphs.Count
Set objParagraph=colParagraphs(iP)
Set colTables = objDocument.Tables
iTables = colTables.Count
Set objTable = colTables (iT)
colSlides=objPresentation.Slides
iSlides=colSlides.Count
Set objSlide = colSlides (iS)
colShapes=objSlide.Shapes
iShapes=colShapes.Count
Set objShape=objSlide.Shapes(iSh)
colWorksheets=objWorkbook.Worksheets
iWorksheets=colWorksheets.Count
Set objWorksheet = objWorkbook.Worksheets(iW)
objRange = objWorksheet.UsedRange
For Each objCell in objRange
Next
Parametry obiektów
objParagraph.Range.Text
objParagraph.Shading.Texture
objFrame.Range.Text
objShape.Left
objShape.Top
objShape.Width
objShape.Height
objShape.Fill.ForeColor.RGB
objShape.Fill.Transparency
objShape.HasTextFrame
objShape.TextFrame
objShape.TextFrame.HasText
objShape.TextFrame.TextRange.Text
objWorkSheet.Cells(iR,iC)
Dostęp do tekstów
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objFile = objFSO.OpenTextFile(„file.txt”, ForReading)
Do Until objFile.AtEndOfStream
strLine = objFile.ReadLine
Loop
objFile.Close
Dostęp do poczty
Set objOutlook = CreateObject("Outlook.Application")
Set
Set
Set
Set
Set
objNamespace = objOutlook.GetNamespace("MAPI")
objFolder = objNamespace.GetDefaultFolder(olFolderCalendar)
colContacts = objNamespace.GetDefaultFolder(olFolderContacts).Items
colItems = objFolder.Items
colFilteredItems = colItems.Restrict("[UnRead] = 'True'")
For Each objItem in colItems
objItem.ReminderSet
objItem.ReminderMinutesBeforeStart
Next
For Each objMessage In colFilteredItems
objMessage .ReceivedTime
objMessage.Content
intCount = objMessage.Attachments.Count
For i = 1 To intCount
objMessage.Attachments.Item(i).FileName
Next End If
Next
objOutlook.Quit
Przydatne funkcje VBS





Odczytanie i zapisanie pliku
Podziel ciąg znaków na tablicę
znaków
Zamień znak na liczbę
Zamień liczbę na znak
Oblicz maskę bitową
Implementacja funkcji








iVal=Asc(cVal)
cVal=Chr(iVal)
iVal And bVal
iVal mod iMod
arrVal=Split(strVal,” ”)
strVal1=Mid(strVal,i,l)
strVal1=Left(strVal,i)
strVal1=Right(strVal,i)
Przykładowe makro
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Ala ma kota
Struktura strony ASP






Znaczniki
Przyciski
Listy wyboru
Pola tekstowe
Elementy graficzne
Tabele
Rodzaje i parametry tagów






<hn align=„a” ></hn>, n=[1..6], a={„left”, „right”, „center”, „justify”}
<p align=„a”>...</p>
<font color=„c” size=„s”>
<b>…</b> <i>…</i> <u>…</u>
<blink>...</blink> <em>...</em> <strong>...</strong>
<frame bordercolor="kolor" scrolling="typ" noresize="noresize" marginwidth="x"
marginheight="y" />, typ={„yes”, „no”, „auto”}

<table width=„w” height=„h” border=„b” bordercolor=„bc” bgcolor=„bgc”
cellpadding=„cp” align=„a”>
• <tr> <th>…</th> …<th>…</th> </tr>
• ….
• <tr> <th>…</th>… <td>…</td> </tr>
</table>

<img src=„image.gif„ width=„w” height=„h” border=„n” alt=„at„ align=„a”/>

Rodzaje przycisków












<input
<input
<input
<input
<input
<input
<input
<input
type="text" name="text1" size=s /><BR>
type="checkbox" name="checkbox1" checked="On"/>Zaznacz<BR>
type="radio" name="radio1" checked="On"/>Wybor 1<BR>
type="radio" name="radio2"/>Wybor 2<BR>
type="file" name="file1" size=s /><BR>
type="password" name="passw1" /><BR>
type="button" name="button1" value="Press" /><BR>
type="submit" name="submit1" value="OK" /><BR>
<ul>Elementy listy<br>
• <li>Element 1</li>
• <li>Element 2</li>
• <li>Element 3</li>
</ul><BR>
<select name="selection1">
• <option>Opcja 1</option>
• <option>Opcja 2</option>
</select><BR>
Skrypty w ASP



Modelowanie struktury strony ASP
Wyświetlanie danych w tabeli
Modyfikacja grafiki
Strona ASP
<body>
<h3 align=„center” >Wyswietlanie fragmentu strony asp poprzez skrypt</hn>
<form name="form1" action="..." method="post" onsubmit=„f(this.form1);return
false;">
<input type="text" name="text1" size=25 /><BR>
<input type="checkbox" name="checkbox1" checked="On"/>Zaznacz<BR>
<input type="submit" name="submit1" value="OK" /><BR>
</form>
<script type="text/javascript">
function f(formularz)
{
if (formularz.checkbox1.value=="On")
{
strHtmlText=„<table>….</table>”
Document.write(strHtmlText);
}
}
</script>
<P>…..
</body>
Zliczanie elementów
<script type="text/javascript">
function sprawdz(formularz)
{
for (i = 0; i < formularz.length; i++)
{
var pole = formularz.elements[i];
pole.disabled
pole.readonly
pole.type
pole.width
pole.value
}
return true;
}
</script>
Modyfikacja bitmapy
<body>
<%@ Page Language="VB" %>
<%@ Import Namespace="System.Drawing" %>
<script runat="server">
strPath=Server.MapPath("images/imageflip.jpg")
myBitmap = New Bitmap(System.Drawing.Image.FromFile(strPath))
For Y = 0 To myBitmap.Height - 1
For X = 0 To myBitmap.Width – 1
objColor=myBitmap.GetPixel(X, Y)
R=objColor.R
G=objColor.G
B=objColor.B
‘modyfikacja koloru
...........
objColor1=Color.FromArgb(R1, G1, B1)
myBitmap.SetPixel(X, Y, objColor1)
Next
Next
myBitmap.Save(Response.OutputStream, Imaging.ImageFormat.Jpeg)
Response.Flush()
</script>
</body>Response.ContentType = "image/jpeg„
Pojemność ukrytych kanałów
informacyjnych


Przybliżona pojemność
steganograficzna dokumentów
Wydajność kanałów komunikacyjnych
w stronach ASP
Pojemność steganograficzna
ΣiP=1
ΣiF=1
Presentatiopns
Documents
Paragraphs
ST=ΣiT=1
SF=ΣiF=1
Workbooks
Slides
Σish=1
Shapes
ΣiA=1
Attributes
(C(iA)*S (iA))
(SP +ST +SF)
SP=ΣiP=1
ΣiW=1
Σis=1
Tables
(Ctxt*S (iP))
ΣiC=1
Frames
Columns
ΣiR=1
Rows
(C(iC)*S (iC,iR))
(Ctxt*S (iF))
ΣiWs=1
Worksheets
ΣiC=1
Columns
ΣiR=1
Rows
(C(iC)*S (iC,iR))
Pojemność strony ASP
SItem=ΣiF=1
STag=ΣiT=1
Forms
Tags
STab= ΣiTa=1
ΣiA=1
Tables
SImg= ΣiIm=1
ΣiI=1
Items
Attributes
ΣiC=1
Images
ΣiA=1
(C(iA)*S (iA))
(C(iA)*S (iA))
Columns
ΣiY=1
Attributes
Height
ΣiR=1
Rows
ΣiX=1
(C(iC)*S (iC,iR))
Width
(3*/8)
Csteg ~ (SItem+STag+STab+SImg)/Trefresh
Ciekawe odnośniki




http://www.microsoft.com/poland/te
chnet/scriptcenter/default.mspx
http://www.asp101.com/samples/
http://www.w3schools.com/
http://www.kurshtml.boo.pl/
Wnioski i pytania

Pakiet biurowy + dostęp do
Internetu= Ukryte bazy danych i
swobodna wymiana ukrytych
informacji