機器學習可以「指紋」程式設計師

機器學習可以“指紋”程序員

程序員往往有自己獨特的風格,但是在尋找關於程序作者的明確線索的過程中,編寫許多代碼並不是真的可行。現在,這可能沒有必要。研究人員已經開發出一種機器學習系統,可以通過原始源代碼或編譯的二進制文件對程序員進行“去匿名化”。正如Wired所解釋的,該方法訓練算法以基於其工作的示例識別程序員的編碼結構,並使用這些來識別代碼樣本中的共同特徵。您也不需要給定程序的大塊 - 短片段通常就足夠了。

在使用Google Code Jam結果的測試中,基於AI的技術相對準確,但遠非萬無一失。每個系統有600名程序員和8個樣本,系統可以在83%的時間內識別創建者。

這項技術對調查人員來說可能是一個福音。這對識別惡意軟件創建者很有用,特別是當肇事者試圖構建其他人時。它也可能對抄襲案件有所幫助,在這些案例中,機器學習可以說明純粹的巧合相似性和公開復制。

然而,它可能同樣是一種詛咒。雖然掩蓋代碼的來源是可行的,但這可能會使得以真正的匿名性貢獻代碼變得困難。理論上,即使您正在切換帳戶或者不想留下痕跡,理論上也可以識別您的開放工作。任何可能的未來實施都可能需要在安全願望和隱私需求之間取得謹慎的平衡。


分享到:


相關文章: