AWS жүйесіндегі Capital One бұзуының техникалық мәліметтері

AWS жүйесіндегі Capital One бұзуының техникалық мәліметтері

19 жылдың 2019 шілдесінде Capital One әрбір заманауи компания қорқатын хабарды алды — деректердің бұзылуы орын алды. Бұл 106 миллионнан астам адамға әсер етті. 140 000 АҚШ әлеуметтік сақтандыру нөмірі, бір миллион Канадалық әлеуметтік сақтандыру нөмірі. 80 000 банк шоты. Жағымсыз, келісесіз бе?

Өкінішке орай, бұзу 19 шілдеде болған жоқ. Белгілі болғандай, Пейдж Томпсон, а.к.а. Еріксіз, оны 22 жылдың 23 наурызы мен 2019 наурызы аралығында жасады. Яғни төрт ай бұрын. Шын мәнінде, Capital One бірдеңе болғанын сырттан келген кеңесшілердің көмегімен ғана анықтай алды.

Бұрынғы Amazon қызметкері қамауға алынды және оған 250 XNUMX АҚШ доллары көлемінде айыппұл салынып, бес жылға бас бостандығынан айырылуы мүмкін... бірақ әлі де көптеген келеңсіздіктер қалды. Неліктен? Өйткені бұзудан зардап шеккен көптеген компаниялар киберқылмыстардың өсуі жағдайында инфрақұрылымы мен қосымшаларын нығайту жауапкершілігін алып тастауға тырысады.

Қалай болғанда да, сіз бұл оқиғаны Google арқылы оңай таба аласыз. Біз драмаға бармаймыз, бірақ сөйлесеміз техникалық мәселенің жағы.

Біріншіден, не болды?

Capital One-да 700-ге жуық S3 шелектері жұмыс істеп тұрды, оны Пейдж Томпсон көшіріп алып, өшіріп тастады.

Екіншіден, бұл қате конфигурацияланған S3 шелек саясатының тағы бір жағдайы ма?

Жоқ, бұл жолы емес. Мұнда ол қате конфигурацияланған брандмауэрі бар серверге қол жеткізді және бүкіл операцияны сол жерден орындады.

Күте тұрыңыз, бұл қалай мүмкін?

Бізде көп мәліметтер болмаса да, серверге кіруден бастайық. Бізге бұл тек «қате конфигурацияланған брандмауэр» арқылы болғанын айтты. Қауіпсіздік тобының қате параметрлері немесе веб-бағдарлама брандмауэрінің (Imperva) конфигурациясы немесе желілік брандмауэр (iptables, ufw, shorewall және т.б.) сияқты қарапайым нәрсе. Capital One тек өз кінәсін мойындап, тесікті жапқанын айтты.

Стоун Capital One бастапқыда брандмауэрдің осалдығын байқамағанын, бірақ ол туралы білгеннен кейін тез әрекет еткенін айтты. Бұған хакердің негізгі идентификациялық ақпаратты қоғамдық доменде қалдыруы көмектесті, деді Стоун.

Неліктен бұл бөлімге тереңірек бармаймыз деп ойласаңыз, шектеулі ақпаратқа байланысты біз тек болжам жасай алатынымызды түсініңіз. Бұзылу Capital One қалдырған тесікке байланысты екенін ескерсек, бұл мағынасыз. Және олар бізге көбірек айтпаса, біз Capital One серверін біреудің осы әртүрлі опциялардың бірін пайдалануының барлық ықтимал тәсілдерімен бірге өз серверін ашық қалдырудың барлық ықтимал жолдарын тізімдейміз. Бұл кемшіліктер мен әдістер өте ақымақ бақылаулардан бастап керемет күрделі үлгілерге дейін болуы мүмкін. Мүмкіндіктер ауқымын ескере отырып, бұл нақты қорытындысыз ұзақ дастанға айналады. Сондықтан бізде фактілер бар бөлігін талдауға назар аударайық.

Сонымен, бірінші шешім: брандмауэрлеріңіздің рұқсатын біліңіз.

ТЕК ашылуы қажет нәрсенің ашылуын қамтамасыз ету үшін саясатты немесе дұрыс процесті орнатыңыз. Қауіпсіздік топтары немесе желілік ACL сияқты AWS ресурстарын пайдалансаңыз, тексеруге арналған бақылау тізімі ұзақ болуы мүмкін... бірақ көптеген ресурстар автоматты түрде жасалатыны сияқты (мысалы, CloudFormation), олардың аудитін автоматтандыруға да болады. Жаңа нысандарды кемшіліктерге сканерлейтін қолдан жасалған сценарий болсын, немесе CI/CD процесіндегі қауіпсіздік аудиті сияқты нәрсе болсын... мұны болдырмаудың көптеген оңай нұсқалары бар.

