security_mt

January 20, 2024

เนื้อหานี้ รวบรวมมาจากอีกเว็บนึง https://d.wilar.in.th ซึ่งอาจจะทำให้บาง Feature ไม่ทำงาน หรือทำงานผิดพลาด

Lecture 1: Overview

Method, Opportunity and Motive

  • Methods: วิธีเจาะระบบ
  • Opportunity (โอกาส): There must be a flaw in the system to exploit (ระบบมีช่องโหว่)
  • Motive (แรงจุงใจ): Can be money, fame, political motivation, computer resources, or simply too much spare time

Computer Security Concepts

CIA Traid
  1. Confidentiality (รักษาความลับ)
    • Preserving authorized restrictions on information access and disclosure
    • Including means for protecting personal privacy and proprietary information (คุมครองข้อมูลส่วนบุคคล)
  2. Integrity (ความสมบูรณ์ของข้อมูล)
    • Guarding against improper information modification or destruction (ป้องกันไม่ให้ข้อมูลถูกทำลาย)
  3. Availability (ใช้งานได้มั้ย?)

Concepts เพิ่มเติมนอกจาก CIA Triad แล้วก็จะมี

  • Authenticity: Being genuine (ของแท้มั้ย?) and being able to be verified and trusted
  • Accountability: Actions of an entity to be traced

Security Terminology (RFC 2828)

Security Terminology (RFC 2828)

Security Attack

X.800 และ RFC 2828 จะแบ่งการโจมตีออกเป็นสองแบบคือ Passive attack และ Active attack

  • Passive attack: จะโจมตีด้วยการใช้ข้อมูลจากระบบ <span style="color: red;">แต่จะไม่กระทบต่อทรัพยกรระบบ</span>
    • Eavesdropping (ดักฟัง), monitor, tramissions
  • Active attack: จะโจมตีด้วยการเปลี่ยนแปลงทรัพยกรระบบ หรือ ส่งผลกระทบต่อการทำงานของระบบ <span style="color: red;">จะกระทบต่อทรัพยากรระบบ</span>
    • Masquerade (ปลอมแปลงบุคคล), Replay, Modify messages, denial of service

4 General types of Threats

General types of Threats

Threat Consequences ผลที่ตามมา

  • Unauthorized disclosure: เกิดการเปิดเผยข้อมูล ให้กับผู้ที่ไม่มีสิทธิ์
    • Exposure ข้อมูล sensitive ถูกเปิดเผย
    • Interception ผู้บุกรุกสามารถเข้าถึงข้อมูล sensitive ได้ตรงๆ
    • Inference คาดเดาข้อมูล sensitive จากข้อมูลที่มีอยู่
    • Intrusion ผู้บุกรุกหลีกเลี่ยงระบบรักษาความปลอดภัยของระบบ
  • Deception: เกิดการหลอกหล่วง
    • Masquerade ปลอมแปลงบุคคล
    • Falsification ส่งข้อมูลปลอมให้ ผู้มีสิทธิ์ใช้งาน
    • Repudiation หลอกหลวงด้วย การปฏิเสธความรับผิดชอบและการกระทำ
  • Disruption: เกิดการทำลายล่าง
    • Incapacitation ทำให้ระบบใช้ไม่ได้
    • Corruption แก้ไขข้อมูล
    • Obstruction กันไม่ให้สามารถทำงาน
  • Usurpation: เกิดการใช้ชิงอำนาจ
    • Misappropiration เข้าถึงโดยมิชอบ
    • Misuse ใช้สิทธิ์โดยไม่ชอบ

Countermeasures วิธีการรับมือ

สามารถรับมือกับ Security attack ได้สามแบบดังนี้

  • Prevent
  • Detect
  • Recover

