تکنیکهای ضد دیباگ و ضد مهندسی معکوس در نرمافزارها
حالا که ساختار فایلهای اجرایی (PE, ELF, Mach-O) رو شناختید باید بدونید که چطور توسعهدهندهها از مهندسی معکوس جلوگیری میکنن توی این بخش میریم سراغ مکانیزمهای ضد دیباگ و ضد مهندسی معکوس که توی نرمافزارهای مختلف استفاده میشن
1 چرا نرمافزارها از ضد دیباگ استفاده میکنن؟
تکنیکهای ضد دیباگ (Anti-Debugging) و ضد مهندسی معکوس (Anti-Reversing)
معمولا برای این کارها استفاده میشن:
✅ جلوگیری از کرک شدن نرمافزار
✅ سختتر کردن تحلیل بدافزارها
✅ محافظت از الگوریتمهای حساس و لایسنس نرمافزار
✅ جلوگیری از دستکاری و مهندسی معکوس
برنامههایی مثل بازیها نرمافزارهای امنیتی DRM و بدافزارها از این تکنیکها زیاد استفاده میکنن
2 روشهای تشخیص دیباگر در ویندوز (Anti-Debugging در PE)
ویندوز یه سری API داره که برنامهها با استفاده از اونها میتونن بفهمن که آیا تحت دیباگ هستن یا نه
📌 مهمترین روشها :
IsDebuggerPresent()
این تابع از kernel32.dll چک میکنه که برنامه داره تحت دیباگ اجرا میشه یا نه
#include <windows.h>
#include <iostream>
int main() {
if (IsDebuggerPresent()) {
std::cout << "Debugger detected!" << std::endl;
return 1;
}
std::cout << "No debugger detected." << std::endl;
return 0;
}
🔹 چطور بایپسش کنیم؟
🔹 مقدار PEB->BeingDebugged رو توی دیباگر تغییر بدیم.
CheckRemoteDebuggerPresent()
این API چک میکنه که یه دیباگر خارجی مثل x64dbg به پروسه وصل شده یا نه
BOOL IsDebuggerAttached() {
BOOL isDebugger = FALSE;
CheckRemoteDebuggerPresent(GetCurrentProcess(), &isDebugger);
return isDebugger;
}
برای بایپس کردن این تابع میتونیم مقدار برگشتی رو تغییر بدیم
NtQueryInformationProcess()
این تابع از ntdll.dll اطلاعاتی در مورد پروسه میگیره، از جمله اینکه آیا دیباگ میشه یا نه
#include <windows.h>
#include <winternl.h>
#include <iostream>
typedef NTSTATUS(WINAPI* pNtQueryInformationProcess)(HANDLE, ULONG, PVOID, ULONG, PULONG);
int main() {
pNtQueryInformationProcess NtQIP = (pNtQueryInformationProcess)GetProcAddress(GetModuleHandleA("ntdll.dll"), "NtQueryInformationProcess");
DWORD isDebuggerPresent = 0;
NtQIP(GetCurrentProcess(), 0x07, &isDebuggerPresent, sizeof(DWORD), NULL);
if (isDebuggerPresent) {
std::cout << "Debugger detected!" << std::endl;
return 1;
}
std::cout << "No debugger detected." << std::endl;
return 0;
این روش رو میتونیم با تغییر مقدار ProcessDebugPort در رجیسترها دور بزنیم.
3 روشهای ضد دیباگ در لینوکس (ELF Anti-Debugging)
توی لینوکس، برنامهها میتونن با استفاده از ptrace() تشخیص بدن که تحت دیباگ هستن
استفاده از ptrace() برای جلوگیری از دیباگ
#include <sys/ptrace.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void anti_debug() {
if (ptrace(PTRACE_TRACEME, 0, 0, 0) == -1) {
printf("Debugger detected!\n");
exit(1);
}
}
int main() {
anti_debug();
printf("Program is running normally.\n");
return 0;
}
برای بایپس این روش، میتونیم با gdb مقدار برگشتی ptrace() رو تغییر بدیم
4 روشهای ضد دیباگ در macOS (Mach-O Anti-Debugging)
توی macOS، روشهای مشابه لینوکس استفاده میشه ولی از sysctl() هم میشه برای تشخیص دیباگر استفاده کرد:
#include <sys/types.h>
#include <sys/sysctl.h>
#include <stdio.h>
int is_debugger_attached() {
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid()};
struct kinfo_proc info;
size_t size = sizeof(info);
sysctl(mib, 4, &info, &size, NULL, 0);
return (info.kp_proc.p_flag & P_TRACED) != 0;
}
int main() {
if (is_debugger_attached()) {
printf("Debugger detected!\n");
return 1;
}
printf("No debugger detected.\n");
return 0;
}
برای بایپس، میتونیم مقدار p_flag رو تغییر بدیم
5 تکنیکهای پیشرفته ضد مهندسی معکوس
بعضی برنامهها از روشهای پیچیدهتری برای جلوگیری از تحلیل شدن استفاده میکنن
مهمترین تکنیکها:
بدافزارهای حرفهای مثل Zeus و TrickBot از این تکنیکها استفاده میکنن
6 ابزارهای دور زدن ضد دیباگ
🔹 Windows: ScyllaHide, x64dbg, Cheat Engine
🔹 Linux: GDB, ptrace hooks, Frida
🔹 macOS: LLDB, Hopper, Frida
حالا که ساختار فایلهای اجرایی (PE, ELF, Mach-O) رو شناختید باید بدونید که چطور توسعهدهندهها از مهندسی معکوس جلوگیری میکنن توی این بخش میریم سراغ مکانیزمهای ضد دیباگ و ضد مهندسی معکوس که توی نرمافزارهای مختلف استفاده میشن
1 چرا نرمافزارها از ضد دیباگ استفاده میکنن؟
تکنیکهای ضد دیباگ (Anti-Debugging) و ضد مهندسی معکوس (Anti-Reversing)
معمولا برای این کارها استفاده میشن:
✅ جلوگیری از کرک شدن نرمافزار
✅ سختتر کردن تحلیل بدافزارها
✅ محافظت از الگوریتمهای حساس و لایسنس نرمافزار
✅ جلوگیری از دستکاری و مهندسی معکوس
برنامههایی مثل بازیها نرمافزارهای امنیتی DRM و بدافزارها از این تکنیکها زیاد استفاده میکنن
2 روشهای تشخیص دیباگر در ویندوز (Anti-Debugging در PE)
ویندوز یه سری API داره که برنامهها با استفاده از اونها میتونن بفهمن که آیا تحت دیباگ هستن یا نه
📌 مهمترین روشها :
IsDebuggerPresent()
این تابع از kernel32.dll چک میکنه که برنامه داره تحت دیباگ اجرا میشه یا نه
#include <windows.h>
#include <iostream>
int main() {
if (IsDebuggerPresent()) {
std::cout << "Debugger detected!" << std::endl;
return 1;
}
std::cout << "No debugger detected." << std::endl;
return 0;
}
🔹 چطور بایپسش کنیم؟
🔹 مقدار PEB->BeingDebugged رو توی دیباگر تغییر بدیم.
CheckRemoteDebuggerPresent()
این API چک میکنه که یه دیباگر خارجی مثل x64dbg به پروسه وصل شده یا نه
BOOL IsDebuggerAttached() {
BOOL isDebugger = FALSE;
CheckRemoteDebuggerPresent(GetCurrentProcess(), &isDebugger);
return isDebugger;
}
برای بایپس کردن این تابع میتونیم مقدار برگشتی رو تغییر بدیم
NtQueryInformationProcess()
این تابع از ntdll.dll اطلاعاتی در مورد پروسه میگیره، از جمله اینکه آیا دیباگ میشه یا نه
#include <windows.h>
#include <winternl.h>
#include <iostream>
typedef NTSTATUS(WINAPI* pNtQueryInformationProcess)(HANDLE, ULONG, PVOID, ULONG, PULONG);
int main() {
pNtQueryInformationProcess NtQIP = (pNtQueryInformationProcess)GetProcAddress(GetModuleHandleA("ntdll.dll"), "NtQueryInformationProcess");
DWORD isDebuggerPresent = 0;
NtQIP(GetCurrentProcess(), 0x07, &isDebuggerPresent, sizeof(DWORD), NULL);
if (isDebuggerPresent) {
std::cout << "Debugger detected!" << std::endl;
return 1;
}
std::cout << "No debugger detected." << std::endl;
return 0;
این روش رو میتونیم با تغییر مقدار ProcessDebugPort در رجیسترها دور بزنیم.
3 روشهای ضد دیباگ در لینوکس (ELF Anti-Debugging)
توی لینوکس، برنامهها میتونن با استفاده از ptrace() تشخیص بدن که تحت دیباگ هستن
استفاده از ptrace() برای جلوگیری از دیباگ
#include <sys/ptrace.h>
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
void anti_debug() {
if (ptrace(PTRACE_TRACEME, 0, 0, 0) == -1) {
printf("Debugger detected!\n");
exit(1);
}
}
int main() {
anti_debug();
printf("Program is running normally.\n");
return 0;
}
برای بایپس این روش، میتونیم با gdb مقدار برگشتی ptrace() رو تغییر بدیم
4 روشهای ضد دیباگ در macOS (Mach-O Anti-Debugging)
توی macOS، روشهای مشابه لینوکس استفاده میشه ولی از sysctl() هم میشه برای تشخیص دیباگر استفاده کرد:
#include <sys/types.h>
#include <sys/sysctl.h>
#include <stdio.h>
int is_debugger_attached() {
int mib[4] = {CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid()};
struct kinfo_proc info;
size_t size = sizeof(info);
sysctl(mib, 4, &info, &size, NULL, 0);
return (info.kp_proc.p_flag & P_TRACED) != 0;
}
int main() {
if (is_debugger_attached()) {
printf("Debugger detected!\n");
return 1;
}
printf("No debugger detected.\n");
return 0;
}
برای بایپس، میتونیم مقدار p_flag رو تغییر بدیم
5 تکنیکهای پیشرفته ضد مهندسی معکوس
بعضی برنامهها از روشهای پیچیدهتری برای جلوگیری از تحلیل شدن استفاده میکنن
مهمترین تکنیکها:
بدافزارهای حرفهای مثل Zeus و TrickBot از این تکنیکها استفاده میکنن
6 ابزارهای دور زدن ضد دیباگ
🔹 Windows: ScyllaHide, x64dbg, Cheat Engine
🔹 Linux: GDB, ptrace hooks, Frida
🔹 macOS: LLDB, Hopper, Frida
سلام دوستان وقتتون بخیر این موزیک یک کار طنز و جنبه فان داره توی حوزه هک و امنیت
گفتم که لای این همه دغدغه های فکری حالتون خوب کنم سال جدیدو پیشا پیش تبریک میگم بهتون😘❤️
https://barnamenevisimoonnashe.ir/podcast/%D8%A8%D8%B2%D9%86%D9%85-%D8%B3%D8%A7%DB%8C%D8%AA-%D8%AF%D8%B1-%D8%A8%DB%8C%D8%A7%D8%AF/
گفتم که لای این همه دغدغه های فکری حالتون خوب کنم سال جدیدو پیشا پیش تبریک میگم بهتون😘❤️
https://barnamenevisimoonnashe.ir/podcast/%D8%A8%D8%B2%D9%86%D9%85-%D8%B3%D8%A7%DB%8C%D8%AA-%D8%AF%D8%B1-%D8%A8%DB%8C%D8%A7%D8%AF/
برنامه نویسیمون نشه
بزنم سایت در بیاد - برنامه نویسیمون نشه
بیا باهم کد بزنیم که من دوست دارم کد زن زیادصبح تا شب کد بزنیم شب بزنم سایت در بیادبعد بیا باهم بریم خونه بزنیم سایت هک کنیمهرچی بیشتر وری بری بام میکشم کمتر سیگاربیا باهم اسرائیل هک کنیمتو با این مهارتت میشه یه دنیارو باهاش هک کنی
This media is not supported in your browser
VIEW IN TELEGRAM
#CVE-2025-29927 #Node.js
آسیب پذیری #Bypass_Authorization برای Node.js روی یکی از سایت های برگزار کننده دوره های امنیتی که بواسطه اکسپلویت زیر کشف شد و البته در ویدیو نیز بصورت دستی تست انجام شده است.
این آسیب پذیری ظرفیت دور زدن هر صفحه ای که دارای کنترل سطح دسترسی هست رو داره، اما در تصویر مربوطه هدف بیرون کشیدن اطلاعات حساس نبوده و صرفا گوش زد وجود یک آسیب پذیری بوده است.
https://gist.github.com/a9v8i/91b3f669c1b1927b540a54cbcc8481a5
آسیب پذیری #Bypass_Authorization برای Node.js روی یکی از سایت های برگزار کننده دوره های امنیتی که بواسطه اکسپلویت زیر کشف شد و البته در ویدیو نیز بصورت دستی تست انجام شده است.
این آسیب پذیری ظرفیت دور زدن هر صفحه ای که دارای کنترل سطح دسترسی هست رو داره، اما در تصویر مربوطه هدف بیرون کشیدن اطلاعات حساس نبوده و صرفا گوش زد وجود یک آسیب پذیری بوده است.
https://gist.github.com/a9v8i/91b3f669c1b1927b540a54cbcc8481a5
📅 برنامه LinuxFest منتشر شد! 🚀 🐧
سه روز پر از یادگیری و تجربه با بهترینهای دنیای لینوکس، متنباز، داکر، کوبرنتیز، امنیت و DevOps!
🔹 📅 تاریخ: ۲۰ تا ۲۲ فروردین ماه
🔹📍 مکان: دانشگاه صنعتی امیرکبیر
🔹 ⏳ ظرفیت محدود! همین الان ثبتنام کنید!
🔉 اطلاعات بیشتر و ثبت نام: linux-fest.ir
سه روز پر از یادگیری و تجربه با بهترینهای دنیای لینوکس، متنباز، داکر، کوبرنتیز، امنیت و DevOps!
🔹 📅 تاریخ: ۲۰ تا ۲۲ فروردین ماه
🔹📍 مکان: دانشگاه صنعتی امیرکبیر
🔹 ⏳ ظرفیت محدود! همین الان ثبتنام کنید!
🔉 اطلاعات بیشتر و ثبت نام: linux-fest.ir
This media is not supported in your browser
VIEW IN TELEGRAM
دیتای صفر و یکی از نگاه فیزیک:
شاید مثل من دوست داشته باشید در ساختار مموری ها ریز بشید تا بفهمید چطوری دیتا به صورت صفر و یکی ذخیره میشه. این توضیحی که میگم فقط مختص حافظه های Flash و RAM هست و حافظه های مغناطیسی مکانیسمشون متفاوت هست.
در هر سلول حافظهی Flash یک ترانزیستور و در حافظهی RAM یک ترانزیستور و یا یک خازن در ابعاد نانومتر وجود داره که وقتی الکترون ها داخلشون وجود دارند حالت شارژ (۱) هستند و وقتی خالی از الکترون هستند در حالت دشارژ (۰) هستند؛ کل پروسه هم توسط جریان برق انجام میشه.
چطوری ترانزیستور و خازن به این ریزی در سلول ها جا شده؟!
فناوری میکروالکترونیک به طراحان این امکان رو میده که اجزای الکتریکی رو در مقیاس نانو تولید کنند!
حالا حساب کنیم چند تا ترانزیستور در یک فلش ۴ گیگابایتی وجود داره؟
هر گیگابایت معادل دو به توان ۳۰ بایت هست و هر بایت هم ۸ بیت هست، اگر طراحی حافظه طوری باشه که هر سلول توانایی نگهداری یک بیت رو داشته باشه در نتیجه معادل ۳۲ ضربدر دو به توان ۳۰ تا سلول داریم که به همین تعداد هم ترانزیستور داریم! خودتون بزرگی این عدد رو مجسم کنید تو ذهنتون!
اصلی ترین مادهی مورد استفاده در ترانزیستورها سیلیکون هست که یک مادهی نیمه هادی محسوب میشه.
⚠️ اگر جایی رو اشتباه گفتم بهم ایمیل بزنید بگید، من محاسباتم رو اونقدر درآوردم واسه یه فلش ۴ گیگی.
[email protected]
#فیزیک
#کامپیوتر
شاید مثل من دوست داشته باشید در ساختار مموری ها ریز بشید تا بفهمید چطوری دیتا به صورت صفر و یکی ذخیره میشه. این توضیحی که میگم فقط مختص حافظه های Flash و RAM هست و حافظه های مغناطیسی مکانیسمشون متفاوت هست.
در هر سلول حافظهی Flash یک ترانزیستور و در حافظهی RAM یک ترانزیستور و یا یک خازن در ابعاد نانومتر وجود داره که وقتی الکترون ها داخلشون وجود دارند حالت شارژ (۱) هستند و وقتی خالی از الکترون هستند در حالت دشارژ (۰) هستند؛ کل پروسه هم توسط جریان برق انجام میشه.
چطوری ترانزیستور و خازن به این ریزی در سلول ها جا شده؟!
فناوری میکروالکترونیک به طراحان این امکان رو میده که اجزای الکتریکی رو در مقیاس نانو تولید کنند!
حالا حساب کنیم چند تا ترانزیستور در یک فلش ۴ گیگابایتی وجود داره؟
هر گیگابایت معادل دو به توان ۳۰ بایت هست و هر بایت هم ۸ بیت هست، اگر طراحی حافظه طوری باشه که هر سلول توانایی نگهداری یک بیت رو داشته باشه در نتیجه معادل ۳۲ ضربدر دو به توان ۳۰ تا سلول داریم که به همین تعداد هم ترانزیستور داریم! خودتون بزرگی این عدد رو مجسم کنید تو ذهنتون!
اصلی ترین مادهی مورد استفاده در ترانزیستورها سیلیکون هست که یک مادهی نیمه هادی محسوب میشه.
⚠️ اگر جایی رو اشتباه گفتم بهم ایمیل بزنید بگید، من محاسباتم رو اونقدر درآوردم واسه یه فلش ۴ گیگی.
[email protected]
#فیزیک
#کامپیوتر
‼️تلگرام را هککنید و تا ۴ میلیون دلار جایزه بگیرید.
⭕️ طبق اعلام شرکت، Operation Zero مبلغ ۵۰۰ هزار دلار برای آسیبپذیری «اجرای کد از راه دور» (RCE) با یک کلیک، ۱.۵ میلیون دلار برای نوع بدون کلیک (Zero-Click RCE) و تا ۴ میلیون دلار برای مجموعهای از آسیبپذیریهای زنجیرهای که میتواند کنترل کامل دستگاه کاربر را به هکرها بدهد، پیشنهاد داده است
⭕️ طبق اعلام شرکت، Operation Zero مبلغ ۵۰۰ هزار دلار برای آسیبپذیری «اجرای کد از راه دور» (RCE) با یک کلیک، ۱.۵ میلیون دلار برای نوع بدون کلیک (Zero-Click RCE) و تا ۴ میلیون دلار برای مجموعهای از آسیبپذیریهای زنجیرهای که میتواند کنترل کامل دستگاه کاربر را به هکرها بدهد، پیشنهاد داده است
یک بردار حمله جدید از طریق بایگانی محبوب WinRAR کشف شده است.
⚠️ یک آسیب پذیری در بایگانی WinRAR کشف شده است که به شما امکان می دهد مکانیسم امنیتی "Mark of the Web" ویندوز را دور بزنید. این مشکل تمام نسخههای بایگانی محبوب تا 7.11 را تحت تأثیر قرار میدهد و مهاجمان میتوانند از آن برای اجرای کدهای مخرب بدون هشدار سیستم استفاده کنند.
🔍 این آسیب پذیری شناسه CVE-2025-31334 و امتیاز CVSS 6.8 را دریافت کرده است. هنگام باز کردن یک پیوند نمادین به یک فایل اجرایی در بایگانی، ویندوز اخطار استاندارد در مورد اجرای فایل دانلود شده از اینترنت را نمایش نمی دهد، که حملات مهندسی اجتماعی را به ویژه خطرناک می کند.
🛡 توسعه دهنده WinRAR، RARLAB، به روز رسانی را منتشر کرده است که آسیب پذیری کشف شده را برطرف می کند. اکیداً به همه کاربران توصیه می شود که به نسخه 7.11 یا بالاتر به روز رسانی کنند و قبل از باز کردن آرشیوها با راه حل های آنتی ویروس اسکن کنند.
⚠️ یک آسیب پذیری در بایگانی WinRAR کشف شده است که به شما امکان می دهد مکانیسم امنیتی "Mark of the Web" ویندوز را دور بزنید. این مشکل تمام نسخههای بایگانی محبوب تا 7.11 را تحت تأثیر قرار میدهد و مهاجمان میتوانند از آن برای اجرای کدهای مخرب بدون هشدار سیستم استفاده کنند.
🔍 این آسیب پذیری شناسه CVE-2025-31334 و امتیاز CVSS 6.8 را دریافت کرده است. هنگام باز کردن یک پیوند نمادین به یک فایل اجرایی در بایگانی، ویندوز اخطار استاندارد در مورد اجرای فایل دانلود شده از اینترنت را نمایش نمی دهد، که حملات مهندسی اجتماعی را به ویژه خطرناک می کند.
🛡 توسعه دهنده WinRAR، RARLAB، به روز رسانی را منتشر کرده است که آسیب پذیری کشف شده را برطرف می کند. اکیداً به همه کاربران توصیه می شود که به نسخه 7.11 یا بالاتر به روز رسانی کنند و قبل از باز کردن آرشیوها با راه حل های آنتی ویروس اسکن کنند.
#CVE-2025-29927 #Bypass_Authorization
آسیب پذیری Bypass Authorization که برای Next.js در نسخه های زیر 13.5.6 و 14.2.25 و 15.2.3 آمده است.
ماجرا از این قرار که Middleware های طراحی شده در Next.js امکان اعمال تغییر در درخواست دریافتی را دارند، قبل از اینکه پارسر کد درخواست رو تحویل بگیره.
دور زدن مکانیزم کنترل سطح دسترسی یا Authorization زمانی انجام میشود که در درخواست ارسالی Header با نام
اگر Header با نام
مقدار
آسیب پذیری Bypass Authorization که برای Next.js در نسخه های زیر 13.5.6 و 14.2.25 و 15.2.3 آمده است.
ماجرا از این قرار که Middleware های طراحی شده در Next.js امکان اعمال تغییر در درخواست دریافتی را دارند، قبل از اینکه پارسر کد درخواست رو تحویل بگیره.
دور زدن مکانیزم کنترل سطح دسترسی یا Authorization زمانی انجام میشود که در درخواست ارسالی Header با نام
x-middleware-subrequest
تنظیم شده که بدان معنی است درخواست به Middleware تحویل داده شود و در شرط خط 707 اومده که زمانی که نام middleware
در آرایه subrequests
قرار داشته باشه پاسخ از نوع ()NextResponse.next
برگشت داده شده و عملیات همزمان با ()Promise.resolve
ادامه پیدا خواهد کرد.اگر Header با نام
x-middleware-subrequest
تعریف شده باشه، Middleware بررسی امنیتی رو نادیده گرفته و درخواست رو به مقصد اصلی هدایت خواهد کرد که اینجا آسیب پذیری رخ خواهد داد.مقدار
MiddlewareInfo.name
میتونه بدست بیاد و مسیر Middleware
امکان تشخیص رو داشته چرا که در مسیریابی pages و با نام middleware.ts_
قرار داشته است.GitHub
Authorization Bypass in Next.js Middleware
# Impact
It is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware.
# Patches
* For Next.js 15.x, this issue is fixed in `15.2...
It is possible to bypass authorization checks within a Next.js application, if the authorization check occurs in middleware.
# Patches
* For Next.js 15.x, this issue is fixed in `15.2...
👍1
حقیقتا مدلهای زبانی چطور فکر میکنن؟ 🤔
این همه از مدل های LLM و چت بات ها صحبت میکنیم اما جواب یکی از بنیادی ترین سوال های این زمینه رو هنوز نمیدونم. اینکه مدل ها چطور فکر میکنن؟
جدیدا Anthopic طی دو تحقیق اومده این موضوع رو بررسی کرده:
این تحقیق مهم و ارزشمنده، من در ادامه خلاصه این تحقیق رو میگم.
زمان آموزش مدل ها خودشون یاد میگیرن که چطور مسائل رو حل کنن. این یادگیری توی میلیاردها محاسبهای که موقع نوشتن هر کلمه انجام میدن ذخیره میشه. اما نکته اینجاست که حتی توسعهدهندههای این مدلها دقیقاً نمیدونن که چطور به این نتایج میرسن! یعنی ما واقعاً نمیدونیم که مدلی مثل Claude 3.5 چطور کارهای مختلفش رو انجام میده.
سوالات اساسی:
🔹مدل Claude میتونه به چندین زبان صحبت کنه، اما داخل ذهنش از چه زبانی استفاده میکنه؟
🔹 مدل Claude کلمهبهکلمه متن مینویسه. آیا فقط کلمهی بعدی رو حدس میزنه یا برای جملات بعدی هم برنامهریزی میکنه؟
🔹 وقتی کلود استدلال خودش رو مرحلهبهمرحله توضیح میده، آیا واقعاً همون روشی رو که طی کرده میگه یا فقط یه توضیح قانعکننده میسازه؟
انتروپیک میگه:
ما از حوزهی Neuroscience (علوم اعصاب) الهام گرفتیم و دنبال این هستیم که یه چیزی مثل "میکروسکوپ هوش مصنوعی" (AI Microscope) بسازیم تا بتونیم الگوهای فعالیت و جریان اطلاعات داخل مدل رو ببینیم.
🔹 تحلیل مدارهای محاسباتی مدل (Computational Circuits)
قبلاً فهمیده بودیم که داخل مدل مفاهیمی قابل تفسیر (Features) وجود دارن. حالا این مفاهیم رو بهم متصل کردیم تا ببینیم چطور مسیر پردازش ورودیها به خروجی شکل میگیره.
🔹 مطالعهی مدل Claude 3.5 Haiku
بررسی کردیم که مدل چطور وظایف مهم رو انجام میده. مثلاً چطور فکر میکنه، برنامهریزی میکنه، و حتی گاهی چطور سعی میکنه جواب موردنظر کاربر رو ارائه بده، حتی اگه جوابش منطقی نباشه (Bias Towards Agreement).
یافتههای این تحقیقات اینا هستن:
زبان درونی مشترک (Universal Language of Thought):
مدل ظاهراً یه زبان مفهومی داره که بین زبانهای مختلف مشترکه. اینو با ترجمهی جملات به چند زبان مختلف و تحلیل نحوهی پردازششون فهمیدن.
برنامهریزی برای نوشتن (Pre-Planning in Text Generation):
مدل وقتی شعر مینویسه، قبل از نوشتن خط بعدی، قافیهی موردنظرش رو انتخاب میکنه و جمله رو طوری میسازه که به اون قافیه ختم بشه. این نشون میده که حتی اگه مدلها کلمهبهکلمه خروجی تولید کنن، ممکنه به صورت بلندمدت فکر کنن.
دلیلتراشی به جای استدلال واقعی (Motivated Reasoning):
مدل گاهی به جای اینکه واقعاً یه مسئله رو حل کنه، جوابی که کاربر انتظار داره رو توجیه میکنه. مثلاً وقتی یه مسئلهی سخت ریاضی رو با یه راهنمایی غلط بهش میدیم، به جای اینکه خطای راهنمایی رو تشخیص بده، یه استدلال جعلی برای رسیدن به اون نتیجه میسازه.
توهمات (Hallucinations):
مدلها ذاتاً تمایل دارن همیشه یه جوابی بدن. اما توی Claude یه مکانیسم پیشفرض برای "رد کردن پاسخ" (Refusal Mechanism) وجود داره که باعث میشه وقتی اطلاعات کافی نداره، جواب نده. ولی وقتی فکر میکنه یه اسم رو میشناسه، این مکانیسم سرکوب میشه و حتی اگه اطلاعات واقعی نداشته باشه، یه جواب ساختگی تولید میکنه.
حملات Jailbreak:
توی تستها دیده شده که مدل قبل از اینکه بتونه جواب رو سانسور کنه، متوجه میشه که یه درخواست خطرناک دریافت کرده. این نشون میده که مدل یه سطح از آگاهی امنیتی داره، ولی همیشه نمیتونه جلوی خروجی نامطلوب رو بگیره.
این تحقیقات نشون میده که هنوز خیلی چیزا دربارهی AI Interpretability (قابلیت تفسیر مدلهای هوش مصنوعی) نمیدونیم. مدلها خیلی پیچیدهتر از چیزی هستن که فقط از روی خروجیهاشون بشه فهمید چطور کار میکنن.
با این حال، این روشهای جدید میتونن به شفافتر کردن عملکرد مدلها کمک کنن و باعث بشن AI قابل اعتمادتر بشه.
این همه از مدل های LLM و چت بات ها صحبت میکنیم اما جواب یکی از بنیادی ترین سوال های این زمینه رو هنوز نمیدونم. اینکه مدل ها چطور فکر میکنن؟
جدیدا Anthopic طی دو تحقیق اومده این موضوع رو بررسی کرده:
این تحقیق مهم و ارزشمنده، من در ادامه خلاصه این تحقیق رو میگم.
زمان آموزش مدل ها خودشون یاد میگیرن که چطور مسائل رو حل کنن. این یادگیری توی میلیاردها محاسبهای که موقع نوشتن هر کلمه انجام میدن ذخیره میشه. اما نکته اینجاست که حتی توسعهدهندههای این مدلها دقیقاً نمیدونن که چطور به این نتایج میرسن! یعنی ما واقعاً نمیدونیم که مدلی مثل Claude 3.5 چطور کارهای مختلفش رو انجام میده.
سوالات اساسی:
🔹مدل Claude میتونه به چندین زبان صحبت کنه، اما داخل ذهنش از چه زبانی استفاده میکنه؟
🔹 مدل Claude کلمهبهکلمه متن مینویسه. آیا فقط کلمهی بعدی رو حدس میزنه یا برای جملات بعدی هم برنامهریزی میکنه؟
🔹 وقتی کلود استدلال خودش رو مرحلهبهمرحله توضیح میده، آیا واقعاً همون روشی رو که طی کرده میگه یا فقط یه توضیح قانعکننده میسازه؟
انتروپیک میگه:
ما از حوزهی Neuroscience (علوم اعصاب) الهام گرفتیم و دنبال این هستیم که یه چیزی مثل "میکروسکوپ هوش مصنوعی" (AI Microscope) بسازیم تا بتونیم الگوهای فعالیت و جریان اطلاعات داخل مدل رو ببینیم.
🔹 تحلیل مدارهای محاسباتی مدل (Computational Circuits)
قبلاً فهمیده بودیم که داخل مدل مفاهیمی قابل تفسیر (Features) وجود دارن. حالا این مفاهیم رو بهم متصل کردیم تا ببینیم چطور مسیر پردازش ورودیها به خروجی شکل میگیره.
🔹 مطالعهی مدل Claude 3.5 Haiku
بررسی کردیم که مدل چطور وظایف مهم رو انجام میده. مثلاً چطور فکر میکنه، برنامهریزی میکنه، و حتی گاهی چطور سعی میکنه جواب موردنظر کاربر رو ارائه بده، حتی اگه جوابش منطقی نباشه (Bias Towards Agreement).
یافتههای این تحقیقات اینا هستن:
زبان درونی مشترک (Universal Language of Thought):
مدل ظاهراً یه زبان مفهومی داره که بین زبانهای مختلف مشترکه. اینو با ترجمهی جملات به چند زبان مختلف و تحلیل نحوهی پردازششون فهمیدن.
برنامهریزی برای نوشتن (Pre-Planning in Text Generation):
مدل وقتی شعر مینویسه، قبل از نوشتن خط بعدی، قافیهی موردنظرش رو انتخاب میکنه و جمله رو طوری میسازه که به اون قافیه ختم بشه. این نشون میده که حتی اگه مدلها کلمهبهکلمه خروجی تولید کنن، ممکنه به صورت بلندمدت فکر کنن.
دلیلتراشی به جای استدلال واقعی (Motivated Reasoning):
مدل گاهی به جای اینکه واقعاً یه مسئله رو حل کنه، جوابی که کاربر انتظار داره رو توجیه میکنه. مثلاً وقتی یه مسئلهی سخت ریاضی رو با یه راهنمایی غلط بهش میدیم، به جای اینکه خطای راهنمایی رو تشخیص بده، یه استدلال جعلی برای رسیدن به اون نتیجه میسازه.
توهمات (Hallucinations):
مدلها ذاتاً تمایل دارن همیشه یه جوابی بدن. اما توی Claude یه مکانیسم پیشفرض برای "رد کردن پاسخ" (Refusal Mechanism) وجود داره که باعث میشه وقتی اطلاعات کافی نداره، جواب نده. ولی وقتی فکر میکنه یه اسم رو میشناسه، این مکانیسم سرکوب میشه و حتی اگه اطلاعات واقعی نداشته باشه، یه جواب ساختگی تولید میکنه.
حملات Jailbreak:
توی تستها دیده شده که مدل قبل از اینکه بتونه جواب رو سانسور کنه، متوجه میشه که یه درخواست خطرناک دریافت کرده. این نشون میده که مدل یه سطح از آگاهی امنیتی داره، ولی همیشه نمیتونه جلوی خروجی نامطلوب رو بگیره.
این تحقیقات نشون میده که هنوز خیلی چیزا دربارهی AI Interpretability (قابلیت تفسیر مدلهای هوش مصنوعی) نمیدونیم. مدلها خیلی پیچیدهتر از چیزی هستن که فقط از روی خروجیهاشون بشه فهمید چطور کار میکنن.
با این حال، این روشهای جدید میتونن به شفافتر کردن عملکرد مدلها کمک کنن و باعث بشن AI قابل اعتمادتر بشه.
گزارش جدیدی در مورد تهدیدات سایبری جمهوری اسلامی در ThreatBook منتشر شده. گروه APT34 (تحت حمایت جمهوری اسلامی) کمپین جدیدی را علیه نهادهای دولتی عراق راه انداخته است.
این گروه از سال ۲۰۱۲ فعال بوده و عمدتاً در خاورمیانه با استفاده از حملات فیشینگ هدفمند، به جمعآوری اطلاعات با ارزش و کنترل از راه دور سیستمها میپردازد. صنایع مورد هدف آنها شامل دولت، انرژی، مالی، مخابرات، هوانوردی، دفاع ملی، آموزش و صنایع شیمیایی است.
آنها از فایلهای PDF حاوی بدافزار که به عنوان فایلهای مرتبط با حقوق و دستمزد است، برای فریب قربانیان استفاده میکنند. وقتی فایل اجرا میشود، یک بکدور نصب میشود که قادر به جمعآوری اطلاعات سیستم، اجرای دستورات از راه دور، آپلود و دانلود فایلها و ایجاد پایداری در سیستم از طریق رجیستری است.
برای مخفی ماندن، این گروه هم از پروتکل HTTP و هم از ارتباطات ایمیلی با استفاده از صندوقهای پستی دولتی هکشده عراقی استفاده میکند. همچنین سرورهای C2 خود را در کشورهای اروپایی مستقر کرده و صفحات ۴۰۴ جعلی برای پنهان کردن فعالیتهای خود ایجاد میکنند.
برای اطلاعات بیشتر میتوانید گزارش کامل را در لینکهای زیر مطالعه کنید:
https://threatbook.io/blog/id/1101
https://threatbook.io/ip/89.46.233.239
#APT34 #OilRig
این گروه از سال ۲۰۱۲ فعال بوده و عمدتاً در خاورمیانه با استفاده از حملات فیشینگ هدفمند، به جمعآوری اطلاعات با ارزش و کنترل از راه دور سیستمها میپردازد. صنایع مورد هدف آنها شامل دولت، انرژی، مالی، مخابرات، هوانوردی، دفاع ملی، آموزش و صنایع شیمیایی است.
آنها از فایلهای PDF حاوی بدافزار که به عنوان فایلهای مرتبط با حقوق و دستمزد است، برای فریب قربانیان استفاده میکنند. وقتی فایل اجرا میشود، یک بکدور نصب میشود که قادر به جمعآوری اطلاعات سیستم، اجرای دستورات از راه دور، آپلود و دانلود فایلها و ایجاد پایداری در سیستم از طریق رجیستری است.
برای مخفی ماندن، این گروه هم از پروتکل HTTP و هم از ارتباطات ایمیلی با استفاده از صندوقهای پستی دولتی هکشده عراقی استفاده میکند. همچنین سرورهای C2 خود را در کشورهای اروپایی مستقر کرده و صفحات ۴۰۴ جعلی برای پنهان کردن فعالیتهای خود ایجاد میکنند.
برای اطلاعات بیشتر میتوانید گزارش کامل را در لینکهای زیر مطالعه کنید:
https://threatbook.io/blog/id/1101
https://threatbook.io/ip/89.46.233.239
#APT34 #OilRig
Forwarded from هشتگ تبلیغ تخصصی
📚 دورهای جامع از پایه تا پیشرفته
👨💻 همراه با پروژههای واقعی و چالشهای عملی
🏆 و در پایان، شرکت در بزرگترین رقابت هوش مصنوعی کشور!
🎯 این مسیر برای توئه اگه:
🌟 تازهکاری و دنبال یادگیری اصولی هستی
🌟 یا حرفهای هستی و آمادهای وارد رقابت بشی!
✨ مزایای ویژه:
📍 همین حالا ثبتنام کن و آینده حرفهایت رو بساز!
🧑💻@iaaa_event
🔸 پشتیبانی:
📞 02191096992
Please open Telegram to view this post
VIEW IN TELEGRAM
System 2 LLM or AI
لبه دانش هوش مصنوعی اینجاست!
مدل های جدید مثل o1-preview و o1-mini میتونن اولین نسخههای موفق System 2 LLM در دنیای تجاری باشن. حالا System 2 یعنی چی؟ این مفهوم رو دنیل کانمن تو کتاب معروفش "تفکر، سریع و کند" (2011) مطرح کرد. خیلی خلاصه بخوایم بگیم:
سیستم 1 یعنی جوابهای آنی و سریع که بیشتر از روی شهود میان
اما سیستم 2 یعنی فکر کردن با تأمل و دقت، که معمولاً زمانبره.
ما از زمانی که ChatGPT اومد (نوامبر 2022)، بیشتر با مدلهای System 1 سروکار داشتیم. این مدلها مستقیم به یه سوال یا prompt جواب میدن. اما مدلهای System 2 برعکس، یه فرآیند تحلیلی و دقیق رو طی میکنن، مسائل پیچیده رو به قسمتهای کوچکتر میشکنن و مرحله به مرحله به جواب میرسن.
البته هنوزم این تفکر خیلی مثل انسان واقعی نیست، ولی نسبت به چیزی که قبلاً بود، خیلی پیشرفت کرده. برای همین هم خیلیا OpenAI o1 رو اولین مدل AI میدونن که واقعاً میتونه reasoning انجام بده (یعنی استدلال کنه).
توی داکیومنتهای OpenAI اومده که این مدلهای جدید از چیزی به اسم reasoning tokens استفاده میکنن که بخشی از روش معروف Chain of Thought (CoT) هست.
یه چیز دیگه هم که بهش اشاره شده اینه که دارن از Reinforcement Learning (RL) برای بهبود فرآیند thinking استفاده میکنن.
الان دقیق مشخص نیست که OpenAI از چه تکنیکهایی استفاده کرده، ولی با توجه به مقالههای جدید، میشه حدسهایی زد:
Chain of Thought (2022)
https://arxiv.org/abs/2201.11903
Tree of Thoughts (2023)
https://arxiv.org/abs/2305.10601
Branch-Solve-Merge (2023)
https://arxiv.org/abs/2310.15123
System 2 Attention (2023)
https://arxiv.org/abs/2311.11829
Rephrase and Respond (2023)
https://arxiv.org/abs/2311.04205
اینا همه روشهایی هستن که کمک میکنن یه مدل System 2 بتونه مثل یه انسان، برنامهریزی کنه، مسئله رو تجزیه و تحلیل کنه و سناریوهای مختلف رو بررسی کنه.
مدلهای System 2 که بهشون میگن CoT-enabled LLMs توی کارهایی که قبلاً هیچوقت انجام نشده و نیاز به استدلال دارن، فوقالعاده عمل میکنن.
این مدلها از چیزی به اسم reasoning tokens استفاده میکنن که به مدل کمک میکنه برای خودش مراحل منطقی برنامهریزی کنه. حتی ممکنه خروجیهای موقتی بسازه که کاربر نمیبینه.
OpenAI تصمیم گرفته یه بخشهایی از این تفکر رو به زبان خودمونی نشون بده. مثلاً میتونی عباراتی مثل:
"First"، "Next"، "Hmm"، "Let’s test this theory"، "Alternatively"، و "That seems unlikely" رو توی خروجی مدل ببینی.
البته اینا در واقع system tokens هستن که مدل ازشون برای هدایت مسیر فکر کردن استفاده میکنه، ولی برای اینکه برای کاربر قابل فهم باشن، به زبان انسان نشون داده میشن.
دوست داشتین در ادامه در مورد Reasoning Token بیشتر میگم
System 2 LLM or AI
لبه دانش هوش مصنوعی اینجاست!
مدل های جدید مثل o1-preview و o1-mini میتونن اولین نسخههای موفق System 2 LLM در دنیای تجاری باشن. حالا System 2 یعنی چی؟ این مفهوم رو دنیل کانمن تو کتاب معروفش "تفکر، سریع و کند" (2011) مطرح کرد. خیلی خلاصه بخوایم بگیم:
سیستم 1 یعنی جوابهای آنی و سریع که بیشتر از روی شهود میان
اما سیستم 2 یعنی فکر کردن با تأمل و دقت، که معمولاً زمانبره.
ما از زمانی که ChatGPT اومد (نوامبر 2022)، بیشتر با مدلهای System 1 سروکار داشتیم. این مدلها مستقیم به یه سوال یا prompt جواب میدن. اما مدلهای System 2 برعکس، یه فرآیند تحلیلی و دقیق رو طی میکنن، مسائل پیچیده رو به قسمتهای کوچکتر میشکنن و مرحله به مرحله به جواب میرسن.
البته هنوزم این تفکر خیلی مثل انسان واقعی نیست، ولی نسبت به چیزی که قبلاً بود، خیلی پیشرفت کرده. برای همین هم خیلیا OpenAI o1 رو اولین مدل AI میدونن که واقعاً میتونه reasoning انجام بده (یعنی استدلال کنه).
توی داکیومنتهای OpenAI اومده که این مدلهای جدید از چیزی به اسم reasoning tokens استفاده میکنن که بخشی از روش معروف Chain of Thought (CoT) هست.
یه چیز دیگه هم که بهش اشاره شده اینه که دارن از Reinforcement Learning (RL) برای بهبود فرآیند thinking استفاده میکنن.
الان دقیق مشخص نیست که OpenAI از چه تکنیکهایی استفاده کرده، ولی با توجه به مقالههای جدید، میشه حدسهایی زد:
Chain of Thought (2022)
https://arxiv.org/abs/2201.11903
Tree of Thoughts (2023)
https://arxiv.org/abs/2305.10601
Branch-Solve-Merge (2023)
https://arxiv.org/abs/2310.15123
System 2 Attention (2023)
https://arxiv.org/abs/2311.11829
Rephrase and Respond (2023)
https://arxiv.org/abs/2311.04205
اینا همه روشهایی هستن که کمک میکنن یه مدل System 2 بتونه مثل یه انسان، برنامهریزی کنه، مسئله رو تجزیه و تحلیل کنه و سناریوهای مختلف رو بررسی کنه.
مدلهای System 2 که بهشون میگن CoT-enabled LLMs توی کارهایی که قبلاً هیچوقت انجام نشده و نیاز به استدلال دارن، فوقالعاده عمل میکنن.
این مدلها از چیزی به اسم reasoning tokens استفاده میکنن که به مدل کمک میکنه برای خودش مراحل منطقی برنامهریزی کنه. حتی ممکنه خروجیهای موقتی بسازه که کاربر نمیبینه.
OpenAI تصمیم گرفته یه بخشهایی از این تفکر رو به زبان خودمونی نشون بده. مثلاً میتونی عباراتی مثل:
"First"، "Next"، "Hmm"، "Let’s test this theory"، "Alternatively"، و "That seems unlikely" رو توی خروجی مدل ببینی.
البته اینا در واقع system tokens هستن که مدل ازشون برای هدایت مسیر فکر کردن استفاده میکنه، ولی برای اینکه برای کاربر قابل فهم باشن، به زبان انسان نشون داده میشن.
دوست داشتین در ادامه در مورد Reasoning Token بیشتر میگم
arXiv.org
Chain-of-Thought Prompting Elicits Reasoning in Large Language Models
We explore how generating a chain of thought -- a series of intermediate reasoning steps -- significantly improves the ability of large language models to perform complex reasoning. In particular,...
⚠ عواقب فاجعه بار خطاهای نرم افزاری قسمت 2.
• در ادامه موضوع قبل، چند داستان دیگر درباره اشکالات جدی و عواقب آنها را با شما به اشتراک خواهم گذاشت. فکر کنم خیلی جالب باشه:
• در سال 1962 ، فضاپیمای مارینر 1 پس از پرتاب به دلیل انحراف از مسیر، از روی زمین منهدم شد. موشک به دلیل نرم افزاری سقوط کرد که توسعه دهنده فقط یک کاراکتر را از دست داد. در نتیجه، فضاپیما به ارزش 18 میلیون دلار (به پول آن زمان) سیگنال های کنترلی نادرستی دریافت می کرد.
• در حین کار بر روی سیستم کنترل موشک، برنامه نویس فرمول های ریاضی دست نویس را به کد کامپیوتری ترجمه کرد. او نماد "خط تیره" (شاخص) را برای یک خط تیره معمولی (یا علامت منفی) گرفت. عملکرد هموارسازی شروع به منعکس کردن تغییرات عادی در سرعت موشک به عنوان بحرانی و غیرقابل قبول کرد. با این حال، حتی اشتباه انجام شده ممکن است منجر به یک شکست جدی نشده باشد، اما به عنوان شانس، آنتن موشک با سیستم هدایت روی زمین ارتباط خود را از دست داد و کامپیوتر آنبورد کنترل را به دست گرفت.
➖➖➖➖➖➖➖➖
• در اینجا داستان دیگری است که منجر به خاموشی در ایالات متحده شد: یک خطای کوچک در نرم افزار نظارت بر عملکرد تجهیزات جنرال الکتریک انرژی منجر به بدون برق ماندن 55 میلیون نفر شد. در ساحل شرقی ایالات متحده، ساختمان های مسکونی، مدارس، بیمارستان ها و فرودگاه ها بدون برق مانده اند.
• در 14 آگوست 2003، در ساعت 12:15 صبح، یک اپراتور سیستم قدرت در ایندیانا متوجه یک مشکل کوچک با استفاده از ابزار نظارت بر تجهیزات شد. مشکل باعث ایجاد یک سیگنال خطای آزاردهنده شد که اپراتور آن را خاموش کرد. اپراتور موفق شد تمام مشکلات را در چند دقیقه حل کند، اما فراموش کرد نظارت را دوباره راه اندازی کند - زنگ در موقعیت خاموش باقی ماند.
• خرابی سیگنال علت اصلی خاموشی نبود. اما زمانی که ساعاتی بعد تماس با یک درخت باعث از بین رفتن خطوط برق در اوهایو شد، هیچ کس از آن خبر نداشت. مشکل گلوله برفی شد، خطوط انتقال بیش از حد و نیروگاه ها در نیویورک، نیوجرسی، میشیگان و فراتر از آن تاریک شدند.
• هیچ یک از اپراتورها متوجه آبشار خطاهایی نشدند که به آرامی سیستم قدرت را از بین می بردند زیرا یک زنگ هشدار خاموش می شد - هیچ سیستم پشتیبان برای مقابله با این موضوع وجود نداشت. به طور رسمی، میزان خسارت کمتر از 6 میلیارد دلار نبود. چنین چیزهایی ...
• در ادامه موضوع قبل، چند داستان دیگر درباره اشکالات جدی و عواقب آنها را با شما به اشتراک خواهم گذاشت. فکر کنم خیلی جالب باشه:
• در سال 1962 ، فضاپیمای مارینر 1 پس از پرتاب به دلیل انحراف از مسیر، از روی زمین منهدم شد. موشک به دلیل نرم افزاری سقوط کرد که توسعه دهنده فقط یک کاراکتر را از دست داد. در نتیجه، فضاپیما به ارزش 18 میلیون دلار (به پول آن زمان) سیگنال های کنترلی نادرستی دریافت می کرد.
• در حین کار بر روی سیستم کنترل موشک، برنامه نویس فرمول های ریاضی دست نویس را به کد کامپیوتری ترجمه کرد. او نماد "خط تیره" (شاخص) را برای یک خط تیره معمولی (یا علامت منفی) گرفت. عملکرد هموارسازی شروع به منعکس کردن تغییرات عادی در سرعت موشک به عنوان بحرانی و غیرقابل قبول کرد. با این حال، حتی اشتباه انجام شده ممکن است منجر به یک شکست جدی نشده باشد، اما به عنوان شانس، آنتن موشک با سیستم هدایت روی زمین ارتباط خود را از دست داد و کامپیوتر آنبورد کنترل را به دست گرفت.
➖➖➖➖➖➖➖➖
• در اینجا داستان دیگری است که منجر به خاموشی در ایالات متحده شد: یک خطای کوچک در نرم افزار نظارت بر عملکرد تجهیزات جنرال الکتریک انرژی منجر به بدون برق ماندن 55 میلیون نفر شد. در ساحل شرقی ایالات متحده، ساختمان های مسکونی، مدارس، بیمارستان ها و فرودگاه ها بدون برق مانده اند.
• در 14 آگوست 2003، در ساعت 12:15 صبح، یک اپراتور سیستم قدرت در ایندیانا متوجه یک مشکل کوچک با استفاده از ابزار نظارت بر تجهیزات شد. مشکل باعث ایجاد یک سیگنال خطای آزاردهنده شد که اپراتور آن را خاموش کرد. اپراتور موفق شد تمام مشکلات را در چند دقیقه حل کند، اما فراموش کرد نظارت را دوباره راه اندازی کند - زنگ در موقعیت خاموش باقی ماند.
• خرابی سیگنال علت اصلی خاموشی نبود. اما زمانی که ساعاتی بعد تماس با یک درخت باعث از بین رفتن خطوط برق در اوهایو شد، هیچ کس از آن خبر نداشت. مشکل گلوله برفی شد، خطوط انتقال بیش از حد و نیروگاه ها در نیویورک، نیوجرسی، میشیگان و فراتر از آن تاریک شدند.
• هیچ یک از اپراتورها متوجه آبشار خطاهایی نشدند که به آرامی سیستم قدرت را از بین می بردند زیرا یک زنگ هشدار خاموش می شد - هیچ سیستم پشتیبان برای مقابله با این موضوع وجود نداشت. به طور رسمی، میزان خسارت کمتر از 6 میلیارد دلار نبود. چنین چیزهایی ...
محققان جزئیات پنج آسیبپذیری با شدت بالا را به اشتراک گذاشتهاند که بر محصولات Iconics و Mitsubishi Electric نظارتی و جمعآوری دادهها (SCADA) تأثیر میگذارند.
راه حل های تحت تأثیر عبارتند از Genesis64 و MC Works64. همین آسیبپذیریها بر روی Iconics و Mitsubishi Electric نیز تأثیر میگذارند، زیرا اولی بخشی از دومی است.
آسیب پذیری های SCADA یافت شده عبارتند از: ربودن DLL (CVE-2024-1182)، مجوزهای پیش فرض نادرست (CVE-2024-7587)، عنصر مسیر جستجوی کنترل نشده (CVE-2024-8299 و CVE-2024-9852)، و کد مرده (CVE-2024-8320).
همه این آسیبپذیریها برای بهرهبرداری نیاز به احراز هویت دارند، اما به مهاجمانی که قبلاً به سیستمهای سازمان هدف دسترسی پیدا کردهاند اجازه میدهند کد دلخواه را اجرا کنند، امتیازات را افزایش دهند و فایلهای حیاتی را دستکاری کنند.
در یک حمله واقعی که سیستمهای صنعتی را هدف قرار میدهد، یک مهاجم میتواند از آسیبپذیریهای SCADA برای ایجاد خرابی سیستم سوء استفاده کند و در برخی موارد کنترل کامل سیستم را به دست آورد.
روی هم رفته، این آسیبپذیریها خطری جدی برای محرمانگی، یکپارچگی و در دسترس بودن سیستمها ایجاد میکنند.
آسیبپذیریها میتواند برای مهاجمان ارزشمند باشد، زیرا محصولات Iconics و Mitsubishi Electric صدها هزار بار در سراسر جهان از جمله در بخش عمومی، دفاع، تامین آب، تولید و انرژی نصب شدهاند.
این آسیبپذیریها در اوایل سال 2024 توسط شرکت Iconics Suite و Mitsubishi Electric MC Works نسخههای 10.97.2 و 10.97.3 برای ویندوز کشف شد. اصلاحات و اقدامات کاهشی در سال گذشته منتشر شد.
راه حل های تحت تأثیر عبارتند از Genesis64 و MC Works64. همین آسیبپذیریها بر روی Iconics و Mitsubishi Electric نیز تأثیر میگذارند، زیرا اولی بخشی از دومی است.
آسیب پذیری های SCADA یافت شده عبارتند از: ربودن DLL (CVE-2024-1182)، مجوزهای پیش فرض نادرست (CVE-2024-7587)، عنصر مسیر جستجوی کنترل نشده (CVE-2024-8299 و CVE-2024-9852)، و کد مرده (CVE-2024-8320).
همه این آسیبپذیریها برای بهرهبرداری نیاز به احراز هویت دارند، اما به مهاجمانی که قبلاً به سیستمهای سازمان هدف دسترسی پیدا کردهاند اجازه میدهند کد دلخواه را اجرا کنند، امتیازات را افزایش دهند و فایلهای حیاتی را دستکاری کنند.
در یک حمله واقعی که سیستمهای صنعتی را هدف قرار میدهد، یک مهاجم میتواند از آسیبپذیریهای SCADA برای ایجاد خرابی سیستم سوء استفاده کند و در برخی موارد کنترل کامل سیستم را به دست آورد.
روی هم رفته، این آسیبپذیریها خطری جدی برای محرمانگی، یکپارچگی و در دسترس بودن سیستمها ایجاد میکنند.
آسیبپذیریها میتواند برای مهاجمان ارزشمند باشد، زیرا محصولات Iconics و Mitsubishi Electric صدها هزار بار در سراسر جهان از جمله در بخش عمومی، دفاع، تامین آب، تولید و انرژی نصب شدهاند.
این آسیبپذیریها در اوایل سال 2024 توسط شرکت Iconics Suite و Mitsubishi Electric MC Works نسخههای 10.97.2 و 10.97.3 برای ویندوز کشف شد. اصلاحات و اقدامات کاهشی در سال گذشته منتشر شد.
This media is not supported in your browser
VIEW IN TELEGRAM
بر میگردم به عقب نگاه میکنم و میبینم که چقدر قوی بوده ام تا امروز و چقدر حق دارم خسته باشم و چقدر حق دارم دلم شانه ای برای تکیه دادن بخواهد و چقدر حق دارم مدتی از همه چیز و همه کس فاصله بگیرم تا شاید کمی حالم خوب شود.
مسير
بر میگردم به عقب نگاه میکنم و متعجب میشوم که این سخت سنگلاخ ناهموار را من بوده ام که با گامهای کوچک و طاقت تمام شده ام پیموده ام و این من بوده ام که تمام مصیبتهای راه را تاب آورده و با تمام مشکلات جنگیده ام! به عقب نگاه میکنم و خودم را میبینم که در مسیری تاریک و سرد زانو زده با دستان لرزانش اشکهای خودش را پاک میکند زخمهای خودش را میبندد به خودش دلداری می دهد نفس عمیقی میکشد و دوباره بلند میشود و با تمام درد و خستگی اش ادامه میدهد و همچنان امید دارد. خودم را میبینم که خودش برای آرزوهای خودش آستین بالا زده و خودش خودش را در آغوش میکشد و خودش، حفره های خالی جهانش را پر میکند
به عقب نگاه میکنم و به خودِ خسته اما جسور و
ادامه دهنده ای که میبینم افتخار میکنم و دلم میخواهد در نهایت بی پناهی در آغوشش بگیرم و بگویم به قدر کفایت تلاش کرده و به قدر کفایت جنگیده و حتی تلاشهای محکوم به شکستی که داشته هم ستودنی ست
نگاه
به خودم و به زخمها و شکستگیهای ترمیم شده ی وجودم : میکنم و سرم را بالا میگیرم که خوب یا بد، کم یا زیاد و به هر نقطه ای که رسیده ام از تلاشهای خودم بوده و همراهی پروردگاری که پدرانه هوای منی که در تاریکترین لحظات جهانم روی حضورش حساب کرده ام را داشته و برایم به غیر ممکن ترین صورتهای ممکن نور فرستاده
به عقب نگاه میکنم و به خودم لبخند میزنم و زیر لب میگویم بجنگ جنگجوی من بجنگ و دست از تلاش برای بهبود برندار که تو لایق بهترینهای جهانی... بجنگ و فراموش نکن که ته در حال تلاش از همیشه دوست داشتن تری حتی اگر خسته تکیده و غمگین باشی...:)
#انگیزه
#هدف
@pythonwithmedev
مسير
بر میگردم به عقب نگاه میکنم و متعجب میشوم که این سخت سنگلاخ ناهموار را من بوده ام که با گامهای کوچک و طاقت تمام شده ام پیموده ام و این من بوده ام که تمام مصیبتهای راه را تاب آورده و با تمام مشکلات جنگیده ام! به عقب نگاه میکنم و خودم را میبینم که در مسیری تاریک و سرد زانو زده با دستان لرزانش اشکهای خودش را پاک میکند زخمهای خودش را میبندد به خودش دلداری می دهد نفس عمیقی میکشد و دوباره بلند میشود و با تمام درد و خستگی اش ادامه میدهد و همچنان امید دارد. خودم را میبینم که خودش برای آرزوهای خودش آستین بالا زده و خودش خودش را در آغوش میکشد و خودش، حفره های خالی جهانش را پر میکند
به عقب نگاه میکنم و به خودِ خسته اما جسور و
ادامه دهنده ای که میبینم افتخار میکنم و دلم میخواهد در نهایت بی پناهی در آغوشش بگیرم و بگویم به قدر کفایت تلاش کرده و به قدر کفایت جنگیده و حتی تلاشهای محکوم به شکستی که داشته هم ستودنی ست
نگاه
به خودم و به زخمها و شکستگیهای ترمیم شده ی وجودم : میکنم و سرم را بالا میگیرم که خوب یا بد، کم یا زیاد و به هر نقطه ای که رسیده ام از تلاشهای خودم بوده و همراهی پروردگاری که پدرانه هوای منی که در تاریکترین لحظات جهانم روی حضورش حساب کرده ام را داشته و برایم به غیر ممکن ترین صورتهای ممکن نور فرستاده
به عقب نگاه میکنم و به خودم لبخند میزنم و زیر لب میگویم بجنگ جنگجوی من بجنگ و دست از تلاش برای بهبود برندار که تو لایق بهترینهای جهانی... بجنگ و فراموش نکن که ته در حال تلاش از همیشه دوست داشتن تری حتی اگر خسته تکیده و غمگین باشی...:)
#انگیزه
#هدف
@pythonwithmedev
پیشنهاد هفته:
🔻آناتومی صد حمله سایبری به شبکههای صنعتی
➖ با ادغام سیستمهای OT و کنترل صنعتی (ICS) در شبکههای IT سازمانی، مرز بین زیرساختهای دیجیتال و فیزیکی در حال محو شدن است. چالش اصلی سازمانها امروز، ایجاد یک چارچوب امنیتی است که بتواند همگام با تغییرات، از داراییهای فیزیکی و مجازی محافظت کند، در حالی که عملیات OT را در سطح بالایی از دسترسپذیری حفظ میکند.
🔹 گزارش Anatomy of Cybersecurity Incidents in Industrial Operation، نتایج یک مطالعه عمیق درباره حوادث امنیت سایبری در OT است که ۱۲۲ حادثه OT در پنج نقطه جهان از جمله آمریکای شمالی، اروپا، خاورمیانه، آسیا و آفریقا را بررسی کردهاست.
🌐نسخه PDF چالشها و یافتههای Rockwell Automation از امنیت OT
#پیشنهاد_هفته #معرفی_کتاب #شبکه_صنعتی
🔻آناتومی صد حمله سایبری به شبکههای صنعتی
➖ با ادغام سیستمهای OT و کنترل صنعتی (ICS) در شبکههای IT سازمانی، مرز بین زیرساختهای دیجیتال و فیزیکی در حال محو شدن است. چالش اصلی سازمانها امروز، ایجاد یک چارچوب امنیتی است که بتواند همگام با تغییرات، از داراییهای فیزیکی و مجازی محافظت کند، در حالی که عملیات OT را در سطح بالایی از دسترسپذیری حفظ میکند.
🔹 گزارش Anatomy of Cybersecurity Incidents in Industrial Operation، نتایج یک مطالعه عمیق درباره حوادث امنیت سایبری در OT است که ۱۲۲ حادثه OT در پنج نقطه جهان از جمله آمریکای شمالی، اروپا، خاورمیانه، آسیا و آفریقا را بررسی کردهاست.
🌐نسخه PDF چالشها و یافتههای Rockwell Automation از امنیت OT
#پیشنهاد_هفته #معرفی_کتاب #شبکه_صنعتی
ترتیب دیدن دوره های موسسه LPIC به این شکل هست
Lpic 1 (101,102)
Lpic 2 (201,202)
الپیک سه هم داریم که شاخه بندی داره و براساس شاخه کاری و مد نظرتون باید انتخاب کنید
Lpic 3 :
300 – MixedEnvironment
303 – Security
304 - Virtualization & High Availability
305 – Containerization & DevOps
Lpic 1 (101,102)
Lpic 2 (201,202)
الپیک سه هم داریم که شاخه بندی داره و براساس شاخه کاری و مد نظرتون باید انتخاب کنید
Lpic 3 :
300 – MixedEnvironment
303 – Security
304 - Virtualization & High Availability
305 – Containerization & DevOps
اما به غیر از موسسه الپیک و کمپتیا موسسه ردهت رو هم داریم که فقط تمرکز بر روی توزیع های ردهتی داره
نقشه راه و ترتیب دیدن دوره های ردهت هم به این صورت هست:
RHCSA (Red Hat Certified System Administrator)
RHCE (Red Hat Certified Engineer)
RHCA (Red Hat Certified Architect)
نقشه راه و ترتیب دیدن دوره های ردهت هم به این صورت هست:
RHCSA (Red Hat Certified System Administrator)
RHCE (Red Hat Certified Engineer)
RHCA (Red Hat Certified Architect)
تغییر اعتبار بدون رمز عبور: آسیب پذیری جدید در FortiSwitch
⚠️ Fortinet آسیب پذیری حیاتی CVE-2024-48887 (CVSS 9.8) را در سوئیچ های فورتی سوئیچ رفع کرده است . این مشکل امکان تغییر رمز عبور سرپرست را بدون احراز هویت با ارسال یک درخواست ویژه به نقطه پایانی set_password فراهم میکرد. حمله بسیار ساده است و نیازی به تعامل کاربر ندارد.
🌐 تمام نسخه های FortiSwitch از 6.4.0 تا 7.6.0 که در هزاران شبکه شرکتی در سراسر جهان استفاده می شود، آسیب پذیر بودند. اصلاحات در حال حاضر در به روز رسانی های 6.4.15، 7.0.11، 7.2.9، 7.4.5 و 7.6.1 موجود است. یک راه حل موقت برای کسانی که نمی توانند به روز رسانی کنند، غیرفعال کردن دسترسی HTTP/HTTPS به رابط اداری است.
🔎 محصولات Fortinet از اوایل سال 2025 همچنان مورد توجه هکرها قرار دارند. پیش از این، آسیبپذیریهای روز صفر کشف شده بودند که در حملات باجافزار و سرقت اطلاعات کاربری در مشتری FortiClient VPN استفاده میشد.
⚠️ Fortinet آسیب پذیری حیاتی CVE-2024-48887 (CVSS 9.8) را در سوئیچ های فورتی سوئیچ رفع کرده است . این مشکل امکان تغییر رمز عبور سرپرست را بدون احراز هویت با ارسال یک درخواست ویژه به نقطه پایانی set_password فراهم میکرد. حمله بسیار ساده است و نیازی به تعامل کاربر ندارد.
🌐 تمام نسخه های FortiSwitch از 6.4.0 تا 7.6.0 که در هزاران شبکه شرکتی در سراسر جهان استفاده می شود، آسیب پذیر بودند. اصلاحات در حال حاضر در به روز رسانی های 6.4.15، 7.0.11، 7.2.9، 7.4.5 و 7.6.1 موجود است. یک راه حل موقت برای کسانی که نمی توانند به روز رسانی کنند، غیرفعال کردن دسترسی HTTP/HTTPS به رابط اداری است.
🔎 محصولات Fortinet از اوایل سال 2025 همچنان مورد توجه هکرها قرار دارند. پیش از این، آسیبپذیریهای روز صفر کشف شده بودند که در حملات باجافزار و سرقت اطلاعات کاربری در مشتری FortiClient VPN استفاده میشد.