ข้ามไปที่เนื้อหา
CEDTAN

Lecture 1 — Introduction to Computer Security

ทำไมต้องเรียนเรื่องความปลอดภัย ภัยเข้าถึงเราได้ทางไหนบ้าง และคำว่า security แปลว่าอะไรกันแน่

เลกเชอร์ 1 · อ่าน 40 นาที · เรียบเรียงจากสไลด์ Chapter 1 ของ Krerk Piromsopa, Ph.D.

ข้ามไปสรุป
แนวคิดหลักทำไมต้องมีสิ่งนี้เทียบให้เห็นภาพตัวอย่างจุดที่คนพลาดบ่อยสรุปท้ายคาบ
แนวคิดหลัก

คาบนี้ปิดท้ายด้วยนิยามประโยคเดียวว่า security คือ "การปกป้องทรัพยากรจากคนที่ไม่มีสิทธิ์ ณ เวลาหนึ่ง ๆ" หรือย่อให้สั้นที่สุดว่า "Who can do what when?" ทุกคาบที่เหลือของวิชานี้คือการตอบคำถามนี้ให้ละเอียดขึ้น

ข้อมูลในหน้านี้มาจากไหน

เนื้อหามาจากสไลด์ Chapter 1 ทั้ง 39 หน้า ตัวเลข ข้อความที่ยกมาในเครื่องหมายคำพูด ชื่อคดี ชื่อหนังสือ และตารางเรียน มาจากสไลด์จริงทั้งหมด ส่วนคำอธิบาย รูป และกล่องที่ติดป้าย "เสริม" เขียนขึ้นใหม่

สไลด์ชุดนี้ลงท้ายว่า @ 2024 ซึ่งใหม่กว่าชุดของ Chapter 2 ถึง 5 ที่ลงท้ายว่า @ 2019

คาบนี้จะพาไปไหน

คำถามคำตอบอยู่ที่
ปัญหานี้ใหญ่จริงหรือเปล่าส่วนที่ 1
ภัยพวกนี้เข้าถึงเราได้ทางไหนส่วนที่ 2
ตรงไหนที่มันกลายเป็นคดีส่วนที่ 3
คนในวงการบอกว่าระบบที่ดีควรยึดหลักอะไรส่วนที่ 4
แล้วคำว่า security แปลว่าอะไรกันแน่ส่วนที่ 5
วิชานี้ตั้งเป้าไว้ที่อะไร และต้องอ่านอะไรบ้างส่วนที่ 6
คาบนี้เป็นคาบปูพื้น

คาบนี้ยังไม่ลงเทคนิค มันทำสองอย่างคือ ทำให้เห็นว่าปัญหามีจริงและใหญ่แค่ไหน แล้วจึงค่อย ให้นิยามของคำว่า security

ถ้าอ่านแล้วรู้สึกว่ามีแต่ตัวอย่างกับข่าว นั่นถูกแล้ว ตัวอย่างพวกนี้คือเหตุผลว่าทำไมสิบหลักการในส่วนที่ 4 ถึงเขียนออกมาเป็นแบบนั้น


ส่วนที่ 1 — ปัญหานี้ใหญ่แค่ไหน

ภัยเก้าอย่างที่ต้องแยกให้ออก

ภัยที่เจอบ่อยที่สุดบนอินเทอร์เน็ตมีเก้าอย่าง และคำตอบของคำถามที่ว่าคนทั่วไปรู้จักครบไหม คือ Most people do not know them คนส่วนใหญ่ไม่รู้จักพวกนี้

เก้าอย่างนี้จัดกลุ่มตามวิธีที่มันเข้าถึงเราโปรแกรมมุ่งร้ายเข้ามารันในเครื่องเราComputer WormsComputer VirusesTrojan HorsesSpyware / Ransomwareการหลอกลวงหลอกให้เรากดเองPhishingPharmingSpamยึดเครื่อง ยึดตัวตนเอาของเราไปใช้ต่อBotNetIdentity Theftคนส่วนใหญ่ไม่รู้จักพวกนี้เลย
รูปที่ 1: ภัยเก้าอย่างที่ต้องรู้จัก จัดกลุ่มตามวิธีที่มันเข้าถึงเรา
ภัยคืออะไร
Computer Worms & Virusesvirus ต้องเกาะไปกับไฟล์หรือโปรแกรมอื่น และต้องมีคนเปิดถึงจะทำงาน ส่วน worm แพร่ตัวเองข้ามเครื่องได้โดยไม่ต้องเกาะอะไรและไม่ต้องรอใคร
Trojan Horsesโปรแกรมที่ดูปกติทุกอย่าง แต่มีของแถมซ่อนอยู่ข้างใน
Spywareแอบดูว่าเราทำอะไรแล้วส่งข้อมูลออกไป
Ransomwareล็อกข้อมูลของเราไว้แล้วเรียกค่าไถ่
BotsNetเครือข่ายของเครื่องที่ถูกยึดไปแล้ว สั่งงานพร้อมกันได้จากที่เดียว
Phishingหลอกให้เรากรอกชื่อผู้ใช้และรหัสผ่านลงหน้าปลอมด้วยตัวเอง
Pharmingพาเราไปเว็บปลอมทั้งที่พิมพ์ที่อยู่ถูก โดยไปแก้ขั้นตอนที่แปลงชื่อเว็บเป็นเลขที่อยู่
Spamข้อความที่หว่านส่งจำนวนมากโดยไม่มีใครขอ และเป็นช่องทางพา phishing กับมัลแวร์เข้ามา
Identity Theftขโมยตัวตนของเราไปใช้ เช่น เปิดบัญชีหรือกู้เงินในชื่อเรา
คอลัมน์ขวาเป็นคำอธิบายเสริม

รายชื่อในสไลด์มีแค่ชื่อเก้าอย่าง ไม่ได้บอกว่าแต่ละอย่างต่างกันตรงไหน คอลัมน์ขวาเขียนเพิ่มเพื่อให้แยกออก

Pharming กับ Spam เป็นสองอย่างที่ไม่มีหน้าอธิบายเพิ่มในสไลด์เลย ที่เหลืออีกเจ็ดอย่างจะเจอรายละเอียดในส่วนที่ 2 และ 3

ทำไมต้องมีสิ่งนี้

รายชื่อนี้ไม่ได้มีไว้ให้ท่อง มันมีไว้ตั้งประเด็นว่า คนส่วนใหญ่ตกเป็นเหยื่อของสิ่งที่ตัวเองไม่รู้ว่ามีอยู่

ระบบที่แข็งแรงแค่ไหนก็ช่วยไม่ได้ ถ้าคนใช้ไม่รู้ว่ากำลังถูกหลอกอยู่ ซึ่งเป็นประเด็นที่ส่วนที่ 2 จะสรุปตรง ๆ ตอนท้าย

สองประโยคที่ตั้งโจทย์ของทั้งวิชา

สงครามในยุคปัจจุบัน (Wars in modern day) สรุปได้ด้วยสองประโยค

  • Our infrastructure are more vulnerable than you know — โครงสร้างพื้นฐานของเราเปราะบางกว่าที่คุณรู้
  • Your personal life may not be personal — ชีวิตส่วนตัวของคุณอาจไม่ได้เป็นเรื่องส่วนตัว

ส่วนที่ 2 — ภัยเข้าถึงเราได้สองทาง