X.800 Security architecture

  • Security attack
  • Security mechanism วิธีการรับมือ
  • Security service การโต้ตอบกับ Security attack
    • Authentication
      • Peer entity authentication สามารถมั่นใจได้ว่า กำลังติดต่อกับบุคคลที่ถูกต้อง
      • Data-origin authentication สามารถมั่นใจได้ว่า แหล่งที่มาของข้อมูลนั้นถูกต้อง
    • Access Control การป้องกันไม่ให้ใช้ทรัพยากร อย่างผิดสิทธิ์
    • Data Confidentiality ป้องกันไม่ให้เกิดการเปิดเผยข้อมูล โดยผู้ไม่มีสิทธิ์
      • Connection Confidentiality
      • Connectionless Confidentiality
      • Selective-field Confidentiality
      • Traffic-flow Confidentiality
  • Pervasive Security Mechanisms ระบบการป้องกันที่ไม่ได้ขึ้นอยู่กับ OSI Security service หรือ Protocol layer

Computer Security Strategy กลยุทธ์อื่นๆ

  • Sepecification / Policy
  • Implementation / Mechanisms มันทำงานไง?
  • Correctness / Assurance มันใช้ได้จริงป้าว?

Lecture 2: Cryptographic Tools

Toothless dancing

Cryptography terminology คำศัพท์

  • Plaintext, Cleartext
    • ข้อความ / ข้อมูลตัวเลข / ... ที่ไม่ถูกเข้ารหัส
  • Ciphertext: ข้อมูลที่เข้ารหัสแล้ว
  • Key: ข้อมูลลับที่ใช้ในการแบ่งปันข้อมูล ระหว่างผู้ส่งกับผู้รับ
  • Encryption (encipherment): เข้ารหัส Plaintext \rArr Ciphertext
  • Decryption (decipherment): ถอดรหัส Ciphertext \rArr Plaintext
  • Crptology: ศึกษาเกี่ยวกับการเข้ารหัสและถอดรหัส
    • Crptography: หาทางเข้ารหัส
    • Cryptanalysis: หาทางถอดรหัส (Code Breaking)
  • Cryptologist: บุคคลที่พยายามแปลง Ciphertext กลับเป็น Plaintext
    • Cryptographer: เป็นคนดีฮะ 👌
    • Cryptanalyst: โจร 🦧

Cryptography Schema โครงสร้างของการเข้ารหัส

จะประกอบไปด้วย Plaintext, Encryption algorithm, Secret key, Ciphertext, Decryption algorithm ซึ่งจะสามารถแบ่งออกเป็นสามมิติได้

  1. วิธีการเปลี่ยน Plaintext เป็น Ciphertext
    1. Substitution การเปลี่ยนตัวอักษรนึง ไปอีกตัวอักษรนึง ช่วยให้สับสน (Confusion)
    2. Transposition การสลับตำแหน่ง ช่วยให้เกิดการกระจาย (Diffusion)
  2. จำนวน Key ที่ใช้
    • 1 Key
    • 2 Keys
    • ไม่มี Key
  3. วิธีการที่ Plaintext ถูกเข้ารหัส
    1. Block Cipher การเข้ารหัสที่จะแบ่งเป็นก้อนๆ

      • Standard Electronic Codebook Mode (ECB) แบ่งข้อมูลออกเป็นก้อนๆ และเข้ารหัส แยกกัน

      • Cipher Block Chaining (CBC) นำผลลัพท์จากการเข้ารหัส ECB ไปเข้ารหัสร่วมกับก้อนต่อไป ทำอย่างนี้ไปเรื่อยๆ

        Cipher Block Chaining (CBC)
    2. Stream Cipher การเข้ารหัสแบบต่อเนื่อง

The Caesar Cipher และ Shift Cipher

  • เป็นการเลื่อนตำแหน่งของตัวอักษรภาษาอังกฤษ ไป 3 ตัว
  • Shift Cipher ที่ k=3k = 3
Plaintext<span style="font-family: Monaspace, monospace;">A B C D E F G H I J K L M N O P Q R S T U V W X Y Z</span>
Ciphertext<span style="font-family: Monaspace, monospace;">d e f h k i j k l m n o p q r s t u v w x y z a b c</span>

Monoalphabetic Cipher

เป็นการสลับตัวอักษรแบบสุ่ม ไปอีกตัวนึง

