パスワードを忘れた? アカウント作成
13555855 story
プログラミング

AIはコンパイル済みバイナリからでも作者のGitHubアカウントを特定できる? 22

ストーリー by hylom
関数名の傾向とかはありそうだが 部門より
あるAnonymous Coward曰く、

ソースコードには作者ごとの特徴が現れることから、ソースコードから著者を特定できるというシステムが過去に話題になった。しかし、 米プリンストン大学などの研究によれば、GitHub上で公開されているソースコードを機械学習させることで、それをコンパイルしたバイナリからでも作者のGitHubアカウントを特定することができたという(The Register)。

ソースコードの特徴から作者を特定するというのは、古くから知られた技術であるが、コンパイルされたバイナリではそうした特徴の多くが失われるため、特定は不可能と考えられていた。しかし今回の研究では、機械学習を用いることで逆コンパイルされたソースコードからでも作者が特定できたとのこと。特にGitHubに多くのコードを挙げているプログラマーや、高いスキルを持つプログラマーほど正確に特定できたという。

この技術はマルウェアの作者特定に役立つとみられている。一方で、匿名でソフトウェアを公開したいプログラマーには難しい事態となるだろう。

関連リンク

  • by chi (11062) on 2018年03月20日 18時19分 (#3379184) 日記

    AIを使って、プログラマーの癖を隠したソースに変換すればいいんじゃないかな。
    そしてAIを使って、隠した癖を暴くソフトを作って。。。略

    ここに返信
  • このソフトの作者は、過去にバグの多いソフトを作ったプログラマである。

    みたいな事がわかるようになるんですかね。

    ここに返信
  • by ymasa (31598) on 2018年03月20日 22時15分 (#3379317) 日記

    まだAIが独り歩きしている。
    なんかAIというコンピューターモジュールがあって誰でも使えるとでもいうのかね?

    ここに返信
    • by Anonymous Coward

      独り歩きするAIとかいよいよSFが実現してて怖すぎんだろ...。

      • by Anonymous Coward

        独りよがりが止まらないAI、と書くとちょっと幸せな気分になれませんか

  • by Anonymous Coward on 2018年03月20日 19時02分 (#3379212)

    ゆうちゃんはネット上のサンプルを切り貼りして作ってたし

    ここに返信
    • by Anonymous Coward

      どういう分野でコピペが多いかで、特徴が出るためバレるとみた。

  • そこからバレちゃう、iPhoneアプリはほとんどそう

    ここに返信
    • by Anonymous Coward

      VSとかも割とコンパイル環境の情報ダダ漏れのバイナリ吐くよね。
      それをソースコードレベルの開発者と同定できる情報と呼べるかっていうとあやしいけど。

      • by Anonymous Coward

        なんでVC++にしか/PDBALTPATH:無いんだろうな?

  • by Anonymous Coward on 2018年03月20日 19時42分 (#3379244)

    Java・.NET Frameworkとかの中間言語系の言語は変数名まで含まれているし、Delphi系とかもクラス名は見えるし、そうでなくても外部公開の関数名とかリソースの文字列もはよめる。
    そこらへんからある程度の傾向はつかめるとは思う。
    でもそうじゃなくて逆コンパイルした結果から特定ってのは凄いね。
    CとかC++の逆コンパイルの結果なんて最適化のせいか逆コンパイルの性能不足かで何やってるかなんて検討もつかないのに。

    ここに返信
    • by Anonymous Coward

      >Java・.NET Frameworkとかの中間言語系の言語は変数名まで含まれているし、Delphi系とかもクラス名は見えるし、そうでなくても外部公開の関数名とかリソースの文字列もはよめる。
      >そこらへんからある程度の傾向はつかめるとは思う。

      ゲームのバイナリから「○○ン〇なめたい(コーダの氏名付き)」ってコメントを見つけられたのは
      言語は何だったのでしょうか

      #あれ、これ、ちゆ12歳で知った知識だったような気がする

      • by Anonymous Coward on 2018年03月20日 20時31分 (#3379265)

        「元祖西遊記スーパーモンキー大冒険」でしょうか。
        ファミコン時代のゲームなので言語としてはアセンブリですが、リソース・画像なのであんまり言語は関係ないです。
        exeとかならバイナリエディタやリソースエディタで覗いて、apkとかjarとかならzipとして解凍したら画像が入ってたみたいな感じでしょうかね。

        • by Anonymous Coward

          あの頃は余った領域に変なデータ入ってるゲームよくありましたっけね(今もかな?)

      • by Anonymous Coward

        ネットアイドルちゆは、日本語に堪能なプログラマを応援しています。

    • by Anonymous Coward

      GUIDから追跡はできないのかな。

      • by Anonymous Coward

        現状のGUID/UUID v4にはMACアドレスなどは含まれてないので、まぁ、よほど特徴のある乱数を個人で生成しているとかでない限り、難しいというか無理なのでは。

  • by Anonymous Coward on 2018年03月20日 20時21分 (#3379259)

    一応他人のモジュールを含むバイナリも解析できた、と書いてあるが、最近話題になる国家犯罪みたいなレベルのマルウェアだと大量の開発者の手が絡むから、その中の1人1人を解析出来るんだろうか。

    ここに返信
typodupeerror

ナニゲにアレゲなのは、ナニゲなアレゲ -- アレゲ研究家

読み込み中...