互聯網企業安全高級指南3.6 需要自己發明安全機制嗎

3.6 需要自己發明安全機制嗎


1. 安全機制的含義

首先解釋一下發明安全機制這句話的意思。安全機制包括:常見的對稱和非對稱加密算法,操作系統自帶的RBAC基于角色的訪問控制,自帶的防火墻Netfilter,Android的基于appid隔離的機制,kernel支持的DEP(數據段執行保護),以及各種ASLR(地址空間隨機映射),各種安全函數、服務器軟件的安全選項,這些都屬于已經存在的安全機制,注意我用的詞是“已經存在”,而這個話題是針對是不是要在已有的安全機制上再去發明新的安全機制,比如三星手機的KNOX,就是在Android基礎上自己造了個輪子。

2. 企業安全建設中的需求

企業安全的日常工作是不是也會面臨自己去發明安全機制的需求?會,但是不常見。實際上,在日常中發生的絕大多數問題都屬于對現有安全機制的理解有誤、沒有啟用或沒有正確使用安全機制而導致的漏洞,而不是缺少安全機制,所以絕大多數場景都不需要去發明安全機制。發明安全機制是需要成本的,且需要有足夠的自信,否則不健全的安全機制消耗了開發的人力又會引入新的安全問題,但此話不絕對。

3. 取舍點

那什么情況下應該發明安全機制呢,這其實非常考驗判斷者的技術實力。之前也提過對于很多安全漏洞的修復是否要上升層次的問題,首先要判斷這是單個問題還是屬于一類問題,如果是前者,用救火的方式堵上這個洞就好,沒必要再去考慮更多。但假如這是一類問題,而你又沒提出通殺這一類問題的手段就會永遠處于救火之中,疲于奔命。如果是一類問題,分幾種情況。第一種歸入安全編程能力不足導致的安全問題,這類問題不需要通過導入新機制解決,而是通過加強SDL的某些環節,加強培訓教育去解決。第二種情況則是屬于在相應的領域還沒有成熟的安全解決方案或者現有的安全機制對抗強度太弱,則可以考慮自己去造輪子。

比如有一個函數存在整形溢出,但只有在極特殊的情況下才能觸發,平時開發過程中已經大量的使用了安全函數,啟用了編譯的安全選項,除了給這個函數加一個條件判斷修復這個bug外是不是還要考慮更進一層的防護呢?大多數情況下顯然是沒必要的,假如這是一個公共函數,那你可以選擇把修復后的代碼封裝成安全的API,避免其他程序員自己實現的時候發生同類問題。

換個問題,如果公司產品的某個私有協議總是被人頻繁地解密和利用,而這種解密對產品的影響又較大,假設就是游戲客戶端跟服務端通信的指令都能被破解和仿冒,那這種情況下就需要考慮是否更改或創建安全機制,即有沒有必要通過實現更強的通信協議加密或提高客戶端反調試的對抗等級來緩解這一問題。

如果你說新建安全機制也是補洞的話,其實也沒錯,就像DEP相對于用戶態的程序而言是一種機制,而對于操作系統和馮·諾依曼體系結構而言是一個洞。當你過于勤奮地在很微觀的細節上補洞卻總是補不完的時候,不妨停下來看看能否在更高更抽象的層次上打個補丁。

安全工程師如果要晉升為Leader很重要的一點就是對安全事件和安全漏洞的抽象能力,沒有抽象就談不上PDCA,就意味著更高的管理者對安全KPI在你手上能否改進不一定有信心。在縱深防御體系向中高階段發展時,實際上會比較多的遇到是否要創新安全機制的問題,但是這個場景大多數公司未必會遇到。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/258753.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/258753.shtml
英文地址,請注明出處:http://en.pswp.cn/news/258753.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

鉤子方法

Class#inherited 類被繼承時調用 Module#included 模塊的生命周期中調用 Module#extend_object 模塊擴展類時調用 Module#method_added Module#method_removed Module#method_undefined轉載于:https://www.cnblogs.com/qinyan20/p/3656156.html

ember啟動報錯

ember[4858] (FSEvents.framework) FSEventStreamStart: register_with_server: ERROR: f2d_register_rpc() > (null) (-21) events.js:85 throw er; // Unhandled ‘error’ event ^ Error: watch EMFILE at exports._errnoException (util.js:746:11) at FSEvent.FS…

js日期比較大小_node.js 內存泄漏的秘密

每日前端夜話第276篇翻譯:瘋狂的技術宅作者:Giovanny Gongora來源:nodesource正文共:3955 字預計閱讀時間:10分鐘一直以來,跟蹤 Node.js 的內存泄漏是一個反復出現的話題,人們始終希望對其復雜性…

win7+vs2015/13+caffe+matlab+python(CPU only)配置

首先聲明本教程可以適用于vs2015 和vs2013 .以vs2015為例。 安裝必備軟件 vs 2015 /vs2013 matlab 2016a(64bit)推薦使用Anaconda 2.7 或者Miniconda 2.7這兩個Python發布版本cmake 3.8.0 以上caffe-window: https://github.com/BVLC/caffe/tree/windows 可選軟件&#xff1…

Performance Co-Pilot

Install Performance Co-Pilot 提前安裝依賴 [rootiZrj97j6t7ih9hgz1me35hZ ~]# cat install.sh yum install -y docker yum install -y git yum install -y yum-utils-1.1.31-40.el7.noarch yum install lex yum install flex yum install -y bison yum install -y perl-ExtUt…

字符串轉換整形數,結構體數組排序

