نگاهی به سازوکار بهروزرسانی SQL Server
شنبه، ۵ بهمن ۱۳۸۱ اتفاقات عجیبوغریبی برای سرورهای برخی از شرکتهای تجاری و موسسات افتاد. بسیاری از آنها غیر قابل دسترس شدند. وقتی مدیران شبکه بررسی بیشتری انجام دادند، معلوم شد که ترافیک سهمگینی از شبکه آنها به بیرون ارسال میشود. اندازه بستههای (Packet) ارسالی 376 بایت و همه آنها از سرورهای Microsoft SQL Server 2000 که در داخل شبکه قرار داشتند، به درگاه 1434 نشانیهای IP خارجی فرستاده میشد. گویی یک نشانی IP خارجی بهطور تصادفی بهعنوان شروع انتخاب شده بود و پیاپی و مسلسلوار به نشانیهای بعدی بستهها ارسال میشد. فرستنده بستهها نیاز به هیچ پاسخی از گیرندگان بسته نداشت. زیرا اگر کامپیوترهای مقصد آن بسته اطلاعاتی را دریافت میکردند و بر روی خود، نرمافزار SQL Server 2000 را بدون Service Pack 3 داشتند، بدون شک آلوده میشدند و بهعنوان منبع دیگری برای ارسال این بستهها عمل میکردند. این عظیمترین بهمنی بود که تا آن هنگام، فقط میشد در داستانها تصور کرد. آلودگی اولیه از قاره آسیا – و احتمالاً کشور کره جنوبی – شروع شد و با آغاز زمان اداری در اروپا و سپس آمریکا، سبب مشکلات زیادی در سراسر دنیا شد. برخی از بانکها و خطوط هوایی از مهمترین قربانیان این بلا بودند. کرمی که بنام W32/SQL Slammer.worm – به معنی کوبنده SQL – مشهور شد و برخی دیگر آن را Sapphire – به معنای یاقوت کبود – نام گذاشتند، از یک آسیبپذیری در SQL Server 2000 بهره میگرفت که چند هفته پیش کشف و دو هفته قبل از آن نیز در قالب Service Pack 3 توسط شرکت مایکروسافت منتشر شده بود. این کرم با جثه کوچکش – 376 بایت – فقط در حافظه کامپیوتر فعال میشد و هیچ اثری از خود بر روی دیسک سخت دستگاه بجای نمیگذاشت. در ایران نیز برخی از شرکتها که سرویسدهندههای SQL با نشانی IP عمومی داشتند به این بدافزار آلوده شدند.
اکنون پس از گذشت بیش از دو دهه از ظهور SQL Slammer، نرمافزار SQL Server همچنان در فهرست اهداف مهاجمان قرار دارد.
واقعیت آن است که SQL Server نیز همچون هر نرمافزاری دیگر میتواند حاوی آسیبپذیری امنیتی باشد. برای مثال، طی یک سال اخیر، حدود 80 آسیبپذیری امنیتی در این نرمافزار توسط مایکروسافت ترمیم شده است. اکثر آسیبپذیریهای مذکور از نوع Remote Code Execution – به اختصار RCE – هستند؛ این بدان معناست که سوءاستفاده موفق از آنها، مهاجم را قادر به اجرای از راه دور کد بالقوه مخرب بر روی سرور میزبان SQL Server که معمولاً حاوی اطلاعات باارزش هر سازمانی است میکند.
علاوه بر بهرهجویی مهاجمان از آسیبپذیریهای SQL Server برای نفوذ اولیه (Initial Access) به شبکه قربانیان یا گسترش دامنه نفوذ (Lateral Movement)، بدافزارهایی هستند که با شناسایی سرورهای حاوی نسخه آسیبپذیر SQL Server اقدام به آلودهسازی سیستمها میکنند.
اعمال بهروزرسانیهای امنیتی، از جمله نکات کلیدی در امن نگاه داشتن SQL Server از گزند تهدیدات مبتنی بر Exploit است.
در راهنمای فنی زیر، به سازوکار بهروزرسانی در نرمافزار SQL Server پرداخته شده است.