57
34 days

20150805卒研進捗LT (share)

Embed Size (px)

Citation preview

Page 1: 20150805卒研進捗LT (share)

34 days

Page 2: 20150805卒研進捗LT (share)

me

Jun Kasamatsu mohemohe mohemohe

夏は昼夜逆転生活を送るのが

人類存続の鍵だと思うの

2© 2014 Yamato Fujinaka

Page 3: 20150805卒研進捗LT (share)

3

Page 4: 20150805卒研進捗LT (share)

4

Page 5: 20150805卒研進捗LT (share)

5

Page 6: 20150805卒研進捗LT (share)

6

Deleted

Page 7: 20150805卒研進捗LT (share)

7

前回のラブライブ!

Page 8: 20150805卒研進捗LT (share)

8

Pixel-based steganography

ピクセル値変更によるステガノグラフィー

Page 9: 20150805卒研進捗LT (share)

Pixel-based steganography

9

背景画像の著作権を主張したい

Page 10: 20150805卒研進捗LT (share)

Pixel-based steganography

10

強みまともなフリー実装がない

Page 11: 20150805卒研進捗LT (share)

Pixel-based steganography

ケース 1: acuagraphy PictureMark• アプリケーション , SDK• Mac OS X 非対応

• 高い

‒製品保守の強制契約

11https://www.focus-s.com/focus-s/products/security/acuagraphy/indexPM.html

Page 12: 20150805卒研進捗LT (share)

Pixel-based steganography

ケース 2: Digimarc Guardian for Images• Photoshop プラグイン

‒アプリケーション版がないっぽい?

• Linux 非対応

• 妥協できる値段

12http://www.digimarc.com/products/guardian/images

Page 13: 20150805卒研進捗LT (share)

Pixel-based steganography

ケース 3: ステガノグラファー• OS X, Linux 非対応

‒Wine で動きそうな気配

• 開発停止

• 拡大縮小・ノイズ付加で死ぬ

• フリーウェア

13http://hp.vector.co.jp/authors/VA017815/stegano.htm

Page 14: 20150805卒研進捗LT (share)

Pixel-based steganography

ケース 4: 論文 (Color Image Steganography based on Pixel Value Modification Method Using Modulus Function)

• (mod n) をとれば高品質に埋め込めたぜ!

