標籤:嵌入式開發 安全
軟體嵌入式研發行業現狀分析:
軟體研發或嵌入式研發行業,其核心部分往往就是原始碼,如何做好原始碼的管理至關重要。此文僅談原始碼的安全管理。根據軟體研發或嵌入式研發行業的從業者現狀,認為研發從業人員有以下特點:
1.學曆較高,都非常聰明,非常懂電腦。
2.每個研發人員都有能力寫程式,甚至可以通過寫程式,進行各種資料變形。例如:檔案讀寫(輸出日誌)、socket通訊、記憶體映射,常駐服務等,對於Web開發人員,經由IIS或TomCat等web伺服器的代碼變形更是輕而易舉。
3.研發人員的個性較強,比較難管理
而我們軟體研發或嵌入式行業特點要求必須對研發成果—原始碼進行安全管理。但是現實的工作必須環境特點為:
-大家必須有區域網路,才能協同工作;
-需要能訪問互連網,方便尋找資料;
-必須通過U口串口網口等連接埠串連外部裝置進行調試。
對於一些企業有的採用物理隔離,有的上虛擬化,有的上文檔級加密軟體,監視軟體基本上都是形同虛設。例如常見的物理隔離,就是網路和外網斷開,然後禁止使用U盤(軟體或機箱),看上起很美好,但是對於懂電腦的研發人員來說,影響了工作效率,還是無法達到安全。
--對於軟體禁止U盤的,搞個U盤PE,然後直接從U盤啟動繞開作業系統的管控做任何事。
--插拔牆上的網線頭直連自己的膝上型電腦進行資料轉送。
--對於不能封U口/串口的嵌入式調試環境更簡單,直接可以把資料通過U口串口寫出來。
。。。。。。
另外,對於虛擬化,所有資料在伺服器端,看上去很完美,但是只要外網可用,外設可用,基本上沒什麼安全可言。
作為一個軟體嵌入式研發公司的資訊安全管理者,應該如何呢?
研發團隊代碼管理要點:
第一重要:必須構建原始碼版本管理伺服器
無論是多大的研發團隊,原始碼版本管理伺服器都非常重要。不能因為團隊小,圖省事,就不使用原始程式碼控制伺服器了。使用原始程式碼控制伺服器,不但可以追朔曆史,而且還能提高團隊協作,提高產品品質。目前常見的原始碼版本管理伺服器有SVN/VSS/CVS/GIT等。
有了原始碼版本管理伺服器,就可以規範開發流程了。
1. 必須規定每個研發人員,每天必須把編譯通過的原始碼提交到版本伺服器,防止終端異常代碼找不到。修改代碼必須要有注釋,不但代碼中要有,更新SVN的時候也要有。
2. 發布版本的時候,必須完整的從SVN下載代碼進行編譯,然後以此結果發布,不允許任何員工從自己的電腦直接發布軟體版本。
3. 版本伺服器上必須設嚴格的訪問項目目錄存取權限,沒必要的使用的目錄,不需要給員工開放。
4. 在原始碼版本管理伺服器上必須部署SDC沙箱機密端,做到只有安裝了SDC沙箱用戶端的電腦才能到這個原始碼版本伺服器上下載,更新代碼。而一旦部署了SDC沙箱,所有代碼都是拷貝不走的,安全的。
5. 伺服器物理存放到機房或老闆辦公室,不要讓員工直接接觸。收回作業系統帳號。
第二重要:設計時加入安全因素
1. 研發設計不能省,必須進行模組化設計,模組間有明確的介面,核心模組的代碼最好做成library,避免無關的人直接接觸核心代碼,也可以避免每個開發人員都有完整的代碼,降低泄密風險。
2. 為有效防止反編譯,關鍵模組代碼最好使用C/C++語言。
第三重要:日常代碼安全管理
任何項目研發,基本上都有設計,編程,測試,發布等幾個基本環節。
1.在設計/編程階段,要圍繞SVN,在SDC沙箱安全環境下進行。SDC沙箱是個容器,什麼都能跑。並且不影響安全。此階段,使用普通策略即可。
2.在測試階段,由於要串連測試伺服器或者是外部裝置進行調試,此時是代碼安全風險最高的階段,也最難管理。此階段,首先要把測試伺服器納入SDC沙箱安全環境中來,這樣發布到測試伺服器上的內容,就無法被拷貝走。如果需要對裝置進行燒錄,那就啟用SDC沙箱的智能連接埠過濾功能模組,不影響調試的同時,也能有效控制經由裝置的中轉代碼泄露。
3.產品發布階段,走外發審批,然後才能對外發布。如果有能力,推薦搭建web化的自動編譯/發行伺服器。
另外,其他注意事項:
4.必須嚴格遵循開發規範和流程,讓每位員工有安全意識,如人離開電腦後鎖屏。
5.開發電腦上都要部署SDC沙箱用戶端,讓其在涉密沙箱內寫代碼,如果要上外網,從沙箱外上外網。(沙箱內透明加密,不影響編譯調試,各種變形都無法逃離沙箱);
6.訪問互連網查資料的時候,資料只進不出;
7.使用QQ等即時聊天工具時,資料只進不出,並反截屏:
8.要向外部拿資料,必須讓其走審批。
第三重要:充分發揮SDC沙箱的功能
SDC沙箱是一套完整的原始碼安全解決方案,除了標準的防泄密功能之外,還有行為監控預警功能,例如列印內容監控,上網內容監控,外設資料通訊監控,使用者行為分析,螢幕監控,反截屏,反拍照等功能。如果能用好各項功能,可以極大的提高原始碼的安全性,詳細請參考SDC沙箱的官網www.shenxinda.com。
軟體嵌入式研發行業原始碼安全管理方案概要