可重用云工具彌補應用安全問題
“所有的這些工作對于安全來說都很必要,但這并不是應用功能的核心,”Hazlewood說,“并且,因為這些自定義代碼并不強大,而且不能被多個應用程序使用,開發(fā)人員通常為他們建立的每個應用重寫相同的代碼,進一步加劇了開發(fā)成本。”一旦實現(xiàn),這些從零開始編寫的代碼通常就會被忽略并且很少更新,可能隨著時間的推移就會出現(xiàn)安全漏洞。
Hazlewood啟動Apache Shiro項目,創(chuàng)建一個用于認證、授權、加密和會話管理的開放源代碼的Java安全框架。
“Shiro強大了,”Salazar說。即便如此,Hazlewood仍然發(fā)現(xiàn)一個問題:安全框架只解決了部分的認證訪問控制問題,因為框架為了完成他們的工作,仍然不得不與后端系統(tǒng)對話,如Active Directory或LDAP。當構建基于云的應用程序時,然而,沒有Active Directory或LDAP,因此他仍然不得不反復地重塑那一部分。
Hazlewood說,在公有云中,傳統(tǒng)的網(wǎng)絡安全策略并不適用,而且任何安全漏洞可能被迅速利用。這個缺陷與索尼PlayStation Network 、LinkedIn、Last.FM、雅虎和最近的Twitter相比,成本明顯很高。
Hazlewood說:“大多數(shù)開發(fā)團隊的員工沒有足夠的安全專業(yè)知識,所以當將他們的應用程序部署到公有云時,他們冒著非常高的風險”。Salazar表示同意,“云日漸成為應用程序的爭議平臺。”
Hazlewood不知道Salazar也在云中間件軟件領域處理著同樣的問題,現(xiàn)有的工具有單點登錄功能,這些功能對于在云中構建新的應用程序是不夠的。“當將Salesforce與其他產(chǎn)品集成時,單點登錄是很好的,但對于你自己的自定義應用卻并非如此,”Salazar說,“我看到每個人在構建定制云應用都很痛苦,以及非常具體應用程序、手機的應用程序、客戶應用程序、伙伴應用程序等等。”
Salazar叫Hazlewood來解決他的技術驗證的問題。“他開始笑了,因為他在做相同的事情,”Salazar說,“我說,‘好吧,讓我們談談一些客戶。辭掉工作并創(chuàng)辦一個公司。’”
作為開放源代碼軟件的支持者,他們第一次計劃發(fā)布他們的工具作為開放源代碼的產(chǎn)品,使用典型的開放源代碼的商業(yè)模式。在探索性研究中,他們發(fā)現(xiàn),對于那些擁有內部安全與發(fā)展團隊的大企業(yè)來說,開放源代碼交付效果很好,但是那些小型和中型企業(yè)(SMB)卻效果不佳。如必要的話,大公司有能力 DIY,但是他們卻很歡迎可重用、內部的解決方案。大多數(shù)中小企業(yè)沒有DIY的安全團隊或內部專業(yè)。“顯而易見,云交付是中小企業(yè)交付路線,”Salazar說,“中型企業(yè)不想做安全管理,他們擔心修補數(shù)據(jù)庫服務器和運行最新的副本。他們只是想要一個隨需應變的API”。
開發(fā)人員構建新的應用程序,Stormpath提供自動化安全工作流的服務,啟用身份驗證服務、訪問控制和更多服務,Hazlewood說:“因此開發(fā)人員可以回去寫代碼了”。如認證、密碼重置和電子郵件帳戶驗證這樣的工作,每一個都需要一個單一的REST調用。Salazar說:“沒有數(shù)據(jù)建模,沒有代碼,沒有UI,也沒有那些”。語言庫使Java、PHP和Rubydevelopers不必了解REST和JSON。
“沒有人喜歡一遍又一遍地構建安全性,” Salazar說,“這是應用程序的關鍵,但它并不是核心;建立業(yè)務邏輯才是核心。”他們繼續(xù)探索可重用應用安全解決方案,對于Salazar和 Hazlewood來說,接下來的一步是建立更多的Stormpath軟件開發(fā)者工具包并擴展開發(fā)語言和平臺支持。