วันเสาร์ที่ 15 ตุลาคม พ.ศ. 2565

สำรวจฟีเจอร์ใหม่ๆ ของ Microsoft Defender for Cloud

      สวัสดีครับทุกท่าน สำหรับบทความตอนนี้ของผม จะพาทุกท่านมาทำความรู้จักกับฟีเจอร์ใหม่ๆ ที่น่าสนใจของ Microsoft Defender for Cloud กันครับ หลังจากที่ทาง Microsoft ได้ประกาศและอัพเดทในงาน Microsoft Ignite 2022 ครับ สำหรับท่านใดที่ยังไม่รู้จักหรือยังไม่คุ้นเคยกับ Microsoft Defender for Cloud ซึ่งเป็น Service หนึ่งใน Microsoft Azure ที่มีบทบาทสำคัญสำหรับเรื่องของ Cloud Security สามารถเข้าไปอ่านบทความของผมที่เขียนไว้ก่อนหน้านี้ ซึ่งจะเป็นอธิบายให้ทุกท่านได้ทราบและเข้าใจกันก่อนครับ http://itgeist5blog.blogspot.com/2021/12/microsoft-defender-for-cloud.html


สำหรับฟีเจอร์ใหม่ของ Microsoft Defender for Cloud ที่ผมจะหยิบเอามานำเสนอในบทความนี้ของผม มีดังนี้ครับ Cloud Security Graph, Attack Path Analysis, และ Cloud Security Explorer ครับ โดยฟีเจอร์ใหม่ๆ เหล่านี้จะเข้ามาช่วย SOC หรือ Security Teams ในการทำ Day-to- Day Tasks ของ Security Operations ให้มีความง่ายและหยืดหยุ่นมากขึ้น












Cloud Security Graph

คือ Graph-Based Context Engine (ทำงานอยู่ใน Microsoft Defender for Cloud) จะทำการรวบรวมข้อมูลต่างๆ จาก Environments ขององค์กร ไม่ว่าจะเป็น Hybrid หรือ Multi-Cloud ตลอดจน Sources อื่นๆ ที่องค์กรต้องการรวบรวมข้อมูล ยกตัวอย่างเช่น Cloud Assets Inventory, Connections และ Lateral Movement ที่อาจจะเกิดขึ้นและเป็นไปได้ระหว่าง Resources ต่างๆ, Permissions, Network Connections, Vulnerabilities, และอื่นๆ  

โดยข้อมูลที่ได้รวบรวมมานั้นจะถูกสร้างหรือ Build เป็น Graph เพื่อแสดงถึง Environments ขององค์กรนั้นๆ  จากนั้น Microsoft Defender for Cloud จะใช้ Graph ที่ได้ถูกสร้างหรือ Build ขึ้นมาก่อนหน้านี้เพื่อทำ "Attack Path Analysis" เพื่อทำการค้นหาภัยคุกคาม (Threats), สิ่งผิดปรกติที่เกิดขึ้นใน Environments องค์กร โดย SOC Teams สามารถทำการ Query Graph โดยใช้ "Cloud Security Explorer" ครับ










Attack Path Analysis

คือ Graph-Based Algorithm ที่ทำการสแกนหรือตรวจสอบ Cloud Security Graph เพื่อทำการเปิดเผยเส้นทางต่างๆ ที่ Attackers ในการเข้ามาใน Environments ขององค์กรเพื่อเข้าถึง Resources ต่างๆ จากนั้น Attack Path Analysis ทำการตรวจสอบและค้นหาจากข้อมูลต่างๆ ที่ได้รวบรวมมาก่อนหน้านี้ เช่น Internet Exposure, Permissions, Lateral Movement, และอื่นๆ เพื่อดูว่ามีสิ่งผิดปรกติที่น่าสงสัยที่อาจจะก่อให้เกิดช่องโหว่ ตลอดจนการให้คำแนะนำหรือ Recommendations ในการ Remediate หรือการปรับปรุงแก้ไขอย่างไรเพื่อทำการหยุดหรือยับยั้งเส้นทางดังกล่าว







