1: 2015/02/12(木) 00:01:10.54 ID:???.net
掲載日:2015年2月11日
http://www.gizmodo.jp/2015/02/your-coding-style-is-like-a-digital-fingerprint.html

画像
http://www.gizmodo.jp/images/2015/01/150130coding.jpg

 ほぼドンピシャでバレバレです。

 スペースやタブ、大文字やアンダーバーを組み合わせた命名規則、コメント…コードの書き方には、人によってスタイルがありますよね。それはもう指紋のようなもので、それさえ見えれば、誰がコードを書いたかほとんどわかってしまう…そんな驚きの研究結果が発表されました。

 米ドレクセル大学、メリーランド大学、プリンストン大学、独ゲッティンゲン大学の共同チームの研究によると、自然言語処理と機械学習によるコード分析により、95%の精度で作者は特定できるそうです。

 解析されるのは、レイアウトや語彙の特性と、「抽象構文木(AST)」です。ASTとは、「コードの書き方からまったく影響を受けずに、コードの型の特性をとらえる」もので、つまり、関数の名前、コメント、スペース入れ方などのクセ以上のものを探し出し、作者を特定するカギにする、というわけです。

 研究チームが開発した機械学習ソフトウェアで、Google Code Jamに公開されているコードの分析を試しに行ってみたところ、あるひとりの人が書いた630行のコードを分析すれば、95%の精度でその作者が特定で
きたそうです。

続きはソースで

no title


<参照>
Anonymous programmers can be identified by analyzing coding style
https://freedom-to-tinker.com/blog/aylin/anonymous-programmers-can-be-identified-by-analyzing-coding-style/

De-anonymizing Programmers via Code Stylometry.
https://www.cs.drexel.edu/~ac993/papers/caliskan_deanonymizing.pdf

引用元: 【IT/機械学習】精度95%以上! ソースコードは指紋、作者はほぼ特定できる

2: 2015/02/12(木) 00:03:50.84 ID:9RVrKUim.net
コピペばかりで作ったそうは判別できんだろ

