目前日期文章:201110 (35)

瀏覽方式: 標題列表 簡短摘要

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

SQL Injection資料隱碼攻擊的駭客攻擊手法,一直以來都高居OWASP Top10 的前兩名,有關於如何有效防範其攻擊的相關文件與技術討論,在網路甚至資安論壇,討論都非常激烈。最近卻發現仍然有許多programmer還是不清楚其攻擊的原理,在安全性問題的管理控制方式也沒有抓到重點,許多網站應用系統在開發時仍然漏洞百出,其主要的原因不外乎是架構鬆散,程式人員偷懶或早期撰寫程式碼的習慣不改的緣故。

在這種攻擊方式中,攻擊者會將一些惡意資料庫查詢語法,輸入到開發者使用的程式碼中。然後透過各種方式將該字串傳遞到如MS SQL Server資料庫的查詢命列中進行分析和執行。只要這個惡意字元或語法符合SQL 查詢語法的規則,在應用系統的編譯與執行階段時,就不會被編譯工具或執行階段工具發現。資料庫伺服器則會直接執行被竄改過的攻擊語法,對資料庫系統或儲存的資料,造成極大的威脅。因此,SQL 隱碼攻擊的危害是非常大的,那身為一個稱職的資料庫管理員或者開發人員該如何來防範呢?下面這些建議對相關人員預防SQL資料隱碼攻擊將非常有助益。

1.應用系統中存取資料庫時,應明確定義存取資料庫的使用者權限

假設一個普通用戶在SQL查詢語法中,嵌入一個Drop Table語句,那麼是否允許執行呢?由於Drop 語法關係到資料庫的基本物件,因此操作這個語句用戶必須有相對應的操作權限。在允許的權限中,對於終端使用者,即應用系統的操作者,除非必要,不需要賦予資料庫物件的建立、刪除等相關權限。即使在使用SQL語句中,被植入帶有惡意的操作語法或程式碼。由於因為權限管控嚴謹,對使用者的操作限制,這些惡意的動作也將無法被執行。故應用程式在存取架構設計時,最好把系統管理員的使用者與普通使用者區分開來。如此,可以最大幅度降低SQL Injection 資料隱碼攻擊對資料庫系統帶來的損害。

2.採用參數化(Parameterized)查詢語法 

一般SQL Injection 資料隱碼攻擊,是利用傳統習慣使用動態字串結合的方式,來組合成查詢語法,並將查詢語法結合程式碼,針對資料庫系統進行查詢或操作。因此,就給了駭客一個竄改資料並植入攻擊字串的機會。若能在撰寫SQL查詢語法時,使用者輸入的變數不是直接動態結合到SQL 查詢語法,而是通過參數來傳遞這個變數的話,那麼就可以有效的避免SQL Injection 資料隱碼攻擊。

換句話說,使用者的輸入絕對不能夠直接被結合到SQL查詢語法中。避免此類情形發生的作法,在針對使用者的輸入內容必須進行過濾,或者使用參數化的查詢方式,來傳遞使用者輸入的變數。參數化的查詢語法,在使用參數時,是把整個參數當成查詢資料,而不是將使用者輸入變數當成查詢的語法,因此就可以有效避免惡意使用者輸入攻擊語法。採用這種措施,可以杜絕大部分的SQL Injection 資料隱碼的攻擊。不過可惜的是,現在支援參數化語句的資料庫系統並不多。不過,如果在資料庫系統支援的情況下,開發人員在開發應用系統時要儘量採用參數化查詢的方式來設計系統。

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

  • Oct 20 Thu 2011 14:45
  • OSGi

OSGi(Open Service Gateway Initiative)有雙重含義。一方面它指OSGi Alliance組織;另一方面指該組織制定的一個基於Java語言的服務(業務)規範——OSGi服務平台(Service Platform)。

OSGi Alliance是一個由Sun MicrosystemsIBM愛立信等於1999年3月成立的開放的標準化組織,最初名為Connected Alliance。該組織及其標準原本主要目的在於使服務提供商通過住宅網關,為各種家庭智能設備提供各種服務。目前該平台逐漸成為一個為室內、交通工具、流動電話和其他環境下的所有類型的網絡設備的應用程序和服務進行傳遞和遠程管理的開放式服務平台。

該規範和核心部分是一個框架 ,其中定義了應用程序的生命周期模式和服務註冊。基於這個框架定義了大量的OSGi服務: 日誌配置管理、偏好,HTTP(運行servlet)、XML分析、設備訪問、軟件包管理、許可管理、星級、用戶管理、IO連接、連線管理、Jini和 UPnP

這個框架實現了一個優雅、完整和動態的組件模型。應用程序(稱為bundle)無需重新引導可以被遠程安裝、啟動、升級和卸載(其中Java包/類的管理被詳細定義)。API中還定義了運行遠程下載管理政策的生命周期管理服務註冊允許bundles去檢測新服務和取消的服務,然後相應配合。

OSGi原先關注於服務網關,其實可用於多個方面。現在OSGi規範已經用於從流動電話到開源的Eclipse(其中包括了與IBM的OSGi框架SMF兼容的開源版本)。 OSGi服務平台的應用包括:服務網關、 汽車流動電話、 工業自動化建築物自動化、 PDA 網格計算娛樂(如iPronto)、和 IDE

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()


DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

DeepSe@ 發表在 痞客邦 PIXNET 留言(0) 人氣()

1 2