รูปด้านล่างจะเป็นรูปที่เกี่ยวข้องกับฟีเจอร์ Attack Path Analysis ซึ่งจะเป็นรูปที่แสดงถึงการใช้งาน Attack Path Analysis ครับ

















อ้างอิงจากรูปด้านบนทั้งหมดเป็นรูปที่เกี่ยวข้องกับ Environment ของผมนะครับ และผมได้ทำการทดลองใช้งาน Cloud Security Graph และ Attack Path Analysis ทำให้ผมได้ทราบว่ามีช่องโหว่หรือจุดที่อาจจะก่อให้เกิดความสุ่มเสี่ยงต่อความไม่ปลอดภัยกับ Azure VM  (Internet exposed VM has high serverity vulnerabilities) ของผมครับ จาก Issues ดังกล่าวนี้ ผมสามารถดู Recommendations ที่ Microsoft Defender for Cloud (Cloud Security Graph + Attack Path Analysis) ดังรูปด้านล่างครับ






Cloud Security Explorer

เป็นฟีเจอร์ที่จะเข้ามาช่วย SOC หรือ Security Teams ในการตรวจสอบและค้นหา Security Risks แบบ Proactive โดย SOC หรือ Security สามารถใช้ Cloud Security Explorer ทำการรัน Query (Graph-Based Query กับ Cloud Security Graph) ที่สามารถสร้างขึ้นด้วย Query Builder เพื่อทำการค้นหา Risks  รูปด้านล่างเป็นตัวอย่างการสร้าง Query รวมถึงการใช้ Query Templates ที่ทาง Microsoft Defender for Cloud เตรียมไว้ให้ครับ
















และรูปด้านล่างคือ ตัวอย่างของผลลัพธ์ที่ได้จาก Query ซึ่งเป็นการค้นหา Risks แบบ Proactive ครับ หลังจากนั้น SOC หรือ Security Teams สามารถที่จะนำเอาผลลัพธ์ที่ได้ ไปทำการพิจารณาเพื่อทำการปรับปรุง Resources ดังกล่าวนี้ให้มีความปลอดภัยมากขึ้น ส่งผลให้ภาพรวมของ Security Posture ในองค์กรดังกล่าวนั้นมีความปลอดภัยมากขึ้นครับ







Microsoft Defender for Cloud (DevOps Security)

หรือเรียกว่า Microsoft Defender for DevOps เป็นฟีเจอร์ที่เข้าไป Integrate เพื่อทำงานร่วมกับ GitHub Advanced Security ซึ่ง Embeded อยู่ภายใน GitHub และ Azure DevOps เพื่อเพิ่มความสามารถในการเข้าไปป้องกัน Resources จาก Code ไปยัง Cloud  โดยตัวของ Microsoft Defender for Cloud (DevOps Security) ได้เตรียมความสามารถต่างๆ เอาให้ SOC หรือ DevOps Teams สามารถเห็นและทำความเช้าใจข้อมูลและรายละเอียดต่างๆ เช่น GitHub และ Azure DevOps ที่อยู่ใน Environments (ครอบคลุมทั้ง Hybrid และ Mulit-Cloud) และมีการเชื่อมโยงเข้ากับ Contextual Cloud Security Intelligence อื่นๆ เพื่อช่วยในการสร้างความปลอดภัย 






ความสามารถคร่าวๆ ของ Microsoft Defender for Cloud (DevOps Security) หรือ Microsoft Defender for DevOps มีดังนี้ครับ

- Security หรือ DevOps Teams ตลอดจผู้ที่เกี่ยวข้องเช่น Security Administrators สามารถเห็นและเข้าใจภาพรวมทั้งหมด เช่น DevOps Inventory, Security Posture ของ Pre-Production Application Code, Resource Configuration ที่ข้ามหรือ Across หลายๆ Pipelines ภายใน Single View





