เข้าใจความเสี่ยงของ policy สอบถามเรื่อง policy ได้ด้วยภาษาทั่วไป ขอชมการสาธิต →
Published:
ลาก่อน “Kill Chain” สวัสดี “Attack Sequence”
by FireMon
เมื่อไม่กี่ปีก่อนในงาน RSA Conference ผมได้ร่วมบรรยายเกี่ยวกับ “kill chain” ของการโจมตีบนคลาวด์ที่พบมากที่สุด Shawn Harris @infotechwarrior และผมได้พาไล่ดูสิ่งที่เราถือว่าเป็นการโจมตีบนคลาวด์ในโลกจริง 10 กว่าอันดับแรก สำหรับการโจมตีแต่ละแบบ เราไล่ดูทีละขั้นตอน และบางการโจมตีมีหลายเส้นทางแยกเพื่อแสดงทางเลือกที่ต่างกัน
เราเรียกสิ่งเหล่านี้ว่า “kill chain” แต่ในทางเทคนิคแล้ว cyber kill chain เป็นเทคนิคเฉพาะสำหรับการสร้างแบบจำลองการโจมตี ซึ่งพัฒนาโดย Lockheed Martin การโจมตีแต่ละครั้งเริ่มต้นด้วย Reconnaissance และดำเนินไปตามลำดับขั้นตอนที่กำหนดไว้จนถึง Actions on Objectives ในการบรรยายครั้งนั้น เราอ้างอิงถึงงานของ Lockheed Martin และอธิบายว่าแนวทางของเราต่างออกไปอย่างไร เพราะเราไม่ได้จำกัดตัวเองอยู่กับขั้นตอนที่กำหนดไว้ล่วงหน้า แต่เราไล่ดูทุกขั้นตอนของการโจมตีที่สำเร็จจริง ซึ่งก็ต่างจาก เครื่องมือ MITRE ATT&CK เช่นกัน ซึ่งเน้นการจัดหมวดหมู่เทคนิคการโจมตี แต่ไม่ได้กำหนดว่าการโจมตีหนึ่ง ๆ ต้องผ่านทุกขั้นตอนตามลำดับ นอกจากนี้ ATT&CK ยังมีการจำลองเชิงลึกสำหรับเทคนิคและเทคนิคย่อยด้วย
เครื่องมือทั้งสองช่วยให้เราจำลองการโจมตีเพื่อระบุจุดที่จะวางมาตรการควบคุมด้านความปลอดภัยเข้าไปตัดวงจรการโจมตีได้ ผมชอบคำว่า “chain” ใน “kill chain” มาตลอด เพราะการตัดข้อต่อเพียงข้อเดียวในขั้นตอนของการโจมตีก็หยุดการโจมตีนั้นได้ แต่... คำว่า kill chain ก็ฟังดูเหมือนคำที่ผู้รับเหมาด้านกลาโหมคิดขึ้นมา ส่วน ATT&CK ใช้แนวทางที่ต่างออกไป โดยบันทึก TTP ของผู้โจมตี (tactics, techniques และ procedures) ไว้เป็นฐานความรู้ ทั้งสองแนวทางช่วยให้เราอธิบายวิธีการทำงานของผู้โจมตี เพื่อกำหนดแนวทางการป้องกันของเรา
แรงบันดาลใจจากคลาวด์
แรงจูงใจเดิมของการบรรยายใน RSA Conference ครั้งนั้นคือการที่ข้อมูลสาธารณะเกี่ยวกับวิธีที่ผู้โจมตีเจาะระบบคลาวด์จริง ๆ มีอยู่น้อยมาก งานวิจัยส่วนใหญ่สะท้อนสิ่งที่นักวิจัยสนใจว่าน่าตื่นเต้น ไม่ใช่วิธีที่การโจมตีประสบความสำเร็จจริง เราศึกษา ATT&CK และ Cyber Kill Chain อย่างละเอียด แล้วผสมผสานแนวคิดทั้งสองเข้าด้วยกันเพื่อวาดลำดับขั้นตอนที่แน่ชัดของการโจมตีคลาวด์อันดับต้น ๆ แต่ละแบบ การจำลองเช่นนี้ช่วยให้พบจุดร่วมและจุดคอขวดที่สามารถป้องกันการโจมตีได้หลายรูปแบบพร้อมกัน
องค์ความรู้ร่วมกันเกี่ยวกับการโจมตีบนคลาวด์ยังมีไม่มากพอ ผู้ป้องกันจึงต้องการแผนภาพที่ชัดเจนกว่าเดิม เพื่อให้เข้าใจกลไกของการโจมตีเหล่านี้ได้อย่างถ่องแท้
เราเรียกสิ่งเหล่านี้ว่า kill chain ทั้งที่จริง ๆ แล้วไม่ใช่ และเมื่อประมาณหกเดือนก่อน ระหว่างการสนทนากับองค์กรหนึ่งที่นำการบรรยายของเราไปปรับใช้ภายใน พวกเขาบอกว่า “สิ่งเหล่านี้ไม่ใช่ kill chain จริง ๆ หรอก มันเป็น attack sequence มากกว่า” ผมเสียดายที่จำไม่ได้ว่าคุยกับใคร เพราะเขาสมควรได้รับเครดิตทั้งหมดสำหรับคำนี้
Attack Sequence เป็นคำอธิบายที่ตรงกว่ามาก เพราะมันแสดงลำดับขั้นตอนที่แน่ชัดซึ่งจำเป็นต่อความสำเร็จของการโจมตี และสามารถรวมเส้นทางที่ต่างกันซึ่งนำไปสู่การเจาะระบบปลายทางเดียวกันไว้ด้วยกันได้ ผมโพสต์เรื่องนี้บน Twitter และได้รับการตอบรับที่ดีมาก