Оқиғаның «күлкілі» жері, егер Capital One әуелі тесікті бітеп тастаса... ештеңе болмас еді. Сонымен, шынын айтқанда, бір нәрсенің шынымен қалай болғанын көру әрқашан таң қалдырады өте қарапайым компанияны бұзудың жалғыз себебі болады. Әсіресе Capital One сияқты үлкен.

Сонымен, хакер ішіндегі - ары қарай не болды?

EC2 данасына кіргеннен кейін... көп нәрсе дұрыс болмауы мүмкін. Егер сіз біреуді соншалықты алысқа жіберсеңіз, сіз іс жүзінде пышақ ұшында жүресіз. Бірақ ол S3 шелектеріне қалай түсті? Мұны түсіну үшін IAM рөлдерін талқылайық.

Сонымен, AWS қызметтеріне қол жеткізудің бір жолы - Пайдаланушы болу. Жарайды, бұл өте анық. Бірақ қолданба серверлері сияқты басқа AWS қызметтеріне S3 шелектеріне кіру рұқсатын бергіңіз келсе ше? IAM рөлдері осы үшін. Олар екі компоненттен тұрады:

  1. Сенім саясаты - бұл рөлді қандай қызметтер немесе адамдар пайдалана алады?
  2. Рұқсаттар саясаты - бұл рөл неге мүмкіндік береді?

Мысалы, EC2 даналарына S3 бумасына кіруге мүмкіндік беретін IAM рөлін жасағыңыз келеді: Біріншіден, рөлде EC2 (барлық қызмет) немесе белгілі бір даналар рөлді "қабылдай алатын" Сенім саясаты болады. Рөлді қабылдау олардың әрекеттерді орындау үшін рөл рұқсаттарын пайдалана алатынын білдіреді. Екіншіден, Рұқсаттар саясаты «рөлді қабылдаған» қызметке/адамға/ресурсқа S3 жүйесінде кез келген нәрсені істеуге мүмкіндік береді, мейлі ол белгілі бір шелекке қол жеткізе алады... немесе Capital One жағдайындағыдай 700-ден астам.

IAM рөлі бар EC2 данасында болғаннан кейін тіркелгі деректерін бірнеше жолмен алуға болады:

  1. Дана метадеректерін мына мекенжайда сұрауға болады http://169.254.169.254/latest/meta-data

    Басқа нәрселермен қатар, осы мекенжайдағы кез келген кіру кілттері арқылы IAM рөлін таба аласыз. Әрине, егер сіз бір жағдайда болсаңыз ғана.

  2. AWS CLI пайдаланыңыз...

    AWS CLI орнатылған болса, ол бар болса, IAM рөлдерінің тіркелгі деректерімен жүктеледі. Қалғаны - данасы арқылы жұмыс істеу. Әрине, егер олардың Сенім саясаты ашық болса, Пейдж бәрін тікелей жасай алатын.

Сонымен, IAM рөлдерінің мәні олар кейбір ресурстарға СІЗДІҢ АТЫҢЫЗДАН БАСҚА РЕСУРСТАРДА әрекет етуге мүмкіндік береді.

Енді сіз IAM рөлдерін түсінгеннен кейін, Пейдж Томпсонның не істегені туралы айта аламыз:

  1. Ол желіаралық қалқандағы тесік арқылы серверге (EC2 данасы) қол жеткізді

    Қауіпсіздік топтары/ACL немесе өздерінің веб-бағдарламаларының брандмауэрлері болсын, ресми жазбаларда айтылғандай, тесікті қосу оңай болуы мүмкін.

  2. Серверге кіргеннен кейін ол өзі сервер сияқты әрекет ете алды
  3. IAM серверінің рөлі S3 жүйесіне осы 700+ шелектерге кіруге рұқсат бергендіктен, ол оларға қол жеткізе алды

Осы сәттен бастап оған команданы орындау ғана қалды List Bucketsсодан кейін команда Sync AWS CLI сайтынан...

Capital One Bank бұзудан келген шығынды $100-ден $150 миллионға дейін бағалайды.. Мұндай зақымның алдын алу – компаниялардың бұлтты инфрақұрылымды қорғауға, DevOps және қауіпсіздік сарапшыларына көп инвестиция салуының себебі. Бұлтқа көшу қаншалықты құнды және үнемді? Тіпті киберқауіпсіздік мәселелеріне қарамастан Жалпы бұлтты нарық 42 жылдың бірінші тоқсанында 2019%-ға өсті!

Әңгіменің моральдық мәні: қауіпсіздігіңізді тексеріңіз; Тұрақты аудиттер жүргізу; Қауіпсіздік саясаттары үшін ең аз артықшылықтар принципін құрметтеңіз.

(Бұл Толық заңды есепті көре аласыз).

Ақпарат көзі: www.habr.com

пікір қалдыру