K書筆記本-Access controls(07)

要測試存取控制有沒有做好最好的方法就是進行測試,但是在測試的階段最怕的,就是造成正在運作的系統因測試而掛點,
一般用來測試存取控制有沒有最好的就是Penetration Testing(滲透測試),不論選用何種的測試攻擊均是為了找出系統的弱點,
找出根本原因再加以修補,避免在發生事情之前先找到弱點的存在…

要測試存取控制有沒有做好最好的方法就是進行測試,但是在測試的階段最怕的,就是造成正在運作的系統因測試而掛點,
一般用來測試存取控制有沒有最好的就是Penetration Testing(滲透測試),不論選用何種的測試攻擊均是為了找出系統的弱點,
找出根本原因再加以修補,避免在發生事情之前先找到弱點的存在。

所謂的滲透測試指的就是請有技術能力的人來做入侵的行為,這種執行入侵的人一般稱為道德駭客(Ethical hack),
透過界定要測試的範圍(包含測試的區域、工具、測試內容…)來執行測試,必須要指定測試的方法及測試的程序,
來確保系統不會因測試的過程影響其可用性,最後在找到弱點時經過授權時才能進行更進一步可能危害系統的步驟。

在界定測試範圍時可以有程式的安全、阻斷服務的可能性、透過遠端撥接入侵、或是找到未授權的無線網路、社交工程及大眾電信系統等等
每一項都是測試入侵的路徑,當然,在進行測試的時侯,亦可依照整個入侵的層度及所獲得的資訊做入侵。

基本上滲透測試分為外部滲透及內部滲透,若是希望可以找出真正的弱點,當然最好的就是外部滲透,若是要找出未有效管理的系統,
則可透過內部滲透找到問題的原因,在外部滲透的部份又可分為Zero-knowledge(又稱為黑箱測試)、
Partial-knowledge(依照了解的內容層度可分為灰箱或白箱),而在內部測試則可分為Full-Knowledge(又稱為白箱測試)、
Targeted(鎖定特定攻擊)、Blind(僅有少部份的資訊,且資訊安全人員是在不知情的狀況下進行測試,
可以測試出安全人員的反應及回報機制)及Double-blind(與blind不同處則是在入侵的過程中,是受到安全人員的監視之下攻擊。)

基本上來說,滲透測試與實際入侵無異,只是與入侵不同的是找到弱點後呈報,非利用,
測試步驟共分為四大步驟:Discovery(找出資訊;host scan)、Enumeration(列舉攻擊主機;Port scan)、Vulnerability Mapping(弱點對映;test)、Exploiting(達成攻擊)。
每一個步驟當發現任何弱點會問題時,若要再進一步的測試,則必需重新取得授權後才可以執行測試 。

當找弱點的過程中一定會遇到一些突發狀況,應該要予以避免,例如:應用程式發生失敗、系統crash掉…等等,若在已知的問題下,應該予以避免
萬一要測試的弱點不知道會有任何的問題產生,則必須在取得授權後才可以再進行更進一步的測試,若有利益問題則必須要求切核切結書,以釐清責任問題
當然整個測試的過程應要達成文件化,像已找到的弱點和可能存在的問題(保有need to know原則),保存IDS/IPS的Log(有攻擊軌跡),並且避免被未經授權的人存取log
最後針對整個滲透結果提出建議及執行教育訓練,以加強人員各項技能。

存取控制是整個安全管控的核心,任何一件事情、物件都必須有人管理,有人負責,以避免可能因為人的問題而威脅到企業本身的權益,並降低各項安全問題的發生。
這個才是做資安的王道呀!


Anything keeps Availability.
Anywhere keeps Integrity.
Anytime keeps Confidentiality.
keep A.I.C. = Information Security