ภัยทั้งเก้าอย่างในส่วนที่แล้วแบ่งได้เป็นสองกลุ่ม ตามคำถามว่า มันต้องผ่านอะไรถึงจะสำเร็จ

กลุ่มแรกเล่นงานตัวระบบ คือหาช่องโหว่ในซอฟต์แวร์หรือในเครือข่าย แล้วใช้ช่องนั้น กลุ่มที่สองไม่แตะช่องโหว่เลย แต่ไปหาคนที่ใช้ระบบแล้วทำให้เขาเปิดประตูให้เอง

การแยกสองกลุ่มนี้สำคัญ เพราะ มาตรการที่กันกลุ่มแรกได้ กันกลุ่มที่สองไม่ได้เลย

รูปที่ 1 แบ่งไว้สามกลุ่มตามสิ่งที่ภัยนั้นทำ ส่วนการแบ่งตรงนี้ถามคนละคำถาม คือถามว่าต้องผ่านอะไร สามกลุ่มนั้นจึงตกลงมาแบบนี้

สามกลุ่มในรูปที่ 1ตกอยู่ทางไหน
โปรแกรมมุ่งร้าย — viruses, worms, trojan horses, spyware, ransomwareทางที่หนึ่ง
การหลอกลวง — phishing, pharming, spamทางที่สอง
ยึดเครื่อง ยึดตัวตน — botnet, identity theftbotnet อยู่ทางที่หนึ่ง ส่วน identity theft เป็น ผลลัพธ์ ไม่ใช่วิธีการ จึงมาถึงได้ทั้งสองทาง

ทางที่หนึ่ง — เจาะตัวระบบ

Malicious Software

Malicious Software (ซอฟต์แวร์ที่เขียนขึ้นมาเพื่อทำร้าย) คือชื่อรวมของห้าอย่างแรกในตารางส่วนที่ 1 — viruses, worms, trojan horses, spyware และ ransomware

ทั้งห้าอย่างมีจุดร่วมคือเป็นโค้ดที่ไปทำงานอยู่บนเครื่องเหยื่อ ต่างกันที่ วิธีเข้าไปอยู่ตรงนั้น และ สิ่งที่ทำหลังเข้าไปแล้ว

หนอนคอมพิวเตอร์ตัวแรก ๆ ที่แพร่ผ่านอินเทอร์เน็ตคือ Morris worm

Morris worm, Internet worm of November 2, 1988, was one of the first computer worms distributed via the Internet.

Morris worm หนอนอินเทอร์เน็ตของวันที่ 2 พฤศจิกายน 1988 เป็นหนึ่งในหนอนคอมพิวเตอร์ตัวแรก ๆ ที่แพร่ผ่านอินเทอร์เน็ต

ทำไมต้องมีสิ่งนี้

ความต่างระหว่าง virus กับ worm ไม่ใช่เรื่องความรุนแรง แต่เป็นเรื่อง ต้องรอคนหรือไม่

virus รอให้มีคนเปิดไฟล์ ดังนั้นความเร็วในการแพร่ถูกจำกัดด้วยพฤติกรรมคน ส่วน worm ไม่ต้องรอใคร มันหาเครื่องถัดไปเองและกระโดดไปเอง ความเร็วจึงถูกจำกัดด้วยความเร็วเครือข่ายอย่างเดียว

นี่คือเหตุผลที่หนอนอย่าง Morris worm ปี 1988 หรือ Slammer ปี 2003 ที่จะเจอในส่วนที่ 4 ลามได้ทั้งอินเทอร์เน็ตภายในเวลาไม่กี่ชั่วโมง

BotNet และ DDoS

มีสองคำที่ต้องแยกให้ออก

  • Bot (เครื่องของคนอื่นที่ถูกยึดไปสั่งงานได้) ย่อมาจาก robot คือคอมพิวเตอร์ที่ถูกคนอื่นยึดไปแล้ว
  • Botnet (เครือข่ายของเครื่องที่ถูกยึด) คือเครือข่ายของ bot

bot ซื้อขายกันเป็นล็อต ทีละหลักพัน (หรือหลักล้าน?) แล้วคำถามที่ตามมามีข้อเดียว คือถ้าสั่งคอมพิวเตอร์เป็นพันเครื่องได้จากแป้นพิมพ์เดียว จะเอาพลังนั้นไปทำอะไร

bot คือเครื่องของคนอื่นที่ถูกยึด ส่วน botnet คือเครือข่ายของ botคนสั่งการช่องสั่งงานIRCbotbotbotbotเครื่องเป้าหมายปี 2008 มีการโจมตีแบบ DDoS ราว 190,000 ครั้ง ทำเงินให้คนร้ายราว 20 ล้านดอลลาร์เครือข่ายเดียวกันยังเอาไปขโมยข้อมูล ส่งสแปม และกดโฆษณาปลอมได้ด้วย
รูปที่ 2: คนสั่งการหนึ่งคน ช่องสั่งงานหนึ่งช่อง เครื่องที่ถูกยึดจำนวนมาก และเป้าหมายเดียว

คำตอบมีหกข้อ

เอาไปทำอะไรคืออะไร
Data theft (keylogging)ขโมยข้อมูล เช่น ดักทุกปุ่มที่เหยื่อพิมพ์
Phishingใช้เครื่องที่ยึดมาเป็นฐานส่งอีเมลหลอกลวง
Relaying Spamส่งต่อสแปมโดยให้ต้นทางดูเหมือนเป็นเครื่องของเหยื่อ
Click Fraudกดโฆษณาปลอมเพื่อกินเงินค่าโฆษณา
Hostingเก็บของผิดกฎหมาย เช่น ซอฟต์แวร์เถื่อนหรือมัลแวร์
DDoSยิงเครื่องเป้าหมายพร้อมกันจนล่ม

แฮกเกอร์มักต่อ bot เข้ากับช่อง IRC เพื่อสั่งงาน และโปรแกรมให้ bot ยิงเครื่องเป้าหมายได้ง่ายมาก ตัวเลขจาก shadowserver.org บอกไว้ว่า

ปี 2008 มีการโจมตีแบบ DDoS ราว 190,000 ครั้ง ทำเงินให้อาชญากรไซเบอร์ราว 20 ล้านดอลลาร์ และตัวเลขนี้ยังไม่รวมรายได้จากการแบล็กเมล ซึ่งประเมินไม่ได้

สังเกตว่าสองในหกข้อคือการหลอกคน

Phishing กับ Relaying Spam ในตารางข้างบนเป็นภัยของ ทางที่สอง ที่ใช้ botnet เป็นพาหนะ

botnet จึงไม่ใช่การโจมตีในตัวเอง แต่เป็น กำลังพล ที่เอาไปใช้กับการโจมตีแบบไหนก็ได้ รวมถึงแบบที่เล่นงานคน

Man-in-the-middle

ชื่อนี้เดิมทีเรียกว่า MIG-in-the-middle attack ของรัสเซีย

สิ่งที่ทั้งสองฝั่งคิดว่ากำลังเกิดขึ้นAliceคนกลางBobคนกลางอ่านและแก้ข้อความได้ทั้งสองทาง โดยไม่มีฝั่งไหนรู้ตัวเดิมทีเรียกว่า MIG-in-the-middle attack ของรัสเซียรูปในสไลด์มาจากหนังสือ Security Engineering ของ Ross Anderson
รูปที่ 3: สองฝั่งเห็นบทสนทนาเดียว แต่คนกลางถือไว้สองบทสนทนา

