นโยบายการ จำกัด ซอฟต์แวร์ถูกปฏิเสธโดย Microsoft ( ไม่สนับสนุนเทคโนโลยีอย่างมีประสิทธิภาพโดยอ้างว่า SRP ) เนื่องจาก Windows 7 Enterprise / Ultimate เปิดตัว AppLocker
ในทางปฏิบัติ SRP มีข้อผิดพลาดบางอย่างสำหรับทั้งเชิงลบและเชิงบวกเท็จ AppLocker มีข้อได้เปรียบที่ยังคงมีการบำรุงรักษาและสนับสนุนอยู่ หาก AppLocker เป็นตัวเลือกก็อาจเป็นทางเลือกที่ถูกกว่า - หลังจากการพิจารณาเวลาและความเสี่ยงของคุณ อาจเป็นไปได้ว่ามีทางเลือกของบุคคลที่สามที่เหมาะสม (แต่คำถามนี้ไม่รวมตัวเลือกนั้น :)
หวังว่าคุณจะได้รับความเข้าใจที่สมบูรณ์แบบของข้อผิดพลาด SRP ก่อนที่คุณจะตกอยู่ในใด ๆ </sarcasm>
ของพวกเขา บางส่วนของพวกเขาได้อธิบายไว้ในบทความการรักษาความปลอดภัยที่ดีจาก Vadims Podāns
ข้อผิดพลาดที่รู้จัก
โดยค่าเริ่มต้น\Windows
อนุญาตให้ดำเนินการจากโฟลเดอร์ ผู้ใช้สามารถเขียนโฟลเดอร์ย่อยบางโฟลเดอร์ได้ Applocker เหมือนกัน แต่อย่างน้อยเอกสารอย่างเป็นทางการกล่าวถึงข้อ จำกัดนี้
แก้ไข: "เมื่อต้องการระบุโฟลเดอร์ทั้งหมดที่มีการเข้าถึงการเขียนของผู้ใช้คุณสามารถใช้ตัวอย่างเช่นยูทิลิตี้ AccessEnum จาก Sysinternals pack" (หรือAccessChk )
เทคนิคเอกสารยังเตือนคุณกับการเอาชนะกฎเริ่มต้น แก้ไข: เอกสาร NSA ให้16 ตัวอย่างของโฟลเดอร์ไปยังบัญชีดำด้วย SRPแม้ว่ากฎเส้นทางรีจิสทรีใช้แบ็กสแลชไม่ถูกต้องดังนั้นจะต้องแก้ไข (ดูจุดบนเส้นทางของรีจิสทรีด้านล่าง) และเตือนเกี่ยวกับรายการบัญชีดำทั่วไป
คำถามที่ชัดเจนคือเหตุผลที่เราไม่ได้ระมัดระวังยกเว้นเส้นทางของแต่ละบุคคลภายใต้\Windows
แทน (รวมถึง\Windows\*.exe
มรดกSystem32\*.exe
ฯลฯ ) ฉันไม่ได้สังเกตคำตอบใด ๆ เลย :(
การใช้ตัวแปรสภาพแวดล้อมเช่น%systemroot%
SRP สามารถถูกข้ามโดยผู้ใช้โดยการล้างตัวแปรสภาพแวดล้อม แก้ไข: สิ่งเหล่านี้ไม่ได้ใช้ในค่าเริ่มต้นที่แนะนำ อย่างไรก็ตามพวกเขาอาจล่อลวงให้ใช้ ปืนลูกซองนี้ได้รับการแก้ไขใน AppLocker เพราะมันไม่เคยดูตัวแปรสภาพแวดล้อม
- ค่าเริ่มต้นที่แนะนำจะถูกละเลยเพื่ออนุญาตให้ทั้งสองแตกต่างกันที่
\Program Files
ใช้กับการติดตั้ง 64- บิตสมัยใหม่ เมื่อแก้ไขปัญหานี้โดยใช้ "เส้นทางรีจิสทรี" ที่ปลอดภัยยิ่งขึ้นมีรายงานการปฏิเสธที่ผิดพลาดในสถานการณ์สุ่มซึ่งอาจพลาดได้ง่ายในการทดสอบ เช่นดูความคิดเห็นเกี่ยวกับSpiceWorks SRP HOWTO แก้ไข: สิ่งนี้จะทำกับแอปพลิเคชัน 32 บิตที่อ่านพา ธ ที่เกี่ยวข้องจาก WOW6432Node ของรีจิสตรี: การแก้ไขคือการเพิ่มทั้งพา ธเหล่านี้ไปยัง SRP เพื่อให้โปรแกรมทั้งหมดทำงานบนเครื่อง 32- บิตและ 64 บิต กระบวนการโฮสต์ x64 หรือ x86:%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir%
- นามสกุลเริ่มต้นละเลยที่จะห้ามสคริปต์ PowerShell (* .PS1) สนับสนุนโดย Windows (ดูวิดีโอ ) และ APPX ก็เช่นกัน ... ตามตารางเปรียบเทียบของ Microsoft SRP ไม่สามารถจัดการ "แอพแพคเกจ" ใน Windows 8 ฉันไม่รู้ว่ามันหมายถึงอะไร
- กฎเส้นทางรีจิสทรีต้องไม่มีเครื่องหมายทับทันทีหลังจากเครื่องหมายเปอร์เซ็นต์สุดท้าย (แม้จะถูกรวมอยู่ใน Microsoft ของตัวเองในตัวกฎสำหรับ XP / Server 2003) และเครื่องหมายใด ๆ จะต้องถูกแทนที่ด้วย forwardslashes ในการสั่งซื้อสำหรับกฎในการทำงาน ( 1 / 2 / 3 )
- จากแหล่งข้อมูลที่ฉันพบสำหรับ SRP ไม่มีใครรวบรวมรายชื่อทั้งหมดไว้ด้านบนให้คุณ และฉันเพิ่งค้นพบบทความของ Vadims Podan โดยบังเอิญ มีอะไรอีกที่ซุ่มซ่อนอยู่ที่นั่น?
- หลายแหล่งแนะนำให้ลบไฟล์ LNK ออกจากรายการ (และทางลัดเว็บเพื่อหลีกเลี่ยงการแบ่งรายการโปรดหรือไม่!) ดูเหมือนไม่มีแหล่งที่มาที่จะพูดถึงช่องโหว่ของ LNK ... หรือรับล่ามสคริปต์เพื่อเรียกใช้ไฟล์ที่มีนามสกุลที่ไม่คาดคิดเช่น
wscript /e
... หรืออาจบรรจุ shellcode มากพอในพารามิเตอร์สคริปต์แบบอินไลน์ ... ฯลฯ
- หากคุณพยายามที่จะประนีประนอมโดยการอนุญาตให้ไฟล์ LNK บนเดสก์ท็อปและคุณปล่อยให้ผู้ใช้สามารถเข้าถึงการเขียนไปยังเดสก์ท็อปตอนนี้พวกเขาสามารถข้ามนโยบายของคุณได้อย่างสมบูรณ์ เคล็ดลับที่น่ารักจาก Vadims Podānsอีกครั้ง โปรดทราบว่าคำอธิบายนี้ใช้กับการใช้ส่วนขยายใด ๆ ในกฎพา ธ Microsoft นำเสนอหลายตัวอย่างของสิ่งนี้รวมถึง
*.Extension
โดยไม่มีการเตือนล่วงหน้า ดังนั้นคุณไม่สามารถเชื่อถือเอกสารอย่างเป็นทางการและดูเหมือนว่าไม่น่าจะได้รับการแก้ไขในขณะนี้
- [ข้อเสียของ AppLocker ที่เป็นไปได้] Vadims Podānsรายงานว่ารายการ SRP ที่ใช้ไดรฟ์ที่แมปไม่ทำงาน ต้องใช้พา ธ UNC แทน บางทีพวกเขาอาจจะนำไปใช้กับการเข้าถึงผ่านไดรฟ์ที่แมปหรือไม่ มันไม่ชัดเจน 100% AppLocker เห็นได้ชัดว่าแตกต่างกัน: มันไม่ทำงานด้วย :( เนื่องจากเหตุผลที่ไม่รู้จักพา ธ UNC ไม่ทำงานใน Applocker หมายความว่าหากแอปพลิเคชันของคุณติดตั้งในเครือข่ายคุณต้องสร้างกฎแฮชหรือกฎผู้เผยแพร่โฆษณา ."
แนวทางปฏิบัติ
การยกเว้นซอฟต์แวร์อาจเป็นการป้องกันที่ทรงพลังมาก ถ้าเราดูถูกเหยียดหยาม: นี่คือสาเหตุที่ Microsoft เลิกใช้รุ่นที่มีราคาต่ำกว่าและประดิษฐ์สิ่งที่ซับซ้อนกว่านั้น
อาจไม่มีตัวเลือกอื่นให้ใช้ (รวมโซลูชันของบุคคลที่สาม) จากนั้นแนวทางในทางปฏิบัติจะลองตั้งค่า SRP ให้ง่ายที่สุดเท่าที่จะทำได้ ถือว่ามันเป็นเลเยอร์พิเศษของการป้องกันโดยมีรูที่รู้จัก จับคู่ข้อผิดพลาดข้างต้น:
- เริ่มจากกฎเริ่มต้น (จาก pre-Win7 era :)
%systemroot%
ชอบที่จะไม่ใช้ตัวแปรสภาพแวดล้อมเช่น
- เพิ่มกฎเพื่อให้แน่ใจว่าทั้งสอง
\Program Files\
ไดเรกทอรีได้รับอนุญาตในเครื่อง 64 บิตที่ทันสมัย พิเศษ "เส้นทางรีจิสทรี" คุณจะต้องเพิ่มสำหรับ\Program Files\
บนคอมพิวเตอร์ 64 บิตและ%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramFilesDir (x86)%
%HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\ProgramW6432Dir%
- เมื่อเพิ่มลงในกฎเส้นทางของรีจิสทรีให้ปล่อยแบ็กสแลชใด ๆ ทันทีหลังเครื่องหมายเปอร์เซ็นต์และแทนที่แบ็กสแลช
\
ต่อไปด้วยฟอร์เวิลสแลช/
(เช่น%HKEY_LOCAL_MACHINE\Software\CompanyName\CustomApps%App/Bin/start.exe
)
- เพิ่ม PS1 ไปยังรายการส่วนขยายที่ควบคุม
- ทำความเข้าใจว่าการกำหนดค่า SRP ที่จัดการได้นั้นไม่ปลอดภัยสำหรับผู้ใช้ที่ตั้งใจจะกำจัดมัน เป้าหมายคือเพื่อช่วยเหลือ / สนับสนุนให้ผู้ใช้ทำงานภายในนโยบายเพื่อปกป้องพวกเขาจากการถูกโจมตีเช่น "ดาวน์โหลดโดยการดาวน์โหลด"
- อนุญาตไฟล์ LNK (ควรลบออกจากรายการส่วนขยายไม่ใช่กฎเส้นทางบางอัน)
- ดูด้านบน :).
- ตรวจสอบให้แน่ใจว่าโฟลเดอร์สคริปต์การเข้าสู่ระบบของคุณได้รับอนุญาต
\\%USERDNSDOMAIN%\Sysvol\
เอกสารที่แสดงให้เห็นการเพิ่มเอ็นเอสเอ (ดูจุด # 2 ถอนหายใจแล้วดูจุด # 6)