IT、ガジェットネタまとめ速報

IT技術やガジェットネタに関するみんなの反応のまとめをチョイスしてお届け!

Web系関連記事: プログラミング、開発関連

機械学習を用いると匿名のソースコードから個人を識別可能であることが判明

投稿日:

1: 田杉山脈 ★ 2018/08/13(月) 17:24:20.61 _USER
sfddindex
プログラミング言語を用いて書かれた「ソースコード」はあらかじめ定められた規則に従って記述する必要があり、匿名で公開されたコードから個人を識別することは困難に思えるかもしれません。ところが、実際にはコードにも個人の特徴が色濃く表れており、機械学習を用いてコードのサンプルから個人を識別できることが判明しました。

ドレクセル大学のコンピューターサイエンス准教授であるレイチェル・グリーンシュタット氏と、ジョージ・ワシントン大学でコンピューターサイエンスの准教授を務めるアイリン・カルスキン氏は、プログラミング言語で書かれたコードは完全に匿名のものではなく、機械学習を用いて個人を識別可能だという研究結果を発表しました。

2人は機械学習のアルゴリズムにコードサンプルを分析させ、用いた言葉の選択やコードの長さ、コードのまとめ方といったあらゆる特徴を抽出しました。次に2人は抽出された特徴の中から、開発者個人を識別するのに役立つ特徴のみを選別し、コードから個人を特定する時に注目するべきリストを絞り込んだとのこと。コードの書き手は通常の文章と違い、一定の規則に従ってコードを書き進めなければならないという制約がありますが、それでもコードから個人を識別可能な特徴を抽出できるようです。

また、コードサンプルは非常に長いものである必要があるわけでもなく、グリーンシュタット氏らが発表した2017年の論文(PDF)によればGitHubに公開されたほんの短いコードの断片であっても、特定の開発者とそれ以外の開発者を識別できるとのこと。加えて、すでに0と1で表される機械語にコンパイルされたコードからでも、個人の識別が可能だとカルスキン氏は述べました。

カルスキン氏らの研究チームは、Googleが開催するプログラミングコンテストのGoogle Code Jamで書かれたコードをもとに、100人の開発者が書いたコードをアルゴリズムに識別させました。すると、実に96%の精度で個人を識別することができたとのこと。また、識別する開発者数を600人にまで拡大した場合でも、83%の精度で個人を識別できたとしています。

グリーンシュタット氏とカルスキン氏は、プログラミングを勉強する学生が他のコードを盗用したのかどうかを判断する場合や、マルウェアの開発者を特定する時などにコードから個人を識別するAIが役立つとしています。また、関係のない第三者を装って行われたサイバー犯罪に対しても、背後にいる人物の存在をあぶり出すことができるとのこと。

一方でオープンソースプロジェクトに匿名で参加しているプログラマーや、匿名でコードを公開しているプログラマーのプライバシーが脅かされる可能性もあります。「コード開発者の身元を100%隠すことは、一般的に考えて難しいと理解する必要があります」とグリーンシュタット氏は述べており、将来的にはコードから個人を識別不可能にするツールが開発されるかもしれないが、しばらくは匿名で公開したコードから個人を特定される危険性があるとしました。

また、グリーンシュタット氏らはプログラミングの初級者と上級者では、上級者のほうが個人を識別しやすいという事実も発見しました。これは、初心者がコードの一部をプログラミング練習サイトからコピーしてくる場合があって特徴が出にくいのに対し、上級者になればなるほどコーディングがこなれてきて、個人間に差異が出やすいためだそうです。他にも、2人はコードのサンプルが「簡単な問題を解決するために書かれたコード」である場合よりも、「複雑な問題を解決するために書かれたコード」である場合のほうが個人の識別精度が向上することも突き止めました。

グリーンシュタット氏らが行った予備調査では、カナダ人の書いたコードと中国人の書いたコードを90%以上の精度で判別できるなど、コードから得られる情報は予想以上に多いようです。記事作成時点では、コードによる個人の識別は指紋による個人識別のように100%に近い精度を持っているわけではありませんが、今後さらに識別精度が向上していくだろうと考えられています。
https://gigazine.net/news/20180813-machine-learning-identify-code-authors/

引用元: http://egg.5ch.net/test/read.cgi/bizplus/1534148660/

続きを読む

このまとめの続きはコチラ!

-Web系関連記事: プログラミング、開発関連

関連記事

プログラミング教育、進まぬ準備…小学校必修化

1: ムヒタ ★ 2018/06/24(日) 10:07:13.21 _USER
 小学校で2020年度に必修化されるプログラミング教育について、5割以上の区市町村教育委員会が準備を始めていないことが、文部科学省の委託調査でわかった。地域別では北海道は8割、東北も7割に上っており、地域間…

「ザクII」を動かすプログラミング教材、20年3月発売 約10万円

1: へっぽこ立て子@エリオット ★ 2019/09/27(金) 15:05:43.95 _USER
 バンダイは9月27日、アニメ「機動戦士ガンダム」の世界観を楽しみながらプログラミングを学べる教材「ZEONIC TECHNICS」(ジオニック テクニクス)を2020年3月に発売すると発表した。価格は9万8890円…

セキュリティ人材で大切な資質とは–育成ブームに「苦言」

1: 田杉山脈 ★ 2018/08/14(火) 22:25:42.62 _USER
サイバーセキュリティの重要性が増す中で世界的にセキュリティ人材の不足が叫ばれ、人材育成がブームの様相を見せる。こうした状況に専門家がセキュリティ人材に求められる資質を説くとともに、育成ブームに苦言も呈して…

京都市が基幹系刷新で2度目の失敗、2020年1月の予定だった稼働時期が「未定」に

京都市が基幹系刷新で2度目の失敗、2020年1月の予定だった稼働時期が「未定」に

1: サーバル ★ 2019/12/28(土) 20:57:49.75
京都市が基幹系刷新で2度目の失敗、2020年1月の予定だった稼働時期が「未定」に 2019/12/27 18:30  京都市はNEC製メインフレーム上で約30年稼働する基幹系システムのバッチ処理をオープンシステムに刷新するプロジェクトに…

次世代国産スパコン「富岳」、コロナ対策で活用研究

次世代国産スパコン「富岳」、コロナ対策で活用研究

1: へっぽこ立て子@エリオット ★ 2020/04/07(火) 14:40:13.46 ID:CAP_USER
文部科学省は7日、新型コロナウイルス対策として、次世代の国産スーパーコンピューター「富岳(ふがく)」を活用した研究を始めると発表した。治療薬候補の探索や、ウイルス表面のたんぱく質の…