Man-in-the-middle attack (การแทรกตัวเป็นคนกลาง) คือการที่ผู้โจมตีนั่งอยู่ระหว่างสองฝั่งที่คิดว่ากำลังคุยกันตรง ๆ อ่านทุกอย่างที่ส่งผ่าน และแก้ได้ด้วยถ้าต้องการ

คำเดียวที่ทิ้งไว้กับหัวข้อนี้คือ Order? โดยไม่มีคำตอบเขียนไว้ และรูปที่ใช้ประกอบระบุที่มาว่ามาจากหนังสือ Security Engineering ของ Ross Anderson

ทำไมลำดับถึงสำคัญเสริม — ไม่ได้อยู่ในสไลด์

สมมติ Alice ส่งคำสั่งให้ Bob สองข้อความคือ "โอนเงิน" แล้วตามด้วย "ยกเลิก"

ถ้าคนกลางแค่ สลับลำดับ ให้ Bob ได้รับ "ยกเลิก" ก่อน แล้วค่อยได้รับ "โอนเงิน" ผลลัพธ์กลับตาลปัตร ทั้งที่คนกลางไม่ได้แก้ข้อความสักตัวอักษร และไม่ได้ปลอมเป็นใครเลย

นี่คือเหตุผลที่การพิสูจน์ว่า "ข้อความนี้มาจากใคร" อย่างเดียวยังไม่พอ ต้องพิสูจน์ได้ด้วยว่า "ข้อความนี้เป็นข้อความที่เท่าไหร่" — ซึ่งโยงกลับไปที่ nonce ในคาบ Authentication

ทางที่สอง — หลอกคนที่ใช้ระบบ

Phishing

Phishing (การหลอกให้เรากรอกข้อมูลเอง) มาได้ทุกรูปแบบ ผ่านอีเมล โทรศัพท์ เว็บ และแชท คำถามที่ตามมามีข้อเดียว

What will happen if you typed in your username and password?

จะเกิดอะไรขึ้น ถ้าคุณพิมพ์ชื่อผู้ใช้กับรหัสผ่านลงไป

ถ้าคุณพิมพ์ username กับ password ลงไป จะเกิดอะไรขึ้นอีเมลปลอมอ้างเป็นธนาคารหน้าเว็บปลอมหน้าตาเหมือนจริงเรากรอกรหัสด้วยมือเราเองคนร้ายเข้าบัญชีใช้รหัสของเราเองช่องทางที่ใช้ได้: อีเมล โทรศัพท์ เว็บ และแชทFBI รายงานปี 2004 ว่าใน 12 เดือนมีอีเมลหลอกลวงถูกแจ้ง 57 ล้านฉบับมูลค่าสินค้าและบริการที่เสียไป 1.2 พันล้านดอลลาร์ ความเสียหายรวมประเมินไว้ 5 หมื่นล้าน
รูปที่ 4: สี่ขั้นของ phishing โดยขั้นที่สามคือขั้นที่เหยื่อลงมือเอง
จุดที่คนพลาดบ่อย

จุดที่ทำให้ phishing ต่างจากการโจมตีในทางที่หนึ่งคือ ระบบไม่ได้พังเลยสักจุด

รหัสผ่านที่ถูกส่งไปเป็นรหัสที่ถูกต้อง คนที่พิมพ์คือเจ้าของบัญชีตัวจริง และเซิร์ฟเวอร์ที่รับรหัสไปก็ทำงานตามที่ออกแบบไว้ทุกอย่าง สิ่งเดียวที่ผิดคือเหยื่อเข้าใจผิดว่ากำลังคุยกับใครอยู่

เพราะแบบนี้ มาตรการทางเทคนิคจึงกัน phishing ได้ไม่หมด

แล้ว phishing ได้ผลแค่ไหน รายงานของ FBI ปี 2004 ให้ตัวเลขไว้แบบนี้

ตัวเลขค่า
ช่วงเวลา12 เดือน สิ้นสุดเดือน 4/2004
อีเมลหลอกลวงที่ถูกแจ้ง57 ล้านฉบับ
มูลค่าสินค้าและบริการที่เสียไป1.2 พันล้านดอลลาร์
ความเสียหายรวมที่ประเมินไว้5 หมื่นล้านดอลลาร์

ตัวเลข 1.2 พันล้าน ยังไม่รวม ค่าฮาร์ดแวร์ ค่าซอฟต์แวร์ และความเสียหายต่อชื่อเสียง

ลองตอบดู: ทำไมความเสียหายรวมถึงมากกว่ามูลค่าสินค้าที่เสียไปถึงสี่สิบเท่า

เพราะมูลค่าสินค้าและบริการนับเฉพาะของที่ถูกขโมยไปตรง ๆ ส่วนความเสียหายรวมนับสิ่งที่ตามมาด้วย

ตัวอย่างที่ระบุไว้มีสามอย่างคือ ค่าฮาร์ดแวร์ ค่าซอฟต์แวร์ และชื่อเสียง ซึ่งเป็นต้นทุนของการกู้ระบบและการเรียกความเชื่อมั่นกลับมา ไม่ใช่ของที่ถูกขโมย

สไลด์ยังถามทิ้งไว้อีกข้อโดยไม่ให้คำตอบ ว่าธนาคารส่วนใหญ่ถูกเจาะทุกสัปดาห์ แต่ธนาคารไม่อยากให้มีการสืบสวน Why? — ถ้าโยงกับคำว่า "ชื่อเสียง" ในบรรทัดบน ก็พอเดาทางได้

Social Engineering

คดีที่ VIGILANTe บันทึกไว้ และเรียกกันว่า AOL hack เป็นแบบนี้

ในกรณีนั้น แฮกเกอร์โทรหาฝ่ายสนับสนุนทางเทคนิคของ AOL แล้วคุยกับเจ้าหน้าที่อยู่หนึ่งชั่วโมง ระหว่างคุยกัน แฮกเกอร์เอ่ยขึ้นมาว่ากำลังขายรถราคาถูก เจ้าหน้าที่สนใจ แฮกเกอร์จึงส่งอีเมลแนบไฟล์ "รูปรถ" ไปให้ แต่แทนที่จะเป็นรูปรถ อีเมลนั้นรันช่องทางลับที่เปิดการเชื่อมต่อออกจาก AOL ผ่านไฟร์วอลล์

เทียบให้เห็นภาพ

สังเกตว่าแฮกเกอร์ไม่ได้เจาะไฟร์วอลล์เลย เขาให้ คนที่อยู่ข้างใน เป็นคนเปิดประตูให้เอง

เหมือนคนที่อยากเข้าตึกที่มีการ์ดเฝ้า แล้วเลือกวิธีคุยกับพนักงานจนสนิท แทนที่จะปีนรั้ว ไฟร์วอลล์กันการเชื่อมต่อที่วิ่งเข้ามาจากข้างนอก แต่การเชื่อมต่อที่เครื่องข้างในเป็นคนเปิดออกไปเอง มันไม่ได้กัน

หนึ่งชั่วโมงที่คุยกันคือการลงทุน ไม่ใช่การเสียเวลา

ของในถังขยะที่ทำข้อมูลรั่วได้

