วิธีการเตรียม / สร้างฟีเจอร์สำหรับการตรวจจับความผิดปกติ (ข้อมูลความปลอดภัยเครือข่าย)


9

เป้าหมายของฉันคือการวิเคราะห์บันทึกเครือข่าย (เช่น Apache, syslog, การตรวจสอบความปลอดภัยของ Active Directory และอื่น ๆ ) โดยใช้การตรวจจับกลุ่ม / ความผิดปกติเพื่อวัตถุประสงค์ในการตรวจจับการบุกรุก

จากบันทึกฉันมีฟิลด์ข้อความจำนวนมากเช่นที่อยู่ IP ชื่อผู้ใช้ชื่อโฮสต์พอร์ตปลายทางพอร์ตต้นทางและอื่น ๆ (รวมทั้งหมด 15-20 ฟิลด์) ฉันไม่ทราบว่ามีการโจมตีในบันทึกหรือไม่และต้องการเน้นเหตุการณ์ที่น่าสงสัยที่สุด (ผู้ผิด)

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

ถ้าฉันใช้การตรวจจับความผิดปกติโดยพิจารณาจากการจัดกลุ่ม (เช่นค้นหากลุ่มแล้วเลือกจุดที่อยู่ไกลจากศูนย์คลัสเตอร์ทั้งหมด) ฉันต้องหาระยะทางระหว่างจุดต่าง ๆ เนื่องจากฉันมีฟิลด์ 15-20 ฟิลด์มันจะเป็นพื้นที่แบบหลายมิติซึ่ง dimesions คือชื่อผู้ใช้พอร์ตที่อยู่ IP และอื่น ๆ อย่างไรก็ตามระยะทาง Mahalanobis สามารถใช้ได้กับฟีเจอร์การกระจายแบบปกติเท่านั้น ซึ่งหมายความว่าไม่มีทางที่จะหาระยะห่างระหว่างจุดข้อมูลและสร้างกลุ่ม ...

ตัวอย่างเช่นลองนึกภาพว่าฉันมีผู้ใช้ Alice, Bob, Carol, Dave, Eve และ Frank ในชุดข้อมูล 20 รายการ พวกเขาอาจมีจำนวนที่เกิดขึ้นต่อไปนี้ในฐานข้อมูล: 2,5,2,5,1,5 ถ้าฉันแม็พชื่อผู้ใช้กับตัวเลขเช่น

Alice --> 1
Bob --> 2
Carol --> 3
Dave --> 4
Eve --> 5
Frank --> 6

จากนั้นการกระจายความน่าจะเป็นของฉันสำหรับชื่อผู้ใช้จะมีลักษณะดังนี้:

p (1) = 0.1, p (2) = 0.25, p (3) = 0.1, p (4) = 0.25, p (5) = 0.05, p (6) = 0.25

แน่นอนว่านี่ไม่ใช่การแจกแจงแบบปกติและมันก็ไม่สมเหตุสมผลนักเนื่องจากฉันสามารถแมปชื่อผู้ใช้ในวิธีอื่นได้ ...

ดังนั้นการแมปฟิลด์อย่างง่าย ๆ เช่นชื่อผู้ใช้การกระทำหมายเลขพอร์ตที่อยู่ IP และหมายเลขอื่น ๆ ไม่ได้นำมาซึ่งอะไร

ดังนั้นฉันอยากจะถามว่าการประมวลผลฟิลด์ข้อความ / คุณสมบัติที่สร้างมักจะทำให้การตรวจจับความผิดปกติ / การตรวจจับค่าผิดปกติเป็นไปได้อย่างไร

แก้ไข: โครงสร้างข้อมูล

ฉันมีประมาณ 100 คอลัมน์ในตารางฐานข้อมูลที่มีข้อมูลจาก Active Directory Events จาก 100 คอลัมน์นี้ฉันเลือกสิ่งที่สำคัญที่สุด (จากมุมมองของฉัน): SubjectUser, TargetUser, SourceIPaddress, SourceHostName, SourcePort, คอมพิวเตอร์, DestinationIPaddress, DestinationHostName, DestinationPort, Action, สถานะ, FilePath, EventID, WeekDay, กลางวัน