Plaintext<span style="font-family: Monaspace, monospace;">a b c d e f g h i j k l m n o p q r s t u v w x y z</span>
Ciphertext<span style="font-family: Monaspace, monospace;">D K V Q F I B J W P E S C X H T M Y A U O L R G Z N</span>
<Monoalphabetic/>

Culumnar Transpositions

สร้างตารางมาขนาด 5×...5 \times ... แล้วแต่ข้อมูลในแนวนอน แต่อ่านในแนวตั้ง

Columnar Transpositions

Transpositions (Permutations/การสับเปลี่ยน)

  • Digrams: เปลี่ยนสองตัวอักษรที่ติดกัน
    • เช่น -re, -th, -en, -ed, -on, -in, -an, ...
  • Trigrams: เปลี่ยนสามตัวอักษรที่ติดกัน
    • เช่น -ent, -ion, -ing, -ive, -for, -one, ...

Product Ciphers

เป็นการผสม Substitution และ Transposition เพื่อให้เข้ารหัสให้ยากขึ้น เป็นการเข้าสู่ยุคของ Modern ciphers

Product Cipher

Type of Attacks

  • Ciphertext only attack
    • ผู้ร้ายรู้แค่ Ciphertext
    • ป้องกันง่ายที่สุด เพราะผู้ร้ายมีข้อมูลน้อยมาก
  • Known plaintext attack
    • ผู้ร้ายรู้ทั้ง Plaintext และ Ciphertext
  • Chosent plaintext attack
    • พยายามจะหา Ciphertext จาก Plaintext ที่ต้องการ
  • Brute force attack
    • ลองทุกวิธีทุกหนทาง
    • ความเร็วจะขึ้นอยู่กับขนาดของ Key

Types of Cryptographic Functions

  • Secret key (symmetric): ใช้ 1 key
  • Public key (asymmetric): ใช้ 2 key (private & public key)
  • Hash: ไม่ใช้ Key (0 key)

Symmetric Encryption (Secret key)

  • ผู้ส่งและผู้รับ จะมี Key ร่วมกัน 1 key

Symmetric algorithms

DESTriple DESAES
ขนาด Plaintext (bits)6464128
ขนาด Ciphertext (bits)6464128
ขนาด Key (bits)56112 หรือ 168128, 192, หรือ 256
  • Data Encryption Standard (DES)

    • ใช้เทคนิค Block cipher
    • นำข้อมูลขนาด 64 bits และทำการ Substitution และ Permutation ทั้งหมด 16 ครั้ง
    • DES ไม่เหมาะกับการใช้ใน อุสหกรรมหลัก ~1M USD หรือ อาวุธนิวเคียรของจีน แต่ยังพอรับได้กับ ระบบธนาคาร หรือ E-Biz payment เพราะค่าใช้จ่ายในการแกะรหัสก็ยังสูงอยู่
  • Triple DES

    Triple DES

    ทำสามรอบแล้วดีสามเท่า??? แต่จริงๆ สามารถถูกโจมตีง่ายๆ ด้วยเทคนิค Meet-in-the-middle attack

    • Meet-in-the-middle attack

      T=Ek1[P]=Dk2[C]T = E_{k1}[P] = D_{k2}[C]

      ถ้าเพียงรู้ TT ก็จะสามารถนำไปเปรียบเทียบในตาราง K1TK_1 \rightleftarrows T กับตาราง TK2T \rightleftarrows K_2 ก็จะได้ keys K1K_1 และ K2K_2 ออกมา ซึ่งถ้าใช้ Meet-in-the-middle attack กับ 2DES จากการ Brute force 21122^{112} keys ก็จะเหลือแค่ 2256=2572 * 2^{56} = 2^{57}

  • Advanced Encryption Standard (AES)

    AES เป็น algorithm แบบ private key ซึ่งจะใช้ secret key ร่วมกัน ซึ่งขนาดของ key สามารถใช้ได้ดังนี้

    • 128 bits (=3.4×1038= 3.4 \times 10^{38} keys) (10 รอบ)
    • 192 bits (=6.2×1057= 6.2 \times 10^{57} keys) (12 รอบ)
    • 256 bits (=1.1×1077= 1.1 \times 10^{77} keys) (14 รอบ)

    ถ้าเทียบกับ DES, DES ใช้เพียง 56-bit key หรือเท่ากับ 7.2×10167.2 \times 10^{16} keys