รายการของที่ถูกทิ้งลงถังขยะแล้วกลายเป็นช่องโหว่มีแบบนี้

  • สมุดโทรศัพท์ของบริษัท
  • ผังองค์กร
  • บันทึกภายใน (memo) และคู่มือนโยบายบริษัท
  • ปฏิทินการประชุม กิจกรรม และวันลาพักร้อน
  • คู่มือระบบ
  • เอกสารที่พิมพ์ออกมาซึ่งมีข้อมูลอ่อนไหว หรือมีชื่อผู้ใช้และรหัสผ่าน
  • เอกสารที่พิมพ์ source code ออกมา
  • แผ่นดิสก์และเทป
  • กระดาษหัวจดหมายและแบบฟอร์มบันทึกของบริษัท
  • ฮาร์ดแวร์เก่าที่เลิกใช้แล้ว

รายการนี้ยาวกว่าที่คนส่วนใหญ่คาด และเกินครึ่งไม่ใช่ข้อมูลลับ แต่เป็นข้อมูลที่ช่วยให้คนแปลกหน้าพูดจาเหมือนคนใน ซึ่งคือสิ่งที่คดี AOL ต้องใช้

หลอกให้โอนเงินเอง

ไม่ว่าจะเจอประกาศขายของออนไลน์ที่ไหน ก็มักจะมีคำโฆษณาที่ไม่จริงปนอยู่ ตัวอย่างคือ Nigerian scam พร้อมวงเล็บถามว่า (Why Nigerian?)

สไลด์ถามแล้วไม่ตอบ

คำถาม Why Nigerian? ในสไลด์ไม่มีคำตอบเขียนไว้ หน้านี้จึงไม่เดาแทน ถ้าอาจารย์เฉลยในคาบ ให้จดเพิ่มตรงนี้

แนวคิดหลัก

Intuitively, user is the first line of defense.

โดยสัญชาตญาณแล้ว ผู้ใช้คือแนวป้องกันด่านแรก

ทางที่สองทั้งทางมีจุดร่วมเดียวกันคือ มีคนกดอะไรบางอย่างที่ไม่ควรกด และไม่มีมาตรการทางเทคนิคข้อไหนหยุดมันได้ทั้งหมด


ส่วนที่ 3 — เมื่อมันกลายเป็นคดี

Cyber Crime คืออะไร

Cyber Crime (อาชญากรรมที่ใช้ช่องทางดิจิทัล) นิยามสั้น ๆ ว่า crime that use digital as mediums คืออาชญากรรมที่ใช้สื่อดิจิทัลเป็นเครื่องมือ แบ่งเป็นสามประเภท

Cyber Stalking — การใช้อินเทอร์เน็ต อีเมล หรืออุปกรณ์สื่อสารอิเล็กทรอนิกส์อื่น เพื่อสะกดรอยหรือคุกคามผู้อื่น

Fraud / Identity Theft — เป็นหนึ่งในอาชญากรรมที่โตเร็วที่สุดในอเมริกาและประเทศอื่นทั่วโลก

Hacking — การเข้าถึง ใช้ เปิดเผย หรือเอาข้อมูลอิเล็กทรอนิกส์บนคอมพิวเตอร์หรืออุปกรณ์อื่นไป โดยตั้งใจและไม่ได้รับอนุญาต

ทำไมต้องมีสิ่งนี้

สังเกตคำว่า deliberate and unauthorized ในนิยามของ hacking

การเข้าถึงข้อมูลโดยไม่ได้ตั้งใจ เช่น เผลอกดลิงก์แล้วเจอหน้าที่ไม่ควรเห็น ไม่เข้าข่าย และการเข้าถึงที่ได้รับอนุญาตแล้ว เช่น การทดสอบเจาะระบบที่มีสัญญา ก็ไม่เข้าข่ายเช่นกัน เส้นแบ่งอยู่ที่เจตนาและการอนุญาต ไม่ใช่ที่ความสามารถทางเทคนิค

สามประเภทนี้ตัดขวางสองทางในส่วนที่ 2

การแบ่งในส่วนที่ 2 ตอบว่า ทำยังไง ส่วนการแบ่งตรงนี้ตอบว่า ผิดกฎหมายข้อไหน

คดีเดียวจึงอยู่ได้ทั้งสองที่ เช่น คดี AOL ใช้วิธีหลอกคน (ทางที่สอง) แต่เข้าข่าย hacking ในทางกฎหมาย

กฎหมายตามทัน — สามคดีใน 19 ปี

ความรุนแรงของอาชญากรรมไซเบอร์ (Severity of Cyber Crime) เห็นได้จากสามคดีที่คล้ายกัน แต่ต่างกันที่ปี

ปีที่ไหนเรื่องย่อผล
1985University of Michiganนักศึกษาเขียนเรื่องแต่งลงกระดานข่าวคอมพิวเตอร์ ว่าข่มขืนและทรมานเพื่อนร่วมชั้นที่ระบุชื่อจริง ถูกตั้งข้อหาส่งคำข่มขู่ข้ามรัฐศาลแขวงสหรัฐยกฟ้อง โดยตัดสินว่านักศึกษาไม่ได้ละเมิดกฎหมายกลาง
2001นิวเดลี อินเดียManish Kathuria สวมรอยเป็น Ritu Kohli ในบริการแชท MIRC ใช้ถ้อยคำหยาบคาย และแจกเบอร์โทรบ้านของเธอพร้อมชวนให้คนโทรไปพูดจาลามกถูกจับ ถือเป็นคดี cyberstalking คดีแรกของอินเดีย ตั้งข้อหาตามมาตรา 509 ประมวลกฎหมายอาญาอินเดีย ฐาน "ลบหลู่ความสุภาพเรียบร้อย" ของผู้เสียหาย
2004เซาท์แคโรไลนา สหรัฐชายคนหนึ่งส่งอีเมลและแฟกซ์นับสิบฉบับไปหาพนักงานเทศบาลเมืองซีแอตเทิลที่เลิกกับเขาไปเมื่อ 14 ปีก่อนรับสารภาพตามกฎหมายสะกดรอยของรัฐบาลกลาง โดนคุมประพฤติ 5 ปี บริการชุมชน 500 ชั่วโมง และชดใช้ 12,000 ดอลลาร์
ทำไมต้องมีสิ่งนี้

สามคดีนี้เรียงตามปีเพื่อบอกอย่างเดียวคือ กฎหมายตามทัน คดีปี 1985 ยกฟ้องเพราะยังไม่มีกฎหมายรองรับ พอถึงปี 2001 และ 2004 มีทั้งข้อหาที่ใช้ได้และมีคำพิพากษาแล้ว

กฎหมายคอมพิวเตอร์ของไทย

กฎหมายคอมพิวเตอร์ของไทย (Thai Computer Law (2550 B.E.)) สรุปเป็นสามข้อ

  • คุณต้องดูแลอุปกรณ์ของคุณเอง
  • ถ้าเพื่อนหยิบสมาร์ตโฟนของคุณไปโพสต์ด่านายกรัฐมนตรี มันเป็นความผิดของคุณ
  • ถ้าคุณแชร์เนื้อหาที่อาจทำให้คนอื่นเสียหาย ก็เป็นความผิดของคุณเช่นกัน

ทั้งสามข้ออ้างอิงถึงพระราชบัญญัติว่าด้วยการกระทำความผิดเกี่ยวกับคอมพิวเตอร์ พ.ศ. ๒๕๕๐

จุดที่คนพลาดบ่อย

สองข้อหลังเป็นสิ่งที่นิสิตพลาดกันบ่อยที่สุดในชีวิตจริง