กิจกรรมเป็นกิจกรรมของ Active Directory โดยที่ EventID จะกำหนดสิ่งที่บันทึกไว้ (เช่นการสร้างตั๋ว Kerberos การเข้าสู่ระบบของผู้ใช้การออกจากระบบของผู้ใช้ ฯลฯ )

ตัวอย่างข้อมูลมีลักษณะดังนี้:

+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - +
| ID | SubjectUser | TargetUser | SourceIPaddress | SourceHostName | SourcePort | คอมพิวเตอร์ | DestinationIPaddress | DestinationHostName | DestinationPort | การกระทำ | สถานะ | FilePath | EventID | WeekDay | กลางวัน |
+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - +
| 171390673 |? ? | ? | ? | ? | | domaincontroller1.domain.com | 1.1.1.1 | domaincontroller1.domain.com |? | / การตรวจสอบ / ตรวจสอบ | / ความสำเร็จ |? | 4624 | 1 | 61293 |
+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - +
| 173348232 |? ? | ? | ? | ? | | domaincontroller2.domain.com | 2.2.2.2 | domaincontroller2.domain.com |? | / การตรวจสอบ / ตรวจสอบ | / ความสำเร็จ |? | 4624 | 1 | 61293 |
+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - +
| 180176916 |? ? | ? | ? | ? | | domaincontroller2.domain.com | 2.2.2.2 | domaincontroller2.domain.com |? | / การตรวจสอบ / ตรวจสอบ | / ความสำเร็จ |? | 4624 | 1 | 61293 |
+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - +
| 144144725 |? | John.Doe | 3.3.3.3 | domaincontroller3.domain.com | 2407 | domaincontroller3.domain.com | 3.3.3.4 | domaincontroller3.domain.com |? | / การตรวจสอบ / ตรวจสอบ | / ความสำเร็จ |? | 4624 | 3 | 12345 |
+ ------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- - +

รวมกันแล้วฉันมีเหตุการณ์ประมาณ 150 ล้านครั้ง เหตุการณ์ที่แตกต่างมีการกรอกข้อมูลในฟิลด์ที่ต่างกันและไม่ใช่ทุกเหตุการณ์ที่เกี่ยวข้องกับการเข้าสู่ระบบของผู้ใช้ / ออกจากระบบ


"อย่างไรก็ตามระยะทาง Mahalanobis สามารถใช้ได้กับฟีเจอร์การกระจายแบบปกติเท่านั้น" จริงๆแล้วรูปวงรี คุณสามารถโพสต์สองสามบรรทัดแรกของชุดข้อมูลของคุณ (หรือตัวเลขปลอมบางตัว แต่มีคุณสมบัติเหมือนกับของจริง) ได้ไหม
user603

ฉันคิดว่ารูปทรงวงรีหมายถึงผลผลิตของคุณสมบัติสองอย่างที่กระจายตามปกติด้วยค่าเฉลี่ยและส่วนเบี่ยงเบนมาตรฐานที่แตกต่างกัน แต่ยังคงกระจายตามปกติ
Andrey Sapegin

ไม่รูปทรงวงรีหมายถึงรูปร่างคล้ายเงาของฟุตบอลในรูปแบบ 2D ฟุตบอลในรูปแบบสามมิติและโดยทั่วไปเป็นรูปแบบฟุตบอลสามมิติในมิติสามมิติ
user603

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

ขออภัยนี่ไม่ใช่ชุดข้อมูลสาธารณะและฉันไม่สามารถแชร์ได้ อย่างไรก็ตามควรมีชุดข้อมูล KDDCup 1999 ที่มีชื่อเสียงหรือชุดข้อมูล Scan34 จาก Honeynet ( old.honeynet.org/scans/scan34 ) ชุดข้อมูลทั้งสองมีบันทึก (ไม่ใช่ปริมาณการใช้เครือข่าย) สำหรับการวิเคราะห์ (Apache, Snort, syslog เป็นต้น) ในชุดข้อมูลที่ฉันมีบันทึกส่วนใหญ่เป็นบันทึกของ Active Directory ฉันไม่แน่ใจว่ามีการโฆษณาสาธารณะ / เหตุการณ์ Windows ใด ๆ ที่พร้อมสำหรับการวิเคราะห์หรือไม่ (ก่อนหน้านี้ฉันใช้ชุดข้อมูลที่สร้างขึ้นเองเนื่องจากไม่มีข้อมูลจริง) ชุดข้อมูลที่ฉันมีนั้นใหญ่มาก (150 Mio บันทึก)
Andrey Sapegin

