Cyber_Sec.pdf
27.7 MB
Techbook
Cyber Security for Beginners:
Your Essential Guide: Understand Hacking, Malware, Biometrics, BYOD, and Essential Cyber Defense Strategies 2024.
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
Cyber Security for Beginners:
Your Essential Guide: Understand Hacking, Malware, Biometrics, BYOD, and Essential Cyber Defense Strategies 2024.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🔥1👏1
Practical_DFI.pdf
27.3 MB
DFIR
Techbook
A Practical Guide to Digital Forensics Investigations. Second Edition.
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
Techbook
A Practical Guide to Digital Forensics Investigations. Second Edition.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👏1🤩1
مدل های زیرو تراست
این مدل ها بر اساس اصول و چارچوبهای مختلفی طراحی شدهاند. این مدلها به سازمانها کمک میکنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدلها و چارچوبهای معروف 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 با وجود تفاوتهای جزئی، همگی بر اعتماد صفر، دسترسی حداقلی و تأیید هویت مداوم تأکید دارند. انتخاب مدل مناسب به نیازها و زیرساختهای سازمان شما بستگی دارد.
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
این مدل ها بر اساس اصول و چارچوبهای مختلفی طراحی شدهاند. این مدلها به سازمانها کمک میکنند تا امنیت خود را در برابر تهدیدات سایبری بهبود بخشند. در ادامه، برخی از مدلها و چارچوبهای معروف 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 با وجود تفاوتهای جزئی، همگی بر اعتماد صفر، دسترسی حداقلی و تأیید هویت مداوم تأکید دارند. انتخاب مدل مناسب به نیازها و زیرساختهای سازمان شما بستگی دارد.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1👏1
توصیههایی برای پیادهسازی 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)
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
مدل امنیتی 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)
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
🔹 همیشه کد خود را از نظر امنیتی بررسی کنید.
🔹 از ابزارهایی مانند 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 در معماری نرمافزار باعث افزایش امنیت سیستم و جلوگیری از حملات سایبری میشود.
✅ در نهایت، هدف این است که هیچ کد یا کاربری بدون بررسی اجازه دسترسی نداشته باشد.
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
🔹 از ابزارهایی مانند 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 در معماری نرمافزار باعث افزایش امنیت سیستم و جلوگیری از حملات سایبری میشود.
✅ در نهایت، هدف این است که هیچ کد یا کاربری بدون بررسی اجازه دسترسی نداشته باشد.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
کسی که میخواهد روزی پرواز بیاموزد باید نخست ایستادن و دویدن و جهش و بالارفتن و پایکوبی را به تمرین بگذارد، پرواز را با پرواز نتوان آموخت.
👤فردریش نیچه
درس خواندن ؛ ارتقای شغلی و بقول صالح علا دوست داشتن خورد خورد است و در لحظه نیست. پله ها یکی پس از دیگری میرسند و سیب ها بموقع
#موفقیت #مطالعه #شغل
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
👤فردریش نیچه
درس خواندن ؛ ارتقای شغلی و بقول صالح علا دوست داشتن خورد خورد است و در لحظه نیست. پله ها یکی پس از دیگری میرسند و سیب ها بموقع
#موفقیت #مطالعه #شغل
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1👍1🔥1
یه گزارش خوب بخونیم
https://www.activecountermeasures.com/a-network-threat-hunters-guide-to-c2-over-quic/
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
https://www.activecountermeasures.com/a-network-threat-hunters-guide-to-c2-over-quic/
Please open Telegram to view this post
VIEW IN TELEGRAM
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 […]
❤1👍1🔥1
آشنایی با ابزار
ابزار 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
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
ابزار 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
Please open Telegram to view this post
VIEW IN TELEGRAM
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. - GitHub - arphanetx/Monocle...
❤1👍1🔥1
بشینیم هانی پات همراه با LLM نصب کنیم
https://dispatch.thorcollective.com/p/exploring-splunk-deceive
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
https://dispatch.thorcollective.com/p/exploring-splunk-deceive
Please open Telegram to view this post
VIEW IN TELEGRAM
Thorcollective
Exploring Splunk DECEIVE
The AI Queen bee does DECEIVE
❤1🔥1👏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
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
دور زدن آنتیویروس و 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
Please open Telegram to view this post
VIEW IN TELEGRAM
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…
اینم یکی دیگه از مقالاته که امشب میخونم بعد میخوابم
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
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
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
Please open Telegram to view this post
VIEW IN TELEGRAM
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.
یک مقاله عالی از تنظیمات Auditd از همین استاد دوره
هرکسی SOC داره واجبه اینو کامل بخونه
خیلی از SOC های ما یا Auditd ندارند یا تنظیم درستی موجود نیست
https://izyknows.medium.com/linux-auditd-for-threat-detection-d06c8b941505
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
هرکسی SOC داره واجبه اینو کامل بخونه
خیلی از SOC های ما یا Auditd ندارند یا تنظیم درستی موجود نیست
https://izyknows.medium.com/linux-auditd-for-threat-detection-d06c8b941505
Please open Telegram to view this post
VIEW IN TELEGRAM
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…
جدید 😍😍
خلاصه اگر بود یه خبر بدین 🙏🙏
https://www.sans.org/cyber-security-courses/linux-threat-hunting-incident-response/
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
خلاصه اگر بود یه خبر بدین 🙏🙏
https://www.sans.org/cyber-security-courses/linux-threat-hunting-incident-response/
Please open Telegram to view this post
VIEW IN TELEGRAM
حملات مبتنی بر 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های مربوط به مدیریت حافظه سوءاستفاده میکنند.
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
مقدمه
فناوری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های مربوط به مدیریت حافظه سوءاستفاده میکنند.
Please open Telegram to view this post
VIEW IN TELEGRAM
#Bypassing ARM's #MTE with a #Side_Channel_Attack
در موضوع بهره برداری از آسیب پذیری های باینری، همواره یکی از چالش ها دور زدن مکانیزم های دفاعی است که بعضا در سطح سیستم عامل توسعه داده شده و مامور بر کاری است.
مکانیزمی با نام MTE است که یک مکانیزم دفاعی سخت افزاری در مقابله با آسیب پذیری های باینری بر پایه پردازنده های ARM است، این مکانیزم برای هر obj یک Key ایجاد میکند و اشاره گر (Pointer) را نمی گذارد منحرف شود.
ساختار Tag ها بصورت 64 بایت بوده که 4 بیت اولیه آن در سمت اشاره گر، یک مقدار تصادفی که در جریان اشاره اشاره گر به obj، این مقدار تصدیق و در صورت درست بودن اجازه دسترسی داده میشود.
روش دور زدن، Leak شدن MTE tag در یک آدرس دیگه بواسطه ظرفیت حملات Cache Side-Channel این امکان رو خواهد داد تا مهاجم از حافظه Cache که امکان دسترسی سریع پردازنده به داده را بدهد.
مهاجم بواسطه تعریف یک Gadget Store-to-Load امکان اینو پیدا میکنه که در زمان ذخیره یک بازه آدرس افست و در زمان بارگزاری اون امکان دسترسی به Tag Valid دست پیدا کرده و اون رو برای اشاره گر دارای آسیب پذیری استفاده نماید.
🔹 Share & Support Us 🔹
📱 Channel : @Engineer_Computer
در موضوع بهره برداری از آسیب پذیری های باینری، همواره یکی از چالش ها دور زدن مکانیزم های دفاعی است که بعضا در سطح سیستم عامل توسعه داده شده و مامور بر کاری است.
مکانیزمی با نام MTE است که یک مکانیزم دفاعی سخت افزاری در مقابله با آسیب پذیری های باینری بر پایه پردازنده های ARM است، این مکانیزم برای هر obj یک Key ایجاد میکند و اشاره گر (Pointer) را نمی گذارد منحرف شود.
ساختار Tag ها بصورت 64 بایت بوده که 4 بیت اولیه آن در سمت اشاره گر، یک مقدار تصادفی که در جریان اشاره اشاره گر به obj، این مقدار تصدیق و در صورت درست بودن اجازه دسترسی داده میشود.
روش دور زدن، Leak شدن MTE tag در یک آدرس دیگه بواسطه ظرفیت حملات Cache Side-Channel این امکان رو خواهد داد تا مهاجم از حافظه Cache که امکان دسترسی سریع پردازنده به داده را بدهد.
مهاجم بواسطه تعریف یک Gadget Store-to-Load امکان اینو پیدا میکنه که در زمان ذخیره یک بازه آدرس افست و در زمان بارگزاری اون امکان دسترسی به Tag Valid دست پیدا کرده و اون رو برای اشاره گر دارای آسیب پذیری استفاده نماید.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM