上個月我花了一些時間從合作網絡角度上寫了一些關于數字鏈系統供應安全。我曾有機會在新加坡RSA安全會議上談論這個,并且和參會人員在外包代碼開發方面產生一些共鳴。
我完全理解為什么一個公司想要尋找開發人員來支持它們的開發工作。在美國他們會說有許多聰明的開發者,他們可利用的價值很少。但是這依賴于海外程序員可能會導致公司承包工作某些方面的失敗。我見證了好多代碼被排除生產因為沒有合適的版本。這種行為總是讓我意外,一些大型企業已經接受了外包提供者編寫的有問題不安全的代碼,或者說,他們只是在工作需要的時候接受它。一個令人沮喪的行為被專注于截止日期而不關注過程的組織驅使,如果用代碼被編譯它,"時間就是金錢"的道理是真的。
在印度有這樣一個組織承包了一家公司來增強他們的開發團隊。簡單地契約,之后我們的團隊開始問問題,第一個問題是發現任何類型的訪問檢查過之后進行簽約,之后發現合約里沒有提到安全問題。開始24小時的日志訪問是相當無趣的。有從金奈、海得拉巴、孟買、普納和班加羅爾的登錄。沒有什么不同尋常的事情,但是,《紐約時報》看起來有點特殊。第一次登錄是下午6:43,最后一次登錄是下午7:55。這件事讓我感到十分的疑惑。
之后我就像被從穆罕默德·阿里撞擊一樣,每六個登錄都使用相同的RSA SecurID令牌。
這是一個基于硬件令牌每六十秒生成的驗證碼。他們的出現似乎能夠讀出一個人的身份證號碼,以便他們能夠使用VPN連接到我們的公司網絡。
我的腦袋都大了,這只是冰山一角,因為我們忽略了合同中的安全問題,還有糟糕的代碼、糟糕的安全實踐,沒有追索權。公司進一步復合協商續約,并沒有興趣向提供者施壓來提高我們的價格。挫折是顯而易見的,但是隨著時間的慢慢推移,在這家公司事情將變得更加有條理。
另一個公司,我曾工作與不同國家的外包代碼開發,像俄羅斯。在這種情況下,外包供應商出口控制一些代碼。他們不能獲得所有的各種各樣的代碼區域法律問題。他們將不斷的開放票請求訪問,超過他們被允許的,比零價值的幫助臺更常用,將被外包批準。于是它變成了噩夢般的打地鼠游戲。
提供者在俄羅斯的問題上遠遠比我們想的復雜,他們有一個版本控制軟件允許他們觀看代碼在執行合同時的工作。這從理論上講是合理的,問題是再次捷徑,而不是訪問僅限于他們合同中開放的訪問的整個代碼庫。他們甚至有控制系統版本的根密碼。令人難以置信的最終被糾正,它同時也給了我們深刻的教訓。
這些事件教育這些公司將來確保將安全事項列入合同內。這些公司沒有解決最基本的,也沒有主動監測,承包公司也沒有安全標準培訓。當從供應商接受代碼的時候就沒有審查。如果你的組織不能夠做到這些,那么你需要花時間換一個能夠專門從事安全審查你代碼的。
最低的報價并不總是最好的選擇。當承包給第三方數字供應鏈是,執行比勤奮更重要。