‒( ´_ ゝ` )  フーン アッソ• どう考えても拡大縮小・ノイズで死ぬ

‒対象ピクセル値が 1 変わるだけでデータが化け放題

14http://www.sciencedirect.com/science/article/pii/S2212667813000075

Page 15: 20150805卒研進捗LT (share)

15

Deleted

Page 16: 20150805卒研進捗LT (share)

Pixel-based steganography

16

弱みひたすらつらい

Page 17: 20150805卒研進捗LT (share)

Pixel-based steganography

17

why?

Page 18: 20150805卒研進捗LT (share)

18

Page 19: 20150805卒研進捗LT (share)

Pixel-based steganography

19

23,000+ 人が敗北 (?)

Page 20: 20150805卒研進捗LT (share)

Pixel-based steganography

20

妥協が必要( B4 に期待してはいけない)

Page 21: 20150805卒研進捗LT (share)

Pixel-based steganography

妥協案• 25 ~ 500 % 程度の拡大縮小に対応したい

• 回転は考えたくない

‒そもそもアップロード時の強制リサイズへの対策なので

• GUI フロントエンドは Windows 用に作るがコア部分はマルチプラットフォーム対応にする

‒主に C#.Mono ,ボトルネックのみ C++ ( Wine が必要になるので却下)

21

Page 22: 20150805卒研進捗LT (share)

Pixel-based steganography

22

必要な知識リード・ソロモン符号

+ 大域的な符号化

耐拡大縮小アルゴリズム

Page 23: 20150805卒研進捗LT (share)

Pixel-based steganography

リード・ソロモン符号• 符号化の一つ

‒3 年前期のセキュリティ理論で BCH 符号をやっているはず

• 連続した誤りに対する訂正能力が高い

‒実は大域的な符号化もこれで済んだりする

• 地デジ, BS , CD , DVD , BD , QR コード, etc…• アルゴリズムは長いので Wikipedia 参照

23https://goo.gl/scbQKB

Page 24: 20150805卒研進捗LT (share)

Pixel-based steganography

耐拡大縮小アルゴリズム• このテーマのキモになる部分

• 絶賛妄想中

‒8 x 8 px のブロック単位で書き込むとか

‒周辺ブロックとの差分をとるとか

‒微分して平坦な領域に書き込むとか

‒劣化の少ない G 領域でさらにパリティチェックするとか

‒あえて飽和するような値を加減して強制的に値を引き出すとかとかとか24

Page 25: 20150805卒研進捗LT (share)

Pixel-based steganography

25

ブロック単位といえば

Page 26: 20150805卒研進捗LT (share)

Pixel-based steganography

26

拡大縮小時のブロックサイズの変更

Page 27: 20150805卒研進捗LT (share)

27

この変更分を求めたい

Page 28: 20150805卒研進捗LT (share)

28

Page 29: 20150805卒研進捗LT (share)

Pixel-based steganography

アンカー妄想案• ないに越したことはない

• 画像左上隅をちょっとだけ借りる

• 意図的に消された場合は画像を走査してなんとか割り出す

‒ぶっちゃけ高速化のため

•仕様と導出式は次のスライド

29

Page 30: 20150805卒研進捗LT (share)

Pixel-based steganography

30

R = 10 * (d – 1) + 5 G = 10 * d + 5B = 10 * (d + 1) + 5 d = block size

最も劣化しにくい緑にブロックサイズを記録

最も劣化しやすい赤を弱くする

Page 31: 20150805卒研進捗LT (share)

Pixel-based steganography

31

ブロックサイズが 8 の場合 )1. 左上 (1, 1) の値を取得

2. d = (R + 10 + G + B – 10) / 33. d = 85 なので元のブロックサイズは 84. (0, 0) ~ (64, 64) の範囲で繰り返す

5. d と等しい値の長さ L を求める

6. 色が変わる境界までの長さ M を求める

7. L と M の間は信頼できない領域

8. S = (M – L)^2 が使用できるブロックサイズ

Page 32: 20150805卒研進捗LT (share)

Pixel-based steganography

32

極端な劣化への耐性

Page 33: 20150805卒研進捗LT (share)

33

q = 0 q = 10 q = 20 q = 30

R = 141G = 84B = 39d = 88 → 8

R = 49G = 98B = 102d = 83 → 8

R = 50G = 93B = 100d = 81 → 8

R = 68G = 87B = 101d = 85.3 → 8

※ d = (R + 10 + G + B – 10) / 3

Page 34: 20150805卒研進捗LT (share)

Pixel-based steganography

34

ブロックサイズを求めるだけなら良好

Page 35: 20150805卒研進捗LT (share)

Pixel-based steganography

35

demo

Page 36: 20150805卒研進捗LT (share)

36

Deleted

Page 37: 20150805卒研進捗LT (share)

37

why?

Page 38: 20150805卒研進捗LT (share)

38

Page 39: 20150805卒研進捗LT (share)

39

ゼミ室の回線を

速やかに復帰させる

Page 40: 20150805卒研進捗LT (share)

40

Page 41: 20150805卒研進捗LT (share)

41

HUSauth -core-http://git.io/vOovQ

Page 42: 20150805卒研進捗LT (share)

HUSauth -core-• はすはす大学の Web認証をよしなにやる

• .NET Framework 4.5 か Mono 4.0 以上が必要

• GUI がない代わりに Windows, Mac OS X, Linux で動く

•去年作っていた認証ツールの簡略版

•当時は認証後にクッソ重いページに飛ばされて Fuck だった

‒Windows10 から Fuck サインの絵文字が入りました!

42

🖕

Page 43: 20150805卒研進捗LT (share)

43

Page 44: 20150805卒研進捗LT (share)

44

Page 45: 20150805卒研進捗LT (share)

HUSauth -core-• /etc/systemd/system/auth.timer[Unit]Description=auth HUS LAN

[Timer]OnBootSec=1minOnUnitActiveSec=5m

[Install]WantedBy=timers.target

45

• /etc/systemd/system/auth.service[Unit]Description=auth HUS LAN

[Service]Type=simpleExecStart=/sh/auth.sh

[Install]WantedBy=default.target

Page 46: 20150805卒研進捗LT (share)

HUSauth -core-• /sh/auth.sh#!/bin/bash

sudo /sudobin/nscd -Ksudo /sudobin/nscd

tail -n 2000 /var/log/HUSauth/husauth.log > /tmp/husauth.log.tmp

echo "[$(date +"%x %T")] start normal authentication" >> /tmp/husauth.log.tmp

while read LINEdo echo "[$(date +"%x %T")] $LINE" >> /tmp/husauth.log.tmpdone < <(/usr/bin/mono /xbin/HUSauth.exe -u 2120056 -p vmN9UzAARMb5nr5GEa3/Cg== -e -v)

mv -f /tmp/husauth.log.tmp /var/log/HUSauth/husauth.log

46

Page 47: 20150805卒研進捗LT (share)

47

Page 48: 20150805卒研進捗LT (share)

48

回線だけ戻っても

PC はどうするよ

Page 49: 20150805卒研進捗LT (share)

49

Page 50: 20150805卒研進捗LT (share)

ooezemi Wake on LAN• Wake on LAN という遠隔起動の規格

• LAN 内のみで利用可

• WAN から WOL したい → WOL システムをつくった

‒nginx + Gunicorn + Python

• •個人所有の余っているドメインを使い回しているのでアレ

50

Page 51: 20150805卒研進捗LT (share)

ooezemi Wake on LAN•使う場合は ipconfig /all して物理アドレスを調べておく

51

Page 52: 20150805卒研進捗LT (share)

52

Page 53: 20150805卒研進捗LT (share)

53

おうちから研究できる!

Page 54: 20150805卒研進捗LT (share)

54

Deleted

Page 55: 20150805卒研進捗LT (share)

55

Page 56: 20150805卒研進捗LT (share)

56

•個人開発してたアプリケーションのほうが工数かかってる

Page 57: 20150805卒研進捗LT (share)

agenda• Pixel-based steganography

‒先行研究とか

‒妥協案

‒アンカーの仕様

• HUSauth -core-• Wake on LAN

57