Asymmetric Encryption (Public key)

Public key algorithms

  • RSA (Rivest, Shamir, Adleman)

    1. เลือกจำนวนเฉพาะ (Prime number) มาสองตัวที่มีค่าเยอะมากๆ pp กับ qq
    2. ให้ n=pqn = p * q
    3. ให้ m=(p1)(q1)m = (p - 1)(q - 1) และ ......

Public key authentication

เข้ารหัสด้วย Private key และถอดรหัสด้วย Public key จะสามารถบอกได้ว่า ส่งมาจากผู้ส่งที่ถูกต้องจริง <span style="color: red;">แต่ว่าจะถูกเปิดอ่านระหว่างส่งได้!<span>

Publick key encryption

เข้ารหัสด้วย Public key และถอดรหัสด้วย Private key จะสามารถป้องกันไม่ให้มีคนอ่านระหว่างส่งได้ โดยคนรับที่มี Private key จะสามารถอ่านได้คนเดียว <span style="color: red;">แต่จะมั่นใจได้ไงว่าส่งมาจากผู้ส่งที่ถูกต้อง?<span>

Secure authentication messages

จะทั้งปลอดภัยและยืนยันตัวผู้ส่งได้ (secret & authenticated) โดยจะ

Secure authentication messages

Man-in-the-middles (MITM)

เป็นการโจมตีที่จะดักฟัง และแก้ไข keys ที่รับส่งกัน

Message authentication codes

Message authentication codes

จะสามารถตรวจสอบความ Original ของข้อความได้

Key management

  • Key generation
  • Key storing
  • Key distribution
    • ต้องการ Trusted intermediary หรือ คนที่ไว้วางใจได้

      • Key distribution center (KDC) จะทำหน้าที่แจกจาย Symmetric key หรือ Secret key ซึ่งสำหรับ N hosts จะ ต้องใช้ N(N1)2\dfrac{N(N - 1)}{2} keys แต่การทำแบบนี้จะมีปัญหาเรื่อง Scalibility ซึ่งจะสามารถแบ่งการทำงานออกเป็นย่อยๆ ได้ Global KDC \rArr Local KDC

      Digital Envelopes Digital envelopes

      • Certification authority (CA) จะทำหน้าที่ตรวจสอบว่า Public key นั้นๆ เป็นของเจ้าของจริงหรือไม่? การตรวจสอบจะประกอบไปด้วย Public key และ User ID ที่เป็นจำของ

Digital Signature

จะสามารถยืนยันได้ว่าข้อความไม่ได้ถูกแก้ และ ส่งมาจากผู้ที่ถูกต้องจริงๆ

Digital Signature

Lecture 3: Malicious Software

Toothless dancing

Malicious software หรือ Malware สามารถแบ่งออกเป็น 2 ประเภทคือ

  1. Program fragments: โปรแกรมที่ต้องไปเกาะไฟล์ หรืออีกโปรแกรมนึง
  2. Independent self-contained programs: โปรแกแรมที่สามารถรันได้ด้วยตัวเอง โดย Operating system

และก็สามารถแบ่งได้ด้วย malware ที่มันจะสร้างตัวเองเพิ่ม และ ไม่สามารถสร้างตัวเองเพิ่ม