คำตอบ:


2

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

ฉันหวังว่าคุณจะพบว่ามีประโยชน์ทรัพยากรต่อไปนี้ในการตรวจจับความผิดปกติแบบไม่สำรอง (AD)ในบริบทความปลอดภัยเครือข่าย ITโดยใช้วิธีการและวิธีการต่าง ๆ : บทความนี้นำเสนอกรอบเรขาคณิตสำหรับโฆษณาที่ไม่ได้รับการจัดการ บทความนี้ใช้วิธีการจัดกลุ่มตามความหนาแน่นและตามตาราง สไลด์นำเสนอนี้ซึ่งกล่าวถึงการใช้แผนที่ที่จัดระเบียบตัวเองสำหรับโฆษณา

สุดท้ายผมขอแนะนำให้คุณดูที่ต่อไปนี้คำตอบของผมซึ่งผมเชื่อว่ามีความเกี่ยวข้องกับหัวข้อและจึงอาจจะเป็นประโยชน์: คำตอบเกี่ยวกับการจัดกลุ่มวิธีการคำตอบเกี่ยวกับการจัดกลุ่มที่ไม่ใช่ทาง-basedและคำตอบเกี่ยวกับตัวเลือกซอฟต์แวร์สำหรับ AD


1
ขอบคุณสำหรับลิงค์พวกมันมีประโยชน์มาก (1) บทความแรกที่คุณพูดถึงน่าสนใจมาก ดูเหมือนว่ามีความเป็นไปได้ที่จะเปลี่ยนการกระจายเป็นปกติเพื่อใช้ระยะทาง Mahalanobis ในภายหลัง ฉันจะพยายามเข้าไปให้ได้ (2) คุณรู้หรือไม่ว่ามีวิธีการอื่น ๆ เช่นมาตรการความคล้ายคลึงกันเช่นระยะห่างของลูกพี่ลูกน้องซึ่งไม่ได้ทำงานในระยะทาง? (3) สไลด์นำเสนอที่คุณกล่าวถึงนั้นเน้นไปที่แพ็กเก็ตทราฟฟิกเครือข่ายไม่ใช่ในบันทึก
Andrey Sapegin

1
ในแง่ของวิธีการอื่นฉันคิดว่าจะทำตาม 2: (1) SVM ชั้นหนึ่งสามารถหาความสัมพันธ์ระหว่างคุณลักษณะต่าง ๆ ได้หากใช้ตัวแบบพหุนามสูง (2) บรรทัดบันทึกการคุกคามเป็นประโยคและใช้ความคล้ายคลึงกันของลูกพี่ลูกน้องกับกลุ่ม / คลัสเตอร์ ครั้งแรกที่ฉันพยายามนำไปใช้แล้ว แต่มันทำงานมากกว่าหนึ่งสัปดาห์ใน 1 CPU (ฉันฝึกอบรมโมเดลในช่วงครึ่งแรกของข้อมูลและนำไปใช้กับส่วนที่สองจากนั้นในทางกลับกัน) วิธีที่สองหมายถึงพื้นที่มิติสูง (เช่นค่าชื่อผู้ใช้ที่แตกต่างกันทุกค่าจะเป็นคุณสมบัติ)
Andrey Sapegin

1
@AndreySapegin: หากผลลัพธ์ปัจจุบันของคุณยังไม่ดีพอคุณสามารถลองวิธีอื่นที่กล่าวถึงในเอกสารที่ฉันอ้างถึง นั่นคือความคิด สิ่งหนึ่งที่มากขึ้น - ลอง GraphLab โอเพนซอร์สซอฟต์แวร์ ML (บางส่วนของมันเป็นตราสินค้าในขณะนี้เป็น Dato): dato.com/products/create/open_source.html ซอฟต์แวร์ GraphLab นั้นมีประสิทธิภาพสูงและสามารถปรับขนาดได้ทั่วทั้งโปรเซสเซอร์คอร์ แต่โปรเซสเซอร์และแม้กระทั่งเครื่องจักร
Aleksandr Blekh

1
@AndreySapegin: กระดาษจากเพื่อนร่วมงานมหาวิทยาลัยของฉันเพิ่งโผล่ขึ้นมาในกระแส ResearchGate ของฉัน ฉันคิดว่ามันอาจเป็นประโยชน์กับคุณมาก (ใช้วิธีการ ANN ในการตรวจจับการบุกรุก - ผ่านห้องสมุด Encog ML ที่ยอดเยี่ยมซึ่งเขาเป็นผู้สร้างและผู้สนับสนุนหลัก - Encog สามารถปรับขนาดได้ด้วยมัลติคอร์และ GPU) นี่คือกระดาษ: researchgate.net/profile/Jeff_Heaton/publication/... นี่คือข้อมูลเกี่ยวกับ Encog: heatonresearch.com/encog
Aleksandr Blekh

1
สำหรับใครก็ตามที่ได้รับรางวัลสำหรับคำตอบของฉัน: ฉันขอขอบคุณความมีน้ำใจของคุณและตระหนักถึงความพยายามของฉันที่มีต่อคำตอบที่มีคุณภาพ
Aleksandr Blekh

3

ก่อนอื่นฉันคิดว่ามีบางสิ่งที่คุณอาจต้องลาออกจากตำแหน่ง

ข้อ จำกัด ที่ยากอย่างหนึ่งที่ฉันเห็นในปัญหานี้คือคุณควรเตรียมพร้อมที่จะมีอัตราการบวกผิด ๆ ที่ค่อนข้างสูง เท่าที่ฉันรู้อัตราฐานของการบันทึกเป็นส่วนหนึ่งของความผิดปกติของเครือข่ายค่อนข้างต่ำ (อ้างอิงที่จำเป็น) ลองเรียกมันว่าอัตราต่อรอง 1,000: 1 เพื่อประโยชน์ของการโต้แย้ง แม้ว่าคุณจะสังเกตเห็นรูปแบบที่น่าจะเกิดขึ้น 100 เท่าหากบันทึกนั้นเป็นการบุกรุกหากเป็นเรื่องถูกกฎหมายกฎของเบย์กล่าวว่าอัตราต่อรองหลังเป็น 10: 1 ที่อัตราการเข้าชมยังคงถูกต้อง

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

นอกจากนี้ฝ่ายตรงข้ามของคุณเป็นคนฉลาดไม่ใช่กระบวนการทางสถิติดังนั้นหากคุณเริ่มตรวจจับลวดลายและปิดมันพวกเขาอาจตอบสนองโดยไม่ทำตามรูปแบบนั้นอีกต่อไป นี่คือเหตุผลที่คุณจะเห็นข้อความสแปมจำนวนมากที่มีช่องว่างระหว่างตัวอักษรทั้งหมด (เสนอ " V I A G R A" หรืออะไรก็ตาม) ตัวกรองสแปมคิดว่าสตริง "ไวอากร้า" เป็นสแปมดังนั้นผู้โจมตีก็เริ่มทำอย่างอื่น

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


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

ตัวอย่างเช่นคุณกล่าวว่าครึ่งหนึ่งของระเบียนทั้งหมดมีชุดค่าผสมที่ไม่ซ้ำกัน ยกตัวอย่างเช่น IP แหล่งที่มาส่วนใหญ่จะปรากฏในมากกว่าหนึ่งระเบียนมันเป็นเขตข้อมูลอื่นในคำขอที่มีการเปลี่ยนแปลงและทำให้ชุดค่าผสมไม่ซ้ำกัน หากคุณจัดกลุ่มคำขอโดย IP คุณสามารถถามคำถามเช่น:

  • IP บางตัวดูเหมือนจะรับรองว่าเป็นผู้ใช้หลายคนที่ผิดปกติ (หรือน้อยกว่าปกติ)?
  • IP บางตัวมีการรับรองความถูกต้องจำนวนมากผิดปกติหรือไม่?
  • IP บางตัวมีรูปแบบการกำหนดเวลาการเข้าถึงที่ผิดปกติหรือไม่ (เช่นมีกิจกรรมมากมายประมาณตี 3 ในเขตเวลาของพวกเขาหรือร้องขอทุก ๆ 1 วินาทีตลอดทั้งวัน)

