π‘οΈ BPFdoor μ μ±μ½λλ?
What is the BPFdoor Malware?
BPFdoorλ μ€κ΅κ³ APT 곡격 κ·Έλ£Ήμ΄ μ¬μ©νλ 리λ μ€ κΈ°λ° λ°±λμ΄ μ μ±μ½λμ λλ€. μ΄ μ μ±μ½λλ λ°©νλ²½μ μ°ννκ³ , νμΌμ λ¨κΈ°μ§ μμΌλ©°, μ₯κΈ°κ° νμ§λμ§ μκ³ μΉ¨ν¬ λμ μμ€ν μ μ격 μ μ΄ν μ μλ κ³ κΈ μν μμμ λλ€.
π― μ£Όμ νΉμ§
- 리λ μ€ κΈ°λ° κ³΅κ²©: 리λ μ€ μ΄μ체μ λ₯Ό νκΉμΌλ‘ λμ
- BPF(Berkeley Packet Filter) μ¬μ©: λ€νΈμν¬ κ°μ λ° λ°©νλ²½ μ°νλ₯Ό μν΄ BPF μΈν°νμ΄μ€ νμ©
- 무ν¬νΈ ν΅μ : μμ€ν μ μ΄λ ν ν¬νΈλ μ΄μ§ μμ μνμμ νΉμ νΈλ¦¬κ±° ν¨ν· μμ μλ§ νμ±νλ¨
- Fileless μ μ±μ½λ: λμ€ν¬μ νμΌμ λ¨κΈ°μ§ μκ³ λ©λͺ¨λ¦¬ μμμλ§ λμνμ¬ νμ§κ° μ΄λ €μ
- μλ°©ν₯ μ°κ²° λΆνμ: μΈλΆμμ λͺ λ Ήμ μμ ν΄ μ€ννλ―λ‘ λ³λμ μ°κ²° μλ μμ΄λ λμ
- λ€μν μ μ± κΈ°λ₯ ν¬ν¨: μμ€ν λͺ λ Ή μ€ν, νμΌ μ κ·Ό, λ€νΈμν¬ ν°λλ§, μμ μ 곡 λ±
π΅οΈβοΈ λμ λ°©μ
- 곡격μλ νκΉ μλ²μ BPFdoorλ₯Ό μ¬μ΄ λ
- BPFdoorλ BPFλ₯Ό μ΄μ©ν΄ λ€νΈμν¬ ν¨ν·μ κ°μ
- νΉμ ν ꡬ쑰μ "λ§λ²μ ν¨ν·(Magic Packet)"μ μμ νλ©΄ νμ±νλ¨
- 곡격μ λͺ λ Ήμ μμ νμ¬ μμ€ν μ μ΄, μ 보 νμ·¨ λ± μν
π νΌν΄ μ¬λ‘ λ° μν
- μ€κ΅κ³ APT κ·Έλ£Ή "Red Menshen"μ΄ μ¬μ©ν κ²μΌλ‘ μλ €μ§
- μ λΆκΈ°κ΄, λ°©μμ°μ 체, ν΅μ μ¬ λ±μ λμμΌλ‘ μΉ¨ν¬
- μκ°μ λμ νμ§λμ§ μκ³ μ 보 μ μΆ λ° μμ€ν μ₯μ
- 보μ μ₯λΉ λ° λ‘κΉ μμ€ν μ°νλ₯Ό ν΅ν΄ νμ§ ννΌ μ±κ³΅
π λμ λ°©μ
- 리λ μ€ μλ²μ λΉμ μ νΈλν½ λ° λ€νΈμν¬ ν¨ν· λΆμ κ°ν
- BPF μΈν°νμ΄μ€ μ¬μ© λ΄μ λ° λ€νΈμν¬ νΈμΆ λͺ¨λν°λ§
- μλ² λ¬΄κ²°μ± κ²μ¬ λ° μ κΈ° μ κ² μν
- νμ κΈ°λ° νμ§ μμ€ν (EDR, SIEM λ±) νμ©
- μμ¬ IP μ°¨λ¨ λ° IOC(μΉ¨ν΄μ§ν) λ±λ‘μΌλ‘ μ¬μ λμ
π‘οΈ μ€μκ° λμ μ μ±
1. λ€νΈμν¬ λͺ¨λν°λ§
- C2 μλ²(λͺ λ Ήμ μ΄ μλ²)λ‘μ λΉμ μ μμ ν¬νΈ νΈλν½ μ¬λΆλ₯Ό μ€μκ° λΆμ
tcpdump
,Wireshark
λ±μ μ΄μ©ν΄ ν¨ν· νν°(BPF) μ°ν μλ ν¨ν· κ°μ- νΉμ ν¬νΈλ₯Ό μ΄μ§ μμμμλ ν¨ν· μμ μ΄ λ°μνλ κ²½μ° μ¦μ κ²½κ³ μ€μ
2. νμΌ λ¬΄κ²°μ± κ²μ¬
/dev/shm
,/usr/lib
λ± μ£Όμ κ²½λ‘μ λν λ¬΄κ²°μ± κ²μ¬ λꡬ νμ©:AIDE
,Tripwire
λ±μ νμ©ν νμΌ λ³ν κ°μ§
- μμ¬ κ²½λ‘μ μμ±λλ νμΌμ λν μ κ·Ό/λ³μ‘° λ‘κ·Έ μΆμ (
auditd
μ€μ κΆμ₯)
3. μ€μκ° νμ§ μ루μ μ€μ
- EDR(Endpoint Detection and Response) λλ SIEM(Security Information and Event Management)μ IOC(μΉ¨ν΄μ§ν) λ±λ‘
cron
,systemd
,init
λ±μ λ±λ‘λ λΉμ μ νλ‘μΈμ€ νμ§- λΉμΈκ° λͺ λ Ή μ€ν, UDP μλ°©ν₯ μ λ±μ νμ κΈ°λ° λ£° λ±λ‘
4. μμ€ν νλλ
- μ¬μ©νμ§ μλ raw socket, BPF μΈν°νμ΄μ€ λΉνμ±ν
sysctl -w net.core.bpf_jit_enable=0
λ± μ€μ
- root κ³μ μ κ·Ό μ μλ μλ¦Ό μ€μ (e.g.
/etc/ssh/sshrc
νμ©) - μλ² λ³΄μ κ°μ΄λμ λ°λΌ μ΅μ κΆν μμΉ(Least Privilege Principle) μ μ©
π§© λ§λ¬΄λ¦¬
BPFdoorλ λ¨μν μ
μ±μ½λκ° μλ, κ³ λνλ APT 곡격 λꡬμ
λλ€. νΉν 리λ
μ€ μλ² νκ²½μμ λ§€μ° μλ°νκ² λμνλ©°, μΌλ°μ μΈ λ°±μ μ΄λ λ°©νλ²½μΌλ‘λ νμ§νκΈ° μ΄λ ΅μ΅λλ€.
λ°λΌμ 보μ λ΄λΉμλ νμ κΈ°λ° νμ§ μ²΄κ³μ μ κΈ°μ μΈ λ³΄μ μ κ²μ ν΅ν΄ μ΄λ¬ν μνμ μ μ μ μΌλ‘ λμν΄μΌ ν©λλ€.
첨λΆνμΌ : 250512_KISA_BPFDoor_μ μ±μ½λ_μ κ²_κ°μ΄λ