- ตรวจสอบ Infrastructure as Code (IaC) Templates และ Container Images โดย Microsoft Defender for DevOps จะเข้าไปทำการตรวจสอบ Micsconfigurations ต่างๆ และสิ่งผิดปรกติที่น่าสงสัย ก่อนที่จะนำไปใช้งานใน Production Environments 






และทั้งหมดนี้คือการสำรวจฟีเจอร์ใหม่ๆ ของ Microsoft Defender for Cloud ครับผม.....


















วันพุธที่ 12 ตุลาคม พ.ศ. 2565

เจาะลึก Phases การทำงานของ Microsoft Sentinel

      สวัสดีครับทุกท่าน กลับมาพบกันอีกเช่นเคยนะครับ สำหรับบทความตอนนี้ของผมจะเกี่ยวข้องกับ Microsoft Sentinel ซึ่งเป็น Service หนึ่งใน Microsoft Azure ซึ่งในช่วงที่ผ่านมาจนถึงปัจจุบันหลายๆ องค์กรหรือหลายๆ ท่านให้ความสนใจครับ เพราะตัวของ Microsoft Sentinel ถือว่าเป็นส่วนประกอบส่วนหนึ่งที่สำคัญส่วนหนึ่งของ Azure Security Solution ครับ 

โดย Microsoft Sentinel เป็น Service ที่ให้บริการ SIEM (Security Information Event Management) และ SOAR (Securiy Orchestration Automated Response) และยังมาพร้อมกับเทคโนโลยีต่างๆ เช่น AI, Machine Learning เป็นต้น และ Microsoft Sentinel ยังถูกออกแบบมาสำหรับ SOC (Security Operations Center) Team หรือ Security Team เพื่อใช้ในการดำเนินการและจัดการเรื่องราวต่างๆ ที่เกี่ยวข้องกับความปลอดภัย (Security Operations) ซึ่งครอบคลุมทั้ง Hybrid และ Multi-Cloud Environments







สิ่งหนึ่งที่สำคัญมากสำหรับท่านใดที่สนใจอยากจะใช้งาน Microsoft Sentinel นั่นคือ ทำความเข้าใจกับคอนเซปการทำงานตลอดจนส่วนประกอบต่างๆ ของ Microsoft Sentinel พร้อมกับ Requirements หรือความต้องการที่เราหรือองค์กรต้องการใช้งาน Microsoft Sentinel และอื่นๆ เสียก่อนครับ จากนั้นทำการรวบรวมข้อมูลต่างๆ ที่อธิบายไว้เมื่อซักครู่ มาทำการวางแผนและออกแบบ Architecture ของ Microsoft Sentinel ครับ เพราะการที่องค์กรจะนำมาเอา Microsoft Sentinel เข้ามาใช้งาน จะเกี่ยวข้องกับ Environments ณ ปัจจุบันที่องค์กรใช้งาน โดยเฉพาะในส่วนของ Microsoft Azure เช่น Azure Active Directory Tenant, Azure Subscription, Resource Group, และอื่นๆ ครับ

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






Phases การทำงานของ Microsoft Sentinel แบ่งออกเป็น 4 Phases และมาดูรายละเอียดในแต่ละ Phases กันเลยครับ


Phase 1: Collect

Phase 2: Detect 

Phase 3: Investigate

Phase 4: Respond


Phase 1: Collect 

