暗号化については複数あるが、マルウェアの通信の暗号化として、AES(Advanced Encryption Standard)が使用されているので、AESの仕組みを記載します。
「Rijndael」という対象アルゴリズムが2000年にAESとして選定された。
「Rijndael」とは、ベルギーの研究者が設計した、ブロック暗号アリゴリズム(固定長のブロックを暗号化する暗号アルゴリズム)
ブロック暗号には「モード」がある
- ECBモード(Electronic CodeBook mode:電子符号表モード)
- CBCモード(Cipher Block Chaining mode:暗号ブロック連鎖モード)
- CFBモード(Clipher-FeedBack mode:暗号フィードバックモード)
- OFBモード(Output-FeedBack mode:出力フィードバックモード)
- CTRモード(CounTeR mode:カウンタモード)
●平文ブロックと暗号文ブロック
●CBCモード
一つ前の暗号文ブロックと平文ブロックのXORをとってから暗号化を行う。
(暗号文ブロックを、チェーンのように連鎖させることから、この名前が付いてる)
元のデータが同じ値の行でも、CBCモードは前の値が影響を与える暗号方式のため、必ず異なる値になり、バイナリデータで見た際に、行単位で同じ値になる行はない。
●ECBモード
1ブロックずつ単純に処理するため、暗号文一致攻撃に弱い欠点がある。さらにブロック単位の差し替えなど、暗号文改ざん攻撃にも弱いという問題がある。
しかし、バイナリデータを見た際に、行単位で同じ値があれば、ECBモードで暗号化されたものと判明できる。
下記の鍵から暗号化されます。
・key(暗号鍵)
・初期ベクトル(Iniitialization Vector) → 略して「IV」とも言います。
コメント