《逆向工程核心原理》作者李承遠:攻擊越強,防御也會越強

jopen 10年前發布 | 12K 次閱讀 逆向工程

        李承遠是韓國逆向工程技術專家,目前負責帶領 AhnLab 安卓惡意代碼分析團隊。他以前是C/C++開發工程師,后來加入安全公司并從事惡意代碼分析工作。如今,李承遠在安全公司 AhnLab 從事惡意代碼分析已有十年,在此期間他分析了大量的惡意代碼,并開發出了對惡意代碼進行自動分類多種程序。他帶領的安卓惡意代碼分析團隊,從全球認證企業 獲得了“世界最高診斷率紀錄”。2009 年起,他開始運營逆向分析技術專業學習博客。從世界各地博客訪客的留言中,他燃起了寫作《逆向工程核心原理》這本書的想法。

《逆向工程核心原理》作者李承遠:攻擊越強,防御也會越強

        您當初是如何從 C++ 工程師轉行加入安全公司的, 是什么樣的機會呢?

以前單位的前輩向安全公司推薦了我,作為開發人員,我對惡意代碼分析感到十分新奇有趣,所以跳槽了。

</blockquote>

        非安全領域的程序員怎么才能邁進安全領域的大門?

如果您希望在逆向工程領域就業,最好通過網絡社區交流等活動,與觀點類似的人進行溝通。因為進入新領域的時候,最重要的就是獲取多種信息。其實要想成為逆向工程師,也不一定非要從開發人員做起。

</blockquote>

        逆向工程所需要的知識很綜合,您是否考慮在每章附上一些其他的學習資料供讀者選擇?作為《逆向工程核心原理》的補充,您有什么其他的書籍或學習材料推薦嗎?

我本人從兩本書中獲得了很大幫助,它們都十分有助于深入理解 Windows 操作系統。

  1. Windows Via C/C++, Jeffrey Richter / Christophe Nasarre Microsoft Press 《Windows 核心編程》,清華大學出版社
  2. Windows Internals, Mark Russinovich / David A Solomon / Alex Ionescu Microsoft Press 《深入解析 Windows 操作系統》,人民郵電出版社
  3. </ol> </blockquote>

            移動安全得到越來越多人的重視,關于 Android 安全軟件,您有什么推薦的學習資料和書籍嗎?

    我目前還沒有看到什么安卓方面的書值得推薦,不過建議各位可以參考 developer.android.com 上的官方資料,嘗試分析源代碼。

    </blockquote>

            許多 Android 安全軟件不斷去破解 Android 本身的安全機制,以便使用更強大的功能支持其工作,您是如何看待這種自相矛盾的情況呢?

    眾多安卓手機用戶都先 rooting 后使用,在這種 rooting 環境下,惡意軟件會通過 root 權限進行更隱蔽而強烈的攻擊,而安全軟件又不得不通過相同的 root 權限進行防御。韓國的 rooting 用戶比較少,還不算什么大問題,但在 rooting 用戶相對較多的中國,惡意軟件與安全軟件的拼殺會以何種方式進行,我將一直保持高度關注。

    </blockquote>

            現在商業的虛擬機加密也越來越常見了,效率損失的不低,但是加密強度確實非常高,隨機性也強,逆向工程技術是不是遇到瓶頸了?

    您是說“逆向分析技術已經停滯,不再發展”了嗎?也沒有那么絕對。攻擊越強,防御也會越強。人們一定會針對新的攻擊方法開發出新的防御方法,一切只是時間問題。

    </blockquote>

            對于現在不斷涌出的新的腳本語言,腳本程序也可能被感染,您覺得這樣的文件檢測惡意軟件容易嗎?

    現在也有很多腳本病毒格式。腳本文件越多、安裝到用戶 PC 的越多,腳本病毒也就越多。腳本病毒的檢測就像其制作一樣容易。

    </blockquote>

            各種新的程序語言,他們可能用自己的庫對 API 進行封裝,對這樣的程序逆向或者檢測有什么好的思路嗎?

    可以用常規逆向方法,但實際并不容易。如果開發了適合該語言的專用逆向分析工具,就完全可以保質保量地進行逆向分析,但開發新工具的過程要耗費大量時間。

    </blockquote>

            逆向工程是一把雙刃劍,既可以檢測分析病毒,也可以用來破解商業軟件,對于這種情況你怎么看?

    安全技術需要很高的倫理意識,逆向工程師靈活運用自己掌握的技術,就能作為安全方面的專家為社會做貢獻;如果惡意使用,將自己視作惡意代碼編寫者,就會為他人帶來損失,所以我才說它是雙刃劍。

    </blockquote>

            利用逆向工程可以分析惡意代碼、檢測蠕蟲、反病毒,但技術人員也可以利用逆向工程,來對某款殺毒軟件檢測病毒的行為進行反-反病毒研究,從而躲過殺毒軟件的檢測。像這種博弈可能未來很長一段時間內都會繼續存在。關于未來檢測惡意軟件的方法,您有什么好的想法嗎?

    惡意代碼編寫者一直試圖使殺毒產品無效,安全專家又為了避免這種行為而開發反-反殺毒技術。這就是安全領域從業人員無法擺脫的宿命。

    這種情況下,人們引入了檢測惡意軟件的多種方法之一——Clean OS,這是一種 White List 分類方法。它使企業 PC 中只能安裝使用公司規定的軟件,其他所有運行的軟件都被診斷為 Risk,并從運行之初就進行攔截。雖然這個方法很難適用于個人 PC,但的確值得企業引進。

    </blockquote>

     本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
     轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
     本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!