AIはコンパイル済みバイナリからでも作者のGitHubアカウントを特定できる? 22
ストーリー by hylom
関数名の傾向とかはありそうだが 部門より
関数名の傾向とかはありそうだが 部門より
あるAnonymous Coward曰く、
ソースコードには作者ごとの特徴が現れることから、ソースコードから著者を特定できるというシステムが過去に話題になった。しかし、 米プリンストン大学などの研究によれば、GitHub上で公開されているソースコードを機械学習させることで、それをコンパイルしたバイナリからでも作者のGitHubアカウントを特定することができたという(The Register)。
ソースコードの特徴から作者を特定するというのは、古くから知られた技術であるが、コンパイルされたバイナリではそうした特徴の多くが失われるため、特定は不可能と考えられていた。しかし今回の研究では、機械学習を用いることで逆コンパイルされたソースコードからでも作者が特定できたとのこと。特にGitHubに多くのコードを挙げているプログラマーや、高いスキルを持つプログラマーほど正確に特定できたという。
この技術はマルウェアの作者特定に役立つとみられている。一方で、匿名でソフトウェアを公開したいプログラマーには難しい事態となるだろう。
AIを使って (スコア:2)
AIを使って、プログラマーの癖を隠したソースに変換すればいいんじゃないかな。
そしてAIを使って、隠した癖を暴くソフトを作って。。。略
Re:AIを使って (スコア:1)
そうなったら次は、実装じゃなくて仕様の癖を学習するようになりそう。
Re: (スコア:0)
コンパイラに作者特定難化オプションを設けてはどうでしょうか。
あいつが作ったソフト (スコア:2)
このソフトの作者は、過去にバグの多いソフトを作ったプログラマである。
みたいな事がわかるようになるんですかね。
まただ (スコア:2)
まだAIが独り歩きしている。
なんかAIというコンピューターモジュールがあって誰でも使えるとでもいうのかね?
Re: (スコア:0)
独り歩きするAIとかいよいよSFが実現してて怖すぎんだろ...。
Re: (スコア:0)
独りよがりが止まらないAI、と書くとちょっと幸せな気分になれませんか
そう簡単ではないだろ (スコア:0)
ゆうちゃんはネット上のサンプルを切り貼りして作ってたし
Re: (スコア:0)
どういう分野でコピペが多いかで、特徴が出るためバレるとみた。
Xcodeとかだとバイナリにコンパイル前のファイルのディレクトがユーザー名が残ってる (スコア:0)
そこからバレちゃう、iPhoneアプリはほとんどそう
Re: (スコア:0)
VSとかも割とコンパイル環境の情報ダダ漏れのバイナリ吐くよね。
それをソースコードレベルの開発者と同定できる情報と呼べるかっていうとあやしいけど。
Re: (スコア:0)
なんでVC++にしか/PDBALTPATH:無いんだろうな?
すごいとは思う (スコア:0)
Java・.NET Frameworkとかの中間言語系の言語は変数名まで含まれているし、Delphi系とかもクラス名は見えるし、そうでなくても外部公開の関数名とかリソースの文字列もはよめる。
そこらへんからある程度の傾向はつかめるとは思う。
でもそうじゃなくて逆コンパイルした結果から特定ってのは凄いね。
CとかC++の逆コンパイルの結果なんて最適化のせいか逆コンパイルの性能不足かで何やってるかなんて検討もつかないのに。
Re: (スコア:0)
>Java・.NET Frameworkとかの中間言語系の言語は変数名まで含まれているし、Delphi系とかもクラス名は見えるし、そうでなくても外部公開の関数名とかリソースの文字列もはよめる。
>そこらへんからある程度の傾向はつかめるとは思う。
ゲームのバイナリから「○○ン〇なめたい(コーダの氏名付き)」ってコメントを見つけられたのは
言語は何だったのでしょうか
#あれ、これ、ちゆ12歳で知った知識だったような気がする
Re:すごいとは思う (スコア:1)
「元祖西遊記スーパーモンキー大冒険」でしょうか。
ファミコン時代のゲームなので言語としてはアセンブリですが、リソース・画像なのであんまり言語は関係ないです。
exeとかならバイナリエディタやリソースエディタで覗いて、apkとかjarとかならzipとして解凍したら画像が入ってたみたいな感じでしょうかね。
Re: (スコア:0)
あの頃は余った領域に変なデータ入ってるゲームよくありましたっけね(今もかな?)
Re: (スコア:0)
ネットアイドルちゆは、日本語に堪能なプログラマを応援しています。
Re: (スコア:0)
GUIDから追跡はできないのかな。
Re: (スコア:0)
現状のGUID/UUID v4にはMACアドレスなどは含まれてないので、まぁ、よほど特徴のある乱数を個人で生成しているとかでない限り、難しいというか無理なのでは。
組織的開発 (スコア:0)
一応他人のモジュールを含むバイナリも解析できた、と書いてあるが、最近話題になる国家犯罪みたいなレベルのマルウェアだと大量の開発者の手が絡むから、その中の1人1人を解析出来るんだろうか。
Re: (スコア:0)
一人ひとりは識別できないかもしれないけど、コーディングルール起因の規則性から組織は特定できるかも?
Re: (スコア:0)
http://blogs.wankuma.com/jeanne/archive/2006/05/30/29706.aspx [wankuma.com]
これこれwww