Malware terminology คำศัพท์ที่เกี่ยวข้อง

  • Virus: virus จะซ่อนตัวกับโปรแกรม และจะแพร่ตัวเองไปยังโปรแกรมอื่นๆ
  • Worm: เป็นโปรแกรมที่แพร่ และ copy ตัวเองไปคอมเครื่องอื่น
  • Logic bomb: เป็นโปรแกรมที่รอ ให้ Condition บ้างอย่างเกิดขึ้น
    • Time bomb เช่น รอเวลา
  • Trojan horse: เป็นโปรแกรมที่จะมี Function ซ่อนอยู่
  • Backdoor / Trapdoor: เป็นโปรแกรมไว้ Bypass ระบบ Authentication
  • Mobile code: เป็นโปรแกรม (เช่น Script, macro) ที่จะถูกรันในโปรแกรมต่างเช่น Spreadsheet, Docx, ...
  • Downloaders: เป็นโปรแกรมที่จะโหลดไฟล์อื่นๆ
  • Auto-rooter: สามารถเข้าถึงคอมเครื่องอื่นๆ ได้ผ่านอินเตอร์เน็ต
  • Kit (virus generator): อุปกรณ์ไว้สร้าง Virus แบบอัตโนมัติ
  • Spammer / Flooder: Spam
  • Keyloggers: โปรแกรมจับการพิมพ์คียบอร์ด
  • Rootkit: โปรแกรมที่จะเข้าถึง root-level access หรือ สิทธิ์ที่สูงที่สุดใน Unix system
  • Zombie: 🧟‍♀️🧟‍♂️
  • Spyware: แอบเก็บข้อมูล
  • Adware: แอบใส่โฆษณา
  • Zero day attack: Malware ที่ยังไม่มีการรับมือ (no countermeasure)

Multiple-threat malware

  • Multipartie virus: จะสามารถโจมตีไฟล์ได้หลากหลายประเภท, การจัดการ virus (eradication) ก็จำเป็นจะต้องจัดการให้ครบทุกรูปแบบด้วย
  • Blended attack: จะใช้หลายเทคนิคในการโจมตี เพื่อประสิทธิภาพและความเร็วในการทำร้ายล้างสูงสุด

Virus

  • โปรแกรมที่จะไปเกาะกับโปรแกรมอื่นๆ โดยที่ Virus จะดัดแปลงโปรแกรมเดิมและซ่อนตัวเองเข้าไป ซึ่ง Virus จะถูกรันเมื่อโปรแกรมนั้น (host program) ถูกรัน
  • จะขึ้นอยู่กับ Operating system และ Hardware
  • Virus จะมีขั้นตอนดังนี้
    1. Dormant: รอให้มีเหตุการเกิดขึ้น
    2. Propagation: แพร่ตัวเองไปโปรแกรมอื่นๆ / disks อื่นๆ
    3. Triggering: เมื่อมี Event บางอย่างเกิดขึ้น Payload (ตัวไวรัส) จะทำงาน
    4. Execution: Function จะถูกรัน
  • Virus มีส่วนประกอบดังนี้
    1. Infection mechanism: กลไกการติดเชื้อ
    2. Trigger: event ที่จะทำให้เกิดการรัน (payload activate)
    3. Payload: virus นั้นจะทำอะไรกับระบบ?
  • Virus จะสามารถติดได้ดังนี้
    • One-time execution จะรันเพียงครั้งเดียว, Boot sector viruses, Memory-resident viruses, Application files, Code libraries
  • Virus มันไปเกาะกับโปรแกรมได้ยัง?
    • Appened: Virus \rightleftarrows Code
    • Surrounded: Virus \rightleftarrows Code \rightleftarrows Virus
    • Integrated: Virus จะแทรกแซงตามโค้ด, ซึ่งจำเป็นจะต้องมีความรู้ว่าโปรแกรมนั้นๆ ทำงานอย่างไร จึงจะรู้ว่าใส่ตรงไหนจะดีที่สุด
  • การป้องกัน
    • Block initial infection: ป้องกันแต่แรก
    • Access controls: ควบคุมการเข้าถึงของแต่ละโปรแกรม ป้องกันการแพร่ไปโปรแกรมอื่นๆ แยกสิทธิ์

โครงสร้างของ Virus

