Кіріспе
Компьютерлік жүйелерді сынау мақсатындағы рұқсат етілген кибершабуыл – компьютерлік жүйеге жасалатын рұқсат етілген кибершабуыл, жүйе қауіпсіздігін бағалау үшін жүзеге асырылады; бұл осалдықтарды бағалаумен шатастырылмауы керек. Сынақ жүйенің әлсіз жерлерін (немесе осал тұстарын) анықтауға, соның ішінде уәкілетті емес тараптардың жүйелік мүмкіндіктерге және деректерге қол жеткізу мүмкіндігіне, сондай-ақ күшті жақтарын анықтауға арналған, бұл толық тәуекелді бағалауды аяқтауға мүмкіндік береді. Әдетте, процесс мақсатты жүйелерді және нақты мақсатты анықтайды, содан кейін қолжетімді ақпаратты қарастырып, осы мақсатқа жету үшін әртүрлі тәсілдерді қолданады. Енгізу сынағының нысанасы – ақ қорап (тестілеушіге жүйе туралы алдын ала ақпарат беріледі) немесе қара қорап (компания атауынан басқа негізгі ақпарат ғана беріледі) болуы мүмкін. Сұр қорап енгізу сынағы – екеуінің аралас түрі (аудитор мақсат туралы шектеулі біліммен бөліседі). Енгізу сынағы жүйенің шабуылға ұшырауы мүмкін осал тұстарын анықтауға және оның қаншалықты осал екенін бағалауға көмектеседі. Енгізу сынағының есебі ұйымға тигізетін ықтимал әсерлерді бағалауға және тәуекелді азайту үшін қаусыздандыру шараларын ұсынуға мүмкіндік береді. Енгізу сынағының мақсаттары берілген тапсырма үшін бекітілген қызмет түріне байланысты өзгереді, бірақ негізгі мақсат – зиянды ниеті бар адамдардың пайдалана алатын осалдықтарды анықтау және клиентті осы осалдықтар туралы, сондай-ақ ұсынылған түзету стратегиялары туралы хабардар ету болып табылады. Енгізу сынақтары – толық қауіпсіздік аудитінің құрамдас бөлігі. Мысалы, Төлем карталары индустриясының деректерді қорғау стандарты (PCI DSS) жүйелік өзгерістерден кейін және белгілі бір кезеңдерде енгізу сынағын талап етеді. Енгізу сынағы NIST тәуекелдерді басқару аясы SP 800-53-те сипатталған тәуекелдерді бағалауды қолдауға да көмектеседі. Енгізу сынақтарын жүргізу үшін бірнеше стандартты аялар мен әдістемелер бар. Оларға Open Source Security Testing Methodology Manual (OSSTMM), Penetration Testing Execution Standard (PTES), NIST Special Publication 800-115, Information System Security Assessment Framework (ISSAF) және OWASP Testing Guide кіреді. CREST, техникалық киберқауіпсіздік индустриясының коммерциялық емес кәсіби ұйымы, енгізу сынақтарын жүргізу кезінде индустрияға коммерциялық тұрғыдан сенімділік беру үшін басшылық ұсынатын CREST Defensible Penetration Test стандартын ұсынады. Ақаулық гипотезасы әдістемесі – жүйелерді талдау және енгізуді болжау техникасы, онда бағдарламалық жүйенің спецификациялары мен құжаттамасын талдау арқылы жүйедегі гипотезалық ақаулардың тізімі жасалады. Ақаулардың тізімі ақаудың нақты бар болу ықтималдығы және оны бақылау немесе жүйеге зиян келтіру деңгейіне дейін пайдаланудың қарапайымдығы негізінде басымдыққа ие болады. Басымдық берілген тізім жүйенің нақты сынағын жүргізу үшін қолданылады. Ұйымның мақсатына байланысты енгізу сынақтарының түрлері әртүрлі болуы мүмкін: Желілік (сыртқы және ішкі), Сымсыз, Веб-қосымшалар, Әлеуметтік инженерия және Түзетуді тексеру.
testing of computer systems
A penetration test, colloquially known as a pentest, is an authorized simulated cyberattack on a computer system, performed to evaluate the security of the system; this is not to be confused with a vulnerability assessment. The test is performed to identify weaknesses (or vulnerabilities), including the potential for unauthorized parties to gain access to the system's features and data, as well as strengths, enabling a full risk assessment to be completed. The process typically identifies the target systems and a particular goal, then reviews available information and undertakes various means to attain that goal. A penetration test target may be a white box (about which background and system information are provided in advance to the tester) or a black box (about which only basic information other than the company name is provided). A gray box penetration test is a combination of the two (where limited knowledge of the target is shared with the auditor). A penetration test can help identify a system's vulnerabilities to attack and estimate how vulnerable it is. Penetration test reports may also assess potential impacts to the organization and suggest countermeasures to reduce the risk. The goals of a penetration test vary depending on the type of approved activity for any given engagement, with the primary goal focused on finding vulnerabilities that could be exploited by a nefarious actor, and informing the client of those vulnerabilities along with recommended mitigation strategies. Penetration tests are a component of a full security audit. For example, the Payment Card Industry Data Security Standard requires penetration testing on a regular schedule, and after system changes. Penetration testing also can support risk assessments as outlined in the NIST Risk Management Framework SP 800 53. Several standard frameworks and methodologies exist for conducting penetration tests. These include the Open Source Security Testing Methodology Manual (OSSTMM), the Penetration Testing Execution Standard (PTES), the NIST Special Publication 800 115, the Information System Security Assessment Framework (ISSAF) and the OWASP Testing Guide. CREST, a not for profit professional body for the technical cyber security industry, provides its CREST Defensible Penetration Test standard that provides the industry with guidance for commercially reasonable assurance activity when carrying out penetration tests. Flaw hypothesis methodology is a systems analysis and penetration prediction technique where a list of hypothesized flaws in a software system are compiled through analysis of the specifications and documentation for the system. The list of hypothesized flaws is then prioritized on the basis of the estimated probability that a flaw actually exists, and on the ease of exploiting it to the extent of control or compromise. The prioritized list is used to direct the actual testing of the system. There are different types of penetration testing, depending upon the goal of the organization which include: Network (external and internal), Wireless, Web Application, Social Engineering, and Remediation Verification.
Қауіпті жерлер
Тестерге заңсыз операцияларды орындауға мүмкіндік беретін заңды операциялар: экраны жоқ SQL командалары, көзге көрінетін бастапқы кодтағы өзгертілмеген хэштелген парольдер, адам факторлары және ескі хэштеу немесе криптографиялық функциялар. Бір ғана кемшілік сыни түрде қауіпті шабуылды іске асыруға жеткіліксіз болуы мүмкін. Көптеген белгілі кемшіліктерді пайдалану және пайдалы жүктемені жарамды операция сияқты етіп жасау көбінесе қажет. Metasploit жиі қолданылатын тапсырмалар үшін Ruby кітапханасын ұсынады және белгілі эксплойттердің дерекқорын сақтайды. Бюджет және уақыт шектеулері болғанда, фуззинг – осалдықтарды анықтауға көмектесетін кең таралған әдіс. Ол кездейсоқ деректер енгізу арқылы өңделмеген қателерді табуға бағытталған. Тестер кодтың сирек қолданылатын бөлімдеріне қол жеткізу үшін кездейсоқ деректерді пайдаланады. Жақсы тексерілген код бөлімдері әдетте қателерден таза болады. Қателер пайдалы, себебі олар қосымша ақпаратты ашады, мысалы, HTTP серверінің толық ақпараттық іздерімен құлауы немесе буфер асығу сияқты тікелей пайдаланыла алатын жағдайлар. Мысалы, веб-сайтта 100 мәтіндік өріс болсын. Олардың кейбіреуі белгілі бір тізбектерде SQL инъекцияларына осал болуы мүмкін. Осы өрістерге кездейсоқ тізбектерді жіберу арқылы, бұрыс код бөліміне тап болуға үміттенуге болады. Қате SQL қатесі салдарынан жартылай көрсетілген бұзылған HTML беті түрінде көрінеді. Бұл жағдайда тек мәтіндік өрістер ғана деректер ағыны ретінде қарастырылады. Дегенмен, бағдарламалық жүйелерде cookie және сессия деректері, жүктелген файл ағыны, RPC каналдары немесе жад сияқты көптеген деректер ағындары болуы мүмкін. Қателер осы деректер ағындарының кез келгенінде пайда болуы мүмкін. Тесттің мақсаты – бірінші кезекте өңделмеген қатені табу, содан кейін қателік неден туындады, оны түсіну. Тестер өз түсініктерін тексеру үшін автоматтандырылған құрал жазады, осылайша қателік дұрыс анықталғанша сынақтарды қайталайды. Содан кейін, мақсатты жүйе оны орындауын қозғау үшін пайдалы жүктемені қалай жинау керектігі анық болуы мүмкін. Егер бұл мүмкін болмаса, фуззер тапқан басқа қателіктер көбірек нәтиже беруі мүмкін. Фуззерді пайдалану эксплойттардың болуы күмәнді код бөлімдерін тексеруге кеткен уақытты үнемдейді.
Мемлекеттік стандартталған ену сынақтары
Жалпы қызмет көрсетулер басқармасы (GSA) «проникновение тесті» қызметін алдын ала сараланған қолдау қызметі ретінде стандарттады, бұл ықтимал осалдықтарды жылдам жою және АҚШ-тың федералды, штаттық және жергілікті үкіметтеріне әсер етуге дейін қарсыластарды тоқтату үшін жасалған. Бұл қызметтер көбінесе Жоғары бейімделмелі киберқауіпсіздік қызметтері (HACS) деп аталады және АҚШ GSA Advantage веб-сайтында тізімделген. Бұл күш-жігердің нәтижесінде осы жетілдірілген ену тестін ұсыну үшін техникалық сараптамадан өткен және сараланған негізгі қызмет провайдерлері анықталды. Бұл GSA қызметі осы қызметтерді жылдам тапсырыс беру және енгізуді жақсартуға, АҚШ үкіметтік келісімшарттарының дубликациясын азайтуға, сондай-ақ АҚШ инфрақұрылымын уақтылы және тиімді түрде қорғауға және қолдауға бағытталған. 132 45A Енгізу тестісі – бұл қауіпсіздікті тексеру түрі, онда қызмет саралаушылары нақты шабуылдарды имитациялап, қосымшаның, жүйенің немесе желінің қауіпсіздік мүмкіндіктерін айналып өту жолдарын анықтайды. HACS ену тесті қызметтері әдетте ұйымның активтер мен деректерді қорғау үшін қолданылатын алдын алу және анықтау қауіпсіздік шараларының тиімділігін стратегиялық тұрғыдан тексереді. Осы қызметтің аясында сертификатталған этикалық хакерлер жүйеге, жүйелерге, қосымшаларға немесе басқа да ортадағы нысандарға шабуылды имитациялап, қауіпсіздік әлсіздіктерін іздейді. Тестілеуден кейін олар әдетте осалдықтарды құжаттайды және қандай қорғаныс шаралары тиімді екенін, ал қайсыларын жеңуге немесе пайдалануға болатынын көрсетеді. Ұлыбританияда ену тесті қызметтері Ұлттық киберқауіпсіздік орталығымен ынтымақтаса жұмыс істейтін кәсіби ұйымдар арқылы стандартталады. Енгізу тестілерінің нәтижелері қолданылатын стандарттар мен әдістемелерге байланысты өзгереді. Енгізу тестілері үшін бес стандарт бар: Ашық көздерді пайдалану арқылы қауіпсіздікті тексеру әдістемесі (OSSTMM), Ашық веб-қосымшалар қауіпсіздігі жобасы (OWASP), Ұлттық стандарттар және технологиялар институты (NIST00), Ақпараттық жүйелердің қауіпсіздігін бағалау аясы (ISSAF) және Енгізу тестілерінің әдістемелері мен стандарттары (PTES).