การให้ยืมเครื่องที่ล็อกอินค้างไว้ กับการกดแชร์ต่อ ถือเป็นการกระทำของเจ้าของบัญชี ไม่ใช่ของคนที่พิมพ์

หน้านี้สรุปตามที่สไลด์เขียนไว้เท่านั้น ไม่ใช่คำแนะนำทางกฎหมาย ถ้าต้องใช้จริงให้อ่านตัวบทหรือถามคนที่รู้กฎหมาย


ส่วนที่ 4 — สิบหลักการความปลอดภัย

หลักการชุดนี้รวบรวมมาจากคนในวงการ ระบุที่มาไว้สามแหล่งคือ IBM, Microsoft และ Albion

ภาพรวมทั้งสิบข้อก่อน

ข้อหลักการใจความสั้นที่สุด
1Least privilegeให้สิทธิ์เท่าที่จำเป็น และนานเท่าที่จำเป็น
2Defense in depthมีหลายชั้น ชั้นหนึ่งพังยังมีชั้นถัดไป
3Secure failureพังแล้วต้องไม่พังไปในทางที่เปิดช่อง
4Secure the weakest linkระบบแข็งเท่าจุดที่อ่อนที่สุด
5Compartmentalizationซอยระบบเป็นห้อง ๆ ให้ความเสียหายไม่ลาม
6Simplicityยิ่งซับซ้อนยิ่งพลาดง่าย
7Promote privacyอย่าเก็บข้อมูลส่วนตัวเกินที่ต้องใช้
8It's hard to hide secretsความลับเก็บยากกว่าที่คิด
9Don't extend trust easilyอย่าเชื่อใครง่าย รวมถึงตัวเอง
10Trust the communityของที่คนจำนวนมากตรวจแล้วน่าเชื่อกว่า
สิบข้อนี้ตอบสามคำถาม

อ่านรวดเดียวสิบข้ออาจดูเป็นรายการที่ไม่มีโครง แต่จัดกลุ่มได้สามกลุ่ม

ลดสิ่งที่ต้องเชื่อ — ข้อ 1, 9, 10 · ลดความเสียหายเมื่อพัง — ข้อ 2, 3, 4, 5 · ลดของที่ต้องเข้าใจ — ข้อ 6, 7, 8

เลขข้อยังเรียงตามเดิม เพราะเป็นเลขที่ใช้อ้างถึงกันในคาบและในข้อสอบ

หลักการที่ 1 — Least privilege

The principle of least privilege states that only the minimum access necessary to perform an operation should be granted, and that access should be granted only for the minimum amount of time necessary.

Least privilege (ให้สิทธิ์น้อยที่สุดเท่าที่งานนั้นต้องใช้) มีสองท่อน คือ สิทธิ์น้อยที่สุด และ เวลาสั้นที่สุด คนมักจำแค่ท่อนแรก

ผลกระทบ — ถ้า process ที่รันด้วยสิทธิ์สูง เช่น root หรือ admin ถูกยึด ความเสียหายจะมากกว่า และถ้าผู้ใช้ที่ใช้สิทธิ์สูงอยู่ถูกโจมตี ก็เสียหายมากกว่าเช่นกัน

ตัวอย่างคือ ถ้าเปิด MS Word ด้วยสิทธิ์ Administrator แล้วเจอ macro virus ไวรัสตัวนั้นล้างเครื่องได้ทั้งเครื่อง

หลักการที่ 2 — Defense in depth

The idea behind defense in depth is to manage risk with multiple defensive strategies, so that if one layer of defense turns out to be inadequate, another layer of defense will, ideally, prevent a full breach.

ผู้โจมตีfirewallถูกเจาะแล้วแยกเครือข่ายหยุดไว้ตรงนี้สิทธิ์ขั้นต่ำยังไม่ถึงข้อมูลของเราชั้นเดียวพังไม่ได้แปลว่าระบบพัง ตราบใดที่ยังมีชั้นถัดไปรออยู่
รูปที่ 5: ชั้นแรกถูกเจาะแล้ว แต่ชั้นที่สองยังหยุดไว้ได้ ข้อมูลจึงยังไม่ถึงมือใคร

เป็นยุทธศาสตร์ทางทหารที่รู้จักกันดี ตัวอย่างคือ เพื่อไม่ให้ข้าศึกยึดรถไฟแล้ววิ่งตรงเข้าเมืองหลวงได้ ทางรถไฟจะต้องมีถนนตัดผ่านทุก ๆ ไม่กี่กิโลเมตร

ผลกระทบ — Windows Server 2003 เปลี่ยนลำดับการค้นหา DLL ให้ใช้ของระบบก่อน ไม่ใช้ DLL ที่ซ้ำกันในโฟลเดอร์ของแอป การเปลี่ยนครั้งนั้นปิดช่องทางโจมตีไปหนึ่งช่อง

ต่อมามีคนหาช่องโหว่ใน Windows ที่ยัด DLL เข้าไปในโฟลเดอร์ของแอปได้ แต่ใช้กับ Server 2003 ไม่ได้ เพราะลำดับการค้นหาถูกเปลี่ยนไปแล้ว

ทำไมต้องมีสิ่งนี้

ตัวอย่างนี้ดีตรงที่การเปลี่ยนลำดับ DLL ไม่ได้ถูกทำขึ้นเพื่อกันช่องโหว่ตัวนั้น เพราะตอนนั้นยังไม่มีใครรู้ว่าช่องโหว่ตัวนั้นมีอยู่

มันคือชั้นป้องกันที่วางไว้เฉย ๆ แล้วบังเอิญไปกันของที่มาทีหลัง นี่คือคุณค่าจริงของ defense in depth คือ มันกันของที่เรายังไม่รู้ว่ามี

หลักการที่ 3 — Secure failure

Avoid security problems related to failures. When systems fail in any way, they should not revert to insecure behavior.

ตัวอย่างของเก่าคือ ในอดีต เมื่อโปรแกรมเกิด segmentation fault ระบบจะเด้ง shell ขึ้นมาให้ debug

ผลกระทบ — โปรแกรมพัง แล้วอะไรเกิดขึ้นต่อ ถ้าโปรแกรมนั้นรันด้วยสิทธิ์สูงอยู่ เวลามันพัง เราตกไปอยู่ที่ระบบปฏิบัติการพร้อมสิทธิ์สูงนั้นหรือเปล่า ถ้าใช่ ผู้โจมตีก็แค่ ถล่มโปรแกรมให้พัง เช่น ทำให้เกิด segmentation fault

เทียบให้เห็นภาพ

เหมือนประตูอัตโนมัติตอนไฟดับ ถ้าออกแบบให้ไฟดับแล้วประตูเปิดค้าง ใครก็เดินเข้าได้ ผู้ร้ายจึงไม่ต้องงัดประตู แค่ตัดไฟ

หลักการนี้บอกว่า ต้องออกแบบว่าเวลาพังแล้วจะพังไปทางไหน ไม่ใช่ปล่อยให้เป็นไปตามยถากรรม

Security is a chain; a system is only as secure as the weakest link. One consequence is that the weakest parts of your system are the parts most susceptible to attack.

ผลกระทบ — ไฟร์วอลล์เป็นจุดที่โดนโจมตีบ่อยมาโดยตลอด และเครื่องพิมพ์ที่ต่อเน็ตก็เหมือนกัน เครื่องพิมพ์พวกนี้เป็นคอมพิวเตอร์จริง ๆ และมักถูกมองข้าม

