五種常見的ASP.NET安全缺陷

來源:互聯網
上載者:User
保證應用程式的安全應當從編寫第一行代碼的時候開始做起,原因很簡單,隨著應用規模的發展,修補安全性漏洞所需的代價也隨之快速增長。根據IBM的系統科學協會(Systems Sciences Institute)的研究,如果等到軟體部署之後再來修補缺陷,其代價相當於開發期間檢測和消除缺陷的15倍。
  為了用最小的代價保障應用程式的安全,在代碼本身的安全性、抗禦攻擊的能力等方面,開發人員應當擔負更多的責任。然而,要從開發的最初階段保障程式的安全性,必須具有相應的技能和工具,而真正掌握這些技能和工具的開發人員並不是很多。雖然學寫安全的代碼是一個複雜的過程,最好在大學、內部培訓會、行業會議上完成,但只要掌握了下面五種常見的ASP.NET應用安全缺陷以及推薦的修正方案,就能夠領先一步,將不可或缺的安全因素融入到應用的出生之時。
  一、不能盲目相信使用者輸入
  在Web應用開發中,開發人員最大的失誤往往是無條件地信任使用者輸入,假定使用者(即使是惡意使用者)總是受到瀏覽器的限制,總是通過瀏覽器和伺服器互動,從而開啟了攻擊Web應用的大門。實際上,駭客們攻擊和操作Web網站的工具很多,根本不必局限於瀏覽器,從最低級的字元模式的原始介面(例如telnet),到CGI指令碼掃描器、Web代理、Web應用掃描器,惡意使用者可能採用的攻擊模式和手段很多。
  因此,只有嚴密地驗證使用者輸入的合法性,才能有效地抵抗駭客的攻擊。應用程式可以用多種方法(甚至是驗證範圍重疊的方法)執行驗證,例如,在認可使用者輸入之前執行驗證,確保使用者輸入只包含合法的字元,而且所有輸入欄位的內容長度都沒有超過範圍(以防範可能出現的緩衝區溢位攻擊),在此基礎上再執行其他驗證,確保使用者輸入的資料不僅合法,而且合理。必要時不僅可以採取強制性的長度限制策略,而且還可以對輸入內容按照明確定義的特徵集執行驗證。下面幾點建議將協助你正確驗證使用者輸入資料:
  ⑴ 始終對所有的使用者輸入執行驗證,且驗證必須在一個可靠的平台上進行,應當在應用的多個層上進行。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.