การสร้าง Attack Sequence
Attack Sequence ไม่ใช่แบบจำลองตายตัวที่มีหมวดหมู่กำหนดไว้ล่วงหน้า แบบจำลองลักษณะนั้นมีคุณค่าในตัวเองอย่างแน่นอน แต่ขอให้มอง Attack Sequence เป็นแผนที่ที่ร้อยเรียง TTP เข้าด้วยกันเพื่อแสดงการโจมตีตั้งแต่ต้นจนจบ ต่างจาก Kill Chain ของ Lockheed ตรงที่ Attack Sequence สามารถแสดงเส้นทางหลายเส้นที่มุ่งสู่ปลายทางเดียวกันได้ ลองดูตัวอย่าง ransomware บนคลาวด์

แบบจำลองนี้ชี้ให้เห็นประเด็นสำคัญหลายข้อ
- มีจุดเริ่มต้นที่เป็นไปได้สองจุด คือ credential ที่รั่วไหล หรือ workload ที่ถูกเจาะ สำหรับ credential ที่รั่วไหลนั้นมีลำดับการโจมตีแยกต่างหากซึ่งมีรายละเอียดมากกว่านี้มาก แต่ลำดับนี้สามารถอ้างอิงย้อนไปยังลำดับดังกล่าวได้ เพื่อให้โฟกัสอยู่ที่การโจมตีด้วย ransomware
- มีจุดเชื่อมที่ผู้โจมตีสามารถย้ายจาก workload ที่ถูกเจาะซึ่งเข้าถึง storage ได้ ไปสู่ management plane หรือจะลงมือกับข้อมูลภายใน workload โดยตรงก็ได้
- ทั้งสองเส้นทางมาบรรจบกันอีกครั้งที่การอัปโหลดข้อความเรียกค่าไถ่
- ยังมีลำดับการโจมตีแบบอื่น ๆ ของ ransomware อยู่อีก แต่ที่นำเสนอนี้เน้นเส้นทางที่พบบ่อยที่สุด แน่นอนว่าคุณสามารถสร้างแบบจำลองที่ครอบคลุมทุกกรณีได้
- สามารถระบุและบันทึก TTP รวมถึง Indicators of Attack/Compromise ได้ในทุกขั้นตอนของลำดับการโจมตี
- นี่เป็นลำดับการโจมตีแบบทั่วไป (ใช้ได้กับผู้ให้บริการคลาวด์ส่วนใหญ่) แต่การขยายให้เป็นเวอร์ชันเฉพาะของผู้ให้บริการรายใดรายหนึ่ง หรือแม้แต่บริการคลาวด์ตัวใดตัวหนึ่ง ก็ไม่ใช่เรื่องยาก
- การสร้างแนวป้องกันหมายถึงการตัดทุกเส้นทางที่เป็นไปได้ หรือตัดที่จุดซึ่งเส้นทางเหล่านั้นมาบรรจบกัน ข้อแนะนำ: credential ที่รั่วไหลปรากฏอยู่ในลำดับการโจมตีบนคลาวด์เกือบทุกกรณี
นี่คือแนวทางที่ยืดหยุ่นและเข้าใจง่าย คุณจะคงไว้ในระดับภาพรวมอย่างตัวอย่างของผม หรือจะลงลึกและจำลองตัวบ่งชี้เฉพาะเจาะจงก็ได้ ผมมองว่ามันเข้ากันได้ดีเยี่ยมกับ ATT&CK
แม้แต่การโจมตีแบบอัตโนมัติก็ยังมีผู้โจมตีอยู่เบื้องหลัง การรู้จัก TTP และ IoC เป็นเรื่องสำคัญ แต่การเข้าใจภาพรวมว่าการโจมตีเชื่อมโยงกันอย่างไร และผู้โจมตีมีทางเลือกใดบ้าง ก็สำคัญไม่แพ้กัน