จุดที่คนพลาดบ่อย

คนมักลงแรงกับส่วนที่ตัวเองคิดว่าสำคัญที่สุด เช่น เซิร์ฟเวอร์ฐานข้อมูล แล้วลืมของที่ดูไม่สำคัญ

แต่ผู้โจมตีไม่ได้เลือกทางที่เรากลัวที่สุด เขาเลือกทางที่ง่ายที่สุด เครื่องพิมพ์ที่ไม่เคยอัปเดตเฟิร์มแวร์เลยห้าปี ก็เป็นเครื่องคอมพิวเตอร์ที่อยู่ในเครือข่ายเดียวกับฐานข้อมูล

หลักการที่ 5 — Compartmentalization

The basic idea behind compartmentalization is that we can minimize the amount of damage that can be done to a system, if we break the system up into as many isolated units as possible.

ผลกระทบ — วางเว็บเซิร์ฟเวอร์ไว้ใน DMZ (โซนกันชนที่แยกจากเครือข่ายภายใน) แล้ววางข้อมูลไว้หลังไฟร์วอลล์อีกชั้น พร้อมเงื่อนไขสองข้อ

  • ฝั่ง DMZ อาจมีแค่ สำเนาข้อมูลแบบอ่านอย่างเดียว
  • ฝั่งข้อมูล รับการเชื่อมต่อจากเว็บเซิร์ฟเวอร์เท่านั้น
ทำไมต้องมีสิ่งนี้

ข้อ 2 กับข้อ 5 ฟังดูคล้ายกันแต่คนละเรื่อง

Defense in depth คือหลายชั้นเรียงกันในแนวลึก ผู้โจมตีต้องผ่านทีละชั้น

Compartmentalization คือหลายห้องเรียงกันในแนวกว้าง ผู้โจมตีที่ยึดห้องหนึ่งได้ ก็ได้แค่ห้องนั้น

ระบบที่ดีมีทั้งสองแบบ

หลักการที่ 6 — Simplicity

The KISS mantra — "Keep it simple, stupid!". Complexity increases the risk of problems; this seems unavoidable in any system. Your designs and implementations should be as straightforward as possible.

ผลกระทบ — See Microsoft.

หลักการที่ 7 — Promote privacy

Users generally consider privacy a security concern. You shouldn't do anything that could compromise the privacy of the user. And you should be as diligent as possible in protecting any personal information that a user gives you. You can quickly lose the respect of your customers, if they think you handle privacy concerns poorly.

ผลกระทบ — เขียนนโยบายความเป็นส่วนตัว แล้วถามตัวเองสองคำถาม

  • เราต้องใช้เลขประจำตัวประชาชนของเขาจริงหรือเปล่า
  • เราต้องเก็บเลขบัตรเครดิตของเขาไว้จริงหรือเปล่า
หลักการข้อนี้ต่อยอดใน Chapter 2

คำถามว่า security กับ privacy ต่างกันตรงไหน เป็นหัวข้อแรกของ Chapter 2 — Security Components

หลักการที่ 8 — It's hard to hide secrets

It's incredibly difficult to keep the "secrets" secret.

ภัยที่พบบ่อยที่สุดของบริษัทคือ insider attack คือพนักงานที่ไม่พอใจใช้สิทธิ์ที่ตัวเองมีในทางที่ผิด แล้วเปิดเผยความลับ

และคำเตือนเรื่อง Security by obscurity (การหวังพึ่งว่าคนอื่นจะไม่รู้วิธีการของเรา) คือ ถ้าเลี่ยงได้ อย่าใช้มันเป็นแนวป้องกันเพียงอย่างเดียว

ผลกระทบ — อัลกอริทึมเข้ารหัสที่ปลอดภัยทุกตัว เป็นของสาธารณะ ถ้าไม่เปิดเผยก็จะไม่มีใครเชื่อถือ สิ่งที่เป็นความลับมีแค่ กุญแจ เท่านั้น

หลักการที่ 9 — Don't extend trust easily

หลักการนี้ไล่ไว้สามระดับ

  • อย่าเพิ่งเชื่อเซิร์ฟเวอร์ของตัวเอง เผื่อว่ามันถูกยึดไปแล้ว
  • อย่าเพิ่งเชื่อตัวเองและองค์กรของตัวเอง
  • มีผลิตภัณฑ์จากผู้ขายด้านความปลอดภัยหลายตัวที่มีช่องโหว่เบ้อเริ่ม

ผลกระทบ — หนอน Slammer ปี 2003 เจาะเข้าเครือข่ายภายในของโรงไฟฟ้านิวเคลียร์ Davis-Besse ในรัฐโอไฮโอ และทำให้ระบบเฝ้าระวังความปลอดภัยใช้การไม่ได้เกือบห้าชั่วโมง ทั้งที่พนักงานโรงไฟฟ้าเชื่อว่าเครือข่ายนั้นมีไฟร์วอลล์ป้องกันอยู่

สาเหตุคือ ผู้รับเหมารายหนึ่งต่อเครื่องเข้ากับเครือข่ายภายใน แล้วหมุนโมเด็มออกอินเทอร์เน็ต

จุดที่คนพลาดบ่อย

เคสนี้ไม่ใช่เรื่องไฟร์วอลล์ทำงานผิดพลาด ไฟร์วอลล์ทำงานถูกต้องทุกอย่าง

ปัญหาคือมีคนสร้างทางอ้อมขึ้นมาใหม่ที่ไม่ผ่านไฟร์วอลล์เลย และไม่มีใครรู้ ความเชื่อที่ว่า "เครือข่ายนี้ปลอดภัยเพราะมีไฟร์วอลล์" คือสิ่งที่ทำให้ไม่มีใครไปตรวจ

หลักการที่ 10 — Trust the community

Repeated use without failure promotes trust. Public scrutiny does as well. You get to leverage the experience of others. This principle only applies if you have reason to believe that the community is doing its part to promote the security of components you want to use.

ผลกระทบ — ย้ำเรื่องเดิมว่าอัลกอริทึมเข้ารหัสที่ปลอดภัยทุกตัวเป็นของสาธารณะ และ ถูกผู้เชี่ยวชาญตรวจสอบมาอย่างหนัก

ลองตอบดู: ข้อ 9 บอกว่าอย่าเชื่อใครง่าย ๆ แต่ข้อ 10 บอกให้เชื่อชุมชน สองข้อนี้ขัดกันหรือเปล่า

ไม่ขัดกัน เพราะสองข้อนี้พูดถึงเหตุผลของการเชื่อคนละแบบ

ข้อ 9 ห้ามเชื่อเพราะ สถานะ เช่น เชื่อเพราะเป็นเซิร์ฟเวอร์ของเราเอง เชื่อเพราะคนขายเป็นบริษัทด้านความปลอดภัย หรือเชื่อเพราะเขาบอกว่ามีไฟร์วอลล์

ข้อ 10 ให้เชื่อเพราะ หลักฐาน คือของชิ้นนั้นถูกใช้ซ้ำมานานโดยไม่พัง และถูกคนนอกตรวจสอบมาแล้วอย่างเปิดเผย

ข้อ 10 ยังมีเงื่อนไขติดมาด้วยว่า ใช้ได้เฉพาะเมื่อเรามีเหตุผลจะเชื่อว่าชุมชนนั้นทำหน้าที่ของมันจริง ซึ่งก็คือข้อ 9 กำกับข้อ 10 อยู่นั่นเอง