#include <stdio.h> #include<string.h> #include<conio.h> #include <stdlib.h> FILE *p; #define N 3 struct hacker {char name[11];char num[20];char xingbie[3]; }z[N];//輸入模塊 void shuru() {char *s"網名 QQ號碼 性別信息…

如何發布打包并發布自己的Android應用(APP)

第一步&#xff0c;在Eclipse中選擇需要打包的項目&#xff0c;然后右鍵--選擇Export&#xff0c;會彈出一個打包的提示框&#xff0c;如下圖所示。 按Next之后&#xff0c;會繼續出現一個提示框&#xff0c;這里你可以選擇自己需要打包的項目&#xff08;默認是剛才選中的&…

js變量提升_一道JS變量提升題

var a 0;if(true){a 1;function a(){};a 21;console.log(a);}console.log(a);// 21 1 當前上下文代碼執行之前&#xff0c;會將帶var/function的進行聲明/定義。當遇到“{}”時&#xff0c;新版瀏覽器和老版瀏覽器的處理不一致。老版瀏覽器&#xff08;IE10以下&#xff09;…

Adaboost的幾個人臉檢測網站

【1】基礎學習筆記之opencv(1)&#xff1a;opencv中facedetect例子淺析 http://www.cnblogs.com/tornadomeet/archive/2012/03/22/2411318.html【2】OpenCV學習筆記&#xff08;二十七&#xff09;——基于級聯分類器的目標檢測objdect http://blog.csdn.net/yang_xian521/arti…

Caffe訓練過程:test_iter test_interval等概念

轉載自http://blog.csdn.net/iamzhangzhuping/article/details/49993899 先上一張圖&#xff0c;大家很熟悉的一張圖。 首先說明一個概念&#xff1a;在caffe中的一次迭代iteration指的是一個batch&#xff0c;而不是一張圖片。 下面主要說下2個概念&#xff1a; test_ite…

R的獲取和安裝

R的獲取和安裝 一、下載 R可以在CRAN&#xff08;Comprehensive r archive network&#xff09;http://cran.r-project.org上免費下載&#xff0c;可供選擇的有Linux、Mac OS X和windows對應的二進制文件&#xff1b; 我這里選擇的是windows版本。打開如下頁面&#xff1a; bas…

Bitmap recycle()

Bitmap調用recycle? When?Bitmap有一個recycle方法。含義很easy&#xff0c;恢復Bitmap空間。 Q 1: Bitmap有調用recycle方法的必要性&#xff1f; A: 嵌入式系統總是格外注重空間的問題&#xff0c;不小心的話就會有OOM。可是應用層使用java的android平臺有其天然的優勢【ja…

擴展歐幾里得算法求逆元_從輾轉相除法到求逆元,數論算法初體驗

今天是算法和數據結構專題的第22篇文章&#xff0c;我們一起來聊聊輾轉相除法。輾轉相除法又名歐幾里得算法&#xff0c;是求最大公約數的一種算法&#xff0c;英文縮寫是gcd。所以如果你在大牛的代碼或者是書上看到gcd&#xff0c;要注意&#xff0c;這不是某某黨&#xff0c;…

[翻譯] Fast Image Cache

https://github.com/path/FastImageCache Fast Image Cache is an efficient, persistent, and—above all—fast way to store and retrieve images in your iOS application. Part of any good iOS applications user experience is fast, smooth scrolling, and Fast Image …

centos 安裝 MatConvNet (gpu)

1. 安裝準備 matlab2017a &#xff0c;參考&#xff1a;《centos 安裝matlab2017a(無root權限)》 GCC 4.8(支持c11) 鍵入&#xff1a;sudo yum install gcc gcc-c &#xff08;建議sudo裝&#xff09; 至少CUDA 7.5&#xff0c;&#xff08;本人選擇cuda8.0&#xff…

php練習 租房子

題目要求 1.封裝類 <?php class DBDA {public $fuwuqi"localhost"; //服務器地址public $yonghuming"root";//用戶名public $mima"";//密碼 public $dbconnect;//連接對象//操作數據庫的方法//$sql代表需要執行的SQL語句//$type代表SQL語…

【SHARE】WEB前端學習資料

參考資料&#xff1a;https://github.com/karlhorky/learn-to-program學習網站&#xff1a;http://www.codecademy.com/learn https://www.codeschool.com/ 制作網站&#xff1a;https://webmaker.org/zh-CN/explore JavaScript2015&#xff1a;https://esdiscuss.org/topic/ja…

python軟件安裝和使用方法_aws cli的安裝及使用(內含python的安裝方法)

liunx環境(使用bundled installer)&#xff1a;1.wget https://s3.amazonaws.com/aws-cli/awscli-bundle.zip //下載bundled installer2.unzip awscli-bundle.zip3.sudo ./awscli-bundle/install -i /usr/local/aws -b /usr/local/bin/aws如果你沒有sudo權限或者是你想在當…

centos 安裝boost(caffe需要)

安裝 由于安裝caffe&#xff0c;要求boost的版本在1.55以上&#xff0c;而服務器上的剛好是1.54,所以進行了重裝。 參考&#xff1a;《CentOS 7下編譯安裝Boost_1_57_0 》 不過由于pycaffe需要boost.python,因此需要在./b2時修改為./b2 –stage debug 才可以。而不能去掉py…

JAVA正則表達式介紹和使用

本文引用自 http://www.cnblogs.com/android-html5/archive/2012/06/02/2533924.html 技術博客 1.Java中在某個字符串中查詢某個字符或者某個子字串 Java代碼 String s "Shang Hai Hong Qiao Fei Ji Chang";    String regEx "a|F"; //表示a或F Pat…