2018-M01 - 混淆、編碼、雜湊、加密 (201) - 資安

Annie avatar
By Annie
at 2018-01-31T23:24

Table of Contents

2018-M01 - 混淆、編碼、雜揍、加密 (201)
> 各種開獎、各種開履歷

## 前言 ##
很久沒寫文章了~ 希望 2018 的第一篇合大家的口味

會寫這篇主要是最近在寫 糟(ㄟ) 糕(ㄆㄧㄢˋ) 的爬蟲

發現目標使用的技術蠻有趣的

各種浪費我的人生 但使用到的技術也僅限於混淆跟編碼

讓我想再寫一次四種關鍵字的差異性




## 內容 ##
在很多時候 程式設計師不太想讓別人瞭解內容時會使用各種技術

總結來說可以分為三種:編碼雜湊加密 三者本身有各自的特色

就結果論來說 三者給予足夠多的資源、人力、時間都有辦法找到原本的內容


### 編碼 ###
就實務面來說 編碼可以透過不少方式來推測編碼函數

透過頻率分析[1] 可以判斷出判斷哪些常見字的編碼方式 加快分析的速度

也可以透過足夠多的明文[2] 來做差異分析推測編碼方式

這類型都是利用本身可逆、不具雪崩性[3] 來進行攻擊



### 混淆 ###
編碼的另一種延伸方式則是混淆[4]

透過移除不必要的資訊、替換成不易閱讀的內容造成本身的閱讀障礙

像是某天拿到的 webshell 樣本 (原本是單一行 我是為了'閱讀'方便拆成若干行)

@$_=[].'';
@$___=$_[''];
$____=$___;
$____++;
$_____=$____;
$_____++;
$______=$_____;
$______++;
$_______=$______;
$_______++;
$________=$_______;
$________++;
$________++;
$________++;
$________++;
$________++;
$________++;
$________++;
$________++;
$________++;
$________++;
$_________=$________;
$_________++;
$_________++;
$_________++;
$_________++;
$_=$____.$___.$_________.$_______.'6'.'4'.'_'.$______.$_______.$_____.$________.$______.$_______;
$________++;
$________++;
$________++;
$_____=$_________;
$_____++;
$__=$___.$_________.$_________.$_______.$________.$_____;
@$__($_("ZXZhbCgkX1BPU1RbY10p"))

這段 Code 本身不具可讀性 在分析上也需要花費夠多的人力才有辦法推敲其中的邏輯

透過這類型的編碼、混淆技術 在執行上沒有太大的影響

但是對於需要逆向分析其中邏輯的人 則需要花費大量時間、工具來進行分析



### 雜湊 ###
對於雜湊[5]來說 本身設計上並不預期可逆向反推原本的資訊

透過一個 n-to-1 的數學函數 將原本的資訊壓縮成固定長度的資料

本身利用數學上證明的散佈特性 證明碰撞的情況很難發生

在隱匿資訊上的效果非凡 但本身不可逆的特性只能用來證明資料的正確性

在實務面上可以用來儲存密碼 因為在各種情況下密碼都不應該被明文儲存

這代表需要有一種方式 既可以比對密碼的正確性 又可以避免儲存明文密碼

在現代雜湊函數的設計上 都會將雪崩性設計在函數特性中

為了避免高速運算與硬體上的加速也會使用較大空間



但因本身壓縮資料的特性 代表雜湊碰撞的可能性存在

透過彩虹表[6] 技巧 可以將問題從時間轉換成空間

也就是先行計算所有可能的雜湊值來反推可行的原始內容

另外也可透過函數本身的缺陷 用比暴力破解還要快的速度來產生碰撞值

通常為了增加破解的難度 會額外使用 salt[7] 來增加額外的隨機性



### 加密 ###
最後來到神秘的殿堂 為了結合編碼 (可逆) 與雜湊 (不可破解) 的特性

密碼學 [8] 成為最後一道防線 (?)

就現代密碼學角度來看可以分為兩大族群:對稱式與非對稱式 [9]

對稱式加密代表加密、解密使用相同的一把金鑰 這表示加密的人同時需要負擔保護金鑰的責任

就對稱式加密來看

平均了每個字出現的機率來減少頻率分析攻擊

增加了雪崩的特性來避免明文攻擊



只要確保演算法本身沒有存在嚴重的瑕疵 對稱式加密本身是一個好的保密方式

像是 AES [10] 則是一個廣泛被使用的對稱式加密演算法

除了旁道攻擊 [11] 外 目前尚未有有效的攻擊方式

但就像一開始提到的 對稱式加密需要加、解密雙方同時擁有金鑰 在某些情境下是不適合的



非對稱式加密則是加密、解密擁有不同的兩把金鑰

對需要讓雙方資訊不對等的情境下使用特別有效

非對稱加密是建構在一種特殊的數學模型上