beginVirus // <..............> = optional ไม่ต้องมีก็ได้ 1. Infection section: <decrypt virus code using key> // ถอดรหัส (ไม่ต้องมีก็ได้) if spread-condition met then // ถ้าสภาพการแพร่เชื้อเหมาะสม find targets to be infected // หาเหยื่อ <mutate virus code for copying> // กลายพันธุ์ (ไม่ต้องมีก็ได้) <encrypt virus copy with random key> // เข้ารหัสไวรัส (ไม่ต้องมีก็ได้) add/insert [mutated/encrypted] copy of virus into target // แทรกไวรัสที่กลายพันธุ์/เข้ารหัส ไปที่เหยื่อ alter target to execute virus when initiated // ให้เหยื่อรันไวรัส <stealth code to hide modification> // ซ่อนไวรัส 2. Damage section: if trigger condition is met then // ถ้าสภาพการทำร้ายล้างเหมาะสม execute damage code // ทำร้ายล้าง else goto beginning of host program code // ถ้ายังไม่เหมาะสมก็รันโปรแกรมเดิมปกติ endvirus <decryption key>

Virus signature

  • เป็น pattern ของ Code หรือข้อมูล ที่จะสามารถบงบอกได้ว่านี้คือ virus ซึ่งจะสามรถไว้ตรวจสอบ และบอกได้ว่านี้คือ virus อะไร
  • Anti-virus จะทำการค้นหา Virus signature ในการตรวจสอบได้

ประเภทของ virus

  • Boot sector infector: จะแทรกตัวเองใน Boot sector
  • File infector: จะแทรกในไฟล์ที่ OS จะรัน
  • Macro virus: จะแทรกตัวในไฟล์ Macro code ต่างๆ เช่น Spreadsheet, Docx, ...
  • Encrypted virus: ไวรัสที่เข้ารหัส
  • Stealth virus: ไวรัสจะซ่อนตัวจาก Antivirus ซึ่งจะซ่อนทั้งหมดเลย ไม่ใช่แค่ใน Payload
  • Polymorphic virus: ไวรัสที่จะมีการกลายพันธุ์ทุกครั้งที่มีการแพร่ ซึ่งการตรวจสอบด้วยวิธี Virus signature จะไม่สามารถใช้ได้
  • Metamorphic virus: ไวรัสที่จะเปลี่ยนรูปร่าง และ การทำงานของมัน เพื่อให้ยากต่อการตรวจสอบมากขึ้น

การรับมือกับ Virus

  • Prevention: ยากแต่ดีที่สุด 🙏
  • Detection
    • Scanners ตรวจสอบด้วย Fixed signatures (static viruses)
    • Heuristic scanning techniques จะสามารถตรวจสอบ Polymorphic ไวรัสได้ ด้วยการตรวจสอบโค้ดที่น่าจะมีการทำงานที่ผิดปกติ เช่น instruction jump ที่แปลกๆ หรือ พยายามที่จะอ่าน System file
    • Activity monitoring: ตั้งพื้นที่ในหน่วยความจำ เพื่อที่จะรอเหตุการแปลกๆ ขึ้น
    • Integrity checking: checksums หรือ hash values
  • Identification
  • Removal (disinfection)

Advanced anti-virus techniques

  • Generic decryption: สร้าง CPU emulator ขึ้นมาเพื่อรัน Virus และตรวจสอบ Virus signature บ่อยๆ เพื่อรอ Virus decrypt ใน CPU emulator
  • Digital immune system (IBM): ทำ server มารับหน้าที่รันโปรแกรมที่น่าสงสัยบน Sandbox ก่อนที่จะส่งไปยังคอมพิวเตอร์

Worms 🐛

  • โปรแกรมที่จะแพร่ตัวเองไปยังคอมเครื่องอื่นๆ ผ่าน Internet เช่น Email, Remote execution, Remote login
  • มี 4 phases เหมือนกับ Virus
    • Dormant, Propagation, Triggering, Execution

