در راستای پست های OSINT که بر روی بلاگ پنتر قرار دادم در این نوشته قصد دارم مهم ترین استفاده آن در ارزیابی امنیت سازمان را با شما به اشتراک بگذارم.
Attack Surface تمام سخت افزار نرم افزار و … می باشد که داده شما بر روی آن ذخیره می شود یا بر روی آن ها تبادل اطلاعات دارید.هکر ها می توانند تمامی حملات ممکن Attack Vector ها را بر روی آن ها دارایی های شما ( Attack surface )اجرا کنند و اطلاعات شبکه شما را سرقت کنند.دارایی های دیجیتال یک سازمان شامل:
Known assets:
سایت ها و سرویس هایی(سرورها) که شما در حال حاظر دارید از آن ها استفاده می کنید و به دامین ها و ساب دامین ها شما وصل هستند.
Unknown assets:
بعضی از ساب دامین های شما که پروژه های قدیمی بوده دیگر توسعه آن متوقف شده و مورد استفاده شما قرار نمی گیرد مثل CMS WordPress که اکثر سازمان ها در کنار وب سایت های اصلی خود دارند.
Rogue assets:
تمامی Threat Actors ها (هکرها) که با استفاده از typosquatting ( دامین های شبیه به سازمان شما) قصد فیشینگ دارند. یا برنامه موبایل شبیه شما می سازند برای اینکه جای شما خود را جا بزنند.
Vendors:
هر نوع دستگاه یا Application که شما مورد استفاده قرار می دهید در صورتی که مورد نفوذ قرار بگیرند شما مورد Supply chain Attack قرار خواهید گرفت مثال بارز solarwinds که گروه nobelium آن را هک کرده بود و بکدور را در برنامه های مانیتورینگ solarwinds قرار داده بود.
درصد امنیت به تعداد سرورها یا سرویس ها شبکه ربط ندارد هر دستگاه یا سروری که آسیب پذیر باشد یک تهدید محسوب می شود و هکر از هر جا وارد بشود منتهی به Ransomware یا Data leak برای سازمان شما خواهد شد.لذا همان طور که در پست های قبل در مورد Open source intelligence techniques صحبت کردیم و گفتیم هکرها می توانند نقاط ضعف شما را کشف کنند به عنوان یک سازمان شما نیز می توانید تمامی دارایی های خود را لیست و ارزیابی کنید.
Attack surface analysis(ASA) با Vulnerability scanning متفاوت هست شما در اولین مورد دامین ساب دامین سرویس ها میل و … را کشف می کنید و ارزیابی می کنید در دومین مورد شما دامین ها را دارید و آن ها را اسکن می کنید تا از آسیب پذیر یا نبودن آن ها آگاه شوید.همچنین ASA به تنهایی کافی نیست شما باید مانیتور بر دارایی های خود داشته باشید تا در صورت مشاهده یک تهدید آن را رفع کنید
چرا Attack surface Management مهم هست ؟
ASM به این دلیل مهم هست که در طول زمان دارایی سازمان ها شما افزوده می شوند و این تداول در مانیتور آن ها به شما کمک می کند تا
تمامی دارایی های (سخت افزار یا نرم افزار) قدیمی و جدید را شناسایی کنید
لیست دامین های Typo شناسایی کنید برای جلوگیری از فیشینگ
لیست دارایی های که End of line یا بروز رسانی نشده اند را شناسایی کنید (Patch Tuesdays)
در بخش توسعه نرم افزار لیست Library ها یا برنامه های اوپن سورس که در شبکه تان مورد استفاده قرار می دهید را شناسایی کنید( خیلی از بکدورها معمولا لایبری های آلوده وارد سازمان ها می شوند.)
یک مدیریت بر Vendor داشته باشید در صورت کشف آسیب پذیری ترتیب اثر بدهید.
نکته: Attack surface علاوه بر اینکه مربوط به شبکه باشد به مراحل توسعه نرم افزار نیز مرتبط هست
معمولا توسعه دهنده ها تمرکز کمتری در امنیت نرم افزارهایی که توسعه می دهند دارند.مثل نوشتن کد امن نحوه ذخیره سازی داده ها.استفاده از لایبری های مطمن.
برای امنیت در توسعه نرم افزار توسعه دهندگان باید به نکات زیر نیز توجه کنند.
مسیرهایی حساس در نرم افزار وب موبایل و … باید محافظت شوند و هر کسی یا هر سطح دسترسی به آن ها نباید دسترسی داشته باشد.یوزر و پسوردها نباید به صورت پیش فرض یا هارد کد شده مورد استفاده قرار بگیرند. در ذخیره سازی فایل های Certificate یا API در نرم افزار باید نکات امنیتی را رعایت کرد.
معمولا هکرها یا کسانی که Bugbounty می کنند به دنبال موارد زیر از نرم افزارهایی که شما توسعه می دهید هستند:
User interface (UI) forms and fields
HTTP headers and cookies
APIs
Files
Databases
Other local storage
Email or other kinds of messages
Runtime arguments
Login/authentication entry points
Admin interfaces
و ... هستند.
شما می توانید کدهای که توسعه می دهید به صورت اتوماتیک مورد ارزیابی امیتی قرار بدهید با کمک sonarqube یا به صورت پویا از openvas owasp zap استفاده کنید.
مراحل ASM
۱.شناسایی دارایی ها Discovery
۲.دسته بندی Vendor ها
CVSS .۳ در صورت کشف آسیب پذیری
۴. تکرار مرحله ۱ تا ۳
۵. شناسایی دارایی های مخرب phishing malware
Discovery
برای شناسایی دارایی های سازمان نیازمند استخراج
وب اپلیکیشن سرویس ها و API
برنامه های موبایل و Backend آن ها
ذخیره سازهای ابری و دستگاه های شبکه
DNS, SSL , IP
IoT device IP camera
Github, Bigbucket بررسی کدهای گیت هاب سازمای که API افشا شده یا نه
ایمیل های سازمانی و بررسی که هک شده اند یا نه
سابقه هک دامین ها ساب دامین
سابقه domain rep ip rep email rep سازمان
بررسی اطلاعات دارک وب pastebin از سازمان
شبکه های اجتماعی اصلی سازمان و همچنین کارمندهای C-lEVEL
بررسی آسیب پذیری
پس از بدست آوردن دارایی ها باید آن ها را ارزیابی کنیم که چقدر می توانند شبکه را در خطر قرار دهند
Mail server configuration SPF, DKIM, DMARC
ورژن SSL و بررسی تنظیمات سرور
بررسی پلاگین ها و تکنولوژی های مورد استفاده بر روی دامین ها و ساب دامین ها
پورت های باز بررسی ورژن سرویس ها بررسی Vendor های شبکه بر اساس Common vulnerability Exposure و Common Vulnerability platform این فرآیند به صورت پسیو با استفاده از سایت های آنلاین مثل Shodan censys و … انجام می شود.
کشف CMSهای سازمان و آنالیز آسیب پذیری آن ها
استخراج User های مربوط به سرویس ها