Phase นี้จะเกี่ยวข้องกับการเก็บรวบรวมข้อมูล (Collect) จาก Sources ต่างๆ เช่น Users, Devices, Application, Infrastructure ทั้งในส่วนของ On-Premise และ Cloud (รองรับ Multi-Cloud), และอื่นๆ ใน Environments ขององค์กร โดยการรวบรวมข้อมูลต่างๆ ที่อธิบายไว้เมื่อซักครู่นั้น โดย Microsoft Sentinel ได้เตรียมหลากหลายวิธีการในการเชื่อมต่อ Sources ต่างๆ เพื่อทำการรวบรวมข้อมูล  หนึ่งในหลากหลายวิธีสำหรับการรวบรวมหรือ Collect ข้อมูลดังกล่าวสามารถใช้ฟีเจอร์ที่ชื่อว่า "Data Connectors" ซึ่ง Microsoft Sentinel ได้เตรียม Built-In Data Connectors ไว้มากมายครับ เช่น Connectors สำหรับเชื่อมต่อกับ Microsoft Services ต่างๆ เช่น Microsoft Azure, Microsoft 365, Microsoft Defender, เป็นต้น นอกจากนี้ยังมี Data Connectors ที่ใช้ในการเชื่อมต่อกับ 3rd Party อีกเยอะเลยครับ สำหรับวิธีการอื่นๆ ที่สามารถใช้ในการรวบรวมข้อมูลนอกเหนือจาก Data Conntectors ก็จะมี Common Event Format (CEF), Syslog, REST API, เป็นต้นครับ รูปด้านล่างเป็นรูปที่แสดงถึง Data Connectors ใน Microsoft Sentinel ครับ










ประเด็นหรือคำถามที่เกี่ยวข้องกับ Phases ดังกล่าวนี้คือ เราจะต้องทำการรวบรวมหรือ Collect ข้อมูลจาก Sources ใดบ้าง?  คำตอบ คือ ขึ้นอยู่กับ Environments ของแต่ละองค์กรครับ เพราะฉะนั้นจากประเด็นหรือคำถามนี้ จะต้องอยู่ในขั้นตอนของการวางแผนและออกแบบครับ เพราะจะทำให้ท่านผู้อ่านทราบว่าใน Environments ดังกล่าวนั้นมีทั้งหมดกี่ Sources และต้องใช้วิธีการเชื่อมต่อกับ Microsoft Sentinel อย่างไร และสุดท้ายข้อมูลต่างๆ ที่ได้รวบรวมมาจาก Sources ต่างๆ ก็ถูกเก็บไว้ใน Service หนึ่งของ Microsoft Azure และ Service ดังกล่าวนี้จะทำงานร่วมกับ Microsoft Sentinel ครับ Service ที่ว่านี้ก็คือ Azure Log Analytics Workspace ครับ


Phase 2: Detect

Microsoft Sentinel มีความสามารถในการค้นหา (Detect) Threats หรือภัยคุกคามต่างๆ โดยความสามารถและเทคโนโลยีต่างๆ เช่น  Analytics, AI, และ Threat Intelligence โดยทาง Microsoft ได้เตรียมไว้ให้และมีการอัพเดทเป็นระยะๆ เพื่อช่วยทำให้การค้นหาภัยคุกคามต่างๆ มีประสิทธิภาพมากขึ้นครับ สำหรับ Phase นี้จะเกี่ยวข้องกับฟีเจอร์ที่ชื่อว่า "Analytics" ครับ โดยฟีเจอร์ Analytics ได้เตรียม Templates ของ Rules หลากหลายแบบ (Fusion, Machine Learning Behavaioural, และอื่นๆ) เพื่อใช้ในการค้นหาสิ่งผิดปรกติ, เหตุการณ์หรือพฤติกรรมที่น่าสงสัย, และอื่นๆ จากข้อมูลต่างๆ ที่ได้ถูกรวบรวมมาใน Phase 1 (Collect) ครับ ดังรูปด้านล่างครับ







Phase 3: Investigate

