NO.62 | 2019.12.31
banner
title有備而來 友善列印>>
AI 智慧應用新世代人才培育計畫-Tensorflow 人工智慧與資訊安全應用實務課程心得_資通安全組 王慶豐經理、黃揚程副工程師、吳勁儫副工程師、賴冠宇助理工程師


  特別感謝中心提供進修學習資安技術的機會,雖然大家下班後接續上課需要調適精神體力,但南部地區有此課程亦為難得之機會,透過系統性內容快速了解當代最新的人工智慧基礎及概觀技術,與全球各大知名研究團隊競相爭逐突破此一新領域之現況。

  自2016年起,人工智慧技術技術爆發至今短短三年時間,從AlphaGO到無人駕駛,從量子計算電腦到SpaceX 首席執行長馬斯克(Elon Musk)的太空計畫,全球開創性焦點事件背後均與人工智慧技術有緊密關聯,也在生活中的醫療健康、金融、商務零售、娛樂等領域發揮巨大的影響力。掀起這股熱潮最重要的技術之一就是深度學習(Deep Learning)技術。

  目前常見的深度學習有卷積神經網路(Convolutional Neural Networks,CNN)、遞迴神經網路(Recurrent Neural Networks,RNN)、生成對抗網路(Generative Adversarial Network,GAN)等;其中,本心得以分享卷積神經網路為主,簡要說明如何利用此技術協助檢測和分類惡意程式。

  根據全球資安公司Check Point的調查指出,2019年初臺灣遭受Lokibot與Virut攻擊的次數是全球6倍, 2018全年臺灣最常見的前十大惡意程式其攻擊次數與比例為全球兩倍[1]。毫無疑問,駭客不斷衍生、製造新的惡意程式以攻擊目標。雖然全球各大資安廠商盡最大努力防範攻擊威脅,然而惡意程式產生的數量之多,係為強大挑戰,因此,有資安研究團隊提出透過卷積神經網路技術來克服。

  卷積神經網路是解決圖像分類問題或機器視覺問題的深度學習方法,主要技術之演進從1998年LeNet[2]至2012年的AlexNet[3]再到2014年的VGGNet[4]、GoogleNet[5]等,最後到2017年SENet[6]。其中AlexNet開創了重要的里程碑,由深度學習之父Geoff Hinton的團隊在2012年提出並拿下ILSVR(ImageNet Large Scale Visual Recognition Competition)冠軍,且以很大的差距,擊敗使用知名機器學習SVM(Support Vector Machine)技術的XRCE team (Xerox Research Centre Europe)團隊[7]

  ImageNet每年舉辦大規模視覺識別挑戰賽;從2010年開辦以來,全球最富知名的人工智慧領域團隊都以取得此項比賽最高名次為殊榮。只是該活動於2017年後即停辦,因為當年某自動駕駛公司提出SENet(Squeeze-and-Excitation Networks)技術,將ImageNet上的分類錯誤率降到2.25%,已優於人眼辨識錯誤率5.1%[8]。但如何將惡意程式轉換成圖像,並輸入卷積神經網路以建構惡意程式分類器呢?惡意程式可視化(Malware Images)在過去為眾多資安研究議題之一, 2011年由聖塔芭芭拉加利福尼亞大學 (University of California, Santa Barbara)研究團隊提出將惡意程式轉成圖像和自動分類的研究[9]
 

圖1:Visualizing Malware as an Image
(圖片來源:Malware Images: Visualization and Automatic Classification)

  將惡意程式轉成如下圖所顯示隻灰階圖像,就可用來訓練模型,再選擇預訓練好的ImageNet圖像識別模型,對這個模型進行導入。
 

圖2:Malware Images belonging to various malware families
(圖片來源: Malware Images: Visualization and Automatic Classification)

  接著,資安研究人員利用目前為人工智慧主流之開放原始碼工具,以Python為主的程式語言及相關套件模組進行實作測試。這些龐大複雜的工具背後,其開發團隊動輒500位研發工程師起跳,砸下巨資進行研究開發。目前為業界主流、較常使用(如Facebook),由PyTorch、Google Brain team團隊所開發的TensorFlow,於今年10月提出2.0版本,強化深度學習的核心套件Keras的整合,可用於建立及訓練深度學習模型的高階API。而PyTorch近幾年廣泛使用在學術界,具有一定的能量可以挑戰或超越取代TensorFlow。這些程式開發上的實作在網路上有雪片般大量的參考資料,本文內不做細節的說明。

  從研究、落實到真正的應用,之間會面臨一些挑戰,相關技術文獻提出可利用不同的深層網路架構來檢測已知或未知的惡意程式,但是在Portable Executable (PE)格式檔案則就還需要考慮到程式內的函式呼叫(function calls)和jump指令等複雜因素。此外,再從這些深度學習領域發表技術論文的研究團隊來看,幾乎都是國際高等學府研究機構等,必然挹注很高的經費在運算平臺,這個領域的研究人員和開發者比起以往更需要大型GPU運算效能來執行、測試和開發更強大的模型。這是科技超高速起飛的時代,AI技術逐漸成熟,加上5G和物聯網應用快速發展,資安的議題也因科技變革與應用情境創新而變得更為複雜。在這樣高速發展的時代,唯有不斷拚命往前跑,才能保持現在的局面。因此,我們團隊必須思考更具開創性的方向,才有向上與發展的契機。
 

[1] 臺灣遭受惡意程式攻擊現況揭露, https://www.ithome.com.tw/news/129187
[2] LeCun, Y., Bottou, L., Bengio, Y., & Haffner, P. (1998). Gradient-based learning applied to document recognition. Proceedings of the IEEE, 86(11), 2278-2324.
[3] Krizhevsky, A., Sutskever, I., & Hinton, G. E. (2012). Imagenet classification with deep convolutional neural networks. In Advances in neural information processing systems (pp. 1097-1105).
[4] Simonyan, K., & Zisserman, A. (2014). Very deep convolutional networks for large-scale image recognition. arXiv preprint arXiv:1409.1556.
[5] Szegedy, C., Liu, W., Jia, Y., Sermanet, P., Reed, S., Anguelov, D., ... & Rabinovich, A. (2015). Going deeper with convolutions. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 1-9).
[6] Hu, J., Shen, L., & Sun, G. (2018). Squeeze-and-excitation networks. In Proceedings of the IEEE conference on computer vision and pattern recognition (pp. 7132-7141).
[7] Xerox Research Centre Europe,https://www.uab.cat/doc/DOC_InternshipXEROX
[8] IMAGENET, Where have we been? Where are we going?,http://image-net.org/challenges/talks_2017/imagenet_ilsvrc2017_v1.0.pdf 
[9] Nataraj, L., Karthikeyan, S., Jacob, G., & Manjunath, B. S. (2011, July). Malware images: visualization and automatic classification. In Proceedings of the 8th international symposium on visualization for cyber security (p. 4). ACM.