የግሬሴኪዩሪቲ ፕሮጀክት ገንቢዎች
የHKSP ጥገናዎች በHuawei ተቀጣሪ የታተሙ ሲሆን በ GitHub ፕሮፋይል ውስጥ የሁዋዌን መጥቀስ ያካትቱ እና የፕሮጀክቱን ስም ለመፍታት Huawei የሚለውን ቃል ይጠቀሙ (HKSP Huawei Kernel Self Protection ማለት ነው)። በተመሳሳይ ጊዜ የHuawei ተወካዮች የ HKSP ፕሮጀክትን ከኩባንያው ጋር ያለውን ግንኙነት ውድቅ አድርገው ኮዱ በሠራተኛው የግል ተነሳሽነት ላይ የተገነባ መሆኑን ገልፀው ኦፊሴላዊ የ Huawei ፕሮጀክት አይደለም እና በዚህ ኩባንያ ምርቶች ውስጥ ጥቅም ላይ አይውልም ። በርቷል
HKSP በ cred መዋቅር ውስጥ ያሉ ማካካሻዎችን በዘፈቀደ ማድረግ፣ በተጠቃሚ መለያዎች ስም ቦታ ላይ ከሚሰነዘረው ጥቃት መከላከል (pid namespace)፣ የሂደቱን ቁልል ከኤምኤምፓ አካባቢ መለየት፣ ወደ kfree ተግባር ድርብ ጥሪ መለየት፣ ፍንጣቂዎችን ማገድን የመሳሰሉ ለውጦችን ያጠቃልላል። በ pseudo-FS/proc (/proc/ {ሞዱሎች፣ ቁልፎች፣ ቁልፍ ተጠቃሚዎች}፣ /proc/sys/kernel/* እና /proc/sys/vm/map_min_addr፣ /proc/kallsyms)፣ የተሻሻለ የተጠቃሚ ቦታ አድራሻ በዘፈቀደ ማድረግ፣ ተጨማሪ የ Ptrace ደህንነት ፣ የጠንካራ smap እና የ smep ደህንነት ፣ መረጃን በጥሬ ሶኬቶች መላክን መከልከል ፣ በ UDP ሶኬቶች ውስጥ የተሳሳቱ አድራሻዎችን ማገድ እና የአሂድ ሂደቶችን ትክክለኛነት ማረጋገጥ። ጥቅሉ የ Ksguard kernel ሞጁሉንም ያካትታል፣ ይህ ደግሞ የተለመዱ rootkits ለማስተዋወቅ የተደረጉ ሙከራዎችን ለማወቅ ነው።
ለምሳሌ
በGrsecurity ገንቢዎች በ patch ላይ የተደረገ ጥናት በኮዱ ውስጥ ብዙ ስህተቶችን እና ድክመቶችን ያሳየ ሲሆን እንዲሁም የፕሮጀክቱን አቅም በበቂ ሁኔታ ለመዳኘት የሚያስችል የማስፈራሪያ ሞዴል አለመኖሩን አሳይቷል። ኮዱ ደህንነቱ የተጠበቀ የፕሮግራም አወጣጥ ዘዴዎችን ሳይጠቀም መጻፉን በግልፅ ለማሳየት በአስተዳዳሪው ውስጥ ቀላል የማይባል ተጋላጭነት ምሳሌ ተሰጥቷል።
/proc/ksguard/state file, በ 0777 ፍቃዶች የተፈጠረ, ይህም ማለት ሁሉም ሰው ሊጽፍበት ይችላል. ለ/proc/ksguard/state የተፃፉ ትዕዛዞችን ለመተንተን ጥቅም ላይ በሚውለው የksg_state_write ተግባር ውስጥ tmp[32] ቋት ይፈጠራል ይህም መረጃ በተላለፈው ኦፔራንድ መጠን ላይ ተመስርቶ የዒላማ ቋት መጠንን ከግምት ውስጥ ሳያስገባ እና የሕብረቁምፊውን መጠን መለኪያ ሳያረጋግጡ. እነዚያ። የከርነል ቁልል በከፊል ለመፃፍ አጥቂው በልዩ ሁኔታ የተሰራ መስመር ለ/proc/ksguard/state ብቻ መፃፍ አለበት።
static ssize_t ksg_state_write(የመዋቅር ፋይል *ፋይል፣const char __user *buf፣
መጠን_ቲ ሌንስ፣ loff_t *ማካካሻ)
{
u64እሴት;
ቻር tmp[32];
መጠን_t n = 0;
ከሆነ (ከተጠቃሚው_ቅጅ(tmp, buf, len))
መመለስ -1;
እሴት = simple_strtoul (tmp, '\0', 10);
...
ምሳሌን ተጠቀም፡
ቻርቡፍ[4096] = {};
int fd = ክፍት ("/proc/ksguard/state", O_WRONLY);
ከሆነ (fd >= 0) {
ጻፍ (fd, buf, sizeof (buf));
ዝጋ (fd);
}
ምንጭ: opennet.ru