คุณสามารถทำสิ่งที่คล้ายกันสำหรับการจัดกลุ่มอื่น ๆ เช่นชื่อผู้ใช้:

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

ฉันไม่รู้จักตัวแยกประเภทที่ไม่เหมาะสมซึ่งดูเหมือนว่าเหมาะสมกับเรื่องนี้เป็นพิเศษเนื่องจากพฤติกรรมที่เป็นไปได้ของผู้ใช้ของคุณนั้นแตกต่างกันมากและคุณอาจสนใจการเปลี่ยนแปลงพฤติกรรมในช่วงเวลาส่วนใหญ่ นั่นหมายความว่าคุณอาจต้องการสร้างรูปแบบของสิ่งที่ผู้ใช้แต่ละคน / IP / สิ่งที่น่าจะทำในอนาคตและตั้งค่าสถานะการเบี่ยงเบนใด ๆ จากรุ่นนี้ แต่นั่นเป็นกระบวนการที่ค่อนข้างเข้มข้นหากผู้ใช้ของคุณมีรูปแบบพฤติกรรมที่แตกต่างกัน!

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


2
ขอบคุณสำหรับคำตอบมันเป็นจุดที่ดี ดังที่ฉันเข้าใจว่าคุณเสนอที่จะให้ความสำคัญกับการวิเคราะห์ที่ง่ายกว่าการตรวจจับความผิดปกติ จากมุมมองทางเทคนิค (อุตสาหกรรม) คุณพูดถูก อย่างไรก็ตามฉันกำลังทำวิจัยและต้องการเน้นการวิเคราะห์การเรียนรู้ของเครื่อง การวิเคราะห์ตามข้อความค้นหาอย่างที่คุณเสนอเราได้ดำเนินการแล้ว (อาจไม่เหมือนกันกับข้อความค้นหาที่คุณเสนอ แต่คล้ายกัน) ... อีกข้อโต้แย้งหนึ่งสำหรับการทำเช่นนี้ก็คือองค์กรจำนวนมากพยายามที่จะทำการตรวจจับความผิดปกติ เรียบง่ายขึ้น แต่ก็ยังคงคอมไพล์) ข้อความค้นหาและกฎ ...
Andrey Sapegin

2

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

ต่อไปฉันจะพยายามรวมเมตริกทั้งหมด (หรือชุดย่อย) เป็นหนึ่งเดียว การวัดใหม่นี้ควรสะท้อนถึงจำนวน "ความประหลาดใจ" ตัวอย่างเช่นค่าต่ำหมายถึงระบบทำงานตามปกติค่าสูงสุด / ที่ราบสูงมูลค่าสูงหมายความว่ามีการเปลี่ยนแปลงอย่างรวดเร็ว ที่นี่ฉันกำลังคิดเกี่ยวกับ CUSUM หรือ Shewhart แผนภูมิสไตล์แผนภูมิ

คุณสามารถให้ตัวอย่างของข้อมูลที่มีอยู่ได้หรือไม่? มันส่วนใหญ่เป็นสตริงตัวเลขตัวชี้วัด 1/0 หรือไม่?


1

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


ปัญหาคือว่ามันซับซ้อนมากที่จะได้รับตัวอย่างข้อมูลโดยไม่มีการโจมตี บ่อยครั้งที่ไม่มีใครรู้ว่ามีการโจมตีในชุดข้อมูล
Andrey Sapegin

0

ฉันคิดว่าคำตอบจากเบ็นคุนน์นั้นเป็นไปในทางปฏิบัติและลึกซึ้ง

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

แล้วจะทำอย่างไรดี?

แน่นอนว่าการล็อกด้วยการโจมตีในนั้นจะมีประโยชน์ แต่เรามี catch-22 เว้นแต่ว่า บริษัท ต่างๆจะเปิดเผยข้อมูลการโจมตี ในขณะที่บาง บริษัท ใน Silicon Valley เริ่มดำเนินการแบ่งปันภัยคุกคามเราจะทำอะไรอีก

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

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

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

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