เมื่อ Microsoft Sentinel ทำการค้นหาจาก Phase ก่อนหน้านี้แล้วเจอภัยคุกคามหรือสิ่งผิดปรกติที่น่าสงสัย ตัวของ Microsoft Sentinel จะแจ้งและทำการสร้าง Incidents ขึ้นมาครับ เพื่อให้ SOC Teams สามารถเข้าไป Invesitgate และดูรายละเอียดต่างๆ ที่เกี่ยวข้องกับ Incidents ดังกล่าว เพื่อดำเนินการต่อไปครับ โดย Microsoft Sentinel ได้เตรียมเครื่องมือต่างๆ เช่น Built-In Queries (KQL Queries), Bookmarks, Notebooks, และอื่นๆ นอกจากเครื่องมือต่างๆ แล้ว Microsoft Sentinel ยังเตรียมฟีเจอร์ที่ชื่อว่า "Investigate" เอาไว้ให้กับทาง SOC Teams ใช้งานอีกด้วยครับ ดังรูปด้านล่างครับ

























Phase 4: Respond

Microsoft Sentinel สามารถโต้ตอบ (Respond) กับเหตุการณ์ (Incidents) ที่เกิดขึ้นได้ทั้งแบบ Manual และแบบ Automatic เพื่อช่วยสร้างความยืดหยุ่นในการทำงานให้กับ SOC Teams ในการจัดการกับเหตุการณ์ต่างๆ ที่เกิดขึ้นครับ ทั้งนี้ทั้งนั้นจะต้องมีการวางแผนและออกแบบไว้ก่อนเช่นกันครับ สำหรับการที่เราจะทำการ Respond กับเหตุการณ์ต่างๆ ที่เกิดขึ้นอย่างไรและต้องทำอะไรบ้าง เราเรียกรวมๆ ว่า การทำ Security Orchestration ครับ เช่น ถ้ามีเหตุการณ์เกี่ยวกับการ Attacking หรือจู่โจม เช่น RDP Attacks เข้ามายัง Virutal Machines (Virtual Machines ดังกล่าวสามารถสร้างและทำงานอยู่ที่ใดก็ได้นะครับ) ขององค์กร ตัวของ Microsoft Sentinel จะค้นหาเจอเหตุการณ์ดังกล่าวตามที่ได้อธิบายไปใน Phases ต่างๆ ก่อนหน้านี้ครับ แต่ประเด็นที่สำคัญคือ ทาง SOC Teams ได้ทำการวางแผนและออกแบบรูปแบบการ Respond หรือโต้ตอบกับเหตุการณ์นี้อย่างไรครับ เช่น ทำการแจ้งเตือนทุกคนที่เกี่ยวข้อง, จากนั้นทำการปิด Ports ที่เกี่ยวข้องกับจู่โจมจากเหตุการณ์ดังกล่าว, และอื่นๆ นี่คือตัวอย่างคร่าวๆ ของวางแผนออกแบบเพื่อสร้างและกำหนดการโต้ตอบครับ และอย่างที่ได้เกริ่นไว้ในตอนต้นว่า Microsoft Sentinel รองรับการ Respond ทั้งแบบ Manual และ Automatic ครับ

รูปแบบที่ผมแนะนำและอยากให้พิจารณาเพื่อทำการวางแผนและดำเนินการคือ การโต้ตอบและจัดการกับเหตุการณ์ต่างๆ แบบ Automatic ครับ เพราะจะเป็นสิ่งที่ช่วยแบ่งเบาภาระตลอดจนสร้างความยืดหยุ่นในการทำงานให้กับ SOC Teams ครับ สำหรับฟีเจอร์ที่จะเข้ามาเกี่ยวข้องจะมีชื่อว่า "Playbook" ครับ โดยฟีเจอร์ดังกล่าวนี้จะเป็นการทำงานร่วมกันกับ Microsoft Sentinel กับอีกหนึ่ง Service ของ Microsoft Azure ที่ชื่อว่า Azure Logic Apps ครับ นอกจากนี้แล้ว Microsoft Sentinel ได้เตรียม Built-In Templates (Security Orchestration) เอาไว้ให้ด้วยครับ เพื่อให้ SOC Teams สามารถนำไปประยุกต์ใช้งานต่อไปครับ รูปด้านล่างแสดงถึงฟีเจอร์ Playbook และตัวอย่างการกำหนดขั้นตอนต่างๆ สำหรับการ Respond ใน Playbook ครับ


































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