6. SOA安全與攻擊向量(Attack Vector)
圖 1
Before we start, realizing related terminologies(or buzzwords) first!
Terminologies:
SOA: Service-oriented Architecture(服務導向架構)
SOA不是一種技術,是一種架構、組織的方法(例如: Client Server是一種主從事的架構、P2P是另一種架構)。而它主要目的是為企業、學校或提供網路服務單位建構一個具彈性、可重複使用的整合性介面,使網路內外部能更有效率互相溝通,藉以提升網路服務。
在 SOA 的概念下,services 本身應該具有高度的 granularity(顆粒性),亦即構成這些 services 的 components 都能被 reuse。而且 SOA 承諾當建造一個新的 service 時,它所需的邊際成本(marginal cost) 會盡可能的低。
Character
- Distributed Architecture - SOA是由許多分散在網路上的系統整合而來
- Loosely Coupling - SOA內每個單元必須保持鬆散,這樣可以減少使用者花費多餘的心力在Know How上。也可降低維護成本。
- Open Standard - 使用開放標準來統一規範,避免標準不同時整合的困擾。
參考網頁 : http://www.cc.ntu.edu.tw/chinese/epaper/20070620_1008.htm
SOA is a concept!
Web services 就是運作 HTTP來相互連結的 SOA。
用一個簡單的例子來說明,Google provide Google Maps is a web services,然後許多人便透過 Google 所提供的 API 進一步(快速地) 開發出各式各樣與地圖相關的 new web services,而 Google 提供 API 那就是一種 SOA 的展現.
但 SOA 不僅只是 define API 而已,更正確的說,它是去 define protocol 與 functionality 的 interface.
而這些 web services 間的資料傳遞主要都是透過 SOAP, XML-RPC, and REST。
SOA能帶來的幫助:
1.增加企業盈收,或提升系統的服務品質。
2.提供可變動的網路服務型態。
3.降低使用者的成本。
4.降低開發服務的時間。
5.整合網路服務技術資源。
6.降低整體風險及意外。
Attack Vector( 攻擊向量):
所謂的攻擊向量就是 hacker 用來 host or server 的一種手段,透過 attack vector hacker 可以發現、揭露系統可能存在的漏洞,包括人為因素(e.g., configuration, policies)。
攻擊向量的手法包括病毒、電子郵件附件、網頁、彈出視窗、即時訊息、聊天室以及其他的方法。
簡單的說,攻擊向量就可以理解成攻擊的方式,不外乎透過 virus, worm, Trojan horse,或是 port scan, sniffing, ... etc.
回到 圖 1,這是一張簡單的 real-life SOA model,一個 web server 裡提供 Book Catalog API,而它的外圍隔著 firewall 與 Internet 相連,在彼端有著透過 firewall 使用這個 API 的其它 services,以及 services' client。
Where may flaw it have?
- Firewall
- poisonous requests disclose server's private
圖片來源:www.owasp.org
Attachment | 大小 |
---|---|
![]() | 90.93 KB |
![]() | 112.46 KB |