موضوع از این قراره که شرکتها نیاز به یک artifactory دارن که بتونن روی اون imageها و packageها و کلا این دست چیزها رو قرار بدن.
مثلا داکرهاب یه نمونه.
یک نرم افزازی از کشور دوست و همسایه، اسرائیل، تحت عنوان JFrog موجوده که همین artifactory هست در عمل و میشه گرفت و setup کرد و به صورت private برای شرکت شخصی راه انداخت.
بعد میتونید خیلی خوب یه سری repository بسازید که مثلا مال داکره یا مال node هست یا کلا این موارد و داخلش push کنید موارد مورد نیاز رو و یا همچنین pull کنید.
از طرفی cache هم داره و میتونه از پشت هم مثلا یه داکر یا جاهای دیگه وصل شه که اگر ایمیجی نبود بره از اونجا بیاره.
معمولا پشتش یه s3 هم هست که اونجا ذخیره کنه.
مثلا داکرهاب یه نمونه.
یک نرم افزازی از کشور دوست و همسایه، اسرائیل، تحت عنوان JFrog موجوده که همین artifactory هست در عمل و میشه گرفت و setup کرد و به صورت private برای شرکت شخصی راه انداخت.
بعد میتونید خیلی خوب یه سری repository بسازید که مثلا مال داکره یا مال node هست یا کلا این موارد و داخلش push کنید موارد مورد نیاز رو و یا همچنین pull کنید.
از طرفی cache هم داره و میتونه از پشت هم مثلا یه داکر یا جاهای دیگه وصل شه که اگر ایمیجی نبود بره از اونجا بیاره.
معمولا پشتش یه s3 هم هست که اونجا ذخیره کنه.
👍2
این JFrog یک helm chart خوبی هم داره که روی کوبر بیاد بالا.
ساختار ولی چه شکلیه؟ یه nginx میاد رو قرار میگیره که درخواستا برسن با اون و اون بده به jfrog.
خود jfrog ولی چجوریه؟ یه http setting داره که میتونی تنظیم کنی لایه دریافتش چی باشه. بای دیفالت tomcat هست ولی میشه به nginx هم تغییرش داد. درواقع این با اون nginx اولی فرق داره. به عبارتی اون nginx اصلی نیاد میزنه به این tomcat یا nginx که مال خود jfrog هست.
این در نهایت مسئلهای بود که مهدی روش بود ولس خب چون چالشاش جذاب بود منم سعی کردم تا حدی درگیرش بشم.
مسئله اول اینکه خب کد جاواست. لذا خیلی بدیهی heap میخوره و هی باید سایزشو برد بالاتر که جاوا بتونه هیپ بیشتری استفاده کنه. دوم اینکه tomcat یک سایز بافر ثابتی داره و اگر اون nginx اولی از سر راه برداشته شه خیلی فشار بیشتری میاد به jfrog و هی down میشه.
ولی مسئله اصلی خیلی مسئله بامزهتر و جالبتریه.
ساختار ولی چه شکلیه؟ یه nginx میاد رو قرار میگیره که درخواستا برسن با اون و اون بده به jfrog.
خود jfrog ولی چجوریه؟ یه http setting داره که میتونی تنظیم کنی لایه دریافتش چی باشه. بای دیفالت tomcat هست ولی میشه به nginx هم تغییرش داد. درواقع این با اون nginx اولی فرق داره. به عبارتی اون nginx اصلی نیاد میزنه به این tomcat یا nginx که مال خود jfrog هست.
این در نهایت مسئلهای بود که مهدی روش بود ولس خب چون چالشاش جذاب بود منم سعی کردم تا حدی درگیرش بشم.
مسئله اول اینکه خب کد جاواست. لذا خیلی بدیهی heap میخوره و هی باید سایزشو برد بالاتر که جاوا بتونه هیپ بیشتری استفاده کنه. دوم اینکه tomcat یک سایز بافر ثابتی داره و اگر اون nginx اولی از سر راه برداشته شه خیلی فشار بیشتری میاد به jfrog و هی down میشه.
ولی مسئله اصلی خیلی مسئله بامزهتر و جالبتریه.
چالشی که منو مهدی خوردیم این بود:
موقعی که jfrog اومد بالا و همهچی setup شد، ما یک دامنه روش ست کردیم و بردیم پشت آروان.
مسئله این بود که pull و push انجام نمیشد. به عبارتی layerهای یک image هی شروع میکردن به retry شدن ولی push نمیشدن.
گهگاهی یه سری layerها push میشدن ولی image هرگز کامل نمیرفت توی artifactory و یا اینشکلی بود که میگفت که یک مشکلی روی layer آخر داره، یا که بعد از یک سری retry در نهایت میزد unauthorized.
ما خیلییییی زیاد سر این مسئله بودیم و بالا پایین کردیم. هی nginx رو دست کاری کردیم یا خود تنظیمات jfrog رو ولی درست نمیشد.
حالا به طور خلاصه از اینکه دیباگش چجوری بود بگذریم در نهایت مشکل اینجوری حل شد که اگر دامنه رو از پشت proxy بر میداشتیم، بدون هیچ مشکلی image ما push میشد. کار جالبی نیست ولی خب اینجوری مشکل حل میشد.
موقعی که jfrog اومد بالا و همهچی setup شد، ما یک دامنه روش ست کردیم و بردیم پشت آروان.
مسئله این بود که pull و push انجام نمیشد. به عبارتی layerهای یک image هی شروع میکردن به retry شدن ولی push نمیشدن.
گهگاهی یه سری layerها push میشدن ولی image هرگز کامل نمیرفت توی artifactory و یا اینشکلی بود که میگفت که یک مشکلی روی layer آخر داره، یا که بعد از یک سری retry در نهایت میزد unauthorized.
ما خیلییییی زیاد سر این مسئله بودیم و بالا پایین کردیم. هی nginx رو دست کاری کردیم یا خود تنظیمات jfrog رو ولی درست نمیشد.
حالا به طور خلاصه از اینکه دیباگش چجوری بود بگذریم در نهایت مشکل اینجوری حل شد که اگر دامنه رو از پشت proxy بر میداشتیم، بدون هیچ مشکلی image ما push میشد. کار جالبی نیست ولی خب اینجوری مشکل حل میشد.
👍3
ما دنبال این بودیم که چرا وقتی cdn فعال میشه، همچین مشکلی پیش میاد. ما اول فکر کردیم مشکل از آروان هست ولی وقتی پشت cloudflare هم بردیم فهمیدیم همین میشه دقیقا.
با خود docker هم نمیشد فهمید مشکل چیه اصلا چون خطای واضحی نشون نمیداد.
درنهایت ما با
https://github.com/containers/skopeo
شروع کردیم به دیباگ کردن.
مسئله چیه ولی حالا؟ خروجی دیباگ به عبارتی. موقعی که پشت cdn قرار داره و یا به عبارتی proxy فعاله، خود cdn هم بر اساس قابلیتی که داره میخواد بیاد layerای که داره فرستاده میشه رو cache کنه و در نهایت اون چیزی که داره میفرسته سمت jfrog واقعا همون چیزی نیست که از سمت ما ارسال شده. به عبارتی حجم خیلی فرق میکنه چون مثلا یجورایی انگار جمع کرده چنتا رو (در همین حین که داره cache هم میکنه) و بعدش میفرسته. واسه همین زمانی که از پشت proxy بیاد بیرون دیگه این اتفاق نمیوفته و راحت image میره push میشه.
نکته جالبتر برای من این بود که این اتفاق توی imageهایی با سایز کمتر خیلی بیشتر اتفاق میوفتاد تا imageهای سایز بالا. یعنی یه image با سایز حدودا ۲ ۳ گیگ بعد از چندبار retry کردن push میشد ولی imageهای سایز پایین اصلا.
درنهایت دوتا راهحل داشت. یک اینکه از همون پشت proxy برش داریم. دو اینکه توی اون nginx اولی یک هدر client_max_body_size ست کنیم و سایزش رو بذاریم مثلا 10gb تا اوکی شه.
اون موقع که هی سرچ میکردم ببینم مشکلش چیه، بنظر یک ایشو باز هم بود توی خود jfrog که هنوزم حل نشده. میشه بدیهی رفت resolve کرد. مشکل مال طرفای 2020 بود. لینکشو مجدد پیدا کنم میفرستم.
با خود docker هم نمیشد فهمید مشکل چیه اصلا چون خطای واضحی نشون نمیداد.
درنهایت ما با
https://github.com/containers/skopeo
شروع کردیم به دیباگ کردن.
مسئله چیه ولی حالا؟ خروجی دیباگ به عبارتی. موقعی که پشت cdn قرار داره و یا به عبارتی proxy فعاله، خود cdn هم بر اساس قابلیتی که داره میخواد بیاد layerای که داره فرستاده میشه رو cache کنه و در نهایت اون چیزی که داره میفرسته سمت jfrog واقعا همون چیزی نیست که از سمت ما ارسال شده. به عبارتی حجم خیلی فرق میکنه چون مثلا یجورایی انگار جمع کرده چنتا رو (در همین حین که داره cache هم میکنه) و بعدش میفرسته. واسه همین زمانی که از پشت proxy بیاد بیرون دیگه این اتفاق نمیوفته و راحت image میره push میشه.
نکته جالبتر برای من این بود که این اتفاق توی imageهایی با سایز کمتر خیلی بیشتر اتفاق میوفتاد تا imageهای سایز بالا. یعنی یه image با سایز حدودا ۲ ۳ گیگ بعد از چندبار retry کردن push میشد ولی imageهای سایز پایین اصلا.
درنهایت دوتا راهحل داشت. یک اینکه از همون پشت proxy برش داریم. دو اینکه توی اون nginx اولی یک هدر client_max_body_size ست کنیم و سایزش رو بذاریم مثلا 10gb تا اوکی شه.
اون موقع که هی سرچ میکردم ببینم مشکلش چیه، بنظر یک ایشو باز هم بود توی خود jfrog که هنوزم حل نشده. میشه بدیهی رفت resolve کرد. مشکل مال طرفای 2020 بود. لینکشو مجدد پیدا کنم میفرستم.
GitHub
GitHub - containers/skopeo: Work with remote images registries - retrieving information, images, signing content
Work with remote images registries - retrieving information, images, signing content - containers/skopeo
👍3
بحث AI کلا برای مردم جذابه و اینکه خیلی این حرف جدیدا هست که قراره بیاد توی همهچی دخالت کنه و اینا.
توی CTFها اخیرا سوالات مربوط به AI دیده میشد کمابیش. از اینا که یک مدل رو jailbreak کنیم یا که یه سری کارا با transformer توی pytorch و اینجور چیزا بود. (چون خیلی نمیدونم چیه و چیزی هم حل نکردم خیلی detail هم نمیدم)
حالا این اواخر این دست سوالای AI زیاد شده توی CTFها. (و خب این خیلی جالبه که توی مسابقات امنیتی هم اینقدر نفوذ کرده) ولی امروز یک چیز خیلی جالب باهاش برخوردم که برام خیلی عجیب بود. بنظر امروز یک CTFای داره برگزار میشه به اسم
Singapore AI CTF
که بنظر وابسته هم هست به government خود سنگاپور و لیترالی از اون سمت داره برگزار میشه. سوالاتشم در حوزههای:
1) Data Analysis
2) Model Extraction
3) Model Fingerprinting
4) Prompt Injection
5) Adversarial AI Image
6) Adversarial Audio Generation
7) Model Inversion
هست.
جایزههاشم خیلی گندس حتی. به طوری که به تیم اول حدود ۷۵۰۰ دلار امریکا میده (۱۰هزارتا دلار خود سنگاپور)
خلاصه که بنظر دیگه لیترالی AI داره همهجا نفوذ میکنه.
توی CTFها اخیرا سوالات مربوط به AI دیده میشد کمابیش. از اینا که یک مدل رو jailbreak کنیم یا که یه سری کارا با transformer توی pytorch و اینجور چیزا بود. (چون خیلی نمیدونم چیه و چیزی هم حل نکردم خیلی detail هم نمیدم)
حالا این اواخر این دست سوالای AI زیاد شده توی CTFها. (و خب این خیلی جالبه که توی مسابقات امنیتی هم اینقدر نفوذ کرده) ولی امروز یک چیز خیلی جالب باهاش برخوردم که برام خیلی عجیب بود. بنظر امروز یک CTFای داره برگزار میشه به اسم
Singapore AI CTF
که بنظر وابسته هم هست به government خود سنگاپور و لیترالی از اون سمت داره برگزار میشه. سوالاتشم در حوزههای:
1) Data Analysis
2) Model Extraction
3) Model Fingerprinting
4) Prompt Injection
5) Adversarial AI Image
6) Adversarial Audio Generation
7) Model Inversion
هست.
جایزههاشم خیلی گندس حتی. به طوری که به تیم اول حدود ۷۵۰۰ دلار امریکا میده (۱۰هزارتا دلار خود سنگاپور)
خلاصه که بنظر دیگه لیترالی AI داره همهجا نفوذ میکنه.
💔7❤2🔥2
یه چیز دیگم که هست اینه که خیلی جدی داره پیشرفت میکنه دیگه AI و مخصوصا این generative aiها و LLMها. من مثلا از پارسال همین موقعها که شروع کردم خیلی جدی CTF پلی میدادم، برای حل سوالا (مخصوصا pwn که کار با سی و اسمبلی هست بیشتر) میرفتم سراغ chat gpt، اصلا نمیتونست کمک کنه. یعنی حالا اگه کد c میدید تا یه حدی میتونست بگه که آسیبپذیری فلان جاست ولی دیگه exploit نمیتونست بکنه. یا اگر میکرد هم کدش کامل غلط بود و باید edit میزدی کامل روش. حالا دیگه اسمبلی که بهش میدادی میمرد کلا دیگه.
به همین جهت دیگه من سمتش نمیرفتم اصلا برای حل سوال چون میدونستم کمکی نمیکنه. ولی این مدل 4o که اومد من هفتهی پیش یکم بار ور رفتم و یه سری سوال دادم بهش و خیلی راحت حل کرد. یعنی ایدهی تک تک سوالا رو درست میگفت. exploitش هم ۸۰ درصد درست بود. یعنی نهایتا باید یه سری آدرس رو خودت در میوردی و جایگزین میکردی.
یه چیز جالبتر اینکه دیگه اسمبلی هم خیلی خوب میفهمه و تحلیل میکنه. من مثلا هفتهی پیش یه CTF بود که ۳ تا سوال 100امتیازی داشت (سوالا آسون بودن و زیاد حل شده بودن) دادم به chat gpt و همهشون رو حل کرد. به طوری که حتی نیاز نبود چیزی از کدش رو تغییر بدم حتی. البته بهش ۳تا سوال pwn دادم که ۲تاش سخت بود و یکیش همون ۱۰۰ امتیازی بود ولی خب فقط هم همون ۱۰۰ امتیازی رو حل کرد و دوتای دیگه رو نتونست. ولی خب اینکه دیگه نسبت به پارسال اینقدر پیشرفت داشته خیلی جالبه و احتمالا دور از انتظار نیست که باقی سوالات رو هم حل کنه.
به همین جهت دیگه من سمتش نمیرفتم اصلا برای حل سوال چون میدونستم کمکی نمیکنه. ولی این مدل 4o که اومد من هفتهی پیش یکم بار ور رفتم و یه سری سوال دادم بهش و خیلی راحت حل کرد. یعنی ایدهی تک تک سوالا رو درست میگفت. exploitش هم ۸۰ درصد درست بود. یعنی نهایتا باید یه سری آدرس رو خودت در میوردی و جایگزین میکردی.
یه چیز جالبتر اینکه دیگه اسمبلی هم خیلی خوب میفهمه و تحلیل میکنه. من مثلا هفتهی پیش یه CTF بود که ۳ تا سوال 100امتیازی داشت (سوالا آسون بودن و زیاد حل شده بودن) دادم به chat gpt و همهشون رو حل کرد. به طوری که حتی نیاز نبود چیزی از کدش رو تغییر بدم حتی. البته بهش ۳تا سوال pwn دادم که ۲تاش سخت بود و یکیش همون ۱۰۰ امتیازی بود ولی خب فقط هم همون ۱۰۰ امتیازی رو حل کرد و دوتای دیگه رو نتونست. ولی خب اینکه دیگه نسبت به پارسال اینقدر پیشرفت داشته خیلی جالبه و احتمالا دور از انتظار نیست که باقی سوالات رو هم حل کنه.
🔥3👍2
حالا این بحث longterm خودش چیز جالبیه دیگه. چون عملا ctfها یک سری سوالات مشت نمونهی خروار real worldن. یعنی همچین آسیبپذیریهایی واقعا در کدهای open source وجود داره و exploit شدن این پروژهها. پس حالا وقتی که یه مدل ai اینقدر راحت میتونه حل کنه و exploit کنه، احتمالا دیگه تنش زیادی هم خواهد بود که دنیا بره به سمتی که کلا سعی کنن توی ریسرچهای سمت امنیت، با استفاده از ai شروع کنن به exploit کردن.
من پارسال روی یه موضوعی ریسرچ میکردم که دقیقا دنبال همین بود که با استفاده از llmها و gnnها بیاد سعی کنه گرافهای کدها رو بسازه و سعی کنه توی اونها یک سری آنومالی پیدا کنه که exploit کنه. و خب این مقالات یهو خیلی سریع اومدن و خیلی دیس بزرگی هم دادن به بقیه کارها. مثلا تقریبا ۲۰ ساله داره روی این کار میشه که بیان کدها رو به صورت automate شده exploit کنن و سیر عظیمی از مقالات بوده که چجوری pattern پیدا کنیم. چجوری graph کنیم. چجوری حالا این graph رو سعی کنیم توش اسیبپذیری پیدا کنیم. چجوری این رو فیکس کنیم حالا. چجوری گراف فیکس شده رو بیاییم مجدد کد کنیم. و هر کدوم از اینا خودش جدا جدا حوزههای ریسرچ هست سمت امنیت و هر کدومش مقالههای گندهای داره و بعدش مثلا یه مقاله اومد که با استفاده از gnn تمام این کارا رو میکرد. گراف میکرد، آنومالی پیدا میکرد، exploit میکرد و فیکس میکرد و مجدد کد میکرد.
من پارسال روی یه موضوعی ریسرچ میکردم که دقیقا دنبال همین بود که با استفاده از llmها و gnnها بیاد سعی کنه گرافهای کدها رو بسازه و سعی کنه توی اونها یک سری آنومالی پیدا کنه که exploit کنه. و خب این مقالات یهو خیلی سریع اومدن و خیلی دیس بزرگی هم دادن به بقیه کارها. مثلا تقریبا ۲۰ ساله داره روی این کار میشه که بیان کدها رو به صورت automate شده exploit کنن و سیر عظیمی از مقالات بوده که چجوری pattern پیدا کنیم. چجوری graph کنیم. چجوری حالا این graph رو سعی کنیم توش اسیبپذیری پیدا کنیم. چجوری این رو فیکس کنیم حالا. چجوری گراف فیکس شده رو بیاییم مجدد کد کنیم. و هر کدوم از اینا خودش جدا جدا حوزههای ریسرچ هست سمت امنیت و هر کدومش مقالههای گندهای داره و بعدش مثلا یه مقاله اومد که با استفاده از gnn تمام این کارا رو میکرد. گراف میکرد، آنومالی پیدا میکرد، exploit میکرد و فیکس میکرد و مجدد کد میکرد.
🔥2🆒1
حالا کلا ریسرچ تو سیستم که همینه. سخت و اذیت کننده و بعضا همین شکلی که یهو یه چی میاد کل مسئلهت رو یه جا حل میکنه.
ولی یادمه یه زمانی آقای خوشهچین توی چنلش مینوشت که چجوری اگر با استفاده از این مطالب تئوری trust و verification اینا جلو بریم و کد بزنیم، باعث میشه خطا نخوریم و یا کلا فیکس بشن این مشکلات. بنظرم الان دیگه بیشتر میره سمت اینکه ملت سعی کنن با ai کد بزنن که خطاهای انسانی نداشته باشن، یا که برن سراغ اینکه از verification اینها استفاده کنن.
ولی یادمه یه زمانی آقای خوشهچین توی چنلش مینوشت که چجوری اگر با استفاده از این مطالب تئوری trust و verification اینا جلو بریم و کد بزنیم، باعث میشه خطا نخوریم و یا کلا فیکس بشن این مشکلات. بنظرم الان دیگه بیشتر میره سمت اینکه ملت سعی کنن با ai کد بزنن که خطاهای انسانی نداشته باشن، یا که برن سراغ اینکه از verification اینها استفاده کنن.
👌2
توی یه ایمیج داکریم که root هم نیست. apt (یا حالا هر پکیج منیجری) بزنیم کار نمیکنه. پس نه میتونیم چیزی نصب کنیم نه هیچی کلا.
نیاز دارم که netstat بزنم و ندارمش و نصب هم نمیتونم بکنم. ss هم ندارم.
این کارم رو حل کرد:
https://staaldraad.github.io/2017/12/20/netstat-without-netstat/
نیاز دارم که netstat بزنم و ندارمش و نصب هم نمیتونم بکنم. ss هم ندارم.
این کارم رو حل کرد:
https://staaldraad.github.io/2017/12/20/netstat-without-netstat/
Staaldraad
netstat without netstat
Recently I was doing an assessment in a locked down and restricted environment. One of the first actions you tend to do when landing a shell on a [linux] box is to do some reconnaissance. This is both on host and network, as you want to determine what new…
👍4⚡1
به زودی میخوایم راجعبه این مسئله صحبت کنم که:
از کجا بفهمیم ریسورسی که دستمونه واقعیه؟
مثلا ما میریم یه vps میگیریم ۲ کور و ۲ گیگ. چجوری واقعا تست کنیم که آیا ما داریم واقعا از ۲ کور استفاده میکنیم یا نه. یا حالا نه صرفا vps. مثلا یه کانتینر. یه پاد کوبر. هرچی. درواقع نمیخوایم top بزنیم که مانیتور کنیم. میخوایم ببینیم واقعا چقدر از فرکانس cpu رو داریم.
از کجا بفهمیم ریسورسی که دستمونه واقعیه؟
مثلا ما میریم یه vps میگیریم ۲ کور و ۲ گیگ. چجوری واقعا تست کنیم که آیا ما داریم واقعا از ۲ کور استفاده میکنیم یا نه. یا حالا نه صرفا vps. مثلا یه کانتینر. یه پاد کوبر. هرچی. درواقع نمیخوایم top بزنیم که مانیتور کنیم. میخوایم ببینیم واقعا چقدر از فرکانس cpu رو داریم.
👍17
Tolou Man
Mohsen Namjoo
حالا که دل تنگی داره رفیق تنهایم میشه
کوچه ها نارفبق شدن
حالا که هی میخوان شب و روز به همدیگه دروغ بگن
ساعتها هم دقیق شدن
🌟DutchmanMusic
کوچه ها نارفبق شدن
حالا که هی میخوان شب و روز به همدیگه دروغ بگن
ساعتها هم دقیق شدن
🌟DutchmanMusic
🤷♂4❤3🥱1
تراپیستم بهم گفت مشکل از ایران و ایرانی نیست، مشکل از خودته.
مبارک همهتون.
مبارک همهتون.
👍28😁5
Forwarded from Dutchman
بنظر شعر:
بسوزد زندان سوخت جگرم
دوست دخترم مادر شد و من هنوز پسرم
یک غزل واقعی هست که استاد شهریار سرودن.
بسوزد زندان سوخت جگرم
دوست دخترم مادر شد و من هنوز پسرم
یک غزل واقعی هست که استاد شهریار سرودن.
👍3❤1🗿1
Forwarded from Dutchman
افسانهها حاکی از آن است که استاد شهریار مثکه روز ۱۳ فروردین میره بیرون (باغی جایی) و اونجا عشق دیرینهش رو میبینه که اون هم اتفاقا اونجاست و میبینه که ازدواج کرده و بچهدار هم شده و به همین دلیل هست که اصلا بیت ۸ ام رو میگه که من آن سیزدهم کز همه عالم به درم.
💔3👍1