สมมติว่าหมวกดำที่เป็นมิตรเริ่มโจมตีโดยใช้วิธี A, B และ C และหมวกสีขาวไม่เคยค้นพบวิธีใดวิธีหนึ่งในสามวิธีนี้ หมวกสีเทามีอำนาจที่จะดูว่าหมวกสีดำที่เป็นมิตรกำลังทำอะไรอยู่และหมวกสีขาวกำลังทำอยู่และพวกเขาพยายามที่จะพิจารณาว่าจะใช้หลักการใดในการค้นหาการโจมตีที่ตรวจไม่พบเหล่านี้ หากหมวกสีเทาพบหลักการดังกล่าวทีมหมวกสีเทาก็สามารถแบ่งปันหลักการเหล่านี้กับทีมหมวกขาวได้โดยไม่ต้องอธิบายรายละเอียดการโจมตีที่แน่นอน

ความหวังก็คือ "คำแนะนำ" เหล่านี้จัดทำโดยทีมหมวกสีเทาทำให้ทีมหมวกขาวผลักไปในทิศทางที่ถูกต้องโดยไม่เปิดเผยมากเกินไป

ในการหวนกลับฉันขอโทษถ้าการตอบสนองของฉันไม่ได้เกี่ยวกับเทคนิคเฉพาะ เห็นได้ชัดว่าการตอบสนองของฉันไม่ได้เกี่ยวกับเทคนิคเฉพาะ แต่จากประสบการณ์ของฉันมีปัญหามากมายในการเรียนรู้ของเครื่อง - รวมถึงปัญหาด้านความปลอดภัย - มักจะล้มเหลวเพราะข้อมูลไม่เพียงพอ วิธีนี้โดยใช้หมวกสีขาวหมวกสีเทาและหมวกสีดำอาจช่วยสร้างข้อมูลที่จะช่วยให้ บริษัท รักษาความปลอดภัย (หรือพนักงานไอที) ไม่เพียง แต่หาปริมาณประสิทธิผลของการป้องกัน แต่ยังมีโครงสร้างองค์กรที่ผลักดันทีมหมวกขาว เพื่อปรับปรุงการป้องกันอย่างต่อเนื่องและการเฝ้าติดตาม

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


หมายเหตุ: การใช้คำว่า "หมวกสีเทา" ของฉันที่นี่ไม่ได้เป็นมาตรฐาน ดูhttp://www.howtogeek.com/157460/hacker-hat-colors-explained-black-hats-white-hats-and-gray-hats/ ดังนั้นคำอื่น ๆ อาจจะใช้ "หมวกลาย" แทน

แต่ความคิดก็ยังคงเหมือนเดิม: หมวกลายสามารถช่วยเป็นสื่อกลางระหว่างการทำงานของหมวกดำและผู้พิทักษ์ที่เป็นมิตร (หมวกสีขาว) ดังนั้นความคิดและคำแนะนำบางอย่างสามารถแบ่งปันกับหมวกสีขาวได้อย่างรอบคอบ


1
ดูเหมือนว่าคุณอาจสร้างบัญชีที่สองโดยไม่ตั้งใจ - ดูที่นี่สำหรับวิธีรวมบัญชีเหล่านั้น วิธีนี้จะช่วยให้คุณแก้ไขโพสต์ของคุณเอง
Silverfish

0

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

ก่อนอื่นในห้องปฏิบัติการของเราเราพัฒนาระบบ SIEM ที่ใช้อัลกอริธึมการตรวจจับความผิดปกติ คำอธิบายของระบบและอัลกอริธึมมีอยู่ในกระดาษของฉันสู่ระบบสำหรับการวิเคราะห์ที่ซับซ้อนของเหตุการณ์ความปลอดภัยในเครือข่ายขนาดใหญ่

นอกจากนั้นฉันเขียนสรุปสั้น ๆ เกี่ยวกับวิธีจัดการกับข้อมูลดังกล่าวในคำตอบของฉันสำหรับคำถามที่คล้ายกันในการตรวจสอบข้าม

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.