3: 2015/02/12(木) 00:03:57.71 ID:PqiEwoz+.net
オレのソースなんて恥ずかしくて見せらんねーよ。(w

4: 2015/02/12(木) 00:04:28.01 ID:8jQUZ3in.net
ソースコードを漏らすハカーとかいるのか?

70: 2015/02/12(木) 12:41:39.21 ID:YbVdJkwQ.net
>>4
漏らすんじゃない。
自分のだと意図的に痕跡を残したいんだよ。
城を作った大工が…と同じ。

5: 2015/02/12(木) 00:06:30.61 ID:96LvRZmn.net
スペースの入れ方なんて、統合開発環境でフォーマットすれば
決まったルールに修正されちゃうだろ。

7: 2015/02/12(木) 00:18:07.38 ID:o4SoUt33.net
全部手打ちなんて自己満足でしかないんだが
論文のコピペじゃないんだから

8: 2015/02/12(木) 00:19:21.68 ID:9FHAlCmE.net
大手企業なら

新入社員でコーディング規約は徹底的に守るように教えられるから

みんな似たコーディングになる。

特にF会社、N会社など相当厳しいぞw

9: 2015/02/12(木) 00:19:39.26 ID:ANT1+6pD.net
あー、でも命名規則つけてチェックスタイルするから特定できないわー。

10: 2015/02/12(木) 00:20:24.47 ID:Tgwqrr8b.net
>>1
ハッカーが書いたソースコードなんてどうやって入手するんだ?

11: 2015/02/12(木) 00:21:25.34 ID:+JuQPAPT.net
そもそも、95%だろうが97%だろうが99.9%だろうが
その程度の精度で証拠に使える訳ねぇだろが…

14: 2015/02/12(木) 00:24:14.71 ID:Tgwqrr8b.net
>>11
初期のDNA検査の精度がそのぐらいで近年精度が上がった結果誤認逮捕だったって事件なかったっけ?

67: 2015/02/12(木) 12:16:20.01 ID:ZBWRr3oE.net
>>14
あったあったw
そもそもDNAは相関があるんで通常のガウス分布による確率計算は適用不可なのに
いまだにバカがバカをさらしているw

12: 2015/02/12(木) 00:21:56.44 ID:ZBWRr3oE.net
ハッカーならふつうにオブファスケートするわな

13: 2015/02/12(木) 00:22:08.39 ID:iaOmoY4b.net
こういう機械学習使って医療面でどんどん応用できたらいいのに

15: 2015/02/12(木) 00:25:08.23 ID:VF8EG6mY.net
俺のようなネット検索→コピペ職人ともなると特定は難しいだろう

16: 2015/02/12(木) 00:31:50.93 ID:ZBWRr3oE.net
これコーディングルールチェッカーにできるよ?

18: 2015/02/12(木) 00:34:43.11 ID:cdT1vdNl.net
悪い連中は難読化くらいしてそうだけどね

19: 2015/02/12(木) 00:38:07.47 ID:M5PRx3A/.net
先輩から受け取ったCのソースコードは

mainの中にすべて書かれてて唖然としましたわ

20: 2015/02/12(木) 00:43:46.78 ID:fIA6HoF3.net
これってメールとかの文章でも応用できそうだな

21: 2015/02/12(木) 00:54:20.23 ID:wPOSpx6b.net
それよりも、ロジックの組み方などからリバースエンジニアリングによって作られたものかどうかを判定できるようにしてもらいたいな

23: 2015/02/12(木) 01:03:25.68 ID:bkZOmdxY.net
コピペつぎはぎでも遠隔ウイルスくらいつくれるしなぁ

24: 2015/02/12(木) 01:12:15.00 ID:9mV7ipAv.net
特定するも何も プロバイダに金払える奴は、住所も特定できるでしょ

27: 2015/02/12(木) 01:20:45.48 ID:+JuQPAPT.net
>>24
オンライン犯罪集団の住所やら回線やらを特定しても意味ねぇぞw
どうせ全て使い捨てだ。一般人とは違う。

この記事が言ってるのは、
実際捕まえた後に「オラ!これもお前の仕業なんだろ!」と
余罪を追及するのに使えるって考えなんだろうが…
まぁ全く不可能だな。

29: 2015/02/12(木) 01:23:08.56 ID:nm5HEIvP.net
これでコンピュータウイルスをつくった犯人を特定できるのか?

59: 2015/02/12(木) 10:01:22.71 ID:Y+QfBp08.net
>>29
ソースコードがあればいいけど、普通はコンパイル済みのバイナリファイルだよね。
とすればリバースエンジニアリングが必要になるけど、コンパイルした時点で空白・改行などの
クセの部分は切り捨てられちゃうから、この方法じゃ無理だろう。

30: 2015/02/12(木) 01:25:26.28 ID:ZBWRr3oE.net
とんでもございません。他人の犯罪に見せかけるための最適化ツールです

31: 2015/02/12(木) 01:31:12.11 ID:Qu45d+Gy.net
ロジックなので、ソースコードでなくてもできるはずだが、コンパイラの最適化で情報が少なくなる。
優秀なマは優秀なコードからコピペするので、ロジックが似てくる

34: 2015/02/12(木) 02:01:28.44 ID:exqSa1Ox.net
2chのレスも確定できるようになったら褒めてやる。

39: 2015/02/12(木) 04:54:01.85 ID:1bDpuMz7.net
学術論文などでも 適用できるようにしてほしいものです。

57: 2015/02/12(木) 09:33:22.20 ID:pPgWlIUz.net
>>39
学術論文は著作物ではないので引用無しのコピペは法的に問題ない

58: 2015/02/12(木) 09:59:15.56 ID:MWKppCIL.net
>>57
あれ? 学術論文を出すときに出版社とかわす著作権を出版社に移譲しますって契約書は何?
ちょっと教えて。

41: 2015/02/12(木) 05:51:19.40 ID:a5BdIh43.net
証拠を補強するだけだろ
これだけで逮捕とか無能の極地だわ

43: 2015/02/12(木) 06:24:55.75 ID:aTZcmKt8.net
直接の証拠にはならないけど血液型程度には有用な捜査資料だな

44: 2015/02/12(木) 06:52:24.82 ID:1E/oMZJ8.net
文章、音声、話ぶり、歩きぶり...もう全て解析されて個人特定
されてしまうかもな。

どれも、外にさらさないようにしないとな。

45: 2015/02/12(木) 07:17:31.38 ID:KpvC+c6H.net
>>44
指示して人に書かせりゃOK。

46: 2015/02/12(木) 07:33:23.70 ID:94vX55yZ.net
複数の人の手が入ってるソースはどうすんの?

55: 2015/02/12(木) 08:39:20.90 ID:sCK1Fmj3.net
コードで行動が分かります!