การรับมือกับ Worm

  • แบบเดียวกับ Anti-virus
  • Signature-based worm scan filtering
  • Filter-based worm containment: ดูที่ worm content มากกว่าที่ signature
  • Payload-classification-based worm containment: ดูจาก Packets ว่ามีความผิดปกติอะไรหรือป่าว?
  • Threshold random walk scan detection
  • Rate limiting & rate halting: ปิดการเชื่อมต่อทันที หากพบว่ามีการเชื่อมต่อ เข้าหรือออก ที่เยอะผิดปกติ
  • Proactive worm containment: คล้ายๆ กับ Rate limiting
  • Network based worm defense: คล้ายทั้ง Proactive และ Rate limiting แต่จะการส่งไปรันบน Honeypot หรือ Sandbox เพื่อตรวจสอบ และเมื่อสามารถระบุ Worm ได้แล้ว ก็จะสามารถแก้ไข และป้องกันได้

Bots 🤖

  • โปรแกรมที่จะควบคุม Computer เพื่อที่จะทำการโจมตีที่จะยากมากๆ ที่การตรวจจับ
  • สามารถนำไปโจมตีได้หลากหลายแบบ
    • Distributed denial-of-service attacks
    • Spamming
    • Sniffing traffic
    • Keylogging
    • Spraeding new malware
    • Installing adavertisement add-ins and browser helper objects (BHOs)
    • Attacking IRC chat networks
    • Manipulationg online polls/games

Rootkits

  • โปรแกรมที่จะเข้าถึง Root-access ของระบบ (สิทธิ์ที่สูงที่สุด)
  • อาจจะเป็น
    • Persistent (คงอยู่): จะทำงานทุกครั้งที่ระบบบูท, ซึ่งมักจะซ่อนตัวเองอยู่ใน Registry หรือ System file และแก้ไขให้ตัวเองถูกรัน โดยไม่ต้องผ่าน user
    • Memory-based: ไม่คงอยู่ หากเมื่อ Reboot มันก็จะหายไป
    • User-mode: ดักจับการเรียก API และแก้ไขผลลัทพ์
    • Kernel-mode: ดักจับ API ที่อยู่ใน Kernel mode และก็ยังสามารถลบตัวเอง จากรายชื่อที่ Process กำลังรันอยู่ได้อีกด้วย
  • อาจจะเผลอติดตั้งโดย user ผ่าน Torjan horse หรือ ผู้บุกรุกระบบ

Ransomware

WCry Ransomware
  • เป็น malware ที่จะเข้ารหัสไฟล์ของเหยื่อ หรือ ล้อคคอมของเหยื่อไม่ให้ใช้งาน เพื่อเรียกร้องค่าไถ หลังจากได้ค่าไถ ก็จะได้รับ Decryption key เพื่อมาปลดล็อคข้อมูลหรือระบบ
  • สามารถติดผ่าน
    • Phishing emails
    • เข้าเว็บ Corrupted
    • โหลดไฟล์ที่ Infected
    • ช่องโหว่ใน System หรือ Network
    • Remote Desktop Protocol (RDP) attack
  • หลังจากที่โดนโจมตีด้วย ransomware การจ่ายเงินจะไม่ได้การันตีว่าจะได้ไฟล์คืน! แถมยังจะช่วยให้ส่งเสริมให้โจมตีต่ออีก
  • Ransomware สามารถแบ่งออกได้ 4 แบบ
    • Encryption: เข้ารหัสไฟล์ จะทำให้ไม่สามารถเปิดไฟล์ได้
    • Lockers: ล้อคคอมไม่ให้ใช้งาน
    • Scareware: เด้ง Pop-ups ต่างๆ เผื่อให้กลัวและซื้อโปรแกรมเรื่อยเปื่อย
    • Doxware/Leakware: ขู่ที่จะเปอดเผยข้อมูล / ไฟล์ส่วนตัว หรือข้อมูลของบริษัท
  • วิธีการป้องกัน
    1. Backup ข้อมูล
    2. Update ระบบบ่อยๆ
    3. ติดตั้ง Antivirus และ Firewall
    4. Network segmentation เพื่อลดการแพร่กระจาย
    5. Email protection
    6. Application whitelist
    7. Endpoint security
    8. Limit user access privileges
    9. ทำ Sucurity testing บ่อยๆ
    10. ให้คำปรึกษา / อบรมด้าน Security awareness