ตัวอย่างที่ทั้งสองข้อชี้ไปที่เดียวกันคืออัลกอริทึมเข้ารหัส เราไม่ได้เชื่อเพราะคนสร้างบอกว่าปลอดภัย แต่เชื่อเพราะมันเปิดให้ทุกคนพยายามเจาะมาหลายสิบปีแล้วยังไม่มีใครทำได้


ส่วนที่ 5 — แล้ว security คืออะไรกันแน่

นิยามจากพจนานุกรมและจากวงการ

มีนิยามจากสองแหล่ง

Merriam-Webster Online — "the state of being secure" สภาวะของการปลอดภัย โดยคำว่า secure หมายถึง "free from risk of loss" ปลอดจากความเสี่ยงที่จะสูญเสีย

webopedia.com — ในวงการคอมพิวเตอร์ security หมายถึงเทคนิคที่ทำให้ข้อมูลซึ่งเก็บอยู่ในคอมพิวเตอร์ ไม่ถูกอ่านหรือถูกแก้โดยคนที่ไม่ได้รับอนุญาต มาตรการส่วนใหญ่เกี่ยวข้องกับการเข้ารหัสข้อมูลและรหัสผ่าน

จุดที่คนพลาดบ่อย

นิยามของ webopedia ระบุวิธีการเอาไว้ในนิยามเลย คือบอกว่า security คือการเข้ารหัสกับรหัสผ่าน

นั่นคือการเอา เครื่องมือ มาเป็น คำจำกัดความ ซึ่งแคบเกินไป ระบบที่เข้ารหัสครบและมีรหัสผ่านครบ ก็ยังไม่ปลอดภัยได้ถ้าไม่มีการตรวจสิทธิ์หรือไม่มีการเก็บบันทึก ซึ่งเป็นประเด็นของ Chapter 2 ทั้งบท

เรื่องนี้เก่ากว่าคอมพิวเตอร์มาก

ปัญหาความปลอดภัยทางกายภาพเกิดขึ้นตั้งแต่มนุษย์เริ่มรวมตัวกันเป็นชุมชน และ กุญแจที่เก่าแก่ที่สุดเท่าที่รู้จักคือกุญแจอียิปต์อายุ 4,000 ปี

Who can do what when?

วิชานี้ให้นิยามของตัวเองไว้

The protection of resources from being accessed by an unauthorized person at a particular time.

การปกป้องทรัพยากรจากการถูกเข้าถึงโดยผู้ที่ไม่ได้รับอนุญาต ณ เวลาหนึ่ง ๆ

แล้วย่อให้สั้นที่สุดว่า

Who can do what when?

นิยามที่วิชานี้ใช้ — Who can do what when?ใครWhoคนที่ขอเข้าถึงทำอะไรได้can do whatสิ่งที่เขาทำได้ตอนไหนwhenช่วงเวลาที่อนุญาตการปกป้องทรัพยากรจากคนที่ไม่มีสิทธิ์ ณ เวลาหนึ่ง ๆ
รูปที่ 6: นิยามที่วิชานี้ใช้ แยกออกเป็นสามคำถามที่ต้องตอบได้ทุกข้อ
ทำไมต้องมีสิ่งนี้

คำที่คนมักอ่านข้ามคือ at a particular time หรือคำว่า when

ถ้าไม่มีคำนี้ นิยามจะกลายเป็นแค่ "ใครทำอะไรได้" ซึ่งเป็นเรื่องคงที่ แต่ในความจริง สิทธิ์เปลี่ยนตามเวลาเสมอ พนักงานที่ลาออกไปแล้วต้องเข้าไม่ได้ตั้งแต่วันที่ลาออก และบัตรเข้าห้องประชุมควรใช้ได้เฉพาะช่วงที่จองไว้

นี่คือเหตุผลที่หลักการข้อ 1 ในส่วนที่ 4 พูดถึง เวลา ควบคู่กับสิทธิ์เสมอ

ลองตอบดู: ระบบที่ให้พนักงานทุกคนเข้าถึงไฟล์ทุกไฟล์ได้ตลอดเวลา ผิดตรงไหนตามนิยามนี้

ผิดสองในสามข้อ

ผิดที่ what เพราะไม่ได้แยกว่าใครควรเข้าถึงอะไรได้บ้าง ทุกคนเข้าได้ทุกอย่างเท่ากันหมด

ผิดที่ when เพราะไม่มีขอบเขตเวลา คนที่เคยมีสิทธิ์ก็ยังมีสิทธิ์ตลอดไป

ส่วน who อาจถูกอยู่ ถ้าระบบยังบังคับให้ login ก่อน คือมันรู้ว่าใครเป็นใคร แต่รู้แล้วไม่ได้เอาไปใช้ทำอะไรต่อ

นี่คือตัวอย่างของประโยคปิดใน Chapter 2 ที่ว่า มีองค์ประกอบครบไม่ได้แปลว่าปลอดภัย


ส่วนที่ 6 — เป้าหมายของวิชา หนังสือ และตารางเรียน

Be skeptical

คำสองคำที่วิชานี้ย้ำคือ Be skeptical จงตั้งข้อสงสัยไว้ก่อน แล้วต่อด้วยเป้าหมายของวิชา

Security is too broad a topic. I know only a small part. This class is rather a collaboration among us. If when you leave this class you have a different way of looking at the world around you, I will have succeeded.

ความปลอดภัยเป็นหัวข้อที่กว้างเกินไป ผมรู้แค่ส่วนเล็ก ๆ วิชานี้จึงเป็นการร่วมมือกันระหว่างพวกเรามากกว่า ถ้าตอนที่คุณเดินออกจากวิชานี้ คุณมองโลกรอบตัวเปลี่ยนไป ผมก็ถือว่าสำเร็จแล้ว

หนังสือที่แนะนำให้อ่าน

หนังสือผู้แต่งรายละเอียดคำแนะนำ
Security EngineeringRoss AndersonISBN-10: 0470068523, Wiley, 2008สรุปแนวคิดด้านความปลอดภัยไว้ดีมากสำหรับคนเริ่มต้น
Writing Secure Code, 2nd EditionMichael Howard และ David LeBlancISBN-10: 0735617228, Microsoft Press, 2002ถ้าอยากเป็นโปรแกรมเมอร์ที่ดีในแง่ความปลอดภัย เล่มนี้ควรอ่าน

Security Engineering อ่านออนไลน์ได้ฟรีเป็น PDF ที่ cl.cam.ac.uk/~rja14/book.html

ยังมีหนังสือของอาจารย์ผู้สอนเองให้ด้วย ชื่อ Computer Security, The Foundations โดยระบุไว้ว่า this is a work in progress คือยังเขียนไม่เสร็จ

ชื่อนี้อยู่ท้ายสไลด์ทุกหน้า

บรรทัดล่างสุดของสไลด์ทุกหน้าในทุกบทเขียนว่า Computer Security, The foundations ซึ่งก็คือชื่อหนังสือเล่มนี้ สไลด์ทั้งชุดจึงเป็นโครงของหนังสือที่กำลังเขียนอยู่

ตารางเรียน

จุดที่คนพลาดบ่อย

ตารางในสไลด์หน้า 38 เริ่มวันที่ 9 มกราคม และจบวันที่ 1 พฤษภาคม ซึ่งเป็นภาคปลาย แต่ประมวลรายวิชาของวิชานี้เป็นของภาคต้น ปีการศึกษา 2569