像是去年文章 [12]中提到的 ECC 就是建構在橢圓曲線本身難以反推的特性

在這種特性下進行加密時 握有密鑰的人才有辦法解開秘文


## 給 END 的人 ##
不想被一眼看出來內容 →編碼、混淆
想浪費別人人生 →混淆、加密
一定不想被看出內容 →雜湊
自己想看內容但別人不能看 →加密



[1]: https://en.wikipedia.org/wiki/Frequency_analysis
[2]: https://en.wikipedia.org/wiki/Chosen-plaintext_attack
[3]: https://en.wikipedia.org/wiki/Avalanche_effect
[4]: https://en.wikipedia.org/wiki/Minification_(programming)
[5]: https://en.wikipedia.org/wiki/Hash_function
[6]: https://en.wikipedia.org/wiki/Rainbow_table
[7]: https://en.wikipedia.org/wiki/Salt_(cryptography)
[8]: https://en.wikipedia.org/wiki/Cryptography
[9]: https://en.wikipedia.org/wiki/Public-key_cryptography
[10]: https://en.wikipedia.org/wiki/Advanced_Encryption_Standard
[11]: https://en.wikipedia.org/wiki/Side-channel_attack
[12]: https://www.ptt.cc/bbs/NetSecurity/M.1494334702.A.07A.html

--
Tags: 資安

All Comments

Steve avatar
By Steve
at 2018-02-05T21:22
推一個認真資安教學文,我還不把這四個加在一起做撒
尿牛丸
Dinah avatar
By Dinah
at 2018-02-08T20:07
Isabella avatar
By Isabella
at 2018-02-09T07:13
讚,謝謝分享!
Rebecca avatar
By Rebecca
at 2018-02-10T17:37
謝謝
Odelette avatar
By Odelette
at 2018-02-12T16:58
推~~!
Callum avatar
By Callum
at 2018-02-17T05:01
Doris avatar
By Doris
at 2018-02-18T00:57
Caitlin avatar
By Caitlin
at 2018-02-22T01:49
Adele avatar
By Adele
at 2018-02-25T15:02
推!
Jessica avatar
By Jessica
at 2018-02-27T07:31
Franklin avatar
By Franklin
at 2018-03-01T19:24
Oliver avatar
By Oliver
at 2018-03-05T04:59
推個
Ophelia avatar
By Ophelia
at 2018-03-05T22:29

看電影學資安-CSI Cyber S01E09

Franklin avatar
By Franklin
at 2018-01-28T23:58
喜歡CSI-Cyber的朋友大家好 我們是ISDA(台灣資訊安全聯合發展協會) 為了要讓更多人了解資訊安全,除了基礎資訊安全教育訓練以外 我們將針對CSI-Cyber 系列裡面會提到的技術作一系列的資訊安全解說 也歡迎認同我們的朋友給我們一點鼓勵 到我們的FB ...

想請教一下工作環境是怎麼樣子

Adele avatar
By Adele
at 2018-01-25T11:27
※ 引述《Jasoney (jason)》之銘言: : 各位大大好呀 : 最近在認真考慮領域 : 我是真的對資安領域有興趣 : Oscp最近大爆炸 想好好從vulnhub學習再戰QQ : 未來還想更深入研究逆向工程 : 可是看到台灣資安環境讓我好猶豫 : 幾乎看不到有pentester的工作 : 本來還想說出 ...

想請教一下工作環境是怎麼樣子

Hardy avatar
By Hardy
at 2018-01-18T17:16
各位大大好呀 最近在認真考慮領域 我是真的對資安領域有興趣 Oscp最近大爆炸 想好好從vulnhub學習再戰QQ 未來還想更深入研究逆向工程 可是看到台灣資安環境讓我好猶豫 幾乎看不到有pentester的工作 本來還想說出國走cyber security碩士 可是美國又會卡一個什麼security cl ...

關於SSCP考過後的背書

Eartha avatar
By Eartha
at 2018-01-13T20:59
Sorry因為在證照版找不到答案,只好在這求教大家。 最近因工作的考量準備報考SSCP,但發現考過後的認證有兩關, 一個為工作經驗,另為要找到有SSCP或CISSP的人背書才會拿到證照。 工作經驗我有,但背書的部份有考過的人是怎麼找的呢? 還是試場那邊會有專人佛心的幫忙背書? 困擾了很久,先謝謝大家 ...

(該算創作吧)最後破解者

Ethan avatar
By Ethan
at 2018-01-10T22:32
EP. 0 從零開始的傳奇 人物介紹: 月天貓:傳奇駭客,能使用網路入侵遠端入侵他人的電腦,同時也是一名鐵馭 List:DedSec的成員,雖說是剛加入DedSec,但是其駭客視野的天份足以讓普通駭客自嘆 不如 --------------------------------正篇----------- ...