آکادمی آموزش روزبه 📚
به دور از تمام مقدمات و تعاریف اولیه ؛ زیرو تراست رو ببینیم و انواع ش رو #آکادمی_روزبه https://www.ibm.com/think/insights/the-evolution-of-zero-trust-and-the-frameworks-that-guide-it
مدل های زیرو تراست
این مدل ها بر اساس اصول و چارچوبهای مختلفی طراحی شدهاند. این مدلها به سازمانها کمک میکنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدلها و چارچوبهای معروف Zero Trust :
۱. چارچوب NIST Zero Trust Architecture (ZTA)
این چارچوب توسط موسسه ملی فناوری و استانداردهای ایالات متحده (NIST) توسعه یافته و یکی از معتبرترین مدلهای Zero Trust است.
اصول کلیدی:
هرگز اعتماد نکن، همیشه تأیید کن: هیچ کاربر، دستگاه یا شبکهای به طور پیشفرض قابل اعتماد نیست.
دسترسی حداقلی: کاربران فقط به منابعی دسترسی دارند که برای انجام وظایفشان ضروری است.
تقسیم شبکه به بخشهای کوچک (Micro-Segmentation): شبکه به بخشهای کوچک تقسیم میشود تا در صورت حمله، آسیب محدود شود.
احراز هویت و مجوز مداوم: دسترسی کاربران و دستگاهها به طور مداوم بررسی میشود.
اجزای اصلی:
سیاستهای امنیتی (Policy Engine): تصمیمگیری دربارهی دسترسیها.
اجرای سیاستها (Policy Administrator): اعمال سیاستها.
تأیید هویت (Authentication): احراز هویت کاربران و دستگاهها.
۲. چارچوب CISA Zero Trust Maturity Model
این چارچوب توسط آژانس امنیت سایبری و زیرساخت ایالات متحده (CISA) ارائه شده و به سازمانها کمک میکند تا سطح بلوغ Zero Trust خود را ارزیابی و بهبود دهند.
سطوح بلوغ:
سنتی (Traditional): سازمانها از مدلهای امنیتی قدیمی استفاده میکنند.
اولیه (Initial): شروع پیادهسازی Zero Trust با تغییرات کوچک.
پیشرفته (Advanced): استفاده از ابزارها و فناوریهای پیشرفته برای Zero Trust.
بهینه (Optimal): دستیابی به یک مدل Zero Trust کاملاً یکپارچه و خودکار.
حوزههای کلیدی:
هویت (Identity): مدیریت هویت کاربران و دستگاهها.
دستگاهها (Devices): امنیت و نظارت بر دستگاههای متصل به شبکه.
شبکه (Network): تقسیم شبکه و کنترل ترافیک.
برنامهها و دادهها (Applications & Data): محافظت از برنامهها و دادهها.
۳. مدل Forrester Zero Trust
این مدل توسط شرکت تحقیقاتی Forrester توسعه یافته و یکی از اولین مدلهای Zero Trust است.
اصول اصلی:
دادهها محور هستند: تمرکز اصلی بر محافظت از دادهها است.
دسترسی مبتنی بر نیاز: کاربران فقط به منابعی دسترسی دارند که برای کارشان ضروری است.
تقسیم شبکه: شبکه به بخشهای کوچک تقسیم میشود تا امنیت افزایش یابد.
اجزای کلیدی:
حفاظت از دادهها: رمزنگاری و کنترل دسترسی به دادهها.
امنیت دستگاهها: نظارت بر دستگاههای متصل به شبکه.
امنیت کاربران: احراز هویت چندعاملی (MFA) و مدیریت هویت.
۴. مدل Google BeyondCorp
این مدل توسط گوگل توسعه یافته و بر اساس اصول Zero Trust است. BeyondCorp دسترسی به برنامهها و دادهها را بر اساس هویت کاربر و دستگاه تنظیم میکند، نه بر اساس مکان شبکه.
ویژگیهای کلیدی:
دسترسی از هر مکان: کاربران میتوانند از هر شبکهای (داخلی یا خارجی) به منابع دسترسی داشته باشند.
تأیید هویت مداوم: دسترسی کاربران به طور مداوم بررسی میشود.
امنیت برنامهها: برنامهها به جای شبکه، محور امنیت هستند.
۵. مدل Microsoft Zero Trust
این مدل توسط مایکروسافت ارائه شده و بر سه اصل اصلی استوار است:
اصول اصلی:
تأیید هویت صریح (Verify Explicitly): همیشه هویت کاربران و دستگاهها را تأیید کنید.
دسترسی حداقلی (Least Privilege Access): کاربران فقط به منابع ضروری دسترسی دارند.
فرض نقض (Assume Breach): همیشه فرض کنید که شبکه شما نقض شده است و بر این اساس اقدامات امنیتی انجام دهید.
۶. مدل Gartner Zero Trust Network Access (ZTNA)
این مدل توسط گارتنر ارائه شده و بر دسترسی امن به برنامهها و خدمات متمرکز است.
ویژگیهای کلیدی:
دسترسی مبتنی بر هویت: دسترسی کاربران بر اساس هویت آنها تنظیم میشود.
عدم اعتماد به شبکه: شبکه به طور پیشفرض قابل اعتماد نیست.
امنیت برنامهها: برنامهها به جای شبکه، محور امنیت هستند.
جمعبندی
مدلهای Zero Trust با وجود تفاوتهای جزئی، همگی بر اعتماد صفر، دسترسی حداقلی و تأیید هویت مداوم تأکید دارند. انتخاب مدل مناسب به نیازها و زیرساختهای سازمان شما بستگی دارد.
#آکادمی_روزبه
این مدل ها بر اساس اصول و چارچوبهای مختلفی طراحی شدهاند. این مدلها به سازمانها کمک میکنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدلها و چارچوبهای معروف Zero Trust :
۱. چارچوب NIST Zero Trust Architecture (ZTA)
این چارچوب توسط موسسه ملی فناوری و استانداردهای ایالات متحده (NIST) توسعه یافته و یکی از معتبرترین مدلهای Zero Trust است.
اصول کلیدی:
هرگز اعتماد نکن، همیشه تأیید کن: هیچ کاربر، دستگاه یا شبکهای به طور پیشفرض قابل اعتماد نیست.
دسترسی حداقلی: کاربران فقط به منابعی دسترسی دارند که برای انجام وظایفشان ضروری است.
تقسیم شبکه به بخشهای کوچک (Micro-Segmentation): شبکه به بخشهای کوچک تقسیم میشود تا در صورت حمله، آسیب محدود شود.
احراز هویت و مجوز مداوم: دسترسی کاربران و دستگاهها به طور مداوم بررسی میشود.
اجزای اصلی:
سیاستهای امنیتی (Policy Engine): تصمیمگیری دربارهی دسترسیها.
اجرای سیاستها (Policy Administrator): اعمال سیاستها.
تأیید هویت (Authentication): احراز هویت کاربران و دستگاهها.
۲. چارچوب CISA Zero Trust Maturity Model
این چارچوب توسط آژانس امنیت سایبری و زیرساخت ایالات متحده (CISA) ارائه شده و به سازمانها کمک میکند تا سطح بلوغ Zero Trust خود را ارزیابی و بهبود دهند.
سطوح بلوغ:
سنتی (Traditional): سازمانها از مدلهای امنیتی قدیمی استفاده میکنند.
اولیه (Initial): شروع پیادهسازی Zero Trust با تغییرات کوچک.
پیشرفته (Advanced): استفاده از ابزارها و فناوریهای پیشرفته برای Zero Trust.
بهینه (Optimal): دستیابی به یک مدل Zero Trust کاملاً یکپارچه و خودکار.
حوزههای کلیدی:
هویت (Identity): مدیریت هویت کاربران و دستگاهها.
دستگاهها (Devices): امنیت و نظارت بر دستگاههای متصل به شبکه.
شبکه (Network): تقسیم شبکه و کنترل ترافیک.
برنامهها و دادهها (Applications & Data): محافظت از برنامهها و دادهها.
۳. مدل Forrester Zero Trust
این مدل توسط شرکت تحقیقاتی Forrester توسعه یافته و یکی از اولین مدلهای Zero Trust است.
اصول اصلی:
دادهها محور هستند: تمرکز اصلی بر محافظت از دادهها است.
دسترسی مبتنی بر نیاز: کاربران فقط به منابعی دسترسی دارند که برای کارشان ضروری است.
تقسیم شبکه: شبکه به بخشهای کوچک تقسیم میشود تا امنیت افزایش یابد.
اجزای کلیدی:
حفاظت از دادهها: رمزنگاری و کنترل دسترسی به دادهها.
امنیت دستگاهها: نظارت بر دستگاههای متصل به شبکه.
امنیت کاربران: احراز هویت چندعاملی (MFA) و مدیریت هویت.
۴. مدل Google BeyondCorp
این مدل توسط گوگل توسعه یافته و بر اساس اصول Zero Trust است. BeyondCorp دسترسی به برنامهها و دادهها را بر اساس هویت کاربر و دستگاه تنظیم میکند، نه بر اساس مکان شبکه.
ویژگیهای کلیدی:
دسترسی از هر مکان: کاربران میتوانند از هر شبکهای (داخلی یا خارجی) به منابع دسترسی داشته باشند.
تأیید هویت مداوم: دسترسی کاربران به طور مداوم بررسی میشود.
امنیت برنامهها: برنامهها به جای شبکه، محور امنیت هستند.
۵. مدل Microsoft Zero Trust
این مدل توسط مایکروسافت ارائه شده و بر سه اصل اصلی استوار است:
اصول اصلی:
تأیید هویت صریح (Verify Explicitly): همیشه هویت کاربران و دستگاهها را تأیید کنید.
دسترسی حداقلی (Least Privilege Access): کاربران فقط به منابع ضروری دسترسی دارند.
فرض نقض (Assume Breach): همیشه فرض کنید که شبکه شما نقض شده است و بر این اساس اقدامات امنیتی انجام دهید.
۶. مدل Gartner Zero Trust Network Access (ZTNA)
این مدل توسط گارتنر ارائه شده و بر دسترسی امن به برنامهها و خدمات متمرکز است.
ویژگیهای کلیدی:
دسترسی مبتنی بر هویت: دسترسی کاربران بر اساس هویت آنها تنظیم میشود.
عدم اعتماد به شبکه: شبکه به طور پیشفرض قابل اعتماد نیست.
امنیت برنامهها: برنامهها به جای شبکه، محور امنیت هستند.
جمعبندی
مدلهای Zero Trust با وجود تفاوتهای جزئی، همگی بر اعتماد صفر، دسترسی حداقلی و تأیید هویت مداوم تأکید دارند. انتخاب مدل مناسب به نیازها و زیرساختهای سازمان شما بستگی دارد.
#آکادمی_روزبه
👏6👍2
آکادمی آموزش روزبه 📚
مدل های زیرو تراست این مدل ها بر اساس اصول و چارچوبهای مختلفی طراحی شدهاند. این مدلها به سازمانها کمک میکنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدلها و چارچوبهای معروف Zero Trust : ۱. چارچوب NIST Zero Trust Architecture…
توصیههایی برای پیادهسازی Zero Trust در کدنویسی
مدل امنیتی Zero Trust (عدم اعتماد پیشفرض) بر این اصل استوار است که هیچ کاربر، دستگاه، یا فرآیندی نباید بهصورت پیشفرض قابلاعتماد باشد. در نتیجه، هنگام توسعه نرمافزار و کدنویسی، باید مکانیزمهایی در نظر گرفته شود که حداقل سطح دسترسی، اعتبارسنجی مستمر، و کنترل دقیق دسترسیها را اعمال کند.
📍 1️⃣ اصل حداقل دسترسی (Least Privilege)
🔹 هیچ کاربر یا پردازهای نباید بیش از سطح دسترسی موردنیاز داشته باشد.
🔹 از Principle of Least Privilege (PoLP) پیروی کنید.
✅ در پایگاه داده:
GRANT SELECT, INSERT ON customers TO user_app;
REVOKE DELETE, UPDATE ON customers FROM user_app;
❌ غلط: دادن دسترسی کامل به همه کاربران
GRANT ALL PRIVILEGES ON customers TO user_app;
✅ در سیستمعامل: اگر کد شما نیاز به اجرای یک فرمان خاص دارد، آن را با حداقل مجوز اجرا کنید:
sudo -u limited_user command
❌ غلط: اجرای دستورات با کاربر root بدون نیاز
📍 2️⃣ اعتبارسنجی و احراز هویت قوی (Strong Authentication & Authorization)
🔹 همه درخواستها را احراز هویت کنید.
🔹 از MFA (احراز هویت چندعاملی) برای کاربران حساس استفاده کنید.
✅ در APIها:
from flask import request, jsonify
from werkzeug.security import check_password_hash
def authenticate_user(username, password):
user = get_user_from_db(username)
if user and check_password_hash(user.password, password):
return generate_jwt(user)
return jsonify({"error": "Unauthorized"}), 401
❌ غلط: استفاده از Hardcoded Passwords
if username == "admin" and password == "password123":
✅ استفاده از OAuth2 یا JWT برای APIها:
@app.route("/secure-data", methods=["GET"])
@jwt_required()
def secure_data():
return jsonify({"message": "Access granted!"})
📍 3️⃣ بررسی و کنترل ورودیها (Input Validation & Sanitization)
🔹 همیشه ورودیهای کاربر را بررسی کنید تا از حملات SQL Injection، XSS و Command Injection جلوگیری شود.
🔹 از لیست سفید (Whitelist) بهجای لیست سیاه (Blacklist) استفاده کنید.
✅ فیلتر کردن ورودیها:
import re
def validate_username(username):
if re.match("^[a-zA-Z0-9_]{3,20}$", username):
return True
return False
❌ غلط: استفاده از ورودی خام در کوئری SQL
query = f"SELECT * FROM users WHERE username = '{user_input}'"
✅ درست: استفاده از Prepared Statements
cursor.execute("SELECT * FROM users WHERE username = ?", (user_input,))
📍 4️⃣ محدودسازی ارتباطات داخلی (Micro-Segmentation & Network Restrictions)
🔹 هیچ سیستمی نباید بتواند آزادانه با همه بخشهای شبکه ارتباط بگیرد.
🔹 از Firewalls، VLANs و ACLs برای محدودسازی ارتباطات بین سرویسها استفاده کنید.
✅ در Docker (Network Isolation):
services:
app:
networks:
- internal_net
db:
networks:
- internal_net
networks:
internal_net:
driver: bridge
❌ غلط: قرار دادن پایگاه داده در شبکه عمومی و قابلدسترسی از همه جا
📍 5️⃣ رمزنگاری دادهها در حین انتقال و ذخیرهسازی (Encryption & Secure Storage)
🔹 همیشه دادههای حساس را رمزنگاری کنید.
🔹 از TLS برای انتقال داده و AES برای ذخیرهسازی اطلاعات مهم استفاده کنید.
✅ در REST API:
app.run(ssl_context=("cert.pem", "key.pem"))
✅ در پایگاه داده:
CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash TEXT NOT NULL
);
❌ غلط: ذخیره پسوردهای خام در دیتابیس
CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255),
password TEXT
);
✅ درست: هش کردن رمزهای عبور
from werkzeug.security import generate_password_hash
hashed_password = generate_password_hash("mypassword")
📍 6️⃣ مانیتورینگ و لاگگیری مداوم (Continuous Monitoring & Logging)
🔹 همهی رویدادهای امنیتی باید لاگ شوند، اما اطلاعات حساس را نباید در لاگها ذخیره کرد.
🔹 از SIEM برای تحلیل لاگها استفاده کنید.
✅ در Python:
import logging
logging.basicConfig(filename="app.log", level=logging.INFO)
logging.info("User login attempt: %s", username)
❌ غلط: لاگ کردن پسوردها و اطلاعات حساس
logging.info("User: %s, Password: %s", username, password)
✅ در SIEM (مثل Splunk یا ELK):
index=security_logs source=auth.log "failed login attempt"
📍 7️⃣ اجرای تستهای امنیتی (Security Testing & Code Review)
#آکادمی _روزبه
ادامه در پست بعد
مدل امنیتی Zero Trust (عدم اعتماد پیشفرض) بر این اصل استوار است که هیچ کاربر، دستگاه، یا فرآیندی نباید بهصورت پیشفرض قابلاعتماد باشد. در نتیجه، هنگام توسعه نرمافزار و کدنویسی، باید مکانیزمهایی در نظر گرفته شود که حداقل سطح دسترسی، اعتبارسنجی مستمر، و کنترل دقیق دسترسیها را اعمال کند.
📍 1️⃣ اصل حداقل دسترسی (Least Privilege)
🔹 هیچ کاربر یا پردازهای نباید بیش از سطح دسترسی موردنیاز داشته باشد.
🔹 از Principle of Least Privilege (PoLP) پیروی کنید.
✅ در پایگاه داده:
GRANT SELECT, INSERT ON customers TO user_app;
REVOKE DELETE, UPDATE ON customers FROM user_app;
❌ غلط: دادن دسترسی کامل به همه کاربران
GRANT ALL PRIVILEGES ON customers TO user_app;
✅ در سیستمعامل: اگر کد شما نیاز به اجرای یک فرمان خاص دارد، آن را با حداقل مجوز اجرا کنید:
sudo -u limited_user command
❌ غلط: اجرای دستورات با کاربر root بدون نیاز
📍 2️⃣ اعتبارسنجی و احراز هویت قوی (Strong Authentication & Authorization)
🔹 همه درخواستها را احراز هویت کنید.
🔹 از MFA (احراز هویت چندعاملی) برای کاربران حساس استفاده کنید.
✅ در APIها:
from flask import request, jsonify
from werkzeug.security import check_password_hash
def authenticate_user(username, password):
user = get_user_from_db(username)
if user and check_password_hash(user.password, password):
return generate_jwt(user)
return jsonify({"error": "Unauthorized"}), 401
❌ غلط: استفاده از Hardcoded Passwords
if username == "admin" and password == "password123":
✅ استفاده از OAuth2 یا JWT برای APIها:
@app.route("/secure-data", methods=["GET"])
@jwt_required()
def secure_data():
return jsonify({"message": "Access granted!"})
📍 3️⃣ بررسی و کنترل ورودیها (Input Validation & Sanitization)
🔹 همیشه ورودیهای کاربر را بررسی کنید تا از حملات SQL Injection، XSS و Command Injection جلوگیری شود.
🔹 از لیست سفید (Whitelist) بهجای لیست سیاه (Blacklist) استفاده کنید.
✅ فیلتر کردن ورودیها:
import re
def validate_username(username):
if re.match("^[a-zA-Z0-9_]{3,20}$", username):
return True
return False
❌ غلط: استفاده از ورودی خام در کوئری SQL
query = f"SELECT * FROM users WHERE username = '{user_input}'"
✅ درست: استفاده از Prepared Statements
cursor.execute("SELECT * FROM users WHERE username = ?", (user_input,))
📍 4️⃣ محدودسازی ارتباطات داخلی (Micro-Segmentation & Network Restrictions)
🔹 هیچ سیستمی نباید بتواند آزادانه با همه بخشهای شبکه ارتباط بگیرد.
🔹 از Firewalls، VLANs و ACLs برای محدودسازی ارتباطات بین سرویسها استفاده کنید.
✅ در Docker (Network Isolation):
services:
app:
networks:
- internal_net
db:
networks:
- internal_net
networks:
internal_net:
driver: bridge
❌ غلط: قرار دادن پایگاه داده در شبکه عمومی و قابلدسترسی از همه جا
📍 5️⃣ رمزنگاری دادهها در حین انتقال و ذخیرهسازی (Encryption & Secure Storage)
🔹 همیشه دادههای حساس را رمزنگاری کنید.
🔹 از TLS برای انتقال داده و AES برای ذخیرهسازی اطلاعات مهم استفاده کنید.
✅ در REST API:
app.run(ssl_context=("cert.pem", "key.pem"))
✅ در پایگاه داده:
CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255) NOT NULL UNIQUE,
password_hash TEXT NOT NULL
);
❌ غلط: ذخیره پسوردهای خام در دیتابیس
CREATE TABLE users (
id INT PRIMARY KEY,
email VARCHAR(255),
password TEXT
);
✅ درست: هش کردن رمزهای عبور
from werkzeug.security import generate_password_hash
hashed_password = generate_password_hash("mypassword")
📍 6️⃣ مانیتورینگ و لاگگیری مداوم (Continuous Monitoring & Logging)
🔹 همهی رویدادهای امنیتی باید لاگ شوند، اما اطلاعات حساس را نباید در لاگها ذخیره کرد.
🔹 از SIEM برای تحلیل لاگها استفاده کنید.
✅ در Python:
import logging
logging.basicConfig(filename="app.log", level=logging.INFO)
logging.info("User login attempt: %s", username)
❌ غلط: لاگ کردن پسوردها و اطلاعات حساس
logging.info("User: %s, Password: %s", username, password)
✅ در SIEM (مثل Splunk یا ELK):
index=security_logs source=auth.log "failed login attempt"
📍 7️⃣ اجرای تستهای امنیتی (Security Testing & Code Review)
#آکادمی _روزبه
ادامه در پست بعد
👍4❤1
آکادمی آموزش روزبه 📚
مدل های زیرو تراست این مدل ها بر اساس اصول و چارچوبهای مختلفی طراحی شدهاند. این مدلها به سازمانها کمک میکنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدلها و چارچوبهای معروف Zero Trust : ۱. چارچوب NIST Zero Trust Architecture…
🔹 همیشه کد خود را از نظر امنیتی بررسی کنید.
🔹 از ابزارهایی مانند OWASP ZAP، Burp Suite، SAST و DAST برای اسکن امنیتی استفاده کنید.
✅ در CI/CD:
jobs:
security_scan:
runs-on: ubuntu-latest
steps:
- name: Run Snyk Security Scan
run: snyk test
✅ استفاده از Dependency Scanning برای شناسایی آسیبپذیریها:
pip install bandit && bandit -r my_project/
🎯 نتیجهگیری
🔹زیرو تراست Zero Trust در کدنویسی یعنی عدم اعتماد به هرچیزی و تأیید دائمی همهی درخواستها.
🔹 با اعتبارسنجی ورودیها، احراز هویت قوی، رمزنگاری، حداقل دسترسی، نظارت مداوم و تست امنیتی میتوان ریسک حملات را کاهش داد.
🔹 اجرای Zero Trust در معماری نرمافزار باعث افزایش امنیت سیستم و جلوگیری از حملات سایبری میشود.
✅ در نهایت، هدف این است که هیچ کد یا کاربری بدون بررسی اجازه دسترسی نداشته باشد.
#آکادمی_روزبه
🔹 از ابزارهایی مانند OWASP ZAP، Burp Suite، SAST و DAST برای اسکن امنیتی استفاده کنید.
✅ در CI/CD:
jobs:
security_scan:
runs-on: ubuntu-latest
steps:
- name: Run Snyk Security Scan
run: snyk test
✅ استفاده از Dependency Scanning برای شناسایی آسیبپذیریها:
pip install bandit && bandit -r my_project/
🎯 نتیجهگیری
🔹زیرو تراست Zero Trust در کدنویسی یعنی عدم اعتماد به هرچیزی و تأیید دائمی همهی درخواستها.
🔹 با اعتبارسنجی ورودیها، احراز هویت قوی، رمزنگاری، حداقل دسترسی، نظارت مداوم و تست امنیتی میتوان ریسک حملات را کاهش داد.
🔹 اجرای Zero Trust در معماری نرمافزار باعث افزایش امنیت سیستم و جلوگیری از حملات سایبری میشود.
✅ در نهایت، هدف این است که هیچ کد یا کاربری بدون بررسی اجازه دسترسی نداشته باشد.
#آکادمی_روزبه
👍5
کسی که میخواهد روزی پرواز بیاموزد باید نخست ایستادن و دویدن و جهش و بالارفتن و پایکوبی را به تمرین بگذارد، پرواز را با پرواز نتوان آموخت.
👤فردریش نیچه
درس خواندن ؛ ارتقای شغلی و بقول صالح علا دوست داشتن خورد خورد است و در لحظه نیست. پله ها یکی پس از دیگری میرسند و سیب ها بموقع
#موفقیت #مطالعه #شغل
👤فردریش نیچه
درس خواندن ؛ ارتقای شغلی و بقول صالح علا دوست داشتن خورد خورد است و در لحظه نیست. پله ها یکی پس از دیگری میرسند و سیب ها بموقع
#موفقیت #مطالعه #شغل
👍9🔥2
پیش درآمد و آماده سازی برای خوانش کتاب Evasive Malware در گروه کتاب نوروز شروع شده است
میتوانید به جمع دوستان در لینک زیر بپیوندید
پیش درآمد فعلا شامل :
مروری کلی بر تحلیل بدافزار بصورت مقدماتی
نگاه به زبان اسمبلی
https://t.me/+iv8QJhCC4W4xZjJk
میتوانید به جمع دوستان در لینک زیر بپیوندید
پیش درآمد فعلا شامل :
مروری کلی بر تحلیل بدافزار بصورت مقدماتی
نگاه به زبان اسمبلی
https://t.me/+iv8QJhCC4W4xZjJk
Telegram
آکادمی آموزش روزبه 📚 Evasive Malware
You’ve been invited to join this group on Telegram.
❤5👍1
یه گزارش خوب بخونیم
#آکادمی_روزبه
https://www.activecountermeasures.com/a-network-threat-hunters-guide-to-c2-over-quic/
#آکادمی_روزبه
https://www.activecountermeasures.com/a-network-threat-hunters-guide-to-c2-over-quic/
Active Countermeasures
A Network Threat Hunter's Guide to C2 over QUIC - Active Countermeasures
Section A – Introduction Every new technology comes with both promise and risk for the security landscape. While established protocols have weathered years […]
❤4
آشنایی با ابزار
✍️روزبه نوروزی
ابزار Monocle یک LLM متنباز برای تحلیل دودویی (Binary Analysis) و جستجوی باینری است. این ابزار طراحی شده تا به پژوهشگران امنیت، تحلیلگران بدافزار، و توسعهدهندگان مهندسی معکوس کمک کند تا کدهای باینری را به شکل بهینهتری تحلیل کنند.
✳️ویژگیهای کلیدی Monocle:
✔️جستجوی کد باینری: امکان یافتن توابع مشابه یا کدهای مخرب در باینریهای مختلف.
✔️تحلیل مبتنی بر LLM: استفاده از مدلهای زبان بزرگ برای درک بهتر ساختار باینری.
✔️ متنباز بودن: قابلیت سفارشیسازی و توسعه برای نیازهای خاص.
✔️توسعهیافته برای امنیت سایبری: کمک به تحلیل تهدیدات، مهندسی معکوس، و تشخیص بدافزارها.
✳️کاربردها:
⬅️شناسایی توابع مشترک در باینریهای ناشناس
⬅️تحلیل بدافزار و کشف تکنیکهای مخفی شده در کدهای باینری
⬅️کمک به مهندسی معکوس و پژوهشهای امنیتی
✳️معماری و نحوه کار Monocle
ابزار Monocle از چندین مؤلفه کلیدی تشکیل شده است که در کنار هم برای تحلیل کدهای باینری کار میکنند:
1. تبدیل باینری به نمایش مناسب (Feature Extraction)
کدهای باینری خام ابتدا باید به قالبی تبدیل شوند که بتوانند توسط مدل پردازش شوند. این شامل:
Disassembly:
تبدیل کد باینری به اسمبلی برای بررسی ساختار دستورالعملها.
Control Flow Graph (CFG):
استخراج گراف جریان کنترل برای نمایش ارتباط بین توابع و بلوکهای کد.
Data Flow Analysis:
بررسی نحوه جابهجایی دادهها در برنامه.
2. مدلسازی و پردازش دادهها با استفاده از LLM
پس از استخراج ویژگیها، Monocle از یک مدل زبان بزرگ (LLM) برای تحلیل و پردازش این دادهها استفاده میکند. این مدل معمولاً روی مجموعه دادههای عظیمی از کدهای اسمبلی و باینری آموزش دیده است تا بتواند الگوهای پیچیده را درک کند. برخی از تکنیکهای یادگیری ماشینی که ممکن است در Monocle به کار گرفته شوند:
Embedding-based Similarity:
تبدیل کدها به بردارهای عددی برای یافتن شباهت بین آنها.
Sequence-to-Sequence Learning:
استفاده از مدلهای زبانی برای ترجمه و درک ساختار اسمبلی.
Graph Neural Networks (GNN):
بهرهگیری از گراف برای تحلیل ارتباط بین بخشهای مختلف کد.
3. جستجو و مقایسه کدها (Binary Code Search)
ابزار Monocle این امکان را میدهد که بتوان کدهای باینری را جستجو کرد و شباهت آنها را با نمونههای قبلی مقایسه کرد. این ویژگی برای شناسایی مجدد توابع شناختهشده یا کشف نمونههای مشابه در بدافزارها بسیار مفید است.
روشهای جستجو شامل:
Exact Match:
پیدا کردن توابع و قطعهکدهایی که دقیقاً مشابه یک نمونه خاص هستند.
Fuzzy Matching:
یافتن کدهایی که ساختار مشابه دارند ولی ممکن است کمی تغییر یافته باشند.
Semantic Search:
جستجوی مبتنی بر معنا، که حتی اگر کدها تغییر جزئی کرده باشند، همچنان بتواند شباهت را تشخیص دهد.
4. کاربرد در تحلیل بدافزار و مهندسی معکوس
یکی از مهمترین کاربردهای Monocle در تحلیل بدافزار است، زیرا:
میتواند کدهای مشابه را در نمونههای مختلف بدافزار شناسایی کند.
قابلیت کشف تکنیکهای obfuscation را دارد، یعنی میتواند کدهای مبهم شده را تحلیل کند.
برای تشخیص خانوادههای بدافزار مفید است، زیرا الگوهای رفتاری مشابه را در بین باینریها پیدا میکند.
#آکادمی_روزبه
✳️لینک دانلود و نصب
https://github.com/arphanetx/Monocle
✍️روزبه نوروزی
ابزار Monocle یک LLM متنباز برای تحلیل دودویی (Binary Analysis) و جستجوی باینری است. این ابزار طراحی شده تا به پژوهشگران امنیت، تحلیلگران بدافزار، و توسعهدهندگان مهندسی معکوس کمک کند تا کدهای باینری را به شکل بهینهتری تحلیل کنند.
✳️ویژگیهای کلیدی Monocle:
✔️جستجوی کد باینری: امکان یافتن توابع مشابه یا کدهای مخرب در باینریهای مختلف.
✔️تحلیل مبتنی بر LLM: استفاده از مدلهای زبان بزرگ برای درک بهتر ساختار باینری.
✔️ متنباز بودن: قابلیت سفارشیسازی و توسعه برای نیازهای خاص.
✔️توسعهیافته برای امنیت سایبری: کمک به تحلیل تهدیدات، مهندسی معکوس، و تشخیص بدافزارها.
✳️کاربردها:
⬅️شناسایی توابع مشترک در باینریهای ناشناس
⬅️تحلیل بدافزار و کشف تکنیکهای مخفی شده در کدهای باینری
⬅️کمک به مهندسی معکوس و پژوهشهای امنیتی
✳️معماری و نحوه کار Monocle
ابزار Monocle از چندین مؤلفه کلیدی تشکیل شده است که در کنار هم برای تحلیل کدهای باینری کار میکنند:
1. تبدیل باینری به نمایش مناسب (Feature Extraction)
کدهای باینری خام ابتدا باید به قالبی تبدیل شوند که بتوانند توسط مدل پردازش شوند. این شامل:
Disassembly:
تبدیل کد باینری به اسمبلی برای بررسی ساختار دستورالعملها.
Control Flow Graph (CFG):
استخراج گراف جریان کنترل برای نمایش ارتباط بین توابع و بلوکهای کد.
Data Flow Analysis:
بررسی نحوه جابهجایی دادهها در برنامه.
2. مدلسازی و پردازش دادهها با استفاده از LLM
پس از استخراج ویژگیها، Monocle از یک مدل زبان بزرگ (LLM) برای تحلیل و پردازش این دادهها استفاده میکند. این مدل معمولاً روی مجموعه دادههای عظیمی از کدهای اسمبلی و باینری آموزش دیده است تا بتواند الگوهای پیچیده را درک کند. برخی از تکنیکهای یادگیری ماشینی که ممکن است در Monocle به کار گرفته شوند:
Embedding-based Similarity:
تبدیل کدها به بردارهای عددی برای یافتن شباهت بین آنها.
Sequence-to-Sequence Learning:
استفاده از مدلهای زبانی برای ترجمه و درک ساختار اسمبلی.
Graph Neural Networks (GNN):
بهرهگیری از گراف برای تحلیل ارتباط بین بخشهای مختلف کد.
3. جستجو و مقایسه کدها (Binary Code Search)
ابزار Monocle این امکان را میدهد که بتوان کدهای باینری را جستجو کرد و شباهت آنها را با نمونههای قبلی مقایسه کرد. این ویژگی برای شناسایی مجدد توابع شناختهشده یا کشف نمونههای مشابه در بدافزارها بسیار مفید است.
روشهای جستجو شامل:
Exact Match:
پیدا کردن توابع و قطعهکدهایی که دقیقاً مشابه یک نمونه خاص هستند.
Fuzzy Matching:
یافتن کدهایی که ساختار مشابه دارند ولی ممکن است کمی تغییر یافته باشند.
Semantic Search:
جستجوی مبتنی بر معنا، که حتی اگر کدها تغییر جزئی کرده باشند، همچنان بتواند شباهت را تشخیص دهد.
4. کاربرد در تحلیل بدافزار و مهندسی معکوس
یکی از مهمترین کاربردهای Monocle در تحلیل بدافزار است، زیرا:
میتواند کدهای مشابه را در نمونههای مختلف بدافزار شناسایی کند.
قابلیت کشف تکنیکهای obfuscation را دارد، یعنی میتواند کدهای مبهم شده را تحلیل کند.
برای تشخیص خانوادههای بدافزار مفید است، زیرا الگوهای رفتاری مشابه را در بین باینریها پیدا میکند.
#آکادمی_روزبه
✳️لینک دانلود و نصب
https://github.com/arphanetx/Monocle
GitHub
GitHub - arphanetx/Monocle: Tooling backed by an LLM for performing natural language searches against compiled target binaries.…
Tooling backed by an LLM for performing natural language searches against compiled target binaries. Search for encryption code, password strings, vulnerabilities, etc. - arphanetx/Monocle
🔥2👏1
نکته #موقت
⛔️ اگر برخی ها دست از بی اخلاقی ها بردارند و کار خود رو بکنند خیلی خوب میشود اونوقت ....
↪️موضوع من نیستم یک بی اخلاقی علیه دوستی دیدم.
==≈============
فعلا بشینیم هانی پات همراه با LLM نصب کنیم
#آکادمی_روزبه
https://dispatch.thorcollective.com/p/exploring-splunk-deceive
⛔️ اگر برخی ها دست از بی اخلاقی ها بردارند و کار خود رو بکنند خیلی خوب میشود اونوقت ....
↪️موضوع من نیستم یک بی اخلاقی علیه دوستی دیدم.
==≈============
فعلا بشینیم هانی پات همراه با LLM نصب کنیم
#آکادمی_روزبه
https://dispatch.thorcollective.com/p/exploring-splunk-deceive
Thorcollective
Exploring Splunk DECEIVE
The AI Queen bee does DECEIVE
❤4
تمرین دست گرمی برای گروه تلگرامی Evasive Malware
🔮اعضای گروه این لینک حتما امشب بخونن
خلاصه
گروه تهدید پیشرفتهی Earth Preta (همچنین شناختهشده بهعنوان APT37 یا Mustang Panda) اخیراً تکنیکها و ابزارهای جدیدی را برای دور زدن مکانیزمهای شناسایی امنیتی به کار گرفته است. این گروه با ترکیب اجزای قانونی و مخرب، بهطور مؤثر سیستمهای هدف را آلوده میکند.
تکنیکها و ابزارهای مورد استفاده:
استفاده از ابزارهای قانونی برای تزریق کد مخرب:
ابزار MAVInject.exe: این ابزار قانونی مایکروسافت برای تزریق کد به فرآیندهای در حال اجرا استفاده میشود. Earth Preta از MAVInject.exe برای تزریق payloadهای مخرب به فرآیندهای قانونی مانند waitfor.exe بهره میبرد، بهویژه زمانی که نرمافزار آنتیویروس ESET شناسایی شود.
بهرهگیری از ابزارهای ساخت بستههای نصب:
ابزار Setup Factory: این ابزار قانونی برای ایجاد بستههای نصب نرمافزار استفاده میشود. Earth Preta از Setup Factory برای ایجاد بستههای نصب حاوی اجزای مخرب بهره میبرد تا از شناسایی توسط نرمافزارهای امنیتی جلوگیری کند.
استفاده از فایلهای فریبدهنده برای پنهانسازی فعالیتهای مخرب:
فایل PDFهای جعلی: در حین اجرای payload مخرب، یک فایل PDF بیضرر بهعنوان طعمه به قربانی نمایش داده میشود تا توجه او را منحرف کرده و فعالیتهای مخرب در پسزمینه انجام شود.
تشخیص و واکنش به نرمافزارهای امنیتی:
شناسایی آنتیویروس ESET: در صورتی که Earth Preta حضور آنتیویروس ESET را تشخیص دهد، payload مخرب خود را به فرآیند waitfor.exe تزریق میکند تا از شناسایی جلوگیری کند.
این رویکردها نشاندهندهی توانایی Earth Preta در ترکیب اجزای قانونی و مخرب برای دور زدن مکانیزمهای امنیتی و حفظ پایداری در سیستمهای آلوده است.
#آکادمی_روزبه
https://www.trendmicro.com/en_us/research/25/b/earth-preta-mixes-legitimate-and-malicious-components-to-sidestep-detection.html
🔮اعضای گروه این لینک حتما امشب بخونن
خلاصه
گروه تهدید پیشرفتهی Earth Preta (همچنین شناختهشده بهعنوان APT37 یا Mustang Panda) اخیراً تکنیکها و ابزارهای جدیدی را برای دور زدن مکانیزمهای شناسایی امنیتی به کار گرفته است. این گروه با ترکیب اجزای قانونی و مخرب، بهطور مؤثر سیستمهای هدف را آلوده میکند.
تکنیکها و ابزارهای مورد استفاده:
استفاده از ابزارهای قانونی برای تزریق کد مخرب:
ابزار MAVInject.exe: این ابزار قانونی مایکروسافت برای تزریق کد به فرآیندهای در حال اجرا استفاده میشود. Earth Preta از MAVInject.exe برای تزریق payloadهای مخرب به فرآیندهای قانونی مانند waitfor.exe بهره میبرد، بهویژه زمانی که نرمافزار آنتیویروس ESET شناسایی شود.
بهرهگیری از ابزارهای ساخت بستههای نصب:
ابزار Setup Factory: این ابزار قانونی برای ایجاد بستههای نصب نرمافزار استفاده میشود. Earth Preta از Setup Factory برای ایجاد بستههای نصب حاوی اجزای مخرب بهره میبرد تا از شناسایی توسط نرمافزارهای امنیتی جلوگیری کند.
استفاده از فایلهای فریبدهنده برای پنهانسازی فعالیتهای مخرب:
فایل PDFهای جعلی: در حین اجرای payload مخرب، یک فایل PDF بیضرر بهعنوان طعمه به قربانی نمایش داده میشود تا توجه او را منحرف کرده و فعالیتهای مخرب در پسزمینه انجام شود.
تشخیص و واکنش به نرمافزارهای امنیتی:
شناسایی آنتیویروس ESET: در صورتی که Earth Preta حضور آنتیویروس ESET را تشخیص دهد، payload مخرب خود را به فرآیند waitfor.exe تزریق میکند تا از شناسایی جلوگیری کند.
این رویکردها نشاندهندهی توانایی Earth Preta در ترکیب اجزای قانونی و مخرب برای دور زدن مکانیزمهای امنیتی و حفظ پایداری در سیستمهای آلوده است.
#آکادمی_روزبه
https://www.trendmicro.com/en_us/research/25/b/earth-preta-mixes-legitimate-and-malicious-components-to-sidestep-detection.html
Trend Micro
Earth Preta Mixes Legitimate and Malicious Components to Sidestep Detection
👍2❤1
هایجک اینترفیس های کام
دور زدن آنتیویروس و EDR
#آکادمی_روزبه
https://neodyme.io/en/blog/com_hijacking_1/
https://neodyme.io/en/blog/com_hijacking_2/
https://neodyme.io/en/blog/com_hijacking_3/#vulnerability-1-leveraging-file-deletion-for-lpe
دور زدن آنتیویروس و EDR
#آکادمی_روزبه
https://neodyme.io/en/blog/com_hijacking_1/
https://neodyme.io/en/blog/com_hijacking_2/
https://neodyme.io/en/blog/com_hijacking_3/#vulnerability-1-leveraging-file-deletion-for-lpe
neodyme.io
The Key to COMpromise - Pwning AVs and EDRs by Hijacking COM Interfaces, Part 1
In this series of blog posts, we cover how we could exploit five reputable security products to gain SYSTEM privileges with COM hijacking. If you've never heard of this, no worries. We introduce all relevant background information, describe our approach to…
👍4
جدید 😍😍
خلاصه اگر بود یه خبر بدین 🙏🙏
https://www.sans.org/cyber-security-courses/linux-threat-hunting-incident-response/
خلاصه اگر بود یه خبر بدین 🙏🙏
https://www.sans.org/cyber-security-courses/linux-threat-hunting-incident-response/
🔥2🥰1🤣1
اینم یکی دیگه از مقالاته که امشب میخونم بعد میخوابم
#آکادمی_روزبه
Advanced Initial Access Techniques
In this blog post, I will teach you the methodology and techniques adversaries use to compromise systems. I will showcase the payload development process and its delivery—both remote and physical.
https://lorenzomeacci.com/advanced-initial-access-techniques
#آکادمی_روزبه
Advanced Initial Access Techniques
In this blog post, I will teach you the methodology and techniques adversaries use to compromise systems. I will showcase the payload development process and its delivery—both remote and physical.
https://lorenzomeacci.com/advanced-initial-access-techniques
Lorenzo Meacci
Advanced Initial Access Techniques | Lorenzo Meacci
In this blog post, I will teach you the methodology and techniques adversaries use to compromise systems. I will showcase the payload development process and its delivery—both remote and physical.
👍5
آکادمی آموزش روزبه 📚
جدید 😍😍 خلاصه اگر بود یه خبر بدین 🙏🙏 https://www.sans.org/cyber-security-courses/linux-threat-hunting-incident-response/
یک مقاله عالی از تنظیمات Auditd از همین استاد دوره
#آکادمی_روزبه
هرکسی SOC داره واجبه اینو کامل بخونه
خیلی از SOC های ما یا Auditd ندارند یا تنظیم درستی موجود نیست
https://izyknows.medium.com/linux-auditd-for-threat-detection-d06c8b941505
#آکادمی_روزبه
هرکسی SOC داره واجبه اینو کامل بخونه
خیلی از SOC های ما یا Auditd ندارند یا تنظیم درستی موجود نیست
https://izyknows.medium.com/linux-auditd-for-threat-detection-d06c8b941505
Medium
Linux auditd for Threat Detection [Part 1]
A few years ago, I was asked to define an auditd configuration which would serve as the primary detection technology for a large…
🔥2
خبری خوش
یکنفر دارنده CISSP به دارندگان این مدرک عالی امنیت در ایران اضافه شد 🤓👌👌
جناب مهندس Amir Jafari توانستند با قبولی در آزمون رسمی و مهم و پشت سر گذاشتن مراحل تاییدیه ؛ این مدرک مهم و پر اعتبار در دنیای فناوری و امنیت را کسب کنند 🌹
تبریک به ایشان ، جامعه فناوری اطلاعات و امنیت سایبری ایران و خصوصا بانک خاورمیانه👏👏
Middle East Bank (MEBank)
به امید برای افزایش سهم ایرانیان که دارای این مدرک هستند تا بتوانیم جامعه ای توانمند از متخصصان حرفه ای برای ایران داشته باشیم.
اخذ این مدرک نشان از توان بالای حرفه ای منجمله سواد تئوری و تجربه عملی و سابقه مدیریت است.
یکنفر دارنده CISSP به دارندگان این مدرک عالی امنیت در ایران اضافه شد 🤓👌👌
جناب مهندس Amir Jafari توانستند با قبولی در آزمون رسمی و مهم و پشت سر گذاشتن مراحل تاییدیه ؛ این مدرک مهم و پر اعتبار در دنیای فناوری و امنیت را کسب کنند 🌹
تبریک به ایشان ، جامعه فناوری اطلاعات و امنیت سایبری ایران و خصوصا بانک خاورمیانه👏👏
Middle East Bank (MEBank)
به امید برای افزایش سهم ایرانیان که دارای این مدرک هستند تا بتوانیم جامعه ای توانمند از متخصصان حرفه ای برای ایران داشته باشیم.
اخذ این مدرک نشان از توان بالای حرفه ای منجمله سواد تئوری و تجربه عملی و سابقه مدیریت است.
🎉12👍1
حملات مبتنی بر Syscall و نقش EDR در مقابله با آنها ( قسمت اول ) 1⃣
✍️روزبه نوروزی
مقدمه
فناوریSystem Calls (Syscall) یکی از مهمترین اجزای سیستمعامل است که به برنامههای کاربری اجازه میدهد با کرنل ارتباط برقرار کنند. این مکانیزم برای دسترسی به منابع سیستم مانند حافظه، پردازشها، فایلها و شبکه ضروری است. بااینحال، مهاجمان از Syscallها برای دور زدن مکانیزمهای امنیتی، اجرای بدافزار و بهرهبرداری از آسیبپذیریهای کرنل استفاده میکنند.
حملات مبتنی بر Syscall
1. اجرای مستقیم Syscall برای دور زدن EDR
بسیاری از نرمافزارهای امنیتی مانند آنتیویروس (AV) و EDR از API Hooking برای شناسایی فعالیتهای مشکوک استفاده میکنند. Hooking به این معناست که EDR جلوی برخی توابع حیاتی را گرفته و رفتار آنها را بررسی میکند.
برای مثال، در ویندوز VirtualAlloc و CreateRemoteThread معمولاً برای تخصیص حافظه و اجرای کد استفاده میشوند. EDRها این توابع را مانیتور میکنند تا تزریق کد (Process Injection) و اجرای بدافزارها را تشخیص دهند.
🔴 روش حمله: مهاجمان برای دور زدن این نظارتها، مستقیماً از Syscallهای کرنل استفاده میکنند.
✅ نمونه حمله:
یک بدافزار ممکن است بهجای استفاده از VirtualAlloc از NtAllocateVirtualMemory (که یک syscall در سطح کرنل است) استفاده کند.
از ابزارهایی مانند SysWhispers یا Halo’s Gate برای یافتن شماره Syscallها و اجرای آنها استفاده میشود.
📌 نمونه کد حمله در C برای اجرای مستقیم syscall:
__asm {
mov eax, 0x50 //
شماره Syscall مربوط به NtAllocateVirtualMemory
call dword ptr fs:[0xC0]
}
با این روش، مهاجمان میتوانند بدون اینکه EDR متوجه شود، کد را مستقیماً در حافظه اجرا کنند.
2. تزریق کد در حافظه و اجرای مخفیانه
یکی از حملات رایج برای اجرای بدافزار در سیستم، تزریق کد در یک فرآیند معتبر مانند explorer.exe است. در این روش، مهاجم:
حافظهای در فرآیند هدف رزرو میکند (NtAllocateVirtualMemory).
بدافزار را در آن حافظه کپی میکند (NtWriteVirtualMemory).
کد را اجرا میکند (NtCreateThreadEx).
📌 مثال کد حمله در C:
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
LPVOID pRemoteMemory = VirtualAllocEx(hProcess, NULL, payload_size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(hProcess, pRemoteMemory, payload, payload_size, NULL);
HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)pRemoteMemory, NULL, 0, NULL);
این حمله به Process Injection معروف است و در بسیاری از بدافزارها مانند Meterpreter استفاده میشود.
3. ارتقای دسترسی با سوءاستفاده از Syscallها
برخی از حملات Privilege Escalation از آسیبپذیریهای مربوط به Syscallها سوءاستفاده میکنند. این نوع حملات شامل Race Condition، Buffer Overflow و استفاده از Handleهای نادرست هستند.
مثال:
آسیبپذیری CVE-2016-7255 در ویندوز، به مهاجم اجازه میدهد از طریق یک Syscall نادرست، سطح دسترسی خود را به SYSTEM افزایش دهد.
آسیبپذیریهای کرنل لینوکس، مانند Dirty COW (CVE-2016-5195)، از Syscallهای مربوط به مدیریت حافظه سوءاستفاده میکنند.
#من_آموزش_میدهم
#آکادمی_روزبه
✍️روزبه نوروزی
مقدمه
فناوریSystem Calls (Syscall) یکی از مهمترین اجزای سیستمعامل است که به برنامههای کاربری اجازه میدهد با کرنل ارتباط برقرار کنند. این مکانیزم برای دسترسی به منابع سیستم مانند حافظه، پردازشها، فایلها و شبکه ضروری است. بااینحال، مهاجمان از Syscallها برای دور زدن مکانیزمهای امنیتی، اجرای بدافزار و بهرهبرداری از آسیبپذیریهای کرنل استفاده میکنند.
حملات مبتنی بر Syscall
1. اجرای مستقیم Syscall برای دور زدن EDR
بسیاری از نرمافزارهای امنیتی مانند آنتیویروس (AV) و EDR از API Hooking برای شناسایی فعالیتهای مشکوک استفاده میکنند. Hooking به این معناست که EDR جلوی برخی توابع حیاتی را گرفته و رفتار آنها را بررسی میکند.
برای مثال، در ویندوز VirtualAlloc و CreateRemoteThread معمولاً برای تخصیص حافظه و اجرای کد استفاده میشوند. EDRها این توابع را مانیتور میکنند تا تزریق کد (Process Injection) و اجرای بدافزارها را تشخیص دهند.
🔴 روش حمله: مهاجمان برای دور زدن این نظارتها، مستقیماً از Syscallهای کرنل استفاده میکنند.
✅ نمونه حمله:
یک بدافزار ممکن است بهجای استفاده از VirtualAlloc از NtAllocateVirtualMemory (که یک syscall در سطح کرنل است) استفاده کند.
از ابزارهایی مانند SysWhispers یا Halo’s Gate برای یافتن شماره Syscallها و اجرای آنها استفاده میشود.
📌 نمونه کد حمله در C برای اجرای مستقیم syscall:
__asm {
mov eax, 0x50 //
شماره Syscall مربوط به NtAllocateVirtualMemory
call dword ptr fs:[0xC0]
}
با این روش، مهاجمان میتوانند بدون اینکه EDR متوجه شود، کد را مستقیماً در حافظه اجرا کنند.
2. تزریق کد در حافظه و اجرای مخفیانه
یکی از حملات رایج برای اجرای بدافزار در سیستم، تزریق کد در یک فرآیند معتبر مانند explorer.exe است. در این روش، مهاجم:
حافظهای در فرآیند هدف رزرو میکند (NtAllocateVirtualMemory).
بدافزار را در آن حافظه کپی میکند (NtWriteVirtualMemory).
کد را اجرا میکند (NtCreateThreadEx).
📌 مثال کد حمله در C:
HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pid);
LPVOID pRemoteMemory = VirtualAllocEx(hProcess, NULL, payload_size, MEM_COMMIT, PAGE_EXECUTE_READWRITE);
WriteProcessMemory(hProcess, pRemoteMemory, payload, payload_size, NULL);
HANDLE hThread = CreateRemoteThread(hProcess, NULL, 0, (LPTHREAD_START_ROUTINE)pRemoteMemory, NULL, 0, NULL);
این حمله به Process Injection معروف است و در بسیاری از بدافزارها مانند Meterpreter استفاده میشود.
3. ارتقای دسترسی با سوءاستفاده از Syscallها
برخی از حملات Privilege Escalation از آسیبپذیریهای مربوط به Syscallها سوءاستفاده میکنند. این نوع حملات شامل Race Condition، Buffer Overflow و استفاده از Handleهای نادرست هستند.
مثال:
آسیبپذیری CVE-2016-7255 در ویندوز، به مهاجم اجازه میدهد از طریق یک Syscall نادرست، سطح دسترسی خود را به SYSTEM افزایش دهد.
آسیبپذیریهای کرنل لینوکس، مانند Dirty COW (CVE-2016-5195)، از Syscallهای مربوط به مدیریت حافظه سوءاستفاده میکنند.
#من_آموزش_میدهم
#آکادمی_روزبه
👏3👍2
حملات مبتنی بر Syscall و نقش EDR
2⃣قسمت دوم
این EDR را جدی بگیرید
ادامه از پست قبل
✍️روزبه نوروزی
🔴 چرا این روش خطرناک است؟
زیرا Syscallها مستقیماً در سطح کرنل اجرا میشوند و در صورت وجود آسیبپذیری، مهاجم میتواند کنترل کل سیستم را به دست بگیرد.
چگونه EDR با حملات Syscall مقابله میکند؟
1. تحلیل رفتار و کشف فعالیتهای مشکوک
این EDRهای پیشرفته مانند Microsoft Defender for Endpoint، CrowdStrike Falcon و SentinelOne از Behavioral Analysis برای شناسایی رفتارهای غیرعادی استفاده میکنند.
✅ روشهای شناسایی:
نظارت بر Syscallهای غیرعادی مانند NtAllocateVirtualMemory و NtWriteVirtualMemory.
کشف فرآیندهایی که بدون دلیل خاصی حافظهی اجرایی تخصیص میدهند.
تشخیص تغییرات در Handleهای کرنل که ممکن است نشاندهنده یک حمله باشد.
2. این Hook کردن و جلوگیری از اجرای Syscallهای خطرناک
این EDRها میتوانند APIهای مهم را Hook کنند تا رفتار آنها را قبل از اجرا بررسی کنند. اگر فرآیندی مانند notepad.exe ناگهان سعی کند NtCreateThreadEx را اجرا کند، این یک نشانه از حمله است و میتوان آن را مسدود کرد.
📌 نمونه کد Hook برای جلوگیری از اجرای Syscallهای خطرناک در کرنل:
PsSetCreateProcessNotifyRoutine(CallbackFunction);
🔹 نتیجه: اگر یک بدافزار بخواهد Syscall را اجرا کند، این Callback اول آن را بررسی میکند.
3. مانیتورینگ در سطح کرنل با Kernel-mode Callbacks
برخی از EDRها مستقیماً در سطح Kernel Mode کار میکنند و اجرای برخی Syscallهای خطرناک را متوقف میکنند.
📌 نمونهای از Syscallهای خطرناک که EDRها رصد میکنند:
NtAllocateVirtualMemory → تخصیص حافظه در فرآیند دیگر
NtWriteVirtualMemory → نوشتن در حافظه فرآیند دیگر
NtCreateThreadEx → ایجاد رشته در فرآیند دیگر
🔹 مزیت این روش: مقابله با Direct Syscall، حتی اگر مهاجم از تکنیکهایی مانند SysWhispers استفاده کند.
4. استفاده از Exploit Guard و ASLR برای سختتر کردن حملات
✅فناوری Exploit Guard در ویندوز میتواند جلوی اجرای کدهای ناشناخته را بگیرد.
✅ فناوریASLR (Address Space Layout Randomization) باعث میشود آدرسهای حافظه در هر اجرا تغییر کنند، که استفاده از برخی Syscallهای مخرب را سختتر میکند.
📌 فعالسازی ASLR:
Set-ProcessMitigation -Name explorer.exe -Enable BottomUpASLR
جمعبندی
حملات مبتنی بر Syscall یکی از روشهای قدرتمند برای دور زدن آنتیویروسها و اجرای مخفیانه بدافزارها است. مهاجمان با استفاده از Direct Syscall و Process Injection میتوانند کدهای مخرب را در حافظه اجرا کنند بدون اینکه توسط ابزارهای سنتی شناسایی شوند.
اما EDRهای پیشرفته با روشهایی مانند:
✔ Behavioral Analysis برای شناسایی فعالیتهای غیرعادی
✔ Hook کردن Syscallهای خطرناک
✔ نظارت بر سطح کرنل با Kernel-mode Callbacks
✔ استفاده از Exploit Guard و ASLR
میتوانند این حملات را شناسایی و متوقف کنند. بنابراین، برای مقابله با حملات مدرن، سازمانها باید از EDRهای پیشرفته استفاده کنند و بهطور مداوم تحلیل تهدیدات سایبری را انجام دهند.
#من_آموزش_میدهم
#آکادمی_روزبه
2⃣قسمت دوم
این EDR را جدی بگیرید
ادامه از پست قبل
✍️روزبه نوروزی
🔴 چرا این روش خطرناک است؟
زیرا Syscallها مستقیماً در سطح کرنل اجرا میشوند و در صورت وجود آسیبپذیری، مهاجم میتواند کنترل کل سیستم را به دست بگیرد.
چگونه EDR با حملات Syscall مقابله میکند؟
1. تحلیل رفتار و کشف فعالیتهای مشکوک
این EDRهای پیشرفته مانند Microsoft Defender for Endpoint، CrowdStrike Falcon و SentinelOne از Behavioral Analysis برای شناسایی رفتارهای غیرعادی استفاده میکنند.
✅ روشهای شناسایی:
نظارت بر Syscallهای غیرعادی مانند NtAllocateVirtualMemory و NtWriteVirtualMemory.
کشف فرآیندهایی که بدون دلیل خاصی حافظهی اجرایی تخصیص میدهند.
تشخیص تغییرات در Handleهای کرنل که ممکن است نشاندهنده یک حمله باشد.
2. این Hook کردن و جلوگیری از اجرای Syscallهای خطرناک
این EDRها میتوانند APIهای مهم را Hook کنند تا رفتار آنها را قبل از اجرا بررسی کنند. اگر فرآیندی مانند notepad.exe ناگهان سعی کند NtCreateThreadEx را اجرا کند، این یک نشانه از حمله است و میتوان آن را مسدود کرد.
📌 نمونه کد Hook برای جلوگیری از اجرای Syscallهای خطرناک در کرنل:
PsSetCreateProcessNotifyRoutine(CallbackFunction);
🔹 نتیجه: اگر یک بدافزار بخواهد Syscall را اجرا کند، این Callback اول آن را بررسی میکند.
3. مانیتورینگ در سطح کرنل با Kernel-mode Callbacks
برخی از EDRها مستقیماً در سطح Kernel Mode کار میکنند و اجرای برخی Syscallهای خطرناک را متوقف میکنند.
📌 نمونهای از Syscallهای خطرناک که EDRها رصد میکنند:
NtAllocateVirtualMemory → تخصیص حافظه در فرآیند دیگر
NtWriteVirtualMemory → نوشتن در حافظه فرآیند دیگر
NtCreateThreadEx → ایجاد رشته در فرآیند دیگر
🔹 مزیت این روش: مقابله با Direct Syscall، حتی اگر مهاجم از تکنیکهایی مانند SysWhispers استفاده کند.
4. استفاده از Exploit Guard و ASLR برای سختتر کردن حملات
✅فناوری Exploit Guard در ویندوز میتواند جلوی اجرای کدهای ناشناخته را بگیرد.
✅ فناوریASLR (Address Space Layout Randomization) باعث میشود آدرسهای حافظه در هر اجرا تغییر کنند، که استفاده از برخی Syscallهای مخرب را سختتر میکند.
📌 فعالسازی ASLR:
Set-ProcessMitigation -Name explorer.exe -Enable BottomUpASLR
جمعبندی
حملات مبتنی بر Syscall یکی از روشهای قدرتمند برای دور زدن آنتیویروسها و اجرای مخفیانه بدافزارها است. مهاجمان با استفاده از Direct Syscall و Process Injection میتوانند کدهای مخرب را در حافظه اجرا کنند بدون اینکه توسط ابزارهای سنتی شناسایی شوند.
اما EDRهای پیشرفته با روشهایی مانند:
✔ Behavioral Analysis برای شناسایی فعالیتهای غیرعادی
✔ Hook کردن Syscallهای خطرناک
✔ نظارت بر سطح کرنل با Kernel-mode Callbacks
✔ استفاده از Exploit Guard و ASLR
میتوانند این حملات را شناسایی و متوقف کنند. بنابراین، برای مقابله با حملات مدرن، سازمانها باید از EDRهای پیشرفته استفاده کنند و بهطور مداوم تحلیل تهدیدات سایبری را انجام دهند.
#من_آموزش_میدهم
#آکادمی_روزبه
👍3
برای مهندسان کشف در لینوکس
#آکادمی_روزبه
https://www.elastic.co/security-labs/the-grand-finale-on-linux-persistence
#آکادمی_روزبه
https://www.elastic.co/security-labs/the-grand-finale-on-linux-persistence
www.elastic.co
Linux Detection Engineering - The Grand Finale on Linux Persistence — Elastic Security Labs
By the end of this series, you'll have a robust knowledge of both common and rare Linux persistence techniques; and you'll understand how to effectively engineer detections for common and advanced adversary capabilities.
👍1
خداروشکر یک دوره با موفقیت علی رغم سختی هاش برگزار شد.
#آکادمی_روزبه
پی نوشت: لازم نیست در این دو روزه دنیا به هم سخت بگیریم. در سکوت کار کنید و بقول محمد علی کلی : اجاره زندگی در جهانتان را بپردازید. دم غنیمت که عمر تمام شد.
#آکادمی_روزبه
پی نوشت: لازم نیست در این دو روزه دنیا به هم سخت بگیریم. در سکوت کار کنید و بقول محمد علی کلی : اجاره زندگی در جهانتان را بپردازید. دم غنیمت که عمر تمام شد.
👏3🔥2👍1