อย่ายึดวันที่ในสไลด์ ให้ยึดตามที่ประกาศในคาบหรือใน myCourseVille ของเทอมที่กำลังเรียนอยู่

สรุปท้ายคาบ

ปัญหาใหญ่แค่ไหน

  • ภัยที่ต้องรู้จักมีเก้าอย่าง ตั้งแต่ worm, virus, trojan, spyware, ransomware ไปจนถึง botnet, phishing, pharming, spam และ identity theft และคนส่วนใหญ่ไม่รู้จักเลย
  • สองประโยคที่ตั้งโจทย์: โครงสร้างพื้นฐานเปราะบางกว่าที่คิด และชีวิตส่วนตัวอาจไม่ได้เป็นเรื่องส่วนตัว

สองทางที่ภัยเข้าถึงเรา

  • เจาะตัวระบบ — malicious software ห้าชนิด, botnet และ DDoS, man-in-the-middle
  • หลอกคนที่ใช้ระบบ — phishing, social engineering, หลอกให้โอนเงิน
  • ความต่างของ virus กับ worm คือ virus รอให้คนเปิดไฟล์ ส่วน worm ไม่ต้องรอใคร
  • Morris worm วันที่ 2 พฤศจิกายน 1988 เป็นหนอนตัวแรก ๆ ที่แพร่ผ่านอินเทอร์เน็ต
  • Botnet ซื้อได้เป็นล็อตหลักพัน เอาไปขโมยข้อมูล ส่งสแปม กดโฆษณาปลอม เก็บของผิดกฎหมาย และยิง DDoS
  • ปี 2008 มี DDoS ราว 190,000 ครั้ง ทำเงินราว 20 ล้านดอลลาร์
  • Man-in-the-middle: สองฝั่งคิดว่าคุยกันตรง ๆ แต่มีคนกลางอ่านและแก้ได้ เดิมเรียกว่า MIG-in-the-middle
  • FBI ปี 2004: อีเมลหลอกลวงถูกแจ้ง 57 ล้านฉบับใน 12 เดือน มูลค่าสินค้าที่เสียไป 1.2 พันล้านดอลลาร์ ความเสียหายรวมประเมินไว้ 5 หมื่นล้าน
  • คดี AOL: แฮกเกอร์คุยกับฝ่ายซัพพอร์ตหนึ่งชั่วโมง แล้วส่งไฟล์ "รูปรถ" ที่เปิดช่องทางลับออกจากไฟร์วอลล์
  • ประโยคปิดของทั้งส่วน: user is the first line of defense

เมื่อมันกลายเป็นคดี

  • Cyber Crime คืออาชญากรรมที่ใช้สื่อดิจิทัลเป็นเครื่องมือ แบ่งเป็น cyber stalking, fraud/identity theft และ hacking
  • นิยามของ hacking ต้องมีทั้ง deliberate และ unauthorized
  • คดีสะกดรอยสามคดี ปี 1985 ยกฟ้อง ปี 2001 เป็นคดีแรกของอินเดีย ปี 2004 โดนคุมประพฤติ 5 ปีและชดใช้ 12,000 ดอลลาร์
  • กฎหมายคอมพิวเตอร์ไทย พ.ศ. 2550: เพื่อนใช้เครื่องเราไปโพสต์ผิด เป็นความผิดของเรา และการแชร์ต่อก็เป็นความผิดของเรา

สิบหลักการ (จาก IBM, Microsoft, Albion)

  1. Least privilege — สิทธิ์น้อยที่สุด และนานเท่าที่จำเป็น
  2. Defense in depth — หลายชั้นเรียงกันในแนวลึก
  3. Secure failure — พังแล้วต้องไม่พังไปในทางที่เปิดช่อง
  4. Secure the weakest link — ระบบแข็งเท่าจุดที่อ่อนที่สุด เช่น เครื่องพิมพ์ที่ต่อเน็ต
  5. Compartmentalization — ซอยเป็นห้อง ๆ ในแนวกว้าง
  6. Simplicity — KISS
  7. Promote privacy — อย่าเก็บข้อมูลส่วนตัวเกินที่ต้องใช้
  8. It's hard to hide secrets — อัลกอริทึมเปิด กุญแจปิด อย่าพึ่ง security by obscurity อย่างเดียว
  9. Don't extend trust easily — เคส Slammer ที่โรงไฟฟ้า Davis-Besse ปี 2003
  10. Trust the community — เชื่อเพราะถูกตรวจสอบมาแล้ว ไม่ใช่เชื่อเพราะสถานะ

นิยามของ security

  • Merriam-Webster: "the state of being secure" โดย secure = "free from risk of loss"
  • กุญแจที่เก่าที่สุดเท่าที่รู้จักคือกุญแจอียิปต์อายุ 4,000 ปี
  • นิยามที่วิชานี้ใช้: การปกป้องทรัพยากรจากคนที่ไม่มีสิทธิ์ ณ เวลาหนึ่ง ๆ หรือ Who can do what when?
  • คำว่า when คือคำที่คนอ่านข้ามบ่อยที่สุด

เป้าหมายและหนังสือ

  • Be skeptical — ถ้าออกจากวิชานี้แล้วมองโลกเปลี่ยนไป ถือว่าวิชานี้สำเร็จ
  • Security Engineering โดย Ross Anderson (อ่านฟรีออนไลน์) และ Writing Secure Code ฉบับที่ 2 โดย Michael Howard และ David LeBlanc
  • หนังสือของผู้สอนเอง ชื่อ Computer Security, The Foundations ยังเขียนไม่เสร็จ

เกริ่นนำ0%

ข้ามไปสรุป

On this page

คาบนี้จะพาไปไหนส่วนที่ 1 — ปัญหานี้ใหญ่แค่ไหนภัยเก้าอย่างที่ต้องแยกให้ออกสองประโยคที่ตั้งโจทย์ของทั้งวิชาส่วนที่ 2 — ภัยเข้าถึงเราได้สองทางทางที่หนึ่ง — เจาะตัวระบบMalicious SoftwareBotNet และ DDoSMan-in-the-middleทางที่สอง — หลอกคนที่ใช้ระบบPhishingSocial Engineeringหลอกให้โอนเงินเองส่วนที่ 3 — เมื่อมันกลายเป็นคดีCyber Crime คืออะไรกฎหมายตามทัน — สามคดีใน 19 ปีกฎหมายคอมพิวเตอร์ของไทยส่วนที่ 4 — สิบหลักการความปลอดภัยหลักการที่ 1 — Least privilegeหลักการที่ 2 — Defense in depthหลักการที่ 3 — Secure failureหลักการที่ 4 — Secure the weakest linkหลักการที่ 5 — Compartmentalizationหลักการที่ 6 — Simplicityหลักการที่ 7 — Promote privacyหลักการที่ 8 — It's hard to hide secretsหลักการที่ 9 — Don't extend trust easilyหลักการที่ 10 — Trust the communityส่วนที่ 5 — แล้ว security คืออะไรกันแน่นิยามจากพจนานุกรมและจากวงการเรื่องนี้เก่ากว่าคอมพิวเตอร์มากWho can do what when?ส่วนที่ 6 — เป้าหมายของวิชา หนังสือ และตารางเรียนBe skepticalหนังสือที่แนะนำให้อ่านตารางเรียนสรุปท้ายคาบ