中間発表情報工学科 4年 中山直飛
コンテンツ SNS内のワームの検知 simpack(プログラム )の進行状況
プログラムの流れ各機能の説明補足
今後について
SNS内のワームの検知やりたいことを簡単にまとめると SNS内でワームの広がりを早期検知すること
そのためにプログラムで検知までの仕組みを作りシミュレートする
デコイの配置を変えていき、 idの感染数の結果のデータを出し、グラフにする
simpack(プログラム )の進行状況 プログラムの流れの簡単な説明 メンバーを構成する⇒メンバーは情報をもっている⇒メンバー id、アクセス確率など
デコイを構成する⇒デコイ id、メッセージの証拠など
ワームは悪意あるメッセージを生成し各 idに送る⇒メッセージ内にはワームが入ったサイトが載せてあり開くと感染
感染すると感染した idが属しているグループ内のid(友達 )に次々とメッセージを送る
友達がメッセージを開く感染⇒グループ内の友達に送る⇒以下繰返す
idに配置されたデコイにより感染したかどうかのテストを行う
デコイにはメッセージの証拠がありメッセージと比較することでその idは感染したかどうかがわかる
感染していれば検知を行う 検知後、感染した idの表示といった流れである
デコイ
simpack(プログラム )の進行状況 プログラムの流れを図に示す
gen(生成 )
message(メッセージ )
read(読む )
infect(感染 )
action(行動 )
store(格納 )
evidence(証拠 )
correlation(相関 )
detect(検知 )
print(結果表示 )
各機能の説明 gen(生成 )
メンバーを作る、メンバーの中身 (構造体で )id、アクセス確率 (見たい情報なのか )、応答時間 (情報があるサイトを見るまでの時間、フェイスブックをいつもみているとは限らないから )、感染したかの情報、グループ分け
メンバーの配置⇒実際はソーシャルグラフを扱うのでそれに近いくらいの人数が必要⇒なので万単位のユーザ情報がいる⇒ for文で一気に人数を生成⇒中身はランダム関数を使い一気に生成する (手作業入力だと時間がない )
デコイの生成⇒デコイ id、感染した時間、証拠の各情報を持っている
gen(生成 )
構造体の宣言Idの名前 0 1 2 ・・・ 9
アクセス確率(%)
0.2 0.5 0.8
平均応答時間(分)
1m 2m 10m
感染 0 0 0
グループ id 0 012
0
message(メッセージ )
中身 (コンテンツ )はどうするかということで論文にあった koobfaceの性質でカスタマイズしたメッセージを送るということで、中身をいろいろと用意してランダムに組み合わせる手法をとる⇒ randで生成した値でつなぎ char型の入ってる構造体へ格納
message(メッセージ )
コンテンツ 1おはようこんにちはどうも
コンテンツ 2君がテレビに映ってびっくりしたよこのビデオ見てよ、とてもおもしろいから君が興味ある動画を見つけたよ
コンテンツ 3よかったら見てねあとで感想聞かせてね見たほうがいいよ
• この三つのコンテンツを違和感のないようにランダムに組み合わせて、メッセージを作るようにする
read(読む )
単純にメッセージ内容を読むかどうかの部分 ランダムに設定した値とメンバーの idによって設定した読む確率の値を比較する
比較してメンバーの idが大きければinfect(感染 )部分へ⇒ if文
read(読む )
infect(感染 )
メッセージからの流れで、読めば感染したことになる
感染すると次の人 (id)にメッセージを送る グループ内の人にメッセージを送り、その経路は次の部分で設定している
infect(感染 )
action(行動 )
行動と書いてあるがワームの行動つまり感染経路のことである
グループ内で記述した 1のフラグが立っているものを走査する
やりかたはまずグループの横軸⇒ 1回目の for文で横軸を走査し if文で 1ならば次を実行
次にグループの縦軸⇒ 2回目の for文で縦軸を走査し if文で 1ならばその idの人にメッセージを送るようになる
action(行動 )
store(格納 )
メッセージを渡すメンバーの idを格納する場所
わざわざ作った理由は action(感染経路 )部分での同じ idでのループを防いだもの
いったん idを格納することでその id一人ずつにメッセージを送れる
store(格納 )
evidence(証拠 )
メッセージ内にあるよく使われる言葉が格納してある場所
送られてきたメッセージと比較するために必要
比較の部分は次
evidence(証拠 )
correlation(相関 )
送られてきたメッセージと格納している証拠とを比較する部分
検知は次※部分的に一致すれば、悪意あるメッセージの確率が高いことになる
correlation(相関 )
detect(検知 )
検知を行う部分 デコイは idに 2つ配置されており (全部のidではない )、先ほど比較する部分ではデコイの中にある証拠で比較を行っている
そしてこの 2つのデコイで悪意あるメッセージの確率が高いと判断された場合、検知となる
detect(検知 )
print(結果表示 )
どのメンバーの idが感染しているかなどを表示する部分
print(結果表示 )
補足 1 プログラムは機能に分けて作った メンバー情報の生成とメッセージを生成部分とメッセージ比較部分
メンバーの情報は万単位のメンバーの情報を本体のプログラムとは別に作り、生成した出力ファイルを読み込む
メッセージ生成部分は送られてくるメッセージパターンをあらかじめ作っており、生成した出力ファイルを読み込むこと
これら 2つは本体での時間の短縮を図っている メッセージ比較部分は比較が正しいかテストで作っている
補足 2
感染経路は誰もがつながっているのでメッセージを送る動作を繰返すと終わりがなくループしてしまう
そのために途中でループを止めるためにタイマーをセットしてある
悩んだ部分として感染経路で同じループを繰返す部分があった
そこで格納部分を作り、 idを一人ずつ格納することで同じループをなくすことに成功した
今後について 行ったのはデコイを入れずにメンバー少数でメッセージの比較をしたことやデコイはデコイだけでメッセージの証拠を比較をしたことなど
他には万単位でのメンバーの生成 各機能は正常に動作しているが全体を通してはまだ実行していないのでつなげた結果をだしたい
そしてデータ (感染数など )